RoMa
Edstedt 2024 · 论文
一句话总结 — 鲁棒的稠密特征匹配方法,将冻结的DINOv2基础模型特征(鲁棒但粗糙)与专门的VGG19精细特征(精确但脆弱)融合在一个Transformer匹配解码器中,该解码器预测锚点概率,并采用”先分类回归再鲁棒回归”的方式训练。
问题
稠密特征匹配——为两幅图像间的每个像素估计一个稠密变形场以及可匹配性得分——必须在尺度、光照、视角和纹理的极端真实世界变化下保持有效。在匹配数据上从头训练的特征(DKM的ResNet50)在空间上精确,但会对训练集过拟合;冻结的DINOv2特征则大幅更加鲁棒(论文测得在一个冻结特征的粗匹配探测任务上为27.1像素EPE/85.6%鲁棒性,而ResNet50为60.2/57.5%,VGG19为87.6/43.2%),但只存在于粗步幅14上。RoMa探究的问题是如何同时获得两者的优势,以及如何为每个阶段用与其误差特性相匹配的损失函数来训练。
方法与架构
两阶段稠密流水线(DKM骨架)。 解耦的编码器分别提取粗特征和精细特征;一个全局匹配器生成粗变形场和置信度,随后在步幅上的细化器利用堆叠的特征图和一个围绕前一估计的局部相关性体,递归地预测残差变形场和置信度对数偏移,各阶段之间的梯度被截断。
鲁棒且可定位的特征。 (在整个训练过程中保持冻结——固定表示能减少过拟合并降低计算量),而:消融实验表明VGG19做粗特征效果差,但做精细特征效果最好,揭示了”精细可定位性与粗糙鲁棒性之间存在固有张力”。
带锚点概率的Transformer匹配解码器。 该解码器(5个ViT块,8个头,隐藏维度1024,不使用位置编码——仅通过特征相似度传播,以避免分辨率过拟合和过度平滑)不直接回归坐标,而是输出在个均匀锚点上的离散化条件分布:
其中为锚点概率,为锚点坐标——因此多模态的歧义性(重复结构、运动边界)被表示出来,而不是被平均掉。变形场的解码方式是先在锚点上取argmax,再在4邻域上做局部softargmax。
与各阶段相匹配的损失函数。 将尺度下的可匹配性建模为一个模糊化的联合分布表明,粗略条件分布在运动边界附近是多模态的,而细化过程(以前一变形场为条件)是局部单模态的。因此采用”分类式回归”——对最接近真值的锚点计算NLL——而采用鲁棒的广义Charbonnier回归(),其对数密度为:局部呈L2式梯度,对异常值则衰减至零。总损失,不需要跨阶段加权。在MegaDepth上以560×560训练(室内评估另加ScanNet模型)。
实验结果
- 消融实验(MegaDepth验证集上的100−PCK@5px,越低越好):DKM基线5.8 → 解耦编码器4.5 → 加入DINOv2粗特征3.2 → 加入分类式回归2.8 → 加入鲁棒细化损失2.7(完整RoMa);将Transformer解码器换回ConvNet则退化到3.5。
- WxBS(极端宽基线、多重干扰因素):mAA@10px为80.1,对比DKM的58.9和LoFTR的55.4——相较此前最优水平提升36%。
- IMC2022:mAA@10为88.0,对比DKM的83.1——相对误差降低26%。
- MegaDepth-1500位姿:AUC@5°/10°/20°为62.6/76.7/86.3(DKM为60.4/74.9/85.1);MegaDepth-8-Scenes:62.2/75.9/85.3。
- ScanNet-1500位姿:31.8/53.4/70.9——首个AUC@20°超过70的方法。
- InLoc视觉定位:DUC1为60.6/79.3/89.9,DUC2为66.4/83.2/87.8——达到最优水平。
- 运行时间:仅比DKM慢7%(560×560、batch 8、RTX 6000下,每对图像186.3毫秒对198.8毫秒)。
对SLAM的意义
RoMa证明了冻结的基础模型特征能大幅提升匹配的鲁棒性——确立了”基础特征用于粗锚点+专用特征用于精度”的范式。对SLAM而言,这在严重外观变化(昼夜、季节)下的重定位和回环检测中最为重要,而稀疏的手工设计甚至学习式关键点在这些场合都会失效。如今,多个现代重建和定位流水线都以RoMa式的稠密匹配器为支撑。
相关条目
- RoMa v2 — 更难、更好、更快、更密的后继方法
- LoFTR — 更早的无检测器Transformer匹配方法
- DeDoDe — 同一团队;解耦的检测/描述方法
- Foundation models — 解释冻结预训练特征为何能泛化
- MASt3R — 与3D重建融合的稠密匹配