如何在其他图像中找到模板图像?我们如何比较描述符?
我读过这篇文章,但不了解他们是如何做到的。

他们写道,他们使用汉明距离来比较描述符,但是不变性如何?照明,尺寸等方面的变化?

#1 楼

首先,本文中没有“模板”之类的东西-“模板”一词在“计算机视觉”中具有不同的含义。

本文使用的方法相对简单。让我为您分解。使用本地功能,在执行诸如对象识别,图像匹配,图像拼接以及类似任务之类的任务时,您需要做三件重要的事情。在此步骤中,您要检测兴趣点或关键点,这意味着要选择图像中您认为有趣的局部点(基本上是小补丁),可以通过多种方法进行;本文在这方面没有贡献。但是,它们似乎使用了SURF特征检测器和CenSurE关键点(如果您想了解更多有关它们的信息,可以查找它们,除了它们使用诸如渐变之类的特征之外,我将不讨论此步骤。如果您有照片,则不太可能选择天空中的某个点作为兴趣点,这是因为该点周围的像素都具有相同的强度,因此倾向于选择“忙碌”的事物作为兴趣点(例如桌子/建筑物边缘/拐角)。

检测完成后,功能说明如下。您知道图像中的有趣点,现在要描述它们(基本上是要描述有趣点周围的点/面片)。 SIFT是一种流行的特征描述符。在本文中,他们提出了一个新的文件,称为Brief。 Brief是基于比较的,所以假设我们有一个补丁(50像素乘50像素),我们选择两个点并比较两个点的强度,如果第一个点大于第二个点,则将值指定为' 1”,否则为“ 0”,我们对了许多对,最后得到了一串布尔值。现在最大的问题是“如何选择这对点?”,他们在论文中解释了5种相对相似的方式,我将描述第一种。您要做的是均匀地(等概率)在-S / 2到S / 2之间选择一个点,在我们的示例中,我们说色块大小为50,因此我们在-25到25之间选择一个点。假设0 ,0坐标位于面片的中心。所以这是一个例子;

我们要选择第一对,每个点都由(X,Y)坐标组成,所以我们统一选择第一点的X坐标,然后选择第一点,假设是(10,-1),现在是第二点;我们统一选择第二个点的X坐标和第二个点的Y坐标,我们假设它是(-2,20),现在我们获得每个点的强度值,然后看看哪个具有更大的强度值-如果first较大,我们将第一个布尔值分配为'1',否则,我们将分配'0'。我们对很多对都这样做,最后得到一个布尔值向量。

*非常重要的一点:我想让它起作用,您必须在随机生成器之前指定一个种子值。这意味着您要为每个补丁选择相同的值-这非常重要,因为当您比较/匹配补丁时,如果未以完全相同的方式选择它们,整个系统就会崩溃。 -希望这在您阅读匹配步骤时会有意义。

因此,我们对检测器检测到的每个兴趣点都执行此操作。对于每个兴趣点,我们将获得一个布尔值向量。


现在要匹配两个图像(第三步;匹配),我们对另一个图像执行完全相同的操作,检测,然后使用“摘要”进行描述。例如,假设每个图像中有10个兴趣点(如果我们在每个图像中获得10个最有趣的点,这总是可以工作的),我们使用Brief用例如50对来描述每个补丁,因此每个图像将由10个具有50个布尔值的向量。

要比较两个图像,我们找到第一个图像中每个向量与第二个图像中另一个向量的最近邻居。我们使用汉明距离非常快,例如汉明距离


hammingDistance ((0,1,1),(0,1,1))= 0



基本上有多少个错误对应

希望有帮助

评论


$ \ begingroup $
非常感谢,我能理解算法。但是我还有一些问题,仿射,视角变化和照度变化如何?如果照明或视角发生变化,位串是否也会相似?
$ \ endgroup $
–最大
2012年2月2日,0:15

$ \ begingroup $
如果所有像素的照度变化量相等,是的,它仍然可以工作,如果每个像素之间的照度变化量不同(某些像素照度增加,其他像素减少),那么这就是一个问题。亲和力似乎运行良好(基于其结果),但是它肯定会达到停止工作的地步(实际上是他们的结果(图3)),它们表明-您可以下载图像并查看Wall 1 |的作用。 2,墙1 | 3对应于)。他们的方法不是旋转不变的(很难看到),他们明确提到了这一点。
$ \ endgroup $
–罗罗诺·佐罗
2012年2月2日,1:18

$ \ begingroup $
感谢您的阐述。我确实非常了解Brief描述符。
$ \ endgroup $
–user1357
2012年5月9日15:00