是否应该使用深度学习分类来对瓶中液位等细节进行分类

Should deep learning classification be used to classify details such as liquid level in bottle

可以 deep learning classification 精确地 label/classify 对象及其特征之一。例如,识别瓶子 (如 Grants Whiskey) 和瓶子中的液位 (以 10% 的步长 - 例如 50% 满)。这是使用某些 deep learning frameworks (Tensorflow 等) 或其他更有效的方法可以最好地解决的问题吗?

嗯,如果酒的颜色很好的话,这应该是很有可能的。如果不是(例如杜松子酒、伏特加),我会说从自然视角和距离观察物体时,您没有机会使用当今的技术。

对于有色酒,我会训练两个检测器。一个用于检测瓶子,第二个用于检测给瓶子的酒。两者之间的比例就是你的百分比。

一些经过验证的 state-of-the-art 深度 learning-based 物体检测器(只有 Google 它们):

  • 多框
  • YOLO
  • 更快的 RCNN

或非深-learning-based:

  • 可变形零件模型

编辑:

我被要求详细说明。这是一个例子:

盒子检测器,例如在图像中 [0.1, 0.2, 0.5, 0.6] (min_height, min_width, max_height, max_width) 处绘制一个框,这是瓶子的相对位置。

现在您从原始图像裁剪瓶子并将其送入第二个检测器。第二个检测器绘制例如[0.2, 0.3, 0.7, 0.8] 在裁剪后的瓶子图像中,该位置表示它检测到的流体。现在 (0.7 - 0.2) * (0.8 - 0.3) = 0.25 是流体相对于瓶子面积的相对面积,这就是 OP 所要求的。

编辑 2:

假设 OP 想使用深度学习,我输入了这个回复。如果 OP 仍然不确定深度学习,我同意应该考虑其他方法。对于瓶子检测,深度 learning-based 方法已证明大大优于传统方法。瓶子检测恰好是 PASCAL VOC 挑战中的 类 之一。在此处查看结果比较:http://rodrigob.github.io/are_we_there_yet/build/detection_datasets_results.html#50617363616c20564f43203230313020636f6d7034

然而,对于液体检测,深度学习可能有点矫枉过正。例如。如果你知道你在寻找什么颜色,即使是一个简单的滤色器也会给你 "something"...

深度学习的经验法则是,如果它在图像中可见,那么专家可以仅根据图像告诉你答案,那么你可以通过深度学习学习的可能性非常大,给定足够的注释数据。

但是,您不太可能拥有此类任务所需的数据,因此我会问自己是否可以简化问题。例如,您可以拿杜松子酒、伏特加等,然后使用 SIFT 在新场景中再次找到瓶子。然后 RANSAC 进行瓶子检测并将瓶子从图像中切出。

然后我会尝试使用梯度特征来找到液面的边缘。最后,您可以使用(液体边缘 - 底部)/(顶瓶 - 底瓶)计算百分比。

识别瓶子标签应该不难 - 它甚至 "on tap" 便宜 (these guys actually use it to identify wine bottle labels on their website): https://aws.amazon.com/blogs/aws/amazon-rekognition-image-detection-and-recognition-powered-by-deep-learning/

关于液位,这可能是 AWS 无法立即解决的问题 - 但我确信可以为其制作自定义 CNN。或者,您可以使用 Amazon Mechanical Turk 上的好老人为您完成这项工作。

(注意:我不为亚马逊工作)