1

我正在使用 Stephan Saalfeld 的 sift 实现在 java 中使用 SIFT 比较两个图像 - http://fly.mpi-cbg.de/~saalfeld/Projects/javasift.html。但由于缺乏适当的例子,我发现很难使用它。我能够获得两个图像的描述符,然后是它们相应的匹配描述符,最后应用 RANSAC 来忽略错误匹配。现在,我留下了一些内线。但是我很困惑如何得出两个图像是否相似的结论?

4

1 回答 1

0

RANSAC 为您提供变换矩阵(包括平移、旋转和缩放值)。使用此信息,您可以尝试将图像相互匹配,以查看 SIFT 找到的匹配项。

RANSAC 的一个优点是它能够对模型参数进行稳健的估计,即即使数据集中存在大量异常值,它也可以高度准确地估计参数。RANSAC 的一个缺点是计算这些参数所需的时间没有上限。当计算的迭代次数有限时,获得的解决方案可能不是最佳的,甚至可能不是一个以良好方式拟合数据的解决方案。通过这种方式,RANSAC 提供了一种权衡;通过计算更多的迭代次数,可以增加生成合理模型的概率。RANSAC 的另一个缺点是它需要设置特定问题的阈值。RANSAC 只能为特定数据集估计一个模型。对于存在两个(或更多)模型实例时的任何一种模型方法,RANSAC 可能无法找到其中任何一个。Hough 变换是一种替代的鲁棒估计技术,当存在多个模型实例时可能很有用。

最后,您可以说出两张图片的相似程度。它不能总是告诉你这是完全匹配还是完全不同。因此,您将在应用 RANSAC 后获得匹配项。然后你可以找出好的匹配占总匹配的百分比,然后你需要根据这个信息来决定。

于 2013-04-06T15:58:56.893 回答