【SLAM】LoFTR知多少

1. LoFTR: Detector-Free Local Feature Matching with Transformers

PAPER

论文 | LoFTR: Detector-Free Local Feature Matching with Transformers

代码 | CODE:

关键词 | detector-free, local feature matching

LoFTR知多少

      • 1. LoFTR: Detector-Free Local Feature Matching with Transformers
      • 0. 摘要
      • 1. Introduction
      • 2. Related Work
      • 3. Methods
        • 3.1. 局部特征提取
        • 3.2. 局部特征转换器(LoFTR)模块
        • 3.3. 粗匹配的建立
        • 3.4. 粗匹配到细匹配模块
        • 3.5. 监督
        • 3.6. 实现细节
      • 4. Experiments
        • 4.1. Homography Estimation(ted HPatches dataset 1)
        • 4.2 相对位姿估计
        • 4.3 视觉定位
      • 结论
      • References

0. 摘要

本文提出了一种新颖的用于局部图像特征匹配的方法。代替了传统的顺序执行图像特征检测,描述和匹配的步骤,本文提出首先在粗粒度上建立逐像素的密集匹配,然后在精粒度上完善精修匹配的算法。与使用cost volume搜索对应关系的稠密匹配方法相比,本文使用了Transformer中使用自我和交叉注意力层(self and cross attention layers)来获取两个图像的特征描述符。Transformer提供的全局感受野使图像能够在弱纹理区域产生密集匹配(通常情况下在低纹理区域,特征检测器通常难以产生可重复的特征点)。在室内和室外数据集上进行的实验表明,LoFTR在很大程度上优于现有技术。
在这里插入图片描述
图1:提出的方法LoFTR与基于检测器的方法SuperGlue [37]的对比。此示例表明,LoFTR能够在无纹理的墙壁和具有重复模式的地板上找到对应点,而基于检测器的方法往往难以找到可重复的兴趣点。

1. Introduction

图像间的局部匹配是许多3D计算机视觉任务的基础,包括运动结构SfM、SLAM、视觉定位等。大多现有的匹配方法都有三个阶段工作:特征检测、特征描述和特征匹配。在检测阶段,首先从每个图像中检测像角点这样的突出点作为兴趣点。然后围绕这些兴趣点的邻域区域提取局部描述符。特征检测和描述阶段产生两组具有描述符的兴趣点,随后通过最近邻搜索或更复杂的匹配算法找到这些兴趣点的点对点对应关系。

特征检测器的使用减少了匹配的搜索空间,并且产生的稀疏对应足以用于大多数任务,例如,摄像机姿势估计。然而,由于各种因素(如纹理差、重复图案、视点变化、照明变化和运动模糊),特征检测器可能无法提取足够的兴趣点。这一问题在室内环境中尤其突出,在室内环境中,低纹理区域或重复图案有时占据视野中的大部分区域。图1示出了一个示例。如果没有可重复的兴趣点,即使有完美的描述符,也不可能找到正确的对应关系。

最近的几项工作[34、33、19]试图通过建立像素密集匹配来解决这个问题。可以从密集匹配中选择置信度较高的匹配,从而避免特征检测。然而,在这些工作中,卷积神经网络(CNN)提取的密集特征具有有限的感受野,可能无法区分模糊区域。取而代之的是,人类在这些模糊区域中找到了对应关系,不仅是基于局部邻域,而且是基于更大的全局上下文。例如,图1中的低纹理区域可以根据其相对于边缘的相对位置来区分。这一观察结果告诉我们,在特征提取网络中,一个大的感受野是至关重要的。

基于上述观察,我们提出了局部特征变换(LoFTR),一种新的无检测器局部特征匹配方法。受开创性工作SuperGlue[37]的启发,我们使用带有自我和交叉注意层的Transformer[48]来处理(转换)从卷积主干提取的密集局部特征。首先以低特征分辨率(图像维度的1/8)在两组变换特征之间提取密集匹配。从这些密集匹配中选择具有高置信度的匹配,然后使用基于相关性的方法将其细化到亚像素级。Transformer的全局感受野和位置编码使变换后的特征表示具有上下文和位置依赖性。通过多次交错自我和交叉注意层,LoFTR学习在ground-truth匹配中显示的密度范围内的全局一致匹配先验。还采用了线性Transformer,将计算复杂度降低到可管理的水平。

我们在室内和室外数据集的多个图像匹配和摄像机姿态估计任务中对所提出的方法进行了评估。实验表明,LoFTR在很大程度上优于基于检测器和无检测器的特征匹配基线。LoFTR还实现了最先进的性能,并在视觉本地化的两个公共基准上排名第一。与基于检测器的基线方法相比,LoFTR即使在具有低纹理、运动模糊或重复图案的模糊区域也可以生成高质量的匹配。

2. Related Work

基于检测器的局部特征匹配。基于检测器的方法已经成为局部特征匹配的主要方法,在深度学习时代之前,许多工作在传统手工设计的局部特征特征上都取得了良好的表现。

SIFT[26]和ORB[35]是最成功的手工设计的局部特征,在许多3D计算机视觉任务中被广泛采用。基于机器学习的方法可以显著提高局部特征在更大视角和光照变化下的性能。

值得注意的是,LIFT[51]和MagicPoint[8]是首批成功的基于学习的局部特征。它们采用的检测器设计是基于手工设计的方法,并实现了良好的性能。SuperPoint[9]以MagicPoint为基础,提出了一种通过自适应的自监督训练方法。沿着这条技术路线的许多基于学习的局部特征[32、11、25、28、47]也采用了基于检测器的设计。

上述局部特征使用最近邻搜索来查找提取的兴趣点之间的匹配。最近,SuperGlue[37]提出了一种基于学习的局部特征匹配方法。SuperGlue接受两组兴趣点及其描述符作为输入,并使用图神经网络(GNN)学习它们的匹配,这是Transoformers的一般形式[16]。由于可以通过数据驱动的方法学习特征匹配的先验知识,SuperGlue获得了令人印象深刻的性能,并开创了局部特征匹配的新技术。

然而,作为一种依赖于检测器的方法,它的基本缺点是无法在模糊区域中检测出可重复的兴趣点。SuperGlue中的注意范围也仅限于检测到的兴趣点。我们的工作受到SuperGlue的启发,在GNN中使用自注意力机制和交叉注意力机制在两组特征描述之间传递消息,但我们提出了一种无检测器设计,以避免特征检测器的缺点。同时还在Transformer中使用了一种有效的注意层变体,以降低计算成本。

无检测器的局部特征匹配。无检测器的方法移除了特征检测器阶段,直接产出稠密特征描述符或者稠密特征匹配符。

视觉任务中的Transformers。Transformer由于其简单和计算高效,已经成为NLP序列标注任务中的标准模块。近期,Transformers在计算机视觉领域也取得非常好的效果,例如图像分类、目标检测和语义分割。在我们的工作中,也使用Transformers进行dispartity estimation。由于需要将查询向量和key vectors进行点乘,所以Transformer的计算量随着输入序列长度呈现增长。最近在处理长序列问题上,提出了许多变体方法。因为这些工作中的输入数据没有作前提假设,所以他们非常适合处理图像。

3. Methods

方法给定图像对I_A和I_B,现有的局部特征匹配方法使用特征检测器提取感兴趣点。我们提出了一种无需检测器的设计来解决特征检测的可重复性问题。图2展示了所提出方法LoFTR的概览。
在这里插入图片描述
图2:提出方法的概述。LoFTR有四个组成部分:1. 据局部特征CNN从图像对 I A I_A IA I B I_B IB(第3.1节)中提取粗级特征图 F A F^A FA F B F^B FB,以及细级特征图FˆA和FˆB。
2. 粗级特征图被展平为1-D向量,并添加位置编码。然后,这些添加的特征通过具有Nc个自注意力和交叉注意力层的局部特征转换器(LoFTR)模块进行处理(第3.2节)。
3. 使用可微分匹配层来匹配转换后的特征,生成置信度矩阵 ρ c \rho_c ρc 。根据置信度阈值和相互最近邻标准从 ρ c \rho_c ρc中选择匹配项,得到粗级匹配预测 u c u_c uc(第3.3节)。
4. 对于每个选定的粗略预测(˜i,˜j)∈ Mc,在细级特征图中裁剪一个大小为w×w的局部窗口。在此局部窗口内将对粗匹配进行细化,得到亚像素级别的最终匹配预测Mf(第3.4节)。

3.1. 局部特征提取

我们使用带有FPN [22](称为局部特征CNN)的标准卷积架构从两个图像中提取多层次特征。我们使用F˜A和F˜B表示原始图像尺寸的1/8处的粗级特征,使用FˆA和FˆB表示原始图像尺寸的1/2处的细级特征。
卷积神经网络(CNNs)具有平移等变性和局部性的归纳偏差,非常适合进行局部特征提取。CNN引入的下采样也降低了LoFTR模块的输入长度,这对于确保可管理的计算成本至关重要。

3.2. 局部特征转换器(LoFTR)模块

在局部特征提取之后,F˜A和F˜B被传递到LoFTR模块中,以提取位置和上下文相关的局部特征。直观地说,LoFTR模块将特征转换为易于匹配的特征表示。我们将转换后的特征表示为F˜Atr和F˜Btr。
基础知识:Transformer [48]。这里我们简要介绍Transformer作为背景。一个Transformer编码器由顺序连接的编码器层组成。
在这里插入图片描述
图3:LoFTR中的编码器层和注意力层。
(a)Transformer编码器层。h表示多个注意力头部。 (b)具有O(N^2)复杂度的传统点积注意力。 (c)具有O(N)复杂度的线性注意力层。为简便起见,省略了缩放因子。

图3(a)显示了一个编码器层的架构。编码器层中的关键元素是注意力层。注意力层的输入向量通常被命名为查询(query)、键(key)和值(value)。类似于信息检索,查询向量Q根据Q和与每个值V对应的键向量K的点积计算出的注意力权重,从值向量V中检索信息。

注意力层的计算图如图3(b)所示。形式上,注意力层表示为:
A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T ) V . Attention(Q, K, V ) = softmax(QK^T)V. Attention(Q,K,V)=softmax(QKT)V.
直观地说,注意力操作通过测量查询元素与每个键元素之间的相似性来选择相关信息。输出向量是值向量根据相似性得分加权求和。因此,如果相似性较高,则从值向量中提取相关信息。在图神经网络中,这个过程也被称为“消息传递”。

线性变换器。将Q和K的长度记为N,它们的特征维度记为D,Transformer中Q和K之间的点积引入了计算成本的平方增长(O(N^2))与输入序列长度成正比。即使通过局部特征CNN来减小输入长度,直接应用传统版本的Transformer在局部特征匹配的背景下是不实际的。为了解决这个问题,我们提出使用Transformer中效率更高的变种形式。线性Transformer [17]通过用替代内核函数 s i m ( Q , K ) = φ ( Q ) ⋅ φ ( K ) sim(Q, K) = φ(Q) · φ(K) sim(Q,K)=φ(Q)φ(K)来替换原始注意力层中的指数内核,将Transformer的计算复杂度降低到O(N)。其中, φ ( ⋅ ) = e l u ( ⋅ ) + 1 φ(·) = elu(·) + 1 φ()=elu()+1。这个操作由图3©中的计算图所示。由于矩阵乘积的关联性质,可以先进行φ(K)T和V之间的乘法运算。由于DN,计算成本降低到O(N)。
**位置编码。**我们使用基于DETR [3]的标准位置编码的二维扩展。与DETR不同的是,我们在骨干网络输出上只添加一次位置编码。我们将位置编码的形式定义留在补充材料中。直观地说,位置编码以正弦格式为每个元素提供唯一的位置信息。通过将位置编码添加到F˜A和F˜B中,转换后的特征将变得位置相关,这对于LoFTR在不明显区域产生匹配非常重要。
在这里插入图片描述
图4:(a)卷积和(b)Transformer的感受野示意图。假设目标是建立L和R元素之间的连接以提取它们的联合特征表示。由于卷积的局部连通性,需要堆叠许多卷积层才能实现该连接。Transformer的全局感受野使得只需要一个注意力层就可以建立这种连接。
(c)注意力权重和转换后的密集特征的可视化。我们使用PCA来降低转换后特征F˜Atr和F˜Btr的维度,并使用RGB颜色可视化结果。放大以查看详细信息。

如图4©的底部行所示,尽管输入的RGB颜色在白色墙壁上是均匀的,但转换后的特征 F t r A F^A_{tr} FtrA F t r B F^B_{tr} FtrB对于每个位置是唯一的,这由平滑的颜色渐变所示。更多的可视化结果见图6。
自注意力和交叉注意力层。对于自注意力层,输入特征fi和fj(如图3所示)是相同的(可以是F˜A或F˜B)。对于交叉注意力层,输入特征fi和fj可以是(F˜A和F˜B)或(F˜B和F˜A),具体取决于交叉注意力的方向。我们根据[37]的方法将自注意力层和交叉注意力层在LoFTR模块中交替使用Nc次。图4©的前两行可视化了LoFTR中自注意力层和交叉注意力层的注意力权重。

3.3. 粗匹配的建立

在LoFTR中可以应用两种不同iable的匹配层,一种是使用最优传输(OT)层,如[37]所述,另一种是使用双向softmax算子[34,47]。首先通过以下方式计算变换后特征之间的得分矩阵 S : S ( i , j ) = 1 / τ ⋅ h F ˜ A t r ( i ) , F ˜ B t r ( j ) i S:S(i, j) = 1/τ · hF˜Atr(i), F˜Btr(j)i SS(i,j)=1/τhF˜Atr(i),F˜Btr(j)i。当使用OT进行匹配时,可以将-S用作分配问题的成本矩阵,如[37]所示。我们还可以对S的两个维度同时应用softmax(以下称为双向softmax),以获得软互相最近邻匹配的概率。具体而言,使用双向softmax时,匹配概率Pc的计算公式如下:
P c ( i , j ) = s o f t m a x ( S ( i , ⋅ ) ) j ⋅ s o f t m a x ( S ( ⋅ , j ) ) i 。 Pc(i, j) = softmax(S(i, ·))j · softmax(S(·, j))i。 Pc(i,j)=softmax(S(i,⋅))jsoftmax(S(⋅,j))i
匹配选择。基于置信度矩阵Pc,我们选择置信度高于阈值θc的匹配,并进一步强化互相最近邻(MNN)准则,以过滤可能的粗匹配异常值。我们将粗匹配预测表示为:
M c = ˜ i , ˜ j ∣ ∀ ˜ i , ˜ j ∈ M N N ( P c ) , P c ( ˜ i , ˜ j ) ≥ θ c Mc = {{˜i, ˜j} | ∀˜i, ˜j ∈ MNN(Pc), Pc(˜i, ˜j) ≥ θc} Mc=˜i,˜j∣∀˜i,˜jMNN(Pc),Pc(˜i,˜j)θc

3.4. 粗匹配到细匹配模块

在建立粗匹配之后,使用粗匹配到细匹配模块将这些匹配精细化到原始图像分辨率。受[50]的启发,我们使用基于相关性的方法来实现这一目的。对于每个粗匹配(˜i, ˜j),首先在精细级特征图FˆA和FˆB中定位其位置(ˆi, ˆj),然后裁剪两组大小为w×w的局部窗口。然后,在每个窗口中使用较小的LoFTR模块将裁剪的特征进行Nf次变换,得到以ˆi和ˆj为中心的两个变换后的局部特征图FˆAtr(ˆi)和FˆBtr(ˆj)。然后,将FˆAtr(ˆi)的中心向量与FˆBtr(ˆj)中的所有向量进行相关运算,从而产生表示ˆj附近每个像素的匹配概率的热图。通过计算概率分布的期望值,我们可以得到在图像I B上具有亚像素准确度的最终位置ˆj0。收集所有匹配 ( ˆ i , ˆ j 0 ) {(ˆi, ˆj0)} (ˆi,ˆj0)产生最终的细匹配Mf。

3.5. 监督

最终的损失由粗匹配级别和细匹配级别的损失组成: L = L c + L f L = Lc + Lf L=Lc+Lf
粗匹配级别的监督。用于粗匹配级别的损失函数是对由最优传输层或双向softmax算子返回的置信度矩阵Pc进行的负对数似然损失。我们遵循SuperGlue [37]的方法,在训练过程中使用相机位姿和深度图计算置信度矩阵的真实标签。我们将互相最近邻的两组1/8分辨率网格定义为地面真实粗匹配Mgt c。两个网格之间的距离通过它们中心位置的投影距离进行测量。更多细节请参见补充材料。对于使用最优传输层的情况,我们使用与[37]中相同的损失公式。当使用双向softmax进行匹配时,我们对Mgt c中的网格进行最小化负对数似然损失的计算:
L c = − 1 / ∣ M g t c ∣ ∑ ( ˜ i , ˜ j ) ∈ M c g t l o g P c ( ˜ i , ˜ j ) Lc = -1/|Mgt c| ∑_{(˜i,˜j)∈M^{gt}_c} log Pc(˜i, ˜j) Lc=1/∣Mgtc(˜i,˜j)McgtlogPc(˜i,˜j)
细匹配级别的监督。我们使用`2损失进行细匹配的优化。根据[50]的方法,对于每个查询点ˆi,还通过计算相应热图的总方差σ2(ˆi)来度量其不确定性。目标是优化具有低不确定性的精化位置,从而得到最终的加权损失函数:
L f = 1 / ∣ M f ∣ ∑ ( ˆ i , ˆ j 0 ) ∈ M f ∗ 1 / σ 2 ( ˆ i ) ( ˆ j 0 − ˆ j 0 g t ) 2 Lf = 1/|Mf| ∑_{(ˆi,ˆj0)∈Mf }*1/σ2(ˆi)(ˆj0 - ˆj0gt)² Lf=1/∣Mf(ˆi,ˆj0)Mf1/σ2(ˆi)(ˆj0ˆj0gt)2
其中ˆj0gt是通过使用地面真实相机位姿和深度将ˆi从FˆAtr(ˆi)扭曲到FˆBtr(ˆj)得到的。在计算Lf时,如果ˆi的扭曲位置超出了FˆBtr(ˆj)的局部窗口范围,我们将忽略(ˆi, ˆj0)。在训练过程中,不会通过σ2(ˆi)进行梯度反向传播。

3.6. 实现细节

我们在ScanNet [7]数据集上训练了LoFTR的室内模型,并在MegaDepth [21]上训练了室外模型,按照[37]的方法进行。在ScanNet上,模型使用Adam进行训练,初始学习率为1×10−3,批次大小为64。经过64张GTX1080Ti GPU的24小时训练后模型收敛。局部特征CNN使用修改版的ResNet-18 [12]作为骨干网络。整个模型的权重是随机初始化的并进行端到端的训练。Nc设置为4,Nf设置为1,θc选择0.2。窗口大小w等于5。在实现中,将F˜Atr和F˜Btr上采样并与FˆA和FˆB进行拼接,然后通过细匹配级别的LoFTR。使用双向softmax匹配的完整模型在一对640×480的图像上运行时间为116毫秒,使用RTX 2080Ti。在最优传输设置下,我们使用三个Sinkhorn迭代,模型运行时间为130毫秒。更多训练和计时分析的细节请参见补充材料。

4. Experiments

4.1. Homography Estimation(ted HPatches dataset 1)

在这里插入图片描述
表1:在HPatches [7]上的单应性估计结果。以角点误差的AUC百分比为报告指标。后缀DS表示具有双向softmax的可微匹配。

评估协议。在每个测试序列中,将一个参考图像与其他五个图像配对。所有图像的尺寸调整为较短边等于480像素。对于每对图像,我们使用在MegaDepth数据集[21]上训练的LoFTR提取一组匹配点。我们使用OpenCV计算采用RANSAC作为鲁棒估计器的单应性矩阵估计。为了与产生不同数量匹配点的方法进行公平比较,我们使用角点误差来衡量通过估计的Hˆ对图像进行变换后与真实H之间的差异,与[9]中的正确性指标一致。按照[37]的做法,我们分别报告了3、5和10像素阈值下角点误差累积曲线下面积(AUC)。我们报告LoFTR输出最多1K匹配点时的结果。

基准方法。我们将LoFTR与三类方法进行比较:1)基于检测器的局部特征方法,包括R2D2[32]、D2Net[11]和DISK[47];2)基于检测器的局部特征匹配方法,即SuperGlue[37]在SuperPoint[9]特征上的扩展;3)无需检测器的匹配方法,包括Sparse-NCNet[33]和DRC-Net[19]。对于局部特征方法,我们最多提取2K个特征,并提取相互最近邻作为最终匹配点。对于直接输出匹配点的方法,我们限制最多1K个匹配点,与LoFTR一样。对于所有基准方法,我们使用原始实现中的默认超参数。

结果。表1显示,LoFTR在所有误差阈值下明显优于其他基准方法。具体而言,随着正确性阈值越来越严格,LoFTR与其他方法之间的性能差距增大。我们将顶级性能归因于无需检测器的设计提供的更多匹配候选项以及Transformer带来的全局感受野。此外,粗到精模块通过将匹配点细化到亚像素级别也有助于估计的准确性。

4.2 相对位姿估计

数据集。我们使用ScanNet[7]和MegaDepth[21]数据集分别展示LoFTR在室内和室外场景中进行位姿估计的效果。

ScanNet包含1613个带有地面真实位姿和深度图的单目序列。按照SuperGlue[37]的步骤,我们对训练集采样了230M对图像,其重叠得分在0.4到0.8之间。我们在[37]中的1500个测试图像对上评估我们的方法。所有图像和深度图的尺寸调整为640×480像素。该数据集包含了基线较大和纹理缺失区域较多的图像对。

MegaDepth由196个不同室外场景的100万张互联网图像组成。作者还提供了使用COLMAP[40]进行稀疏重建和使用多视图立体法计算深度图的数据。我们按照DISK[47]的方法,只使用"Sacre Coeur"和"St. Peter’s Square"两个场景进行验证,并从中采样了1500对图像用于公平比较。训练时,图像的较长边被调整为840像素,验证时调整为1200像素。MegaDepth的关键挑战是在极端视点变化和重复纹理的情况下进行匹配。

评估协议。按照[37]的做法,我们报告在阈值为5°、10°和20°时的位姿误差的AUC,其中位姿误差定义为旋转和平移中角度误差的最大值。为了恢复相机位姿,我们使用RANSAC从预测的匹配点中求解本质矩阵。由于无需检测器的图像匹配方法缺乏定义明确的度量(如匹配得分或召回率[13,30]),我们不对LoFTR和其他基于检测器的方法进行匹配精度比较。我们将DRC-Net[19]视为无需检测器方法中的最先进方法[34,33]。
在这里插入图片描述
表2:在ScanNet [7]上对室内位姿估计进行评估。以位姿误差的AUC百分比为报告指标。LoFTR显著改善了现有方法的性能。†表示在MegaDepth上训练的模型。后缀OT和DS分别表示具有最优传输和双向softmax的可微匹配。

表3:在MegaDepth [21]上对室外位姿估计进行评估。LoFTR的匹配结果在室外位姿估计任务中表现更好。
室内位姿估计结果。LoFTR在位姿准确性方面相比所有竞争方法均取得了最佳表现(见表2和图5)。将LoFTR与最优传输或双softmax作为可微匹配层配对,可以达到可比较的性能。由于DRC-Net†提供的模型是在MegaDepth上训练的,我们提供了在MegaDepth上训练的LoFTR†模型的评估结果,以进行公平比较。在这个评估中,LoFTR†也比DRC-Net†获得了更好的性能,表明我们的模型在数据集间具有泛化能力。

室外位姿估计结果。如表3所示,LoFTR在AUC@10°上比无需检测器方法DRC-Net提升了61%,证明了Transformer的有效性。对于SuperGlue,我们使用开源定位工具包HLoc [36]中的设置。LoFTR在AUC@10°上大幅胜过SuperGlue(13%),这证明了无需检测器设计的有效性。与室内场景不同,LoFTR-DS在MegaDepth上的表现优于LoFTR-OT。图5中展示了更多定性结果。

4.3 视觉定位

除了在相对位姿估计方面取得竞争性能外,LoFTR还可用于视觉定位任务,即根据给定图像相对于相应的3D场景模型估计其6自由度位姿。我们在长期视觉定位基准[43]上评估了LoFTR的性能。

**评估。**我们在VisLoc的两个跟踪中评估了LoFTR,这些跟踪包含了几个挑战。首先,“用于手持设备的视觉定位”跟踪需要一个完整的定位流程。它在两个数据集上进行基准测试,分别是涉及室外场景的AachenDay-Night数据集[38,54]和涉及室内场景的InLoc[41]数据集。我们使用开源定位流程HLoc [36]并使用LoFTR提取的匹配点进行评估。其次,“用于长期定位的局部特征”跟踪提供了一个固定的定位流程,用于评估局部特征提取器本身以及可选的匹配器。这个跟踪使用Aachen v1.1数据集[54]。我们在补充材料中提供了LoFTR在VisLoc上的测试实现细节。
在这里插入图片描述

**结果。**我们在表4和表5中提供了LoFTR的评估结果。我们评估了LoFTR与最优传输层或双softmax操作符配对,并报告效果更好的那个结果。LoFTR-DS在局部特征挑战跟踪中优于所有基线方法,在日夜变化下显示出其鲁棒性。然后,对于用于手持设备的视觉定位跟踪,LoFTR-OT在具有挑战性的InLoc数据集上优于所有已发布的方法,该数据集包含大量外观变化、更多无纹理区域和对称、重复元素。我们将这一显著性归因于Transformer和最优传输层的应用,利用全局信息并将全局一致性引入最终匹配点。无需检测器的设计也起着至关重要的作用,解决了基于检测器方法在低纹理区域中出现可重复性问题。LoFTR-OT在Aachen v1.1数据集的夜间查询上与最先进的SuperPoint + SuperGlue方法相媲美,并在白天查询上稍逊一些。

在这里插入图片描述
图5:定性结果。LoFTR在室内和室外环境中与SuperGlue [37]和DRC-Net [19]进行比较。LoFTR获得更多正确的匹配并减少了不匹配,成功应对低纹理区域、大视角和光照变化。红色表示在室内场景中超过5 × 10^(-4)的极线误差,室外场景中超过1 × 10^(-4)的极线误差(以归一化图像坐标表示)。更多定性结果可在项目网页上找到。

在这里插入图片描述
图6:自注意力权重和交叉注意力权重以及转换后的特征可视化。在前两个示例中,来自低纹理区域的查询点能够灵活地聚合周围的全局信息。例如,椅子上的点正在查看椅子的边缘。在最后两个示例中,来自独特区域的查询点还可以利用其他区域更丰富的信息。通过PCA的特征可视化进一步显示LoFTR学习了一种位置相关的特征表示。

4.4. LoFTR的理解
消融实验。为了充分理解LoFTR中的不同模块,我们评估了五个不同的变种,并在表6中展示了结果:1)将LoFTR模块替换为具有相当数量参数的卷积操作,结果如预期地显著降低了AUC。2)使用较小版本的LoFTR,其粗糙和精细级别的特征图分辨率分别为1/16和1/4,导致运行时间为104 ms,并降低了姿态估计的准确性。3)使用DETR-style [3]的Transformer架构,在每一层都具有位置编码,结果显著下降。4)通过将LoFTR层数增加一倍(Nc=8和Nf=2)来增加模型容量,几乎不改变结果。我们使用与室内姿态估计相同的训练和评估协议以及优化的匹配所选取的扫描网络进行这些实验。

注意可视化。我们在图6中可视化了注意力权重。

结论

本文提出了一种新颖的无检测器匹配方法,名为LoFTR,可以通过Transformers在粗到精的方式下建立准确的半密集匹配。所提出的LoFTR模块使用Transformers中的自注意力和交叉注意力层将局部特征转换为上下文和位置相关的特征,这对LoFTR在低纹理或重复模式的不明显区域获得高质量匹配至关重要。我们的实验证明,LoFTR在多个数据集上相对姿态估计和视觉定位方面实现了最先进的性能。我们相信LoFTR为无检测器方法在本地图像特征匹配方面提供了新的方向,并可以扩展到更具挑战性的场景,例如匹配具有严重季节变化的图像。

References

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/54211.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker创建tomcat容器实例后无法访问(HTTP状态 404 - 未找到)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

华为数通HCIA-ARP(地址解析协议)详细解析

地址解析协议 (ARP) ARP (Address Resolution Protocol)地址解析协议: 根据已知的IP地址解析获得其对应的MAC地址。 ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个…

Pytorch深度学习-----神经网络之卷积层用法详解

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…

【Github】自动监测 SSL 证书过期的轻量级监控方案 - Domain Admin

在现代的企业网络中,网站安全和可靠性是至关重要的。一个不注意的SSL证书过期可能导致网站出现问题,给公司业务带来严重的影响。针对这个问题,手动检测每个域名和机器的证书状态需要花费大量的时间和精力。为了解决这个问题,我想向…

ava版知识付费平台免费搭建 Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台

提供私有化部署,免费售后,专业技术指导,支持PC、APP、H5、小程序多终端同步,支持二次开发定制,源码交付。 Java版知识付费-轻松拥有知识付费平台 多种直播形式,全面满足直播场景需求 公开课、小班课、独…

运行vue项目显示找不到vue-cli

直接下载ruoyi源码到本地,启动ruoyi-ui的时候报错: 原来是电脑没配置nodejs。 所以先去官网下载nodejs,然后安装完之后,在命令行窗口输入: 显示安装成功。 但还没有结束,还要配置npm的全局模块的存放路径…

Debian/Ubuntu 安装 Chrome 和 Chrome Driver 并使用 selenium 自动化测试

截至目前,Chrome 仍是最好用的浏览器,没有之一。Chrome 不仅是日常使用的利器,通过 Chrome Driver 驱动和 selenium 等工具包,在执行自动任务中也是一绝。相信大家对 selenium 在 Windows 的配置使用已经有所了解了,下…

哔哩哔哩缓存转码|FFmpeg将m4s文件转为mp4|PHP自动批量转码B站视频

window下载安装FFmpeg 打开ffMpeg官网选择window>Windows builds from gyan.dev 打开https://www.gyan.dev/ffmpeg/builds/ 这里是上面提取的下载链接如果过期不能用自己去官网下 配置FFmpeg环境变量 上面下载的FFmpeg是绿色软件,下载解压到你的常用软件安装目…

《水经注地图服务》发布的影像数据如何在OsgEarth中调用

OsgEarth 是一个用于OpenSceneGraph (OSG)的可扩展地形渲染工具包,它是一个开源、高性能、3D 图形工具包。 只需创建一个简单的 XML 文件,将其指向您的图像、高程和矢量数据,将其加载到您最喜欢的 OSG 应用程序中,然后开始&#…

有赞商城无需代码连接美团开店宝的方法

1 使用场景 大部分的商家都会美团开店宝来作为线上店铺运营的营销服务平台,当有用户下单时,商家都希望第一时间知晓用户信息,但经常缺少数据依据,无法构建精确的客户画像,导致很多线索白白流失,难以做出有效…

在windows下安装ruby使用gem

在windows下安装ruby使用gem 1.下载安装ruby环境2.使用gem3.gem换源 1.下载安装ruby环境 ruby下载地址 选择合适的版本进行下载和安装: 在安装的时候,请勾选Add Ruby executables to your PATH这个选项,添加环境变量: 安装Ruby成…

在windows上安装minio

1、下载windows版的minio: https://dl.min.io/server/minio/release/windows-amd64/minio.exe 2、在指定位置创建一个名为minio文件夹,然后再把下载好的文件丢进去: 3、右键打开命令行窗口,然后执行如下命令:(在minio.…

使用vs 2017 C#项目发布

C#项目发布 vs 2017 打包项目源代码 (发布)iis 配置添加ssl 配置 vs 2017 打包项目源代码 (发布) iis 配置 添加ssl 配置 https://help.aliyun.com/zh/ssl-certificate/user-guide/install-ssl-certificates-on-iis-servers

不同语言操作符的优先级

看到标题,可能会心生疑惑: 这么基础且重要的操作,不同语言不应该是一致的吗? 并不一定,比如对于右移运算和加法运算,Go就与其他多数语言表现得不一致: Go: package mainimport "fmt"func main() …

el-select 中加了filterable 点击箭头下拉框回收不去问题

解决方式①:参考连接:(亲测有用)【element-select】添加过滤属性以及change后下拉框异常_element select过滤时,不收起下拉框_Y.哈哈的博客-CSDN博客 1、添加过滤属性后点击下箭头不收起下拉框 2、change通过dialog触发事件后&…

超详细 | 模拟退火算法及其MATLAB实现

模拟退火算法(simulated annealing,SA)是20世纪80年代初期发展起来的一种求解大规模组合优化问题的随机性方法。它以优化问题的求解与物理系统退火过程的相似性为基础,利用Metropolis算法并适当地控制温度的下降过程实现模拟退火,从而达到求解…

【Liux下6818开发板(ARM)】触摸屏

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

系统保留分区被误删怎么办?

当您在全新的磁盘上安装Windows时,将在磁盘的开头创建一个名系统保留的分区,大小约为100MB,然后是系统驱动器,然后是其他的驱动器。通常,系统保留分区在Windows 8中为350MB,在Windows 10中为500MB。系统保留…

解决git仓库无效问题

解决fatal: … not valid: is this a git repository?问题 凭证编辑修改成自己的账号密码即可解决

批量复制并重命名文件夹:实现指定目录下文件夹的自动覆盖更新

你是否曾经有过这样的经历,需要对某个文件夹进行更新,却发现它的名字和其他文件夹重复,导致更新后文件混乱?有了批量复制并重命名文件夹的功能,这一切都将成为过去。今天,我们将向您介绍如何使用这项功能&a…