XFeat

Potje 2024 · 论文

一句话总结 — 一种超轻量级学习型局部特征(CVPR 2024),使用紧凑的64维描述子,速度比现有深度特征最高快5倍——即使在笔记本电脑CPU上也能实时运行——通过保持较高的空间分辨率同时降低通道数,使学习型匹配在嵌入式硬件上变得切实可行。

问题

最先进的学习型特征(SuperPoint、DISK、ALIKE)精度很高,但对于机器人实际搭载的硬件——无人机、AR眼镜、移动机器人——而言太过沉重。瓶颈在于架构本身:精确匹配”需要足够大的图像分辨率”,但即便通过一个较小的VGG风格骨干网络处理高分辨率图像也会大幅增加计算量,因为一个卷积层的FLOP数为Fops=HiWiCiCi+1k2F_{ops}=H_i\cdot W_i\cdot C_i\cdot C_{i+1}\cdot k^2——在早期层中,空间项HiWiH_i W_i占主导。XFeat重新审视了在硬性算力预算下检测、提取和匹配局部特征的CNN基础设计选择。

方法与架构

超轻量骨干网络。 从灰度图像IRH×W×1\mathbf{I}\in\mathbb{R}^{H\times W\times 1}出发,六个卷积块(23层”基本层”:卷积核k{1,3}k\in\{1,3\}+ReLU+BatchNorm)将分辨率逐步减半,同时通道数以三倍(而非两倍)速率增长——从C=4C=4增长到H/32×W/32H/32\times W/32分辨率下的C=128C=128,即{4,8,24,64,64,128}\{4,8,24,64,64,128\}。从仅4个通道开始,使得开销高昂的高分辨率早期层保持极简;三倍速率的增长则在廉价的低分辨率层中恢复了模型容量。

三个输出头。{1/8,1/16,1/32}\{1/8,1/16,1/32\}三个尺度进行特征金字塔融合,得到一个稠密的64维描述子图FRH/8×W/8×64\mathbf{F}\in\mathbb{R}^{H/8\times W/8\times 64},一个可靠性图R\mathbf{R}(建模Fi,j\mathbf{F}_{i,j}能被自信匹配的概率),以及一个独立的关键点分支:图像被重塑为8×88\times 8的格子(64维向量),快速的1×11\times1卷积在64个格子位置加一个垃圾桶中对关键点位置进行分类,即KRH/8×W/8×65\mathbf{K}\in\mathbb{R}^{H/8\times W/8\times 65}(类似SuperPoint风格,但是解耦的——对于紧凑的CNN,联合训练会降低半稠密匹配的效果)。

半稠密匹配精细化。 不同于(LoFTR风格的)细粒度特征图,一个MLP仅凭一对匹配的粗粒度描述子来预测像素偏移量:o=MLP(concat(fa,fb))\mathbf{o}=\text{MLP}(\text{concat}(\mathbf{f}_a,\mathbf{f}_b)),偏移量的选取方式为:

(x,y)=arg maxi,j{1,,8}o(i,j)(x,y)=\operatorname*{arg\,max}_{i,j\in\{1,\dots,8\}}\mathbf{o}(i,j)

其中oR8×8\mathbf{o}\in\mathbb{R}^{8\times 8}保存偏移量的logits——完全不依赖任何高分辨率特征即可实现半稠密匹配。

训练。 在MegaDepth和经合成变换的COCO数据(按6:4混合,分辨率800×600)上,使用像素级对应关系进行监督,采用多任务损失L=αLds+βLrel+γLfine+δLkp\mathcal{L}=\alpha\mathcal{L}_{ds}+\beta\mathcal{L}_{rel}+\gamma\mathcal{L}_{fine}+\delta\mathcal{L}_{kp}:对描述子采用基于相似度矩阵S=F1F2T\mathbf{S}=\mathbf{F}_1\mathbf{F}_2^{\mathsf T}的双softmax负对数似然损失,一个L1损失Lrel=σ(R1)Rˉ1Rˉ2+σ(R2)Rˉ1Rˉ2\mathcal{L}_{rel}=|\sigma(\mathbf{R}_1)-\bar{\mathbf{R}}_1\odot\bar{\mathbf{R}}_2|+|\sigma(\mathbf{R}_2)-\bar{\mathbf{R}}_1\odot\bar{\mathbf{R}}_2|将可靠性与双softmax置信度绑定,对偏移logits采用负对数似然损失,以及从ALIKE-tiny蒸馏而来的关键点损失。训练在单张RTX 4090上36小时内收敛,占用6.5 GB显存。推理:稀疏模式(XFeat,通过Ki,jRi,j\mathbf{K}_{i,j}\cdot\mathbf{R}_{i,j}打分选出4096个关键点+互近邻匹配)或半稠密模式(XFeat*,选取前1万个可靠特征并进行偏移精细化)。

实验结果

对SLAM的意义

学习型特征在鲁棒性上已明显超越手工设计的特征(ORB、SIFT),但其计算开销使其难以进入嵌入式平台上的实时SLAM前端。XFeat是学习型特征变得足够廉价、可以嵌入机器人实际搭载硬件上运行的SLAM管线的一个节点。搭配LightGlue这类轻量级匹配器,它能在边缘设备上以帧率实现完整的学习型前端(检测、描述、匹配)。

相关条目