这里是我发现有帮助的一项比较。本质上,BRIEF 和 ORB 速度要快得多。那里没有很好的尺度不变性比较,但我个人发现 SURF/SIFT 比 Brief 和 ORB 更具尺度不变性。如果您打算将它们用于特定用例,我建议您尝试两者,看看哪一个最能满足您的需求。
SURF/SIFT 使用需要以某种方式付费的专利。我不了解这方面的最新情况,但成本可能会很高。所以如果可能的话我会选择 ORB - 当然除非你不关心钱:)
SIFT:该算法已获得美国专利;所有者是不列颠哥伦比亚大学。 (http://en.wikipedia.org/wiki/Scale-invariant_feature_transform)
SURF:该算法的应用已在美国获得专利。 (http://en.wikipedia.org/wiki/SURF)
SIFT 的专利于 3 月份刚刚到期。
SIFT 具有旋转和尺度不变性,并使用 Difference of Gaussians 函数定位点。它有能力找到“最”的关键点,但也有最大的时间复杂度。
SURF
与 SIFT 具有类似的逻辑,但速度更快(并且已获得专利,这可能会成为用例的障碍)。
ORB
比SIFT和SURF快得多,因为它不使用DoG函数来计算关键点。相反,ORB 同时使用 FAST 关键点检测器和 Brief 描述符。 ORB 的优点是速度快,但缺点是它经常会错过 SIFT 本来可以找到的点。