什么是图像处理(算法或描述)中的特征描述符?

Posted

技术标签:

【中文标题】什么是图像处理(算法或描述)中的特征描述符?【英文标题】:What is a feature descriptor in image processing (algorithm or description)? 【发布时间】:2015-02-20 03:00:28 【问题描述】:

我经常对图像特征上下文中术语描述符的含义感到困惑。描述符是对点的局部邻域的描述(例如浮点向量),还是描述符是输出描述的算法?另外,特征提取器的输出究竟是什么?

这个问题我问了自己很久,我想出的唯一解释是描述符既是算法又是描述。特征检测器用于检测特征点。然而,特征提取器似乎没有任何意义。

那么,特征描述符是描述还是产生描述的算法?

【问题讨论】:

也许这可以帮助***.com/questions/6832933/… 感谢您的快速回复,不幸的是,这导致了更多的混乱。 【参考方案1】:

特征检测器是一种算法,它获取图像并输出图像中重要区域的位置(即像素坐标)。这方面的一个例子是corner detector,它会输出图像中角的位置,但不会告诉您有关检测到的特征的任何其他信息。

特征描述符是一种算法,它获取图像并输出特征描述符/特征向量。特征描述符将有趣的信息编码为一系列数字,并充当一种数字“指纹”,可用于区分一个特征与另一个特征。理想情况下,该信息在图像变换下是不变的,因此即使图像以某种方式进行了变换,我们也可以再次找到该特征。一个例子是SIFT,它编码了关于局部邻域图像梯度特征向量数量的信息。您可以阅读的其他示例包括 HOG 和 SURF。


编辑:当涉及到特征检测器时,“位置”可能还包括一个描述特征大小或规模的数字。这是因为“放大”时看起来像角的东西在“缩小”时可能看起来不像角,因此指定比例信息很重要。因此,您可以使用三重 (x,y,scale) 作为“缩放空间”中的位置,而不是仅使用 (x,y) 对作为“图像空间”中的位置。

【讨论】:

感谢您的快速回复。我认为,这种描述符的双重含义确实令人困惑,并且经常没有正确使用。 感谢您的好问题!特征描述是否应该包括关键点(来自特征检测器)?我可以提出建议,特征检测器是简单的特征描述(位置(像素坐标)与矢量)?【参考方案2】:

对于描述符,我理解为图像上一个点的邻域的描述。也就是说,它是图像中的一个向量(图像中内容的视觉特征的描述)。

例如,HOG(定向梯度直方图)中有一种方法称为 Image Gradients 和 Spatial/Orientation Binning。 extractHOGFeatures in Matlab 和 Classification using HOG 有直观的示例以便更好地理解。

【讨论】:

以上是关于什么是图像处理(算法或描述)中的特征描述符?的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV+Python特征提取算法与图像描述符之SIFT / SURF / ORB

第十八节图像描述符匹配算法

SIFT特征和图像分类?

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

Bag of Features (BOF)图像检索算法

Bag of Features (BOF)图像检索算法