当前位置:   article > 正文

GlueStick: Robust Image Matching by Sticking Points and Lines Together

gluestick: robust image matching by sticking points and lines together

1 引言

线条在结构化场景中无处不在,并且提供了比特征点更强的约束条件。特别是,在特征点提取较为困难的稀疏纹理场景下,线条特征能够提供更有效的特征。

但是与关键点相比,线段在图像中的定位往往较差,重复性也较低。线段的描述也更具有挑战性,因为它们可以覆盖图像中较大的空间范围,并由于视点的变化而遭受遮挡和透视效应。并且对于典型的匹配方法,例如最近邻和Lowe比率检验,通常对直线效果比较差。

深度学习开创了一种利用图神经网络(GNNs)[54,64]进行特征点匹配的新范式。实现这一目标的一个关键组件是直接利用网络中关键点的位置编码,并使其将视觉特征与几何信息[54,64,66,26]相结合。尽管最近的进展利用类似的想法来丰富线描述符[80],但直接将这种GNN方法转移到线匹配并不简单。线的大范围和它们缺乏的可重复性,使得很难为它们找到一个好的特征表示。

图神经网络(GNN)最简单全面原理与代码实现! - 知乎 (zhihu.com)

我们的网络将从一个图像对中提取的稀疏关键点、线及其描述符作为输入,并在建立最终匹配之前,从两幅图像中的所有特征中输出一组具有丰富的上下文的局部判别描述符。在网络内部,关键点和线端点被表示为线框中的节点。该网络由节点间的自注意层、两个图像间信息交换的交叉注意层和一个能够实现线框相邻节点间通信的新的线消息传递模块组成。在GNN之后,点和线被分成两个独立的匹配矩阵,并使用一个双软的max来找到特征的最终分配。

我们的贡献如下:

(1)我们用一种数据驱动的方法来代替线匹配的启发式几何策略,即在单个网络中联合匹配点和线。

(2)我们利用图像中特征的局部连通性,提出了一种新的架构。

(3)我们的实验表明,在广泛的数据集和任务上,我们的方法比以前的最先进的点和线匹配器有很大的改进。

2 相关工作

线段检测:Hough变换、局部线段检测器[21,2,63,62,46]、线框解析[25,86,77,83,78,76]。在这项工作中,我们用LSD检测器[21]来训练我们的网络,因为它具有高准确性和多功能性

线段描述通常是通过使用图像梯度来描述局部[70,72,82,69,35]中每个线段周围的纹理。一种方法每一行周围提取一个补丁并通过神经网络[32,31,1]进行描述来模拟关键点补丁描述符。另一种方法是沿着直线采样点,并将它们分别描述为[67,47]。在本文中,我们使用(基于点的)超点[16]稠密描述符,在两个线的端点上进行插值。

使用Transformer匹配:SuperGlue、WGLSM、LineTR、HDPL

3 GlueStick

在本节中,我们将展示如何在同一网络中组合点和线。每个特征都可以利用来自邻近特征的线索来提高匹配性能。此外,该网络可以自动发现对匹配有用的点和线的组合,而不是像以前的工作[35]那样启发式地挖掘它们。

3.1 From Points and Lines to Wireframes(Front-End)

我们用共同的特征检测器提取点、线及其描述符,然后将它们组合成一个线框。

我们的GNN的输入是一组点,它们相关的局部描述符和一个连接矩阵,指示哪些点由一条直线连接。第一步是建立这种连通性并构建线框图。

使用SuperPoint来预测关键点和一个密集的描述符映射,并且我们使用通用的LSD [21]检测器来检测片段。一般在线段端点处关键点是冗余的,所以设置阈值,删除端点附近阈值内的关键点。此外,LSD检测的线段通常断开,所以设置阈值,若两线段端点在阈值内的话,就合并为一条线段。

在这个步骤之后,每个关键点和线端点被表示为线框中的一个节点,每个节点具有不同的连接度:0表示一个孤立的关键点,2表示一个角,等等。然后,我们在节点位置插值密集的SP特征图,使它们具有视觉描述符。

3.2 Attention-based Graph Neural Network (GNN)

该块的目标是将每个特征的视觉和空间信息结合起来,并允许所有特征之间的交互,而不管它们的原始接受域是什么。输出是一组更新的描述符,通过知识丰富了图像内部和图像之间的相关特征边缘,以及通过线段连接的节点内的特征。 

对于每幅图像A、B,网络的输入是:一组节点p,具有坐标(xp,yp),置信度sp和视觉描述符dvis;一组线段,定义为一对节点(xp,yp)和(xp',yp')和线段分数sl,这个分数可以是线检测器返回的指示线质量的任何值,或者仅仅是线的长度

(1)位置编码和方向性编码:首先是编码特征的空间信息,为节点生成位置描述子,为线段生成边界描述子

(2)网络架构:我们的GNN是一个具有三种类型的无向边的完整图(见图2)。自注意边缘自身,将一幅图像的节点与同一图像的所有节点连接起来。线边,连接同一条线端点的节点。交叉注意边缘发生交叉,将一个图像的节点连接到另一个图像节点。

节点i最初被分配一个特征描述符,融合其空间和视觉信息: (0)xi = d p i +与i。然后,这个节点描述符通过Self、线和交叉层的L次迭代中所有其他描述符的上下文进行迭代丰富和细化。最后,对每个节点的特征进行线性投影,得到输出特征。下一段详细介绍了每种类型的图层。

自我层和交叉层:

线信息传递层:

3.3.Dual-Softmax for Points and Lines

使用两个独立的双重softmax模块[51,64],对点和线的最终分配分别求解。我们提供了前向的点和线匹配通过两个独立的dual-softmax分配

在点方面,i,j表示节点序号,我们在Sp后面添加了一行,填充了代表匹配阈值的可学习参数,低于这个阈值我们认为是不匹配的。然后我们在所有行列上应用此公式,并计算他们的几何平均值:

在线方面,也是以类似的方法进行匹配,只是每条线都由它的两个端点表示,fs∈R D和fe∈R D。为了使匹配与端点排序无关,我们在线分配矩阵中取这两种配置的最大值:

3.4 生成真值

使用了与[54]相同的方法,简而言之,我们利用相机姿态和深度将关键点从一幅图像重新投影到另一幅图像,并且当重新投影在现有关键点的小范围内时,我们就添加一个新的匹配。

3.5 损失函数

描述符学习的一种经典方法是将triple -rank -loss[6,61]与hard negative mining[43]相结合。然而,重复的结构经常出现在线条上,这可能会产生有害的匹配。相反,我们采用最小化点和线分配的负对数似然值:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/936545
推荐阅读
相关标签
  

闽ICP备14008679号