LoFTR: Detector-Free Local Feature Matching with Transformers

论文链接:LoFTR: Detector-Free Local Feature Matching with Transformers | IEEE Conference Publication | IEEE Xplore

代码:zju3dv/LoFTR: Code for "LoFTR: Detector-Free Local Feature Matching with Transformers", CVPR 2021, T-PAMI 2022 (github.com)

Abstract

We present a novel method for local image feature matching. Instead of performing image feature detection, description, and matching sequentially, we propose to first establish pixel-wise dense matches at a coarse level and later refine the good matches at a fine level. In contrast to dense methods that use a cost volume to search correspondences, we use self and cross attention layers in Transformer to obtain feature descriptors that are conditioned on both images. The global receptive field provided by Transformer enables our method to produce dense matches in low-texture areas, where feature detectors usually struggle to produce repeatable interest points. The experiments on indoor and outdoor datasets show that LoFTR outperforms state-of-the-art methods by a large margin. LoFTR also ranks first on two public benchmarks of visual localization among the published methods. Code is available at our project page: https://zju3dv.github.io/loftr/.”

1.Introduction

背景:图片间的局部特征匹配是许多3D任务的基石。例如结构恢复(SfM)、同时定位和地图构建(SLAM)、视觉定位等任务。

现有方法存在的问题:

1.在低纹理区域或重复纹理区域,特征检测可能无法提取出重复的兴趣点,导致无法获得正确对应关系;

2.某些现有基于CNN的方法中提取的密集特征具有有限的感受野,不能区分不明显区域中的特征。

研究方法:该研究方法是提出了一种新型的无需检测器的局部特征匹配方法,名为Local Feature TRansformer (LoFTR)。LoFTR使用注意力机制处理从卷积主干网络中提取的密集局部特征,首先在低特征分辨率下提取了两组特征之间的密集匹配,然后从这些稠密匹配中选择高置信度的匹配,并使用基于相关性的方法将其细化到亚像素级别。通过多次交错使用自注意力和交叉注意力层,LoFTR学习了ground-truth匹配中紧密排列的全局一致匹配先验。

实验结果:

1.LoFTR 大幅优于基于检测器和无检测器的特征匹配基线;

2.在视觉定位的两个公开基准测试中获得了最优的结果;

3.比起detector-based方法,LoFTR即使在低纹理、运动模糊或重复图案的不明显区域,LoFTR 也可以产生高质量的匹配。

2.Related Work

该文介绍了与本地特征匹配相关的多个方向的研究,以下是关于这些方向的总结:

1. 基于特征检测的本地特征匹配:传统方法使用手工制作的本地特征,如SIFT和ORB,并在大的视角和照明变化下表现出色。近年来的学习型方法(如LIFT和MagicPoint)也取得了很好的性能,但基于特征检测的本地特征匹配方法存在无法检测重复兴趣点的缺点。

此外,SuperGlue方法提出了基于学习的本地特征匹配方法,使用图神经网络(GNN)学习特征点之间的匹配关系,取得了令人印象深刻的性能,并成为本地特征匹配领域的新标杆。然而,SuperGlue作为一种依赖特征检测的方法,无法在模糊区域检测到可重复的兴趣点,并且其注意力范围也仅限于已检测到的兴趣点。LoFTR的设计灵感来源于SuperGlue,采用了GNN中的自注意力和交叉注意力传递消息的思想,但提出了无需特征检测的设计,以避免特征检测的局限性,并且使用了Transformer中的高效注意力机制来降低计算成本。

2. 无需特征检测的局部特征匹配:一些方法直接产生密集描述符或密集特征匹配,避免了特征检测阶段。这些方法包括SIFT Flow、NCNet和Sparse NCNet等。然而,这些方法仍面临一些挑战,如感受野的限制和效率问题。

3. Transformer在视觉任务中的应用:最近,Transformer在自然语言处理领域的成功引起了对图像领域的关注。一些工作已经将Transformer应用于计算机视觉任务,如图像分类、目标检测和语义分割。同时,已经提出了许多高效变种来解决Transformer的计算效率问题。

3.Methods

本文通过设计无需特征检测的方法来解决特征检测器的重复性。

3.1.Local Feature Extraction

首先用FPN(CNN)来提取coarse-level特征和fine-level特征。卷积神经网络(CNN)具有“平移等变性”和“局部性”的归纳偏置,非常适合提取图像的局部特征。CNN中的下采样操作还可以减少LoFTR模块的输入长度,这对于确保可控的计算成本非常重要。

补充:CNN中的归纳偏置

归纳偏置其实就是一种先验知识,一种提前做好的假设。

在CNN中的归纳偏置一般包括两类:①locality(局部性)和②translation equivariance(平移等变性)

① locality:假设相同的区域会有相同的特征,靠得越近的东西相关性能也就越强。局部性可以控制模型的复杂度。

②translation equivariance:由于卷积核是一样的所以不管图片中的物体移动到哪里,只要是同样的输入进来遇到同样的卷积核,那么输出就是一样的。利用平移等变形可以很好的提高模型的泛化能力。

3.2.Local Feature Transformer(LoFTR)Module

Preliminaries:Transformer

Linear Transformer

利用线性transformer减少计算资源的消耗

Positional Encoding

本文使用了Transformer中标准位置编码的二维扩展,这是在DETR[3]之后的一种方法。与DETR不同的是,本文只在主干网络的输出中添加一次位置编码。

Self-attention and Cross-attention Layers

3.3.Establishing Coarse-level Matches

1.特征之间计算得分矩阵:

2.softmax表示对得分矩阵S进行归一化,得分矩阵进行内积:

3.选择置信度高于阈值θc的匹配项,并进一步强制执行互相最近邻(mutual nearest neighbor, MNN)的条件,以过滤可能的异常匹配:

3.4.Coarse-to-fine module

1.对于每个粗匹配(i ̃, j ̃),首先在精细级别的特征图上定位其位置(i ˆ, j ˆ),然后裁剪大小为w×w的两组局部窗口。

2.接着,通过一个较小的LoFTR模块,对每个窗口内的特征进行Nf次变换,得到以i ˆ和j ˆ为中心的两个转换后的局部特征图。

3.然后,将ˆ FA tr (i ˆ)的中心向量与ˆ FB tr (j ˆ)中的所有向量进行相关性计算,从而产生表示每个与i ˆ的相邻像素与j ˆ的匹配概率的热图。

4.通过对概率分布进行期望计算,就可以在IB上以亚像素精度得到最终的位置j ˆ′。将所有的匹配{(i ˆ, j ˆ′)}收集起来,就得到了最终的精细级别匹配Mf。

3.5.Supervision

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐