有谁知道OpenCV 2.3中FeatureDetection和DescriptorExtraction的区别吗?我知道后者是使用DescriptorMatcher进行匹配所必需的。如果是这种情况,FeatureDetection使用什么?特征检测和描述符提取之间的区别
谢谢。
有谁知道OpenCV 2.3中FeatureDetection和DescriptorExtraction的区别吗?我知道后者是使用DescriptorMatcher进行匹配所必需的。如果是这种情况,FeatureDetection使用什么?特征检测和描述符提取之间的区别
谢谢。
特征检测
在计算机视觉和图像处理特征检测的概念是指针对在每个图像点的计算的图像信息的抽象,使局部判决是否存在图像的方法在这一点上给定类型的特征。得到的特征将是图像域的子集,通常以孤立点,连续曲线或连接区域的形式出现。
特征检测=如何找到图像中的一些有趣的点(特征)(例如:找一个角落,找到一个模板等等...)。
功能提取
在模式识别和图像处理中,特征提取是降维的一种特殊形式。当一个算法的输入数据太大而无法处理,并且怀疑它是众所周知的冗余(很多数据,但没有太多信息),那么输入数据将被转换成一个简化的表示集合(也称为特征向量) 。将输入数据转换成一组特征称为特征提取。如果仔细选择提取的特征,则预期特征集将从输入数据中提取相关信息,以便使用这种减少的表示而不是全尺寸输入来执行期望的任务。
特征提取=如何表示我们发现的有趣点,以便将它们与图像中的其他有趣点(特征)进行比较。 (防爆,这一点当地的强度围绕该点区域的局部定向等等......?)
实际例子:你可以找到与Harris角角落方法,但你可以
您可以在这里看到更多的信息, Wikipedia link
朱利安,(帮助了你想要的任何方法(直方图,HOG,在例如第8邻接局部方向)形容wikip edia:p)
Both,Feature Detection
和Feature descriptor extraction
是Feature based image registration
的一部分。只有在整个基于特征的图像注册过程中了解他们的工作是什么才有意义。
基于功能配准算法
从PCL documentation下图显示了这样的Registation管道:
数据采集:的输入图像和参考图像被馈送到算法中。图像应该从略微不同的视点显示相同的场景。
关键点估计(特征检测):关键点(interest point)是具有以下特征的点群中的点:
Feature detection
,如:
这样的图像中要点是如此有用,因为它们的总和表征图像,并有助于使得它区分不同部分。
特征描述符(描述符提取器):在检测到关键点后,我们继续为它们中的每一个计算描述符。 “局部描述符是一个点的局部邻域的紧凑表示形式,与描述完整对象或点云的全局描述符相反,局部描述符只尝试类似于一个点周围局部邻域中的形状和外观,因此非常适合表示它在匹配方面。“ (Dirk Holz et al.)。OpenCV的选项:
函授估计(描述符匹配):下一个任务是找到二者都发现关键点之间的对应关系images.Therefore所提取的特征放置在可以有效搜索的结构中(例如kd-tree)。通常查找所有局部特征描述符并将它们中的每一个匹配到其他图像中的对应对象就足够了。然而,由于来自类似场景的两幅图像不一定具有相同数量的特征描述符,因为一个云可以具有更多数据,所以另一个云需要运行分离的对应拒绝过程。 OpenCV的选项:
通讯拒绝:一个执行对应排斥最常用的方法是使用RANSAC(随机抽样一致性)。
转化估算:两个图像之间的对应健壮之后计算出的Absolute Orientation Algorithm
用于计算施加在输入图像上参考图像相匹配的变换矩阵。有很多不同的算法可以做到这一点,常用的方法是:Singular Value Decomposition(SVD)。
感谢您的快速响应!这非常有帮助。 =] –