2

我目前正在比较不同角度的物体以进行图像检测。基本上,我想知道图像 1 中的对象是否与图像 2 中的对象相似(相似度的百分比会很大)。

图片1:

角度 1 中的黑色玻璃

图片2:

角度 2 中的黑色玻璃

我已经在 Internet 上四处查看,似乎 ASIFT ( LINK ) 是一个很好的解决方案。然而,当我实现他们的演示并使用相同的输入多次重新运行演示时,ASIFT 在匹配的顶点上给出了不同的结果。

为什么每次我使用相同的输入重新运行演示时,ASIFT 都会给出不同的结果?

PS:对于用于以不同角度比较对象(具有更一致的结果)的替代解决方案(如 ASIFT 或 SIFT)的
一些评论也将不胜感激。

4

3 回答 3

1

您可以尝试SURF,它已经在 OpenCV 中实现。

您可能还想查看 C 语言中的vlFeat,并具有 Matlab 绑定。

于 2015-09-15T23:22:13.957 回答
1

这不是 ASIFT 或更好的 ASIFT 问题。基本上,ASIFT 解决了“宽基线立体”问题——找到同一对象或场景的不同视图之间的对应关系和几何变换。

您要寻找的是某种图像(对象)相似性。最先进的方法 - 训练神经网络,从中获取固定长度的图像描述符,并将描述符与它们之间的欧几里得距离进行比较

例如,查看“图像检索的神经代码”论文 - http://arxiv.org/abs/1404.1777

PS如果你还是需要对应,误给了我们不同的眼镜,你可以试试MODS http://cmp.felk.cvut.cz/wbs/index.html 与ASIFT的区别在于它可以处理更大的角度差异,更稳定,更稳定快多了。

于 2015-09-18T08:27:45.327 回答
1

如果您只有这两个图像,这对于 SIFT/ASIFT 特征比较来说是一个相当困难的问题。甚至我也不清楚两张图片都描绘了同一款眼镜,因为有一些非常相似的眼镜可能会有所不同,比如侧片的宽度。

也就是说,我会寻找一种不同的方法。这些是我想到的一些高级方法:

  • 在这种情况下,颜色非常有特色。如果你有两个不同颜色的精确模型,你可以很容易地说它们不一样。因此,您可以获得颜色直方图(忽略背景)并进行比较。
  • 眼镜的另一个非常有特色的特点是镜片周围框架的形状。根据您的图像,我希望该框架始终可见。因此,您可能会找到包含镜头的矩形,找到两个图像之间的单应性,扭曲矩形并通过互相关比较两者,例如。
于 2015-09-18T08:43:59.367 回答