Sift vs Surf。哪个更准确?

时间:2017-05-04 02:21:01

标签: opencv feature-detection sift surf

我正在测试对象,使用Sift和Surf with C ++&amp ;;进行功能匹配 OpenCV的。

浏览声称速度更快,筛选声明可以检测到许多关键点而不是Surf。我想确定哪种算法最准确。

但我很难确定时间或匹配关键点的准确性。有人可以向我解释如何确定哪种算法最准确?从哪个因素我确定它的准确性?

This is the results of my experiments

1 个答案:

答案 0 :(得分:2)

我用来计算比率。那么速度,SURF比SIFT快多少?你做timeSift / timeSurf * 100.所以你得到SIFT比SURF慢多少次。

关于准确性,它更复杂。您可以通过最小距离比率应用匹配的过滤器和/或首先进行一些RASNAC过滤。然后你可以比较matchesSift / matchesSurf,你得到的SIFT比用SURF多多少次。但即使这样,你也可以在任何一种情况下得到错误的匹配,所以最好同样绘制匹配并看看哪个看起来更好/更准确。

做统计测试。不仅有两个图像,几组图像重复相同的测试并取平均比率timeSift / timeSurf和平均比率匹配的快速/匹配Surf ..

为了结束(当然是平均值)我会做以下

speedRatio=timeSift/timeSurf
matchesRatio=matchesSift/matchesSurf
R=matchesRatio/speedRatio.

 -If R>1 then SIFT worths it .
 -If R<1 then SURF if definitively more convenient
 If R=1 its the same
相关问题