确定图片中对象的正确排列-如何?

时间:2018-07-16 06:28:58

标签: android opencv tensorflow image-processing object-recognition

问题概述:

创建一个应用程序,该应用程序可以识别单张照片中的对象,并标识所述对象的正确排列。

我对图像处理和图像识别概念还比较陌生,我尝试寻找解决方案或研究,但找不到与对象排列有关的任何东西(也许或者很可能我的google-fu太弱了)。

总的来说,我想知道这是否可以实现,也许有人可以就具体搜索的术语向我提供帮助,以帮助我寻找解决问题的方法。

我要实现的目标是:

  1. 拍照(以特定顺序包含不同的对象)

Sample picture - correct order

  1. 分析图片并确定其中的对象。

Sample picture - analyzed objects

  1. 重新排列对象。

  2. 再次拍摄重新排列的对象的照片,并根据第一张图片按顺序确定哪些对象已重新排列(请参阅步骤1:对图片进行正确排序)。理想情况下,结果应返回“正确/不正确”,同时返回顺序错误的对象名称。

Sample picture - Rearranged and Identified

非常感谢您的反馈。

3 个答案:

答案 0 :(得分:1)

如果用照相机为这些对象拍照,则问题比您在图中显示的要困难得多(这些手绘对象很容易找到)。

如果可以确保两张图片之间没有旋转或缩放,则可以使用模板匹配。

第一步(训练),用矩形ROI框住所有对象。这必须手动完成。

第二步(匹配),使用模板匹配找到对象的新位置。如果一切顺利,只需比较坐标(具有公差)即可知道对象是否为模式。

答案 1 :(得分:1)

要实现此目的,您必须进行大量的研发工作,因为图像处理是一项艰巨的任务,但幸运的是Google为此类任务提供了一个称为TensorFlow的API

请点击此链接:

https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10

这基本上是一个对象检测API。您将了解正确的开始方式, 去研究图像处理:)

您还可以参考OpenCvLibrary。

答案 2 :(得分:0)

使用任何对象检测方法(例如SSD模型),它可以提供对象的位置和分类。通过确定位置,我们可以查看是否有任何对象被重新布置。