ASIFT和SIFT的替代解决方案?

时间:2015-09-15 17:28:31

标签: image opencv image-processing sift asift

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

IMAGE1:

Black glass in angle 1

图像2:

Black glass in angle 2

我已经在互联网上环顾四周,似乎ASIFT(LINK)是一个很好的解决方案。但是,当我实现他们的演示并使用相同的输入多次重新运行演示时,ASIFT会在匹配的顶点上给出不同的结果。

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

PS:
关于替代解决方案(如ASIFT或SIFT)的一些注释用于比较不同角度的对象(具有更一致的结果)也将受到赞赏。

3 个答案:

答案 0 :(得分:1)

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

您可能还需要查看C中的vlFeat,并使用Matlab绑定。

答案 1 :(得分:1)

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

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

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

P.S。如果您仍然需要通信并错误地给我们不同的眼镜,您可以尝试MODS http://cmp.felk.cvut.cz/wbs/index.html 与ASIFT的不同之处在于它可以处理更大的角度差异,更稳定,更快。

答案 2 :(得分:1)

如果只有这两个图像,这对于SIFT / ASIFT特征比较来说是一个非常难的问题。我甚至不清楚这两张图像是否描绘了相同的眼镜,记住有非常相似的眼镜可以在侧片的宽度上有所不同。

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

  • 在这种情况下颜色非常有特色。如果你有两种不同颜色的确切型号,你可以很容易地说它们不一样。所以你可以得到颜色直方图(忽略背景)并比较它们。
  • 眼镜的另一个非常有特色的特征是镜片周围框架的形状。根据你的图像,我希望框架始终可见。因此,您可能会发现包含镜头的矩形,找到两个图像之间的单应性,扭曲矩形并通过互相关比较两者,例如。