24CVPR_XFeat: Accelerated Features for Lightweight Image Matching


论文信息

  • 论文题目:XFeat: Accelerated Features for Lightweight Image Matching
  • 论文地址:https://arxiv.org/pdf/2404.19174
  • 发表期刊:24CVPR
  • 开源代码:https://github.com/verlab/accelerated_features
  • 项目主页:https://www.verlab.dcc.ufmg.br/descriptors/xfeat_cvpr24/

Abstract

我们提出了一种轻量且精确的架构,用于资源高效的视觉匹配。我们的方法名为XFeat(Accelerated Features),它重新审视了卷积神经网络在检测、提取和匹配局部特征时的基本设计选择。我们的新模型满足了资源受限设备对快速且稳健算法的迫切需求。特别是,精确的图像匹配需要足够大的图像分辨率——因此,我们尽可能保持高分辨率,同时限制网络中的通道数量。此外,我们的模型旨在提供稀疏或半稠密匹配的选择,每种选择可能更适用于不同的下游应用,如视觉导航和增强现实。我们的模型是首个有效实现半稠密匹配的模型,利用了一种新颖的匹配细化模块,该模块依赖粗略的局部描述符。XFeat具有通用性和硬件独立性,在速度上超过了当前基于深度学习的局部特征(快达5倍),并且在精度上具有可比或更好的表现,这已在位姿估计和视觉定位中得到验证。我们展示了该模型在不具备硬件优化的廉价笔记本CPU上实时运行的效果。

1.Introduction

作为许多高级视觉任务中的关键步骤,局部图像特征提取仍然是一个备受关注的研究课题。尽管近年来取得了显著进展,但最新图像匹配方法 [5, 8, 40, 41] 所实现的大幅改进,通常伴随着高计算需求和更复杂的实现难度。由于图像特征提取对于众多任务 [1, 25, 27, 29, 35, 38, 44] 来说至关重要,尤其是在移动机器人、增强现实和便携设备等资源受限的平台上,计算资源往往被同时分配给多个任务,因此高效的解决方案尤为重要。尽管一些工作试图针对现有架构进行硬件层面的优化 [13],但这些方法通常硬件依赖性强,且在实际应用中非常繁琐,而专注于高效特征提取架构设计的工作却很少 [46]。

从图像匹配多个前沿领域的最新进展中汲取灵感,我们提出了XFeat:一种新型卷积神经网络(CNN)架构,通过精心设计的策略来执行关键点检测和局部特征提取,以尽可能减少计算负担,同时保持鲁棒性和准确性。XFeat 被设计为硬件无关,确保了在各个平台上的广泛适用性,但这并不排除在特定硬件配置上对 XFeat 进行优化的潜力。此外,XFeat 既适用于基于关键点的稀疏特征匹配,也适用于粗略特征图的密集匹配。这种多样性带来了两者的优点:基于关键点的方法更适合基于结构自运动(SfM)地图的高效视觉定位 [35],而密集特征匹配在纹理较差的场景中则更有效于相对相机位姿估计 [5, 40]。

在这里插入图片描述

Note:图1. 在 XFeat 中,精度与效率并存。XFeat 在 Megadepth-1500 数据集上实现了速度与相对位姿估计精度的优秀权衡,如橙色的帕累托前沿曲线所示。其轻量级架构使得在无 GPU 的环境和资源受限设备上实时特征提取成为可能,无需硬件特定优化。在低成本笔记本电脑(Intel® i5-1135G7 @ 2.40GHz CPU)上以 VGA 分辨率进行推理。∗ 表示半稠密特征提取。

在这里插入图片描述

Note:图2. 稀疏(上)与半稠密(下)匹配。XFeat 具备同时进行稀疏和半稠密匹配的双重能力,能够为广泛的应用提供快速特征。从基于稀疏匹配的视觉定位到位姿估计和3D重建,XFeat 都能提供支持,其中密集的对应关系为系统带来了额外的约束和更完整的表示。

与现有的图像匹配方法相比,我们的方法显著改善了匹配精度与计算效率之间的权衡比率(如图1所示),在速度上比所有轻量级深度学习局部特征替代方案快达5倍,同时在精度上与更大型的模型如 SuperPoint [7] 和 DISK [42] 相当。为在保持竞争性精度的同时降低计算成本,我们的工作主要带来了以下三个贡献:

  1. 一种新型轻量级卷积神经网络(CNN)架构,可部署在资源受限的平台以及需要高吞吐量或计算效率的下游任务中,无需耗时的硬件特定优化。我们的方法可以直接替代现有的轻量级手工设计解决方案 [34]、高成本的深度模型 [7, 42] 以及轻量级深度模型 [46],并应用于视觉定位和相机位姿估计等多个下游任务。
  2. 我们设计了一个简洁的、可学习的关键点检测分支,速度快且适合小型特征提取骨干网络,并在视觉定位、相机位姿估计以及单应性配准中展示了其有效性。
  3. 最后,我们提出了一种新颖的匹配细化模块,用于从粗略的半稠密匹配中获取像素级偏移。与现有技术 [5, 40] 相比,我们的新策略无需高分辨率特征,只需使用局部描述符,大大减少了计算量,并在图1和图2中分别展示了高精度和匹配密度的效果。

2.Related work

图像匹配。现代图像匹配技术涵盖了从经典的关键点检测 [10, 21] 结合基于深度学习的局部区域描述 [23, 24, 26, 30, 31],到在同一个 CNN 主干中进行联合关键点检测和描述 [7, 32, 33, 42]。最近,中端方法(称为学习匹配器)[14, 20, 36],以及端到端半稠密 [5, 40] 和稠密 [8, 41] 方法,在宽基线图像对的匹配中表现出显著的鲁棒性和精度提升,尤其是结合了 Transformer 架构 [43] 的最新进展。然而,最新的方法大多强调图像匹配的精度和鲁棒性,因此将计算需求推至不受欢迎的高水平,即使对于配备中等 GPU 资源的系统也是如此。这些方法需要显著的适配才能在视觉定位 [35]、同时定位与建图 [25]、结构自运动 [38] 等大规模下游任务中高效工作。相比之下,本文展示了在稀疏关键点提取和像素级半稠密匹配中,我们可以显著降低计算利用率,同时取得与计算代价更高的方法相当,甚至更优的表现。

高效描述与匹配。最近的工作强调了在描述和匹配方面对计算效率的日益关注。SuperPoint [7] 提出了一个自监督的 CNN,用于关键点检测和描述。然而,SuperPoint 的一个主要缺点是,当应用于图像匹配常见的图像尺寸时,仍可能产生显著的计算开销。SiLK [9] 重新评估了学习特征提取的元素,提出了一种有效而简单的关键点和描述符学习策略,达到了与现有方法相当的性能。SiLK 竞争力的关键在于其对原始图像尺寸进行描述符提取的依赖,但这也是其在计算成本上的主要缺点,因为它大大降低了推理速度。ALIKE [46] 引入了一个平衡鲁棒性与速度的轻量级网络,具有可微分的关键点检测和神经重投影损失。然而,其在最终特征图中依赖原始图像分辨率,显著增加了内存和计算负担。ZippyPoint [13] 在 CNN 中引入了量化和二值化,尽管取得了显著的速度提升,但需要自定义编译和特定的低级处理器算术操作,限制了其在多种硬件上的适用性。

考虑到极简 CNN 架构的工作可能在卷积块中使用固定的手工设计滤波器和学习滤波器 [4]。除了特征提取之外,最近在特征匹配方面的进展也强调了快速推理速度的必要性。LightGlue [20] 加快了可学习特征匹配的速度,并在精度上与 SuperGlue [36] 相比保持较高水平。然而,LightGlue 的基于 Transformer 的架构对于计算效率至关重要的任务来说仍然代价昂贵。与现有方法相比,我们专注于实现高度高效且稳健的图像匹配,旨在实现广泛部署:从资源受限的设备(如低成本开发板和嵌入式系统)到智能手机和云应用。

3.XFeat: Accelerated Features

局部特征提取的精度在很大程度上依赖于输入图像的分辨率。例如,在相机位姿、视觉定位和结构自运动(SfM)任务中,匹配关系需要足够精细,以实现像素级的匹配。然而,将高分辨率图像输入到网络主干中,即使是像 SuperPoint 这种类似 VGG 的小型网络主干 [7, 39],也会使计算需求达到不受欢迎的高水平。在本节中,我们将描述如何通过一些策略显著降低计算成本,以尽量减少计算预算,同时减少因使用较小 CNN 主干而导致的鲁棒性损失。

3.1. 轻量级网络主干 (Featherweight Network Backbone)

I ∈ R H × W × C \mathbf{I} \in \mathbb{R}^{H \times W \times C} IRH×W×C 为灰度图像,其中 H H H 为高度, W W W 为像素宽度, C = 1 C = 1 C=1 表示通道数。为了减少 CNN 的处理成本,一种常见的方法是从浅层卷积开始,然后逐步将空间尺寸 ( H i , W i ) (H_i, W_i) (Hi,Wi) 减半,同时在第 i i i 个卷积块中将通道数 C i C_i Ci 加倍 [39]。假设卷积层的步长为单位长度,使用填充,不包含偏置项,且卷积核大小为 k × k k \times k k×k,那么第 i i i 层的卷积计算成本(以浮点运算次数 F o p s F_{{ops}} Fops 表示)可以表示为:

F o p s = H i ⋅ W i ⋅ C i ⋅ C i + 1 ⋅ k 2 . F_{{ops}} = H_i \cdot W_i \cdot C_i \cdot C_{i+1} \cdot k^2. Fops=HiWiCiCi+1k2.

简单地在整个网络中对通道数 C C C 进行剪枝,会削弱网络应对诸如变化光照和视角等挑战的能力,正如消融实验(第4.4节)所示。

高效网络 [12, 45] 使用深度可分离卷积,将浮点运算次数( F o p s F_{{ops}} Fops)减少至标准卷积的9倍以下(以 3 × 3 3 \times 3 3×3 卷积核为例),同时参数量更少。然而,在局部特征提取中,当浅层网络需要处理更高分辨率的图像时 [7, 9, 22, 33, 46],这种方法相比其在低分辨率输入场景(如分类和目标检测 [11, 12, 39])中的原始应用效果要差。这导致浅层网络在局部特征提取中的表示能力受限,同时速度提升有限。

在方程 (1) 中, H i × W i H_i \times W_i Hi×Wi 项成为影响卷积神经网络浮点运算次数( F o p s F_{{ops}} Fops)的主要计算瓶颈。SuperPoint [7] 和 ALIKE [46] 通过均匀减少通道深度和层数来缓解这一问题。我们深入研究了问题的核心,制定了一种策略来最小化早期层的深度并重新配置通道分布,从而显著改善计算与精度之间的权衡。我们提出的策略是尽可能减少初始卷积层的通道数,因为这些层具有较高的空间分辨率。为了平衡参数减少的问题,我们并没有遵循传统 VGG 样式 [39] 的通道加倍策略,而是提出在空间分辨率降低时,将通道数量增加至三倍,直到达到足够的通道数量(通常局部特征骨干网络为 128 通道 [22, 33, 42])。这种策略以在空间分辨率减半时卷积深度三倍增加为标志,有效地重新分配了网络的卷积深度,确保早期层深度最小化的同时补偿整个骨干网络中参数的减少。这种方法不仅显著降低了在早期阶段,尤其是处理高分辨率图像时的计算负担,还通过更有效地管理卷积深度优化了网络的整体能力。我们发现,通过从 C = 4 C = 4 C=4 通道开始,到最终编码器块达到 C = 128 C = 128 C=128,并实现空间分辨率为 H 32 × W 32 \frac{H}{32} \times \frac{W}{32} 32H×32W,在空间精度和加速收益之间达到了良好的权衡。

我们的网络简单性体现在称为基本层的模块中,这些模块由 2D 卷积(卷积核大小为 1 到 3)、ReLU + BatchNorm 组成,并通过步长为 2 来减少分辨率,形成卷积块,每个卷积块由基本层组成。主干网络包含六个块,依次减半分辨率并增加深度:{4, 8, 24, 64, 64, 128},此外还有一个融合块用于多分辨率特征。有关架构的更多详细信息,请参见补充材料。

3.2. Local Feature Extraction

在本节中,我们将介绍如何使用我们的主干网络提取局部特征并执行密集匹配。

描述符头。描述符头提取了一个密集特征图 F ∈ R H / 8 × W / 8 × 64 \mathbf{F} \in \mathbb{R}^{H/8 \times W/8 \times 64} FRH/8×W/8×64,该特征图通过融合编码器的多尺度特征获得。通过使用特征金字塔策略 [19],我们通过连续应用卷积块,以较低成本增加网络的感受野,直到达到原始分辨率的 1 / 32 1/32 1/32,这种策略

描述符头。描述符头提取了一个密集特征图 F ∈ R H / 8 × W / 8 × 64 \mathbf{F} \in \mathbb{R}^{H/8 \times W/8 \times 64} FRH/8×W/8×64,该特征图通过融合编码器的多尺度特征获得。通过使用特征金字塔策略 [19],我们以较低成本增加了网络的感受野,通过连续应用卷积块直到达到原始分辨率的 1 / 32 1/32 1/32,这种策略已在局部特征提取中证明了其成功性,能够增强对视角变化的鲁棒性 [22, 42, 46],并且是使小型网络主干有效工作的关键因素。我们将三种不同尺度层次的中间表示( { 1 / 8 , 1 / 16 , 1 / 32 } \{1/8, 1/16, 1/32\} {1/8,1/16,1/32})通过双线性上采样合并,并将所有中间表示投影到 H 8 × W 8 × 64 \frac{H}{8} \times \frac{W}{8} \times 64 8H×8W×64,然后进行逐元素求和。最后,使用由三个基本层组成的卷积融合块将这些表示结合为最终的特征表示 F \mathbf{F} F。一个额外的卷积块用于回归可靠性图 R ∈ R H / 8 × W / 8 \mathbf{R} \in \mathbb{R}^{H/8 \times W/8} RRH/8×W/8,它建模了给定局部特征 F i , j \mathbf{F}_{i,j} Fi,j 可以被自信匹配的无条件概率 R i , j R_{i,j} Ri,j。我们的方法概述如图3所示。

在这里插入图片描述

Note : 图3. 加速特征提取网络架构。XFeat 提取了关键点热图 K K K、紧凑的 64 维密集描述符图 F F F 和可靠性热图 R R R。通过早期降采样和浅层卷积,并在后期编码器中使用更深的卷积来增强鲁棒性,XFeat 实现了无与伦比的速度。与传统方法不同,它将关键点检测分离到一个独立的分支中,使用 1 × 1 1 \times 1 1×1 卷积在 8 × 8 8 \times 8 8×8 张量块变换后的图像上进行快速处理。

关键点头。通常用于局部特征提取的主干网络依赖于 UNet [42]、VGG [7] 和 ResNet [22]。SuperPoint [7] 使用的策略是提取像素级关键点的最快方法。它利用最终编码器中具有原始图像分辨率 1/8 的特征,通过对特征嵌入中扁平化的 8 × 8 8 \times 8 8×8 网格中的关键点坐标进行分类,提取像素级关键点。我们采用了类似于 SuperPoint 的策略,但存在一个主要区别。我们引入了一种新方法,使用专门的并行分支进行关键点检测,重点关注低级图像结构。如消融实验(第4.4节)所示,在单一神经网络主干中联合训练描述符和关键点回归器会显著降低紧凑型 CNN 架构的半稠密匹配性能。

我们的关键见解在于通过极简卷积分支高效利用低级特征。为了保持空间分辨率而不牺牲速度,我们将输入图像表示为由 8 × 8 8 \times 8 8×8 像素组成的二维网格,每个网格单元被重塑为 64 维特征。这种表示在每个单元内保留了空间细节,同时利用快速的 1 × 1 1 \times 1 1×1 卷积来回归关键点坐标。经过四层卷积后,我们得到一个关键点嵌入 K ∈ R H / 8 × W / 8 × ( 64 + 1 ) \mathbf{K} \in \mathbb{R}^{H/8 \times W/8 \times (64+1)} KRH/8×W/8×(64+1),其编码了单元 k i , j ∈ K \mathbf{k}_{i,j} \in \mathbf{K} ki,jK 中关键点分布的对数值,并将关键点分类为 k i , j ∈ R 65 \mathbf{k}_{i,j} \in \mathbb{R}^{65} ki,jR65 中 64 个可能位置之一,外加一个 dustbin 以处理未检测到关键点的情况 [7]。在推理过程中,dustbin 被舍弃,热图被重新解释为 8 × 8 8 \times 8 8×8 的单元。图3展示了整个关键点头的过程。

稠密匹配。最近的研究 [5, 40] 展示了稠密图像区域匹配的优势,提升了覆盖率和鲁棒性。我们的工作提出了一个轻量级的稠密特征匹配模块,与其他无检测器的方法有两点不同。首先,我们可以通过根据可靠性得分 R i , j R_{i,j} Ri,j 选择前 K K K 个图像区域并将其缓存以供后续匹配,从而控制内存和计算负担。其次,我们提出了一种简单且轻量级的多层感知机(MLP),用于在没有高分辨率特征图的情况下进行粗到细的匹配 [9, 40],使我们能够在资源受限的环境中进行半稠密匹配。

给定稠密局部特征图 F \mathbf{F} F(其空间分辨率为输入的 1 / 8 1/8 1/8)或其子集 F s ⊆ F \mathbf{F}_s \subseteq \mathbf{F} FsF,我们提出了一种简单的细化策略来恢复像素级偏移。设 f a ∈ F 1 \mathbf{f}_a \in \mathbf{F}_1 faF1 f b ∈ F 2 \mathbf{f}_b \in \mathbf{F}_2 fbF2 为通过传统最近邻匹配从图像对 ( I 1 , I 2 ) (\mathbf{I}_1, \mathbf{I}_2) (I1,I2) 中获得的两个匹配特征。我们通过多层感知机(MLP)预测偏移 o = MLP ( concat ( f a , f b ) ) \mathbf{o} = \text{MLP}(\text{concat}(\mathbf{f}_a, \mathbf{f}_b)) o=MLP(concat(fa,fb)),对偏移 ( x , y ) (x, y) (x,y) 进行分类,从而得到原始图像分辨率下的正确像素级匹配:

( x , y ) = arg ⁡ max ⁡ o ( i , j ) , i ∈ { 1 , … , 8 } ,   j ∈ { 1 , … , 8 } (2) (x, y) = \arg \max \boldsymbol{o}(i, j), \quad i \in \{1, \dots, 8\}, \, j \in \{1, \dots, 8\} \tag{2} (x,y)=argmaxo(i,j),i{1,,8},j{1,,8}(2)

其中 o ∈ R 8 × 8 \boldsymbol{o} \in \mathbb{R}^{8 \times 8} oR8×8,表示可能偏移的概率分布的对数值。

在这里插入图片描述

Note:图4. 稠密匹配设置下的匹配细化模块。该模块通过仅考虑来自原始粗略级特征(分辨率为原始的 1 / 8 1/8 1/8)的最近邻对作为输入,学习预测像素级偏移,从而显著节省内存和计算量。

匹配细化模块与主干网络一起以端到端的方式进行训练,确保中间特征表示在紧凑的嵌入空间中保留细粒度的空间细节。偏移预测是基于粗匹配的特征对 ( f a , f b ) (\mathbf{f}_a, \mathbf{f}_b) (fa,fb),从而减少了搜索空间。图4展示了轻量级的匹配细化模块。

3.3. 网络训练 (Network Training)

我们以监督的方式对 XFeat 进行训练,使用像素级的真实匹配作为监督信号。假设图像对 ( I 1 , I 2 ) (\mathbf{I}_1, \mathbf{I}_2) (I1,I2) 具有 N N N 个匹配像素,匹配集合为 M I 1 ↔ I 2 ∈ R N × 4 \mathbf{M}_{\mathbf{I}_1 \leftrightarrow \mathbf{I}_2} \in \mathbb{R}^{N \times 4} MI1I2RN×4,其中 M I 1 ↔ I 2 \mathbf{M}_{\mathbf{I}_1 \leftrightarrow \mathbf{I}_2} MI1I2 的前两列编码了 I 1 \mathbf{I}_1 I1 中点的 ( x , y ) (x, y) (x,y) 坐标,最后两列为 I 2 \mathbf{I}_2 I2 中的点坐标。

学习局部描述符。为了对局部特征嵌入 F \mathbf{F} F 进行监督,我们使用负对数似然(NLL)损失。描述符集合 F 1 \mathbf{F}_1 F1 F 2 \mathbf{F}_2 F2 是从稠密特征图 F ( ⋅ , ⋅ ) \mathbf{F}(\cdot, \cdot) F(,) 中采样的,每个描述符在 R N × 64 \mathbb{R}^{N \times 64} RN×64 中表示,由 N N N 个 64 维描述符组成。第 i i i F 1 ( i , ⋅ ) \mathbf{F}_1(i, \cdot) F1(i,) F 2 ( i , ⋅ ) \mathbf{F}_2(i, \cdot) F2(i,) 分别对应于来自 I 1 \mathbf{I}_1 I1 I 2 \mathbf{I}_2 I2 中相同点的两个描述符。然后,通过 S = F 1 F 2 ⊤ \mathbf{S} = \mathbf{F}_1 \mathbf{F}_2^\top S=F1F2 得到相似度矩阵 S ∈ R N × N \mathbf{S} \in \mathbb{R}^{N \times N} SRN×N。考虑到匹配的对称性,我们采用两个匹配方向 [40],得到双重 softmax 损失 L ds \mathcal{L}_{\text{ds}} Lds,其中对应特征的相似度度量位于矩阵 S \mathbf{S} S 的主对角线 S i i \mathbf{S}_{ii} Sii 中,softmax r _r r 在行方向上执行:

L ds = − ∑ i log ⁡ ( softmax r ( S ) i i ) − ∑ i log ⁡ ( softmax r ( S ⊤ ) i i ) . (3) \mathcal{L}_{\text{ds}} = - \sum_i \log(\text{softmax}_r(\mathbf{S})_{ii}) - \sum_i \log(\text{softmax}_r(\mathbf{S}^\top)_{ii}). \tag{3} Lds=ilog(softmaxr(S)ii)ilog(softmaxr(S)ii).(3)

学习可靠性。我们通过将双重 softmax 概率解释为置信度度量来监督训练过程中的可靠性图,记作 R ‾ ∈ R N \overline{\mathbf{R}} \in \mathbb{R}^N RRN。通过使用双重 softmax 策略,匹配 F 1 \mathbf{F}_1 F1 F 2 \mathbf{F}_2 F2 得到 R ‾ 1 = max ⁡ r ( softmax r ( S ) ) \overline{\mathbf{R}}_1 = \max_r(\text{softmax}_r(\mathbf{S})) R1=maxr(softmaxr(S)) R ‾ 2 = max ⁡ r ( softmax r ( S ⊤ ) ) \overline{\mathbf{R}}_2 = \max_r(\text{softmax}_r(\mathbf{S}^\top)) R2=maxr(softmaxr(S)),类似于方程 (3)。随着训练的进行,直观上,不同的特征应具有高置信度的匹配概率。因此,给定双重 softmax 分数 R ‾ 1 \overline{\mathbf{R}}_1 R1 R ‾ 2 \overline{\mathbf{R}}_2 R2,我们使用 L1 损失直接监督可靠性图:

L rel = ∣ σ ( R ‾ 1 ) − R ‾ 1 ∘ R ‾ 2 ∣ + ∣ σ ( R ‾ 2 ) − R ‾ 1 ∘ R ‾ 2 ∣ , (4) \mathcal{L}_{\text{rel}} = \left| \sigma(\overline{\mathbf{R}}_1) - \overline{\mathbf{R}}_1 \circ \overline{\mathbf{R}}_2 \right| + \left| \sigma(\overline{\mathbf{R}}_2) - \overline{\mathbf{R}}_1 \circ \overline{\mathbf{R}}_2 \right|, \tag{4} Lrel= σ(R1)R1R2 + σ(R2)R1R2 ,(4)

其中 σ \sigma σ 为 sigmoid 激活函数, ∘ \circ 表示 Hadamard 乘积。请注意,对于可靠性损失 L rel \mathcal{L}_{\text{rel}} Lrel,我们只通过 R \mathbf{R} R 反向传播梯度。

学习可靠性。我们通过将双重 softmax 概率解释为置信度度量来监督训练过程中的可靠性图,记作 R ‾ ∈ R N \overline{\mathbf{R}} \in \mathbb{R}^N RRN。通过使用双重 softmax 策略,匹配 F 1 \mathbf{F}_1 F1 F 2 \mathbf{F}_2 F2 得到 R ‾ 1 = max ⁡ r ( softmax r ( S ) ) \overline{\mathbf{R}}_1 = \max_r(\text{softmax}_r(\mathbf{S})) R1=maxr(softmaxr(S)) R ‾ 2 = max ⁡ r ( softmax r ( S ⊤ ) ) \overline{\mathbf{R}}_2 = \max_r(\text{softmax}_r(\mathbf{S}^\top)) R2=maxr(softmaxr(S)),类似于方程 (3)。随着训练的进行,直观上,不同的特征应具有高置信度的匹配概率。因此,给定双重 softmax 分数 R ‾ 1 \overline{\mathbf{R}}_1 R1 R ‾ 2 \overline{\mathbf{R}}_2 R2,我们使用 L1 损失直接监督可靠性图:

L rel = ∣ σ ( R 1 ) − R ‾ 1 ⊙ R ‾ 2 ∣ + ∣ σ ( R 2 ) − R ‾ 1 ⊙ R ‾ 2 ∣ , (4) \mathcal{L}_{\text{rel}} = \left| \sigma(\mathbf{R}_1) - \overline{\mathbf{R}}_1 \odot \overline{\mathbf{R}}_2 \right| + \left| \sigma(\mathbf{R}_2) - \overline{\mathbf{R}}_1 \odot \overline{\mathbf{R}}_2 \right|, \tag{4} Lrel= σ(R1)R1R2 + σ(R2)R1R2 ,(4)

其中 σ \sigma σ 为 sigmoid 激活函数, ⊙ \odot 表示 Hadamard 乘积。请注意,对于可靠性损失 L rel \mathcal{L}_{\text{rel}} Lrel,我们只通过 R \mathbf{R} R 反向传播梯度。

学习像素偏移。匹配细化模块通过来自原始输入图像分辨率下真实匹配关系 M I 1 ↔ I 2 \mathbf{M}_{I_1 \leftrightarrow I_2} MI1I2的像素级偏移进行监督。我们还在第 3.2 节中描述的对数 o \boldsymbol{o} o 上使用了负对数似然(NLL)损失。在训练过程中,利用 M I 1 ↔ I 2 ( i , ⋅ ) \mathbf{M}_{I_1 \leftrightarrow I_2}(i, \cdot) MI1I2(i,) 获取对应的描述符 F 1 ( i , ⋅ ) \mathbf{F}_1(i, \cdot) F1(i,) F 2 ( i , ⋅ ) \mathbf{F}_2(i, \cdot) F2(i,) 及其真实偏移 ( x ‾ , y ‾ ) (\overline{x}, \overline{y}) (x,y),然后精细匹配损失 L fine \mathcal{L}_{\text{fine}} Lfine 表示为:

L fine = − ∑ i log ⁡ ( softmax ( o i ) ) y ‾ i , x ‾ i . (5) \mathcal{L}_{\text{fine}} = - \sum_i \log(\text{softmax}(\mathbf{o}_i))_{\overline{y}_i, \overline{x}_i}. \tag{5} Lfine=ilog(softmax(oi))yi,xi.(5)

学习关键点。我们的关键点检测分支在设计上是极简的。虽然可以通过现有的关键点损失 [33, 42, 46] 来监督关键点头,但我们选择通过更大的教师网络的知识蒸馏来促进学习。我们选择了 ALIKE [46] 的关键点,其来自于其小型主干网络,以监督我们的模型。这一选择具有战略性,因为较小的主干网络往往更集中于低级图像特征,如角点、线条和斑块,这与我们设计的检测器分支非常契合,考虑到其有限的感受野大小为 8 × 8 8 \times 8 8×8 像素。

给定关键点的原始对数值图 K ∈ R H / 8 × W / 8 × ( 64 + 1 ) \mathbf{K} \in \mathbb{R}^{H/8 \times W/8 \times (64+1)} KRH/8×W/8×(64+1),我们将教师网络中每个关键点坐标 ( t x , t y ) (t_x, t_y) (tx,ty) 映射到每个单元 k i , j ∈ R 65 \mathbf{k}_{i,j} \in \mathbb{R}^{65} ki,jR65 的线性索引 t idx = ( t x + t y ∗ 8 ) t_{\text{idx}} = (t_x + t_y \ast 8) tidx=(tx+ty8),其中 t idx ∈ { 0 , 1 , … , 63 } t_{\text{idx}} \in \{0, 1, \dots, 63\} tidx{0,1,,63}。为了监督 dustbin,当未检测到关键点时,我们将 t idx t_{\text{idx}} tidx 设置为 64。在训练过程中,我们对未检测到关键点的情况设置了样本数量的上限,以避免类别不平衡。最终,使用 NLL 损失来计算关键点损失 L kp \mathcal{L}_{\text{kp}} Lkp

关键点损失 L kp \mathcal{L}_{\text{kp}} Lkp 表示为:

L kp = − ∑ k log ⁡ ( softmax ( k i , j ) ) t idx . (6) \mathcal{L}_{\text{kp}} = - \sum_k \log(\text{softmax}(\mathbf{k}_{i,j}))_{t_{\text{idx}}}. \tag{6} Lkp=klog(softmax(ki,j))tidx.(6)

最终的损失函数 L \mathcal{L} L 是所有损失的线性组合:

L = α L d s + β L r e l + γ L f i n e + δ L k p , (7) \mathcal{L} = \alpha \mathcal{L}_{{ds}} + \beta \mathcal{L}_{{rel}} + \gamma \mathcal{L}_{{fine}} + \delta \mathcal{L}_{{kp}}, \tag{7} L=αLds+βLrel+γLfine+δLkp,(7)

其中 { α , β , γ , δ } \{\alpha, \beta, \gamma, \delta\} {α,β,γ,δ} 是调整不同损失量级的超参数。

4.Experiments

我们在相对相机位姿估计、视觉定位和单应性估计上评估了 XFeat 的性能。同时,我们还通过消融实验来验证设计决策的合理性,并在无 GPU 环境中进行了全面的运行时分析。

训练。XFeat 使用 PyTorch [28] 实现,并在 Megadepth [17] 和合成变形的 COCO [18] 图像的混合数据集上进行训练,比例为 6:4,图像大小调整为 ( W W W = 800, H H H = 600)。实验中发现,混合训练有助于提升模型的泛化能力(第 4.4 节),这与最近的研究结果一致 [20]。训练过程使用 Adam 优化器 [15],批量大小为 10 对图像,在 NVIDIA RTX 4090 GPU 上约 36 小时内收敛。有关计算资源使用和超参数的具体信息,请参见补充材料。

XFeat 推理。我们考虑了两种设置:稀疏匹配(XFeat)和半稠密匹配(XFeat∗),两者都使用相同的预训练主干网络。在 XFeat 中,我们从关键点热图 K \mathbf{K} K 中提取最多 4,096 个关键点,并根据关键点和可靠性置信度计算它们的得分: s c o r e = K i , j ⋅ R i , j {score} = K_{i,j} \cdot R_{i,j} score=Ki,jRi,j。然后,从特征图 F \mathbf{F} F 中对这些关键点位置使用双三次插值提取局部特征,并通过互为最近邻(MNN)搜索进行匹配。

对于 XFeat∗,我们通过对图像进行两个不同尺度(0.65 和 1.3)的处理来增强特征(在接收到输入后内部调整图像大小),根据可靠性保留前 10,000 个特征。我们使用 MNN 搜索和偏移细化来匹配特征,仅保留偏移预测置信度超过 0.2 的特征。

基准方法。在所选的基准方法中,DISK [42] 以较高的计算需求为代价,设定了精度的高标杆。其次是 SiLK [9]、SuperPoint [7]、ZippyPoint [7] 和 ALIKE [46]。对于 SiLK 和 ALIKE,我们选择了它们的最小可用主干网络——ALIKE-TinyVGGnp-μ,这符合我们对计算效率的关注。最后,ORB [46] 代表了速度的上限。因此,我们通过一组覆盖计算成本和精度范围的多样化基准,对 XFeat 进行了评估,以比较其与当前最先进技术的表现。对于所有基准方法,我们使用检测到的前 4,096 个关键点进行匹配,标有 ∗ 的则使用前 10,000 个关键点。匹配时使用互为最近邻(MNN)搜索。由于缺乏明确的指令,ZippyPoint 模型按作者提供的形式使用,未进行硬件特定的编译。

4.1. 相对位姿估计 (Relative pose estimation)

设置。我们使用 Megadepth [17] 和 ScanNet [6] 测试集,参考了之前的工作 [20, 40],这些测试集提供了与我们的训练集不重叠的场景中的相机位姿。这些场景同时包含显著的视角和光照变化,并且具有重复的结构,带来了显著的挑战。我们使用 LO-RANSAC [16] 来估计基本矩阵。我们为每种方法寻找最优的阈值,将 Megadepth 的图像调整为最大尺寸为 1,200 像素,并对 ScanNet 使用默认的 VGA 分辨率。

评价指标。我们使用阈值为 { 5 ∘ , 1 0 ∘ , 2 0 ∘ } \{5^\circ, 10^\circ, 20^\circ\} {5,10,20} 下的曲线下面积(AUC)作为评价指标 [20, 40]。此外,我们还报告 Acc@10°,即最大角度误差低于 10 度的位姿比例;均值内点比(MIR),即经过 RANSAC 估计后符合模型的匹配点比例;以及内点数量(#inliers)。最后,我们在一台无 GPU、配备 Intel® i5-1135G7 @ 2.40GHz CPU 的经济型笔记本电脑上测量每种方法的每秒帧数(FPS)。我们还指明描述符是浮点型(用 f \mathbf{f} f 表示)还是基于二进制的(用 b \mathbf{b} b 表示),并报告描述符的维数(dim)。

在这里插入图片描述

Note:表 1. Megadepth-1500 相对相机位姿估计。我们的方法在与其他轻量级方法的比较中表现出色,同时以 9 倍的加速超越了 SuperPoint,并在 16 倍加速的情况下取得了与 DISK 可比的结果。符号 ∗ 表示使用 10,000 个关键点。FPS 表示在 VGA 分辨率下 30 帧的平均值 ± 标准差。最佳结果用粗体表示,次优结果用下划线表示,按方法类别(标准/快速)分开。符号 + 表示代码按作者提供的形式使用,未进行硬件优化。

在这里插入图片描述

Note:表 2. ScanNet-1500 相对位姿估计。XFeat 和 XFeat∗ 在室内场景中表现出更好的泛化能力。

结果。表 1 显示了 Megadepth-1500 上相对相机位姿估计任务的指标。我们的方法比最快的基于学习的解决方案(ALIKE)快 5 倍,并且在稀疏设置下在多个指标上取得了有竞争力的结果。此外,在稠密匹配配置中,使用 10,000 个描述符的情况下,与更重的模型 DISK∗ 进行公平比较时,我们的方法在 AUC@20°、Acc@10° 和 MIR 上可以提供最先进的结果。图 5 展示了一些 XFeat 在现有解决方案中表现突出的示例。与 DISK 和 SuperPoint 相比,我们的方法还允许使用低维描述符(64-f)进行更高效的匹配。详细的时间分析以及与最近流行的学习匹配器 [20, 40, 47] 的额外定量比较在补充材料中提供。值得一提的是,由于要求对描述符进行插值并在较粗的分辨率下预测偏移,我们在更宽松的阈值下取得了最先进的结果。表 2 显示了 ScanNet-1500 室内图像中最具竞争力方法的 AUC 值。请注意,所有方法都未进行重新训练。DISK 和 ALIKE 对地标数据集表现出一定的偏向性,而我们的方法展示了更强的泛化能力。有关 ScanNet 和 Megadepth 的更详细讨论以及定性结果,请参见补充材料。

4.2. 单应估计 (Homography estimation)

设置。我们使用了广泛采用的 HPatches [2] 数据集,该数据集包含来自平面场景的图像序列,具有中等到强烈的视角和光照变化。与相对位姿估计类似,我们使用 MAGSAC++ [3] 通过每种方法的匹配点来稳健地估计单应性变换。

评价指标。我们遵循 ALIKE [46] 的协议,估计了平均单应性精度(MHA)。使用了预设的 { 3 , 5 , 7 } \{3, 5, 7\} {3,5,7} 像素阈值。通过使用真实单应性和估计的单应性,将参考图像的四个角点映射到目标图像中,计算角点误差的平均值(以像素为单位)来评估精度。

在这里插入图片描述

Note: 表 3. HPatches 上的单应性估计 由于使用了 RANSAC,所有方法在单应性估计上表现良好,除了 ORB 和 SiLK 在若干光照变化序列中失效。XFeat 以较低的计算成本提供了高质量的单应性估计。最佳结果用粗体表示,次优结果用下划线表示,按标准和快速方法分类展示。

结果。表 3 显示,我们的方法与最精确的描述符相当,进一步证明了我们提出的关键点和描述符头的鲁棒性。相比之下,其他轻量级解决方案(如 ORB 和 SiLK)在光照和视角变化的场景中表现大幅下降,这是由于它们在处理这些最具挑战性的图像对中存在的剧烈视角和光照变化方面能力有限。此外,正如第 4.1 节 - 结果中所讨论的,我们的方法在更宽松的阈值下也表现突出。

4.3. 视觉定位 (Visual localization)

设置。我们使用分层定位流水线 HLoc [35] 对 Aachen 数据集 [37] 中白天和夜晚场景的图像进行定位。给定提供的关键点匹配关系,HLoc 使用可用的真实相机位姿三角化生成一个 SfM 地图。然后,使用关键点匹配将一组独立的查询图像定位在该 3D 地图中。为了公平比较,我们将图像大小调整为最大尺寸为 1,024 像素,并为所有方法提取前 4,096 个关键点。

评价指标。我们使用 HLoc 提供的标准指标,即在位置误差阈值 { 0.25 m , 0.5 m , 5 m } \{0.25m, 0.5m, 5m\} {0.25m,0.5m,5m} 和旋转误差阈值 { 2 ∘ , 5 ∘ , 1 0 ∘ } \{2^\circ, 5^\circ, 10^\circ\} {2,5,10} 内正确估计的相机位姿的精度。

在这里插入图片描述

Note:表 4. Aachen 日夜场景的视觉定位。XFeat 实现了快速且准确的定位,尤其是在更具挑战性的日夜图像匹配场景中,在位置误差大于 0.5m 和旋转误差超过 5 ∘ 5^\circ 5 的阈值下表现与当前最先进方法相当。最佳结果用粗体表示,次优结果用下划线表示,按标准和快速方法分类展示。

结果。表 4 展示了视觉定位实验的结果。我们的方法表现与 SuperPoint 和 DISK 等领先方法相当,同时在速度上具有显著优势,至少快 9 倍,并且使用了更紧凑的描述符。这些结果挑战了当前文献中使用大型且复杂模型进行下游任务的趋势。相反,它们突显了简单模型的有效性,这些模型不仅在精度上可以媲美其他方法,还能在资源受限的系统上高效运行。

4.4. 消融 (Ablation)

在这里插入图片描述

Note:表 5. Megadepth-1500 上的消融实验。我们对架构和训练策略进行了消融实验,用于相对相机位姿估计。

我们对架构进行了多种配置的消融实验,结果列在表5中。我们评估了通过额外的合成变形训练(i)是否能够帮助模型在面对具有挑战性的图像对时变得更加鲁棒。事实证明,使用真实和合成变形进行训练是有益的,尤其是在稠密匹配设置下。其次,我们评估了是否可以进一步减少网络中的通道数(ii)。我们将后三个卷积块的通道数减半至32(而非64),但无论在稀疏还是稠密设置下,性能均显著下降。我们还展示了设计并行分支用于关键点检测的原因。如果没有所提出的关键点头(iii),则会在输出描述符嵌入上方额外使用一个卷积块,类似于 SuperPoint 的做法。如表5所示,XFeat∗ 在此特定设置下训练时性能出现了下降,因为有限的网络规模限制了中间嵌入的能力,使其在非可重复区域中对于半稠密匹配的效果降低,从而对匹配细化任务产生不利影响。因此,我们选择设计一个并行分支,在稀疏和稠密匹配之间提供了良好的权衡,如表5中的默认配置和(iii)所示。最后,我们评估了所提出的匹配细化模块的好处。对于 XFeat∗ ,匹配细化步骤对于提升精度至关重要。在我们的基准测试中,与 MNN 匹配相比,这个模块对平均10,000个描述符的推理成本仅增加了11%。有关详细的时间分析,请参见补充材料。

5. Conclusion

这项工作介绍了 XFeat,一种用于加速特征提取的轻量级卷积神经网络架构,适用于稀疏和半稠密图像匹配。通过在三个不同任务上的实验和消融分析,我们证明了在不依赖于高级低级硬件优化的情况下,可以实现快速而准确的图像匹配。这与目前使用越来越大型和复杂模型的趋势形成对比。我们相信,XFeat 为下一代增强现实和移动机器人应用铺平了道路,在这些领域,高效且通用的数据驱动解决方案对于现实世界的部署,尤其是在移动应用中,依然至关重要。

补充材料 (Supplementary Material)

在本文的补充材料中,我们对提出的 CNN 主干网络的架构和训练过程中采用的方法进行了更详细的概述。此外,我们提供了更丰富的定性结果和扩展讨论,进一步与当前最先进的方法进行对比。

在这里插入图片描述

Note : 图 1. 详细的描述符主干网络。我们的主干网络由 23 个卷积层组成,遵循主文第 3.1 节中描述的下采样策略。与 ALIKE [10] 和 SuperPoint [2] 的主干网络相比,我们的网络在层数上更深,但由于采用了高效的下采样策略,我们的网络推理速度要快得多。

1. 主干细节

为了保持主干网络的结构简单性,我们采用了一个主要单元,称为基本层。该单元由一个二维卷积组成,卷积核大小为 k = 1 k = 1 k=1 k = 3 k = 3 k=3,并配有 ReLU 激活和批归一化。卷积的步长为 2,用于在需要时将空间分辨率减半。网络的架构是模块化的,由若干基本层构成基本块,如图 1 所示。每个块由两到三个基本层组成。我们的主干网络包含六个这样的基本块,设计为在每一步减半空间分辨率,同时使用主文第 3.1 节中详述的方法逐步增加深度。每个块中的第一个基本层执行空间降采样。在最后,还有两个额外的基本块,分别用于多分辨率特征的融合和可靠性图的预测。初步实验表明,如图 1 所示,在模型中添加一个跳跃连接略微提高了性能,因此在最终的主干设计中将其纳入了进去。

2. 训练描述

我们将网络训练在 Megadepth [5] 场景的混合数据集上,使用 [8] 提供的训练集划分,并使用 COCO [6] 的原始图像(无标签)合成变形的图像对,比例为 6 : 4。所有图像对都被调整为大小 ( W = 800 , H = 600 ) (W = 800, H = 600) (W=800,H=600),地面真实匹配点也相应进行了缩放。我们的消融实验表明,混合训练显著提升了小型 CNN 的泛化能力,这一点在高容量模型中也得到了验证 [7]。网络的训练使用了批量为 10 对图像的 Adam 优化器 [4],初始学习率为 3 × 1 0 − 4 3 \times 10^{-4} 3×104,每 30,000 次梯度更新应用 0.5 的指数衰减。经过 160,000 次迭代后收敛,在单个 NVIDIA RTX 4090 GPU 上训练约 36 小时,VRAM 总占用为 6.5 GB,考虑了在 GPU 上实时进行的训练和合成变形操作。由于从 Megadepth 数据集中以原始分辨率加载图像和深度图的开销,磁盘 I/O 成为主要的速度瓶颈,这可以通过更仔细的数据准备方案轻松解决。我们方法的低内存使用使得在入门级硬件上进行训练成为可能,便于针对特定任务和场景类型进行微调或完全重新训练网络。

3. 详细时间分析

在这里插入图片描述

Note:图 2. i7-6700K CPU 上的详细时间分析。各个消融方法的每个步骤所需时间。

本节报告了我们提出的解决方案在稀疏和半稠密匹配设置下的详细时间分析。关于 XFeat∗ 的匹配细化步骤,我们在图 2 中展示了匹配细化的开销是可以忽略的。更值得注意的是,即使包括细化步骤,XFeat∗ 在匹配时间上仍与 XFeat 相似,使用相同数量的关键点,因为细化是在最近邻搜索之后进行的。此外,我们还报告了在配备 Cortex-A53 ARM 处理器的 Orange Pi Zero 3 上运行最有效方法的特征提取时间。该设备是最小且最实惠的消费级嵌入式计算机之一(价格为 $28)。考虑到其有限的处理能力,我们将所有方法的输入分辨率调整为 480 × 360,并使用其标准的 PyTorch 实现,没有进行任何部署优化。我们的结果显示,XFeat 的平均运行速度为 1.8 FPS,SuperPoint 为 0.16 FPS,ALIKE 为 0.58 FPS。该实验表明,XFeat 是唯一能够在未针对神经网络推理优化的高度受限嵌入式设备上以超过 1 FPS 运行的学习方法。

4. Megadepth-1500 定性结果

在这里插入图片描述

Note : 图 3. Megadepth-1500 [5, 8] 地标数据集上的附加定性结果。XFeat 和 XFeat∗ 在具有显著视角和光照变化的高要求场景中表现出鲁棒性,在使用 10,000 个局部特征进行半稠密匹配时,甚至优于计算量更大的 DISK 模型,且加速效果达到惊人的 16 倍。在包含 4,096 个关键点的稀疏设置中,我们的方法比 ALIKE 快 5 倍,比 SuperPoint 快 9 倍,并且由于对 XFeat 主干 CNN 的有效重新设计,在宽基线变换中表现出更强的鲁棒性。

在这里插入图片描述

Note : 图 4. ScanNet-1500 [1, 8] 室内数据集上的附加定性结果。我们提出的方法在室内图像中无论在相机位姿还是内点比方面都持续优于最先进的方法,如 DISK 和 ALIKE。请注意,SuperPoint 也常常优于 DISK 和 ALIKE。第 5 节提供了关于我们方法优越性的详细讨论。

图 3 显示了我们提出的两种方法与主文中使用的基准方法的更多定性对比结果。在更具挑战性的情况中,例如强烈的视角和光照变化,XFeat 和 XFeat∗ 即使与 DISK [9](浮点运算量最大的 CNN 架构)相比,也表现出了卓越的鲁棒性。我们推测,这种鲁棒性归因于相比于 SuperPoint、ALIKE 和 SiLK [3] 等浅层模型,我们的网络具有更大的感受野和更深的深度,展示了我们轻量级主干网络在计算精度权衡中的有效性。

5. ScanNet-1500 扩展讨论

回顾主文表 2 中获得的结果,XFeat 和 XFeat∗ 在位姿精度上超越了快速和标准的局部特征提取器,同时在室内相对位姿估计中显著更快。与 XFeat 一样在相同的 Megadepth 场景中训练的 DISK 和 ALIKE 在地标图像中表现出过拟合的迹象:它们在 Megadepth-1500 测试集的严格阈值(AUC@5°)上表现非常出色,但在单应性估计和视觉定位等任务中的相对表现却与 XFeat 和 SuperPoint 相似或更差,正如主文表 3 和表 4 中所展示的那样。

我们推测,XFeat 生成的局部描述符偏差较小,这是因为我们在 COCO 上进行了合成变形的混合训练。SuperPoint 也由于其在合成变形上的自监督训练策略,在不同的下游任务和数据集上展示了更强的泛化能力。混合训练可以鼓励局部特征表示更少地关注在地标室外图像中常见的独特纹理,这些纹理可能会对 CNN 训练造成偏差。此外,与其他方法相比,我们的网络具有更大的感受野和更深的层次,这帮助 XFeat 在室内图像中(通常在局部层面缺乏显著性)表现得更好,使得与 DISK 和 ALIKE 相比,在 ScanNet-1500 中产生更一致的匹配,尽管 XFeat 和竞争对手都未在 ScanNet 数据上进行过训练。

6. 与学习匹配器的比较

在这里插入图片描述

Note : 表 1. Megadepth-1500 匹配器对比。推理速度以每秒配对数(PPS)@ 1,200 像素表示。(i7-6700K CPU)

由于 XFeat∗ 在执行细化步骤时成对输入,我们提供了 XFeat∗(半稠密匹配)与一些流行的学习匹配器(如 LoFTR [8] 和 LightGlue [7])以及粗到细策略(如 Patch2Pix [11])的额外对比,以阐明关键差异。这些新方法的结果如表 1 所示。虽然 XFeat∗ 需要配对输入进行细化,但其方法论与学习匹配器根本不同,仅在某些方面可与 Patch2Pix 相比,因为我们依赖于传统的最近邻搜索进行匹配,然后进行轻量级的匹配细化,计算开销可以忽略不计(见图 2)。配对输入的需求不会改变通常的 SfM 和视觉定位任务的流水线,因为 XFeat∗ 的特征可以像稀疏设置中常做的那样,独立地为每幅图像存储。例如,XFeat∗ 不需要像 LoFTR 那样的高分辨率特征图即可生成精细匹配。

实际上,我们的技术是对学习匹配器互补;例如,LightGlue 可以同时使用 XFeat 和 XFeat∗ 的特征进行训练。学习匹配器对数据的需求更高,训练成本也更高,例如,LoFTR 需要 64 块 GPU 训练 24 小时。而 XFeat∗ 则可以在单个 8 GB 的 GPU 上进行训练。此外,XFeat∗ 在稠密匹配设置下相比现有的半稠密解决方案提供了高达 22 倍的加速(如表 1 所示),并且在准确性上超过了Patch2Pix等由粗到细的方法,同时比稀疏学习匹配器(如 LightGlue)速度更快,且匹配数量更多。当然,作为局部描述符,XFeat 在面对剧烈视角变化和高度不明确的图像对时,其鲁棒性有限,相较于基于 Transformer 的特征匹配器有所不足。将轻量级的 Transformer(如 LightGlue 或 LoFTR 的线性 Transformer)与 XFeat 的局部特征结合,可以为可扩展的高性能图像匹配任务开辟新的方向,有助于在视觉导航、增强现实和实时视觉 SLAM 中推动效率和准确性方面的进步,这些进步对拓展这些领域的边界至关重要。

参考

XFeat: Accelerated Features for Lightweight Image Matching


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草莓奶忻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值