对于尺度不变的特征提取,SURF 和 SIFT 是不是有任何快速的替代方案?

Posted

技术标签:

【中文标题】对于尺度不变的特征提取,SURF 和 SIFT 是不是有任何快速的替代方案?【英文标题】:Are there any fast alternatives to SURF and SIFT for scale-invariant feature extraction?对于尺度不变的特征提取,SURF 和 SIFT 是否有任何快速的替代方案? 【发布时间】:2012-04-26 19:40:18 【问题描述】:

SURF 已获得专利,SIFT 也是如此。 ORB 和 Brief 没有专利,但它们的特性不是尺度不变的,严重限制了它们在复杂场景中的实用性。

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

【问题讨论】:

也在dsp 上提问。 【参考方案1】:

通过在地标点周围形成补丁来检测地标点并找到 hog 特征(它不是专利)。

【讨论】:

嗨,欢迎来到 SO,感谢您尝试贡献。但是,如果问题已经像这里一样有一个高度赞成、详细和接受的答案,那么添加一个没有任何详细信息的 oneliner 作为答案没有多大意义。【参考方案2】:

虽然您已经选择了 BRISK,但您可能会觉得 FREAK 很有趣。作者声称比 BRISK 和 ORB 有更好的结果。我还应该补充一点,ORB 尺度不变的,但在该领域存在一些问题。所以我还是会推荐给别人试试。

FREAK source code 与 OpenCV 兼容(合并它们有​​多容易我不知道),作者正在努力将其提交给 OpenCV 项目。

编辑:

FREAK is now part of opencv feature detectors / descriptors.

您can read here more 了解几种特征检测器/提取器之间的差异,and also a series of benchmarks 其中包括 FREAK 和其他流行的。

【讨论】:

+1 Brisk 检测器与 Freak 描述符相结合对我来说是最好的结果。 github.com/kikohs/freak/blob/master/demo/freak_demo.cpp 到怪胎样本的链接断开【参考方案3】:

你可以试试 KAZE,它应该更快更精确(视频看起来很花哨,但我自己还没来得及尝试)。还有一个可用的加速版本。

Pablo F. Alcantarilla、Adrien Bartoli 和 Andrew J. Davison,“KAZE Features”,在欧洲计算机视觉会议 (ECCV) 上。佛罗伦萨*,意大利。 2012 年 10 月。

Pablo F. Alcantarilla、Jesús Nuevo 和 Adrien Bartoli,“Fast Explicit Diffusion for Accelerated Features in Nonlinear Scale Spaces”,在英国机器视觉会议 (BMVC) 上。英国布里斯托尔。 2013 年 9 月

源代码、视频等可以在author's website找到。

*佛罗伦萨

【讨论】:

我在一个应用程序中比较了 AKAZE、SURF 和 SIFT,我可以确认,在我的测试中,它至少一样好,并且描述符比其中任何一个都快得多(它们是二进制和所有)。它也不受专利保护,所以我推荐 AKAZE 作为首选。【参考方案4】:

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

这里有一个example 说明如何使用它,很容易被 SIFT 描述符替换。

【讨论】:

看起来您的示例链接已损坏 :(【参考方案5】:

FREAK 现在包含在 OpenCV 2.4.2 中,您可以轻松使用它:-)

【讨论】:

【参考方案6】:

我最终使用了Brisk,这是一个性能与 SURF 相当但在 BSD 许可下的特征检测器。此外,它有一个非常好的开源 C++ 实现,可以轻松插入 OpenCV FeatureDetector 框架,因此在代码中选择使用 Brisk 而不是 SURF 就像两行代码一样。

【讨论】:

完美。我看到了论文,但没有找到实现。感谢您的回复。【参考方案7】:

你可以试试multi-scale histogram of oriented gradients。它不会是完全尺度不变的,但如果您的数据受到一组合理的尺度限制的约束(在实践中通常是这种情况),那么这可能对您有用。

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

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

【讨论】:

对于我们这些没有订阅 IEEE 的人,您是否有非私人链接到 info multi-scale HoG?

以上是关于对于尺度不变的特征提取,SURF 和 SIFT 是不是有任何快速的替代方案?的主要内容,如果未能解决你的问题,请参考以下文章

尺度不变特征变换(SIFT)特征提取分析

4-SIFT特征提取和检测的基本步骤

SURF算法

图像的特征提取有哪些算法

siftsurforb 特征提取及最优特征点匹配

SIFT/SURF