Answers:
首先,本文没有“模板”之类的东西-“模板”一词在“计算机视觉”中具有不同的含义。
本文使用的方法相对简单。让我为您分解一下。使用“ 本地功能”执行诸如对象识别,图像匹配,图像拼接等任务时,需要做三件事
首先重要的是检测; 在此步骤中,您要检测兴趣点或关键点,这意味着您要选择图像中您认为有趣的局部点(基本上是小补丁),可以通过多种方法进行;本文在这方面没有贡献。但是,它们似乎使用了SURF特征检测器和CenSurE关键点(如果您想了解更多有关它们的信息,可以查找它们,除了它们使用诸如渐变等功能之外,我将不讨论此步骤。如果您有照片,则不太可能选择天空中的某个点作为兴趣点,这是因为该点周围的像素都具有相同的强度,因此倾向于选择“忙碌”的事物作为兴趣点(例如桌子/建筑物边缘/拐角)。
检测完成后,功能说明如下。您知道图像中的有趣点,现在要描述它们(基本上是要描述有趣点周围的点/面片)。SIFT是一种流行的特征描述符。在本文中,他们提出了一个新的文件,称为Brief。Brief是基于比较的,因此假设我们有一个补丁(50像素乘50像素),我们选择两个点并比较两个点的强度,如果第一个点大于第二个点,则将值分配为' 1”,否则为“ 0”,我们对了许多对,最后得到了一串布尔值。现在最大的问题是“如何选择这对点?”,他们在论文中解释了5种相对相似的方式,我将描述第一种。您要做的是统一地(等概率)从-S / 2到S / 2中选择一个点,在我们的示例中,我们说补丁的大小为50,因此我们在-25到25之间选择一个点。假设0,0坐标位于补丁的中心。所以这是一个例子;
我们要选择第一对,每个点都由(X,Y)坐标组成,所以我们统一选择第一点的X坐标,然后选择第一点的Y坐标,我们假设它是(10,-1) ,现在第二点;我们统一选择第二个点的X坐标和第二个点的Y坐标,我们假设它是(-2,20),现在我们获得每个点的强度值,然后看看哪个具有更大的强度值-如果first较大,我们将第一个布尔值分配为'1',否则,我们将分配'0'。我们对许多对进行此操作,最后得到布尔值向量。
*非常重要的一点:我想让它起作用,您必须在随机生成器之前指定一个种子值。这意味着您要为每个补丁选择相同的值-这非常重要,因为当您比较/匹配补丁时,如果未以完全相同的方式选择它们,则整个系统将会崩溃。-希望当您阅读匹配步骤时,这将是有意义的。
因此,我们针对检测器检测到的每个兴趣点执行此操作。对于每个兴趣点,我们将获得布尔值的向量。
现在要匹配两个图像(第三步;匹配),我们对另一个图像进行完全相同的操作,我们检测到,然后使用“摘要”进行描述。例如,假设每个图像中有10个兴趣点(如果我们在每个图像中获得10个最有趣的点,这总是可以工作的),我们使用Brief来描述每个补丁,例如使用50对,因此每个图像将由50个布尔值的10个向量。
为了比较这两个图像,我们找到了第一幅图像中每个向量与第二幅图像中其他向量的最近邻居。我们使用汉明距离,这是非常快的汉明距离的示例
hammingDistance((0,1,1),(0,0,0))= 2
hammingDistance((0,1,1),(0,1,1))= 0
hammingDistance((0,1,1),(1,0,0))= 3
hammingDistance((0,1,1),(1,1,1))= 1
基本上有多少错误的对应
希望能有所帮助