任务是在其中找到具有特定液体的玻璃杯它。让我向您展示图片,然后在图片下方的描述中描述我正在努力实现的目标以及到目前为止我是如何实现的。
这些图片:(似乎我至少需要10张信誉来发布图片和链接,因此链接必须要做:(否则,您可以查看堆栈溢出问题)
详细说明:
我正在尝试实现一种算法,该算法将在opencv中检测特定形状的玻璃(玻璃可能会变形(通过不同的相机拍摄角度/距离)。还会有其他形状的其他玻璃杯。我要搜索的玻璃杯也将填充一些有色液体,以使其与包含其他颜色的玻璃区别开。 br />到目前为止,我已经尝试使用SIFT特征提取器尝试在玻璃杯中找到一些特征,然后将它们与装有玻璃杯的其他照片进行匹配。
这种方法有效仅在非常特殊的条件下进行编辑,在这种情况下,我会将玻璃放置在非常特定的位置,并且背景将类似于学习图像。问题还在于,玻璃是3D对象,我不知道如何从中提取特征(也许是从不同角度链接的多张照片以某种方式链接?)。
现在我不知道我还能使用什么其他方法。我已经找到了一些线索(在这里https://stackoverflow.com/questions/10168686/algorithm-improvement-for-coca-cola-can-shape-recognition#answer-10219338),但链接似乎已断开。
另一个问题是在这种玻璃杯中检测不同的“空度”,但我什至无法正确找到玻璃杯本身。
您对本任务中的方法有何建议?使用其他方式查找本地3d对象特征会更好吗?还是完全使用其他方法会更好?我听说过从多张照片中“学习”对象的算法,但实际上我从未见过。
任何建议都将不胜感激
#1 楼
您的链接中引用的论文似乎就是这份论文。特别令人感兴趣的是表1(包含在下面)。尽管准确率要比其他方法要好,但它们的准确性并不高。
#2 楼
也许本文可以为您提供帮助:http://ai.stanford.edu/~ang/papers/iros09-ScalableLearningObjectDetectionGPU.pdf获取深度图像很有趣,它们如何使用基于修补程序的功能,构造具有许多小片段的对象的字典,然后训练分类器。也许您可以添加此功能以提高检测率。评论
$ \ begingroup $
我认为这项工作在野外实践中不能很好地使用。本文中描述的机器人需要深度传感器来检测深度信息...在手机或其他物体上拍摄随机照片时,携带kinect并不是很实际...但是,基于补丁的功能是非常有趣的方法!
$ \ endgroup $
–user1916182
16-2-14在15:09
#3 楼
当涉及到面部识别软件时,已经做了很多工作。例如,如果您在Facebook上标记照片时注意到了脸部的位置,并向您提出建议。搜索无疑会提供有关该主题的大量信息。这些网络将图像的像素作为输入。对于您而言,不透明度的变化/光线从玻璃上反射的方式可能是网络将要学习的良好识别功能。一个问题可能是必须用作训练数据的照片数量以及这些的预处理(即自己识别面孔)。如果这样做无法获得足够的图像来充分训练您的网络,则您将不得不在学习阶段寻找一些捷径。本文与您要执行的操作有关:http://www.ll.mit.edu/publications/journal/pdf/vol04_no2/4.2.5.neuralnetwork.pdf
幸运的是,这是非常活跃的领域,并且这类问题所需的许多代码都可以在线上获得。
一旦您能够识别出图像中的眼镜,就可以从那里进行进一步的分析。
评论
$ \ begingroup $
这是完全不相关的
$ \ endgroup $
–user1916182
18年1月7日,下午2:13
$ \ begingroup $
有趣的是你应该这么说。无论如何,这里是基于神经网络的Facebook使用的检测算法的链接。祝你好运,github.com / facebookresearch / Detectron。
$ \ endgroup $
–rwolst
18年1月23日在9:18
评论
任何具有C#中完整源代码示例的最终解决方案?哇,这是一个很具体的要求。问题还没有解决方案,我不会花更多的时间来解决它。我相信,根据此处提到的论文判断,由于建议的算法的准确率非常低,科学依据也不会很快解决。无论如何,由于这个项目是我的工作,因此我最终提出要与客户妥协,因为如今完成这项任务是不现实的。使用一些常规的类似哈尔的特征检测器来检测“看起来像杯子的任何东西”,然后选择黄色来检测啤酒。不是原来的任务