R2D2
Revaud 2019 · 论文
一句话总结 — 与稠密描述子一起联合学习显式的*重复性(repeatability)图和可靠性(reliability)*图,使得关键点只在真正能够被匹配的地方才被检测出来。
问题
经典局部特征遵循”先检测再描述”的范式:手工设计的检测器找出可重复的关键点,再由一个独立的描述子对其进行表示。学习式方法已经赶上了这一水平——用于检测的可重复显著性图,在这些位置上进行度量学习的描述子——但R2D2指出这混淆了两种不同的属性。显著区域不一定是有辨别力的:棋盘上的每一个方格、立面上的每一个窗口、树叶、海浪都能被一致地检测到,却因自相似性而匹配含糊。描述子应该只在能够高置信度完成匹配的地方才被信任(关键点也应只在这些地方才被检测)。
方法与架构
由单个FCN输出三个稠密结果。 对于一张的图像,网络预测:稠密的L2归一化128维描述子,一张重复性热力图(其局部极大值即为关键点候选),以及一张可靠性图(估计每个描述子的辨别力)。骨干网络为L2-Net,将最后的8x8卷积替换为三个2x2卷积(权重数减少5倍);和由逐元素平方、一个1x1卷积以及对128维输出做softmax得到。
重复性:自监督余弦相似度。 给定图像及其稠密真值对应关系,以及经变形后的第二张热力图,两幅热力图在所有patch 上按patch方式对齐:
一个峰值性损失用于防止得到常数解的平凡解,并通过来设定关键点密度:
两者合并为。
可靠性:带学习置信度的AP排序损失。 描述子匹配被视为一个排序问题:对每个查询像素,直接优化第二幅图像中候选点上平均精度(Average Precision)的可微近似,而不是三元组/对比式代理损失。关键之处在于,网络可以在不具辨别力的区域”选择放弃”:
其中为期望的最小AP:最优解在处为,否则为1,因此成为一个可解释的可匹配性概率。
训练数据与推理。 稠密对应关系可从网络图像上的随机单应变换中免费获得,也可来自一个光流流水线(EpicFlow配合极线约束的DeepMatching,并按匹配密度做掩码处理),应用于经SfM验证的Aachen图像对——无需人工标注。测试时,网络在一个尺度金字塔上运行(按下采样),关键点取的局部极大值,并按综合得分保留前个。
实验结果
- 消融实验(HPatches):完整模型达到M-score 0.461/MMA@3 0.686;去掉重复性图后性能骤降至0.304/0.512——说明重复性和可靠性确实是两个不同的信号;去掉可靠性会损失3%的M-score。
- HPatches MMA:在中等阈值范围内优于SuperPoint、D2-Net(多尺度)、LF-Net、HAN+HN++以及Hessian-affine+RootSIFT;只有DELF在仅光照变化的图像对上胜出(其固定关键点网格能在无空间变化的图像上轻易匹配)。3像素阈值下M-score为0.425,而LF-Net为0.335,SIFT为0.288。
- 检测器重复性(Oxford):例如在wall(视角变化)序列上,取300–3000个点时为0.62–0.71,而QuadNet为0.30–0.46,DoG为0.27–0.28。
- Aachen昼夜定位(CVPR19局部特征挑战赛,COLMAP流水线):最佳模型(N=8,1万个关键点,100万权重)在夜间查询中(0.25米,2°)/(0.5米,5°)/(5米,10°)阈值下的定位成功率分别达到45.9/66.3/88.8%——创造新纪录,领先于D2-Net(44.9/66.3/88.8,1500万权重,128维描述子改为512维)和SuperPoint(42.8/57.1/75.5);甚至仅用5千个关键点的变体也能以一半的关键点数量击败大多数方法,且仅使用128维描述子和一个体积小15倍的网络。
对SLAM的意义
错误匹配是基于特征的SLAM在重复性结构(走廊、立面、植被)下的主要失效模式。R2D2确立了可靠性感知关键点选择的原则——重质不重量——这一原则延续到了后续的检测器/描述子设计中,并影响了现代流水线为定位和三维重建对对应关系进行评分和过滤的方式。
动手实践
相关条目
- SuperPoint — 自监督联合检测器/描述子基线方法
- DISK — 基于强化学习训练的替代方案
- KeyNet — 学习式检测器方向的工作
- DeDoDe — 后续将检测与描述解耦的方法
- hloc — 用于评估此类特征的定位流水线