SURF是有专利保护的,SIFT也是如此。ORB和BRIEF没有专利保护,但它们的特征不具有尺度不变性,在复杂场景中的实用性受到了严重限制。
是否有任何可以像SURF一样快速提取尺度不变特征,并且没有像SURF和SIFT那样受到严格专利保护的特征提取器呢?
SURF是有专利保护的,SIFT也是如此。ORB和BRIEF没有专利保护,但它们的特征不具有尺度不变性,在复杂场景中的实用性受到了严重限制。
是否有任何可以像SURF一样快速提取尺度不变特征,并且没有像SURF和SIFT那样受到严格专利保护的特征提取器呢?
您可以在这里阅读更多内容,了解几种特征检测器/提取器之间的区别,以及一系列基准测试,其中包括FREAK和其他流行的算法。
FREAK是被认为是最快的尺度和旋转不变性描述符提取器,它是开源的,并且你可以轻松地使用它,因为它已经在OpenCV中实现了。你需要一个使用汉明距离的二进制匹配器,例如BruteForceMatcher。
这里有一个示例,展示如何使用它,可以很容易地用SIFT描述符进行替换。
最终我使用了Brisk,它是一种特征检测器,性能可与SURF相媲美,但采用BSD许可证。此外,它还有一个非常好的开源C++实现,可以轻松地插入到OpenCV FeatureDetector框架中,所以在代码中选择使用Brisk而不是SURF只需要2行代码。
FREAK现在已经包含在OpenCV 2.4.2中,您可以轻松使用它 :-)