为什么我们使用关键点描述符?


17

我刚刚研究了SURF,并且打算实现它,但是我仍然不明白为什么要使用描述符。

我了解什么是关键点及其目的,但是当我们提取关键点时,为什么不使用描述符呢?它们在认可中的重要性和作用是什么?


嘿,您想特别了解SURF,还是您的问题更笼统,“为什么我们需要关键点的描述符?” (仅受关于SURF的启发)
penelope

@penelope我的问题是关于描述符的更笼统的问题
ARG

3
希望您不要介意,在回答之前,我已经让您的问题更笼统了。
penelope

Answers:


22

要理解的一件事很重要,那就是在提取关键点之后,您仅会获得有关其位置的信息,有时甚至是有关它们在图像中的覆盖区域(通常由圆或椭圆近似)的信息。尽管有关关键点位置的信息有时可能很有用,但关于关键点本身并没有多说。

根据用于提取关键点的算法(SIFT,Harris角点,MSER),您将了解所提取的关键点的一些一般特征(例如,它们以斑点,边缘,突出的角为中心...),但是您将不知道它们之间有什么不同或类似的一个关键点是另一个

这是两个简单的示例,其中只有位置和关键点区域对我们没有帮助:

  • 如果您有一个图像A(白色背景上的熊)和另一个图像B,则它是A的精确副本,但翻译了几个像素:提取的关键点将相同(在该熊的同一部分)。这两个图像应被识别为相同或相似。

    但是,如果我们仅有的信息是它们的位置,并且由于翻译而改变了,那么您将无法比较图像。

  • 如果您有一个图像A(假设这​​次是鸭子)和另一个图像B,则与A中的鸭子完全相同,只是大小增加了一倍:提取的关键点将是相同的(鸭子的相同部分)。这些也是相同(相似)的图像。

    但是它们的大小(面积)将有所不同:图像B的所有关键点的大小将是图像A的关键点的两倍。

因此,描述符来了:它们是比较关键点的方法。他们以矢量格式(长度固定)总结了关键点的一些特征。例如,可能是它们在最明显的方向上的强度。它将数字描述分配给关键点所指的图像区域。

描述符的一些重要事项是:

  • 它们应独立于关键点位置

    如果在不同位置提取了相同的关键点(例如,由于翻译),则描述符应该相同。

  • 他们应该对图像转换具有鲁棒性

    例如,对比度的变化(例如,晴天和阴天时同一位置的图像)和视角的变化(从中右和中左的建筑物图像,我们仍然希望将其识别为同一建筑物) 。

    当然,没有一个描述符对所有变换都具有完全的鲁棒性(如果它很强大,例如,视角发生了很大的变化),则对任何单个变换都不具有鲁棒性。

    不同的描述符被设计为对不同的转换具有鲁棒性,这有时与计算它们的速度相反。

  • 他们应该是规模独立的

    描述符应考虑到比例。如果一个关键点的“突出”部分是一条10px的垂直线(在半径为8px的圆形区域内),而另一部分的突出部分是5px的垂直线(在半径为4px的圆形区域内)–这些关键点应分配类似的描述符。

现在,您已经为所有关键点计算了描述符,就可以比较这些关键点了。举一个简单的图像匹配示例(当您知道图像属于同一对象,并且希望识别不同图像中描述场景同一部分的部分时,或者想识别两个图像之间的视角变化时) ,您可以将一个图片的每个关键点描述符与另一张图片的每个关键点描述符进行比较。由于描述符数字的向量,因此您可以将它们与诸如Euclidian distance之类的简单对象进行比较。当然,可以使用一些更复杂的距离作为相似性度量。但是,最后,您会说描述符之间具有最小距离的关键点匹配项,例如,不同图像中的相同“位置”或“对象的一部分”。

更复杂地使用关键点/描述符,您应该看一下这个问题 -特别是我的答案中的“低级本地方法” 和@Maurits答案中的“词包”方法。此外,这些答案中提供的链接也很有用。


最佳答案和很好的解释,使用术语功能与描述符相同吗?两者相同还是不同?术语“定向”在冲浪中是什么意思?
2013年

1
术语“功能”与“关键点”相同-它是图像中的突出点。描述符然后是“关键点描述符”或“功能描述符”。不幸的是,我对SURF知之甚少,这就是为什么我问您是否想大致了解描述符或特别是有关SURF的原因。我知道对于SIFT来说,方向非常重要。
penelope

定向一词不是专门用于SURF,它也用于SIFT,我只是想知道,它是什么
ARG 2013年

您可以基于局部渐变来计算关键点的“主要方向”。然后,当计算梯度以实现旋转不变性时,该方向对于关键点变为“向上”。对于SIFT,您在Wikipedia上
-penelope

:)我的问题是方向是什么?不进行筛查或冲浪
ARG

2

让我们考虑一下理想的描述符来理解这个想法。理想的描述符是一个从像素空间到其他空间的函数,以使相同的对象具有相同的结果,而不同的对象具有不同的结果。

例如,如果您用相同的物体拍摄了两张具有不同曝光度的图像,则会得到倍增的图像。一个将获取像素并通过其均值和标准偏差水平对其进行归一化的描述符将具有相同的结果,表示这两个对象是相同的。很好,因为它允许我们正确匹配

在此处输入图片说明 在此处输入图片说明

因此,需要您的描述符来正确匹配相同的对象。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.