特征检测与描述符提取之间的区别
computer-vision
feature-detection
feature-extraction
image-processing
7
0

有谁知道OpenCV 2.3中FeatureDetection和DescriptorExtraction之间的区别?我知道使用DescriptorMatcher进行匹配需要后者。如果是这样,FeatureDetection的用途是什么?

谢谢。

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

特征检测

  • 在计算机视觉和图像处理中,特征检测的概念是指旨在计算图像信息的抽象并在每个图像点做出本地决策的方法,该方法是否在该点上存在给定类型的图像特征。生成的特征将是图像域的子集,通常以孤立点,连续曲线或连接区域的形式出现。

    特征检测=如何在图像中找到一些有趣的点(特征)(例如:找到一个角点,找到一个模板等等)

特征提取

  • 在模式识别和图像处理中,特征提取是降维的一种特殊形式。当算法的输入数据太大而无法处理并且被怀疑是多余的(大量数据,但没有太多信息)时,输入数据将被转换为特征的简化表示集(也称为特征向量) 。将输入数据转换为特征集称为特征提取。如果精心选择了提取的特征,则可以预期特征集将从输入数据中提取相关信息,以便使用此缩小的表示形式而不是完整尺寸的输入来执行所需的任务。

    特征提取=如何表示有趣的点,我们将它们与图像中的其他有趣的点(特征)进行了比较。 (例如,该点的局部强度?该点周围区域的局部方向?等等。)

实际示例:您可以使用harris角方法找到一个角,但是可以使用任何所需的方法来描述它(例如直方图,HOG,第8个邻接处的局部方向)

您可以在此处看到更多信息, Wikipedia链接

朱利安(帮助维基百科:p)

收藏
评论

Feature DetectionFeature descriptor extraction都是Feature based image registration 。仅在整个基于特征的图像配准过程的上下文中查看它们,以了解其工作是有意义的。

基于特征的注册算法

PCL文档中的以下图片显示了这样的注册管道:

PCL成对注册

  1. 数据采集:将输入图像和参考图像馈送到算法中。图像应该从稍微不同的角度显示相同的场景。

  2. 关键点估计(特征检测):关键点( 兴趣点 )是点云中具有以下特征的点:

    1. 它有一个明确的定义,最好是数学上有根据的定义,
    2. 它在图像空间中具有明确的位置,
    3. 兴趣点周围的局部图像结构具有丰富的局部信息内容。
      OpenCV随附了几种用于Feature detection实现,例如:

    图像中的这些显着点非常有用,因为它们的总和可以表征图像,并有助于区分图像的不同部分。

  3. 特征描述符(描述符提取器):检测到关键点后,我们继续为每个关键点计算一个描述符。 “局部描述符是点的局部邻域的紧凑表示。与描述完整对象或点云的全局描述符相反,局部描述符试图仅在点周围的局部邻域中模仿形状和外观,因此非常适合表示它在匹配方面。” (Dirk Holz等人)OpenCV选项

  4. 对应估计(描述符匹配器):下一个任务是找到两个图像中找到的关键点之间的对应关系,因此将提取的特征放置在可以有效搜索的结构中(例如kd-tree )。通常,查找所有局部特征描述符并将它们中的每一个与另一幅图像中的对应特征进行匹配就足够了。但是,由于来自相似场景的两个图像不一定具有相同数量的特征描述符,因为一个云可以具有比另一个云更多的数据,因此我们需要运行一个单独的对应拒绝过程。 OpenCV选项

  5. 对应拒绝:执行对应拒绝的最常见方法之一是使用RANSAC (随机样本共识)。

  6. 变换估计:在计算了两个图像之间的鲁棒性对应之后,使用Absolute Orientation Algorithm来计算变换矩阵,该变换矩阵将应用于输入图像以匹配参考图像。有许多不同的算法方法可以做到这一点,一种常见的方法是: 奇异值分解 (SVD)。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号