如何检测图像中的相似对象?

人工智能 物体识别
2021-10-21 12:32:19

我想解决在图像中检测相似对象的问题。为了说明问题,请考虑这张乐高积木的照片作为我的“输入”:

在此处输入图像描述

检测例程应识别相似的对象。因此,对于给定的输入,它应该例如识别以下输出:

在此处输入图像描述

因此,一个对象可能在输入图像中多次出现。例如,只有两块标有蓝色十字的砖块,但有三块标有红色十字的砖块。

可以假设所有对象都是相似的,例如只有乐高积木或一堆糖果。

我最初的想法是采用两阶段的方法:

  1. 提取输入图像中的所有对象。

  2. 比较那些提取的对象并找到相似的对象。

这是一种有效的方法还是已经有一些解决这类问题的标准方法?你能给我一些指示如何解决这个问题吗?

1个回答

免责声明:我从未使用过连体网络

我将分两步解决这个问题:

首先:训练对象检测器并针对符合条件的对象类别对其进行训练,例如使用Yolo架构。

您可以使用预训练的对象检测器并针对您的对象类别对其进行微调。

第二:从您的数据集中提取大量具有相同类别的合格对象的边界框,并在其子图像上训练连体网络。

Siamese 网络输出两个对象之间的相似性度量。

你的管道看起来像:

  1. 运行对象检测器

  2. 对于同一类的每两对对象,重新缩放边界框并运行连体网络。

  3. 检查两个对象之间的相似距离是否小于阈值(可调超参数)