是否存在用于尺度不变特征提取的SURF和SIFT的快速替代方案?

Die*_*ego 31 opencv feature-extraction computer-vision feature-detection

SURF和SIFT一样获得专利.ORB和BRIEF没有获得专利,但它们的特征不是规模不变的,严重限制了它们在复杂场景中的实用性.

是否有任何特征提取器能够像SURF一样快速地提取尺度不变的特征,并且不像SURF和SIFT那样严格获得专利?

Rui*_*ues 30

虽然您已经选择了BRISK,但您可能会觉得FREAK很有趣.作者声称比BRISK和ORB有更好的结果.我还应该补充一点,ORB 规模不变的,但在该领域存在一些问题.所以我仍然建议有人试一试.

FREAK源代码是OpenCV的(它是多么容易合并他们,我不知道)兼容,笔者正在提交给OpenCV的项目.

编辑:

FREAK现在是opencv特征检测器/描述符的一部分.

可以在这里阅读更多关于几个功能检测器/提取器之间的差异,以及一系列基准测试,其中包括FREAK和其他流行的测试.


Jav*_*ock 12

FREAK应该是最快的缩放和旋转不变描述符提取器,它是开源的,您可以轻松地使用它,因为它在OpenCV中实现.你需要一个使用汉明距离的二进制匹配器,就像BruteForceMatcher一样.

这里有一个如何使用它的例子,可以通过SIFT描述符轻松替换.

  • 看起来您的示例链接已损坏:( (4认同)

Die*_*ego 9

我最终使用了Brisk,这是一款功能检测器,其性能可与SURF相媲美,但在BSD许可下.此外,它有一个非常好的开源C++实现,可以轻松插入OpenCV FeatureDetector框架,因此它就像2行选择在代码中使用Brisk over SURF.


ely*_*ely 6

您可以尝试定向渐变的多尺度直方图.它不会完全按比例不变,但如果您的数据受到一组合理的比例限制(通常是实际情况)的限制,那么这可能对您有用.

另一种完全取决于您的预期应用的方法是利用poselet,即使它们是在非尺度不变的描述符(如定向渐变的直方图或外观模型)之上构建的.如果训练数据中的注释包括不同尺度的不同检测项目的示例,则Poselets中用于训练的Procrustes样式距离应该注意很多尺度不变性.如果您的主要应用程序不是部件的本地化检测,这可能不太令人满意.

顺便说一句,我认为SIFT和SURF能够以这种方式获得专利是非常不幸的,因为它们(至少部分)通过拨款获得纳税人资金.