【问题标题】:Which feature detector algorithm is simplest for learning?哪种特征检测算法最容易学习?
【发布时间】:2013-11-01 15:18:32
【问题描述】:

我正在研究特征检测器算法。我研究了我拥有的选项:SIFT、SURF、BRISK、FREAK 等。就基础数学而言,所有这些选项似乎都相当复杂。相反,我想一次迈出一步,因此我正在寻找一种不需要像 SURF 一样好的简单方法。您会推荐学习和实施哪种算法?

【问题讨论】:

  • Feature detection 上的维基百科文章列出了许多算法,其中一些看起来很容易处理。当然,您必须了解一些数学知识,但您可能只需几个小时的学习就可以做到。

标签: algorithm computer-vision feature-detection surf sift


【解决方案1】:

首先要记住的是检测器描述符之间的区别。 检测器是一种用于检测图像中兴趣点的算法,这些兴趣点通常是斑点状结构的角或中心。然后,如果您需要跨图像匹配这些点,您可以计算 描述符,它们是代表兴趣点周围补丁的某种值向量。

这应该有助于消除一些混乱。例如,“跟踪的好特征”,又名最小特征角检测器,是一个兴趣点检测器。 FREAK 是一个特征描述符。 SIFT、SURF 和 BRISK 包括检测器和描述符。但是,一般来说,您可以混合和匹配检测器和描述符。

所以对于初学者来说,你应该看看像 GFTT 和 Harris 这样的角检测器,还有Laplacian blob detector。大多数最近的兴趣点检测器是检测角点或斑点的更快方法。

对于描述符,从 SIFT 开始。这可能看起来有点吓人,但这是第一个起作用的描述符,它是所有其他描述符的灵感和基准。

【讨论】:

    【解决方案2】:

    如果您尝试从简单开始,那么最简单特征描述符可能是在检测到的特征周围取一个 NxN 正方形并连接所有像素值。这在实践中效果不佳,因为它对光照、旋转、缩放等的微小变化非常敏感——但您可以使用图像的两个翻译版本来测试您的实现。

    “实际工作”的最简单的特征描述符似乎是 Brief 描述符 (http://cvlabwww.epfl.ch/~lepetit/papers/calonder_eccv10.pdf),它随机比较附近的像素值对以构建二进制描述符。请注意,它不是缩放或旋转不变的:为此,您需要许多扩展之一,例如 AKAZE、BRISK、FREAK 或 ORB。

    【讨论】:

    • 点赞!二进制描述符易于理解和实现,性能非常好。在所有二进制描述符BRIEF、ORB、BRISK和FREAK中,BRIEF是最早最简单的,可以作为一个好的开始。
    【解决方案3】:

    我认为您可以尝试 GFTT:基于 shi-tomasi 定义和方程的 tracj 的良好功能。它很旧,我认为也很容易阅读。

    【讨论】:

      【解决方案4】:

      在我看来,SIFT。请参阅 vlfeat.org 了解他们开发的可免费使用的代码,并且他们有几个教程可以轻松实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-01
        • 1970-01-01
        • 2019-05-30
        • 2012-07-04
        • 2013-02-06
        • 2017-10-27
        • 2017-03-19
        • 2016-10-14
        相关资源
        最近更新 更多