gpt4 book ai didi

computer-vision - Lowe比率测试如何工作?

转载 作者:行者123 更新时间:2023-12-01 03:12:18 26 4
gpt4 key购买 nike

假设我有一组N张图像,并且我已经计算了每个图像的SIFT描述符。我知道要计算不同功能之间的匹配。我听说过一种常见的方法是Lowe比率测试,但我不知道它是如何工作的。有人可以向我解释吗?

最佳答案

简短版本:第一个图像的每个关键点与第二个图像中的多个关键点匹配。我们为每个关键点保留2个最佳匹配项(最佳匹配项=距离测量值最小的匹配项)。 Lowe的测试检查两个距离是否足够不同。如果不是,则消除关键点,并且不会将其用于进一步的计算。

长版:

David Lowe提出了一种简单的方法来过滤关键点匹配,方法是在次优匹配几乎相同的情况下消除匹配,从而消除匹配。请注意,尽管在计算机视觉的背景下得到了普及,但该方法并不与CV相关。在这里,我将介绍该方法以及在计算机视觉环境中如何实现/应用该方法。

让我们假设L1是图像1的关键点集,每个关键点都有一个描述,列出了有关关键点的信息,该信息的性质实际上取决于所使用的描述符算法。 L2是图像2的关键点集。典型的匹配算法将通过为L1中的每个关键点找到L2中最接近的匹配来工作。如果使用欧几里得距离,就像在Lowe的论文中一样,这意味着来自集合L2的关键点与欧洲第一点的关键点之间的欧几里德距离最小。

在这里,我们可能会试图设置一个阈值并消除距离在该阈值以上的所有配对。但这不是那么简单,因为描述符中的并非所有变量都是“判别式”的:两个关键点可能具有较小的距离度量,因为其描述符中的大多数变量具有相似的值,但是这些变量可能与实际匹配无关。总是可以对描述符的变量进行加权,以使更具区分性的特征更多地“计数”。 Lowe提出了一种更为简单的解决方案,如下所述。

首先,我们将L1中的关键点与L2中的两个关键点进行匹配。从假设图像1中的一个关键点在图像2中不能有多个等效项的假设出发,我们推断出这两个匹配项都不都是正确的:至少其中之一是错误的。按照Lowe的推理,距离最小的匹配是“良好”匹配,距离第二小的匹配则等于随机噪声(一种基本速率)。如果无法将“良好”匹配与噪音区分开,则应拒绝“良好”匹配,因为它不会带来任何有趣的信息。因此,一般的原则是,最佳和次佳的比赛之间必须有足够的差异。

如何充分利用“足够的差异”的概念很重要:Lowe使用两个距离的比率,通常表示为:

if distance1 < distance2 * a_constant then ....


其中distance1是关键点与其最佳匹配之间的距离,而distance2是关键点与其第二最佳匹配之间的距离。使用“小于”符号可能会造成一些混淆,但是当考虑到较小的距离意味着该点更近时,这将变得显而易见。在OpenCV世界中,knnMatch函数会将匹配项从最佳返回到最差,因此第一场比赛的距离更短。问题实际上是“多小?”为了弄清楚,我们将distance2乘以必须在0到1之间的常数,从而减小distance2的值。然后我们再看一下distance1:它是否仍小于distance2?如果是,则它通过了测试,并将被添加到好点列表中。如果没有,则必须消除。

这样就说明了“小于”部分,但是乘法呢?由于我们正在研究距离之间的差异,所以为什么不仅仅使用distance1和distance2之间的实际数学差异呢?尽管从技术上讲我们可以做到,但最终的差异将是绝对的,它太依赖于描述符中的变量,我们使用的距离测量的类型等。如果提取描述的代码发生变化并影响所有距离测量,该怎么办? ?简而言之,距离1-距离2的鲁棒性较差,需要频繁调整,并使方法的比较更加复杂。都是关于比率。

要点:Lowe的解决方案之所以有趣,不仅因为其简单性,还因为它在许多方面与算法无关。

关于computer-vision - Lowe比率测试如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51197091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com