KeyNet
Barroso-Laguna 2019 · 论文
一句话总结 — 学习型关键点检测器(Key.Net),在浅层多尺度架构中将手工设计的导数滤波器与少量可学习的CNN层相结合,以在多尺度下最大化关键点可重复性为目标进行训练。
问题
经典检测器(Harris、DoG)基于手工设计的导数滤波器和尺度空间启发式方法构建:可解释且计算成本低,但并未针对下游真正重要的性质——即在真实视角和尺度变化下的可重复性——进行优化。完全学习型检测器走向另一个极端,而截至2019年,它们相对手工方法的优势并未得到明确证实:CNN检测器在处理尺度问题上尤其吃力,浪费大量容量去重新发现梯度结构。Key.Net所探讨的问题是,一个用正确的手工结构进行初始化的小型网络能否同时击败上述两者。
方法与架构
手工滤波器+学习滤波器。 第一层是一个固定不变的、由10个基于导数的滤波器组成的滤波器组,精神上类似Harris和Hessian算子:一阶特征图 、、、、,以及二阶特征图 、、、、。这些充当”软锚点”;随后由三个可学习的模块(每个模块为个滤波器的5x5卷积+批归一化+ReLU)负责定位、评分和排序特征。这些硬编码滤波器减少了可学习参数量,并使训练更加稳定。
网络内部的尺度空间。 输入在三个金字塔层级上处理(按1.2倍模糊并降采样),各分支共享权重;特征图经上采样、拼接后,再由一个最终的可学习滤波器融合成单一响应图。消融实验表明:单层级验证可重复性为72.5,三层级为79.1,超过三层则收益甚微。
索引提议(IP)层。 为了通过关键点提取过程实现可微分训练,的每个窗口都通过空间softmax转换为软坐标,
作为非极大值抑制的可微分替代(保存索引值,为窗口角点)。给定图像之间的真值单应性,协变约束损失将一幅图像中的IP坐标回归到另一幅图像中的NMS极大值上:
因此只有显著性强的特征才会贡献损失;损失在两个方向上对称计算。
多尺度索引提议(M-SIP)。 该损失在窗口尺寸上取加权平均,权重为:
从而迫使网络对那些在不同上下文尺寸下都保持突出的关键点给出最高评分——评分和排序都是从损失函数本身自然产生的。消融实验表明:全部五个窗口一起使用可重复性为79.1,仅用8x8窗口则为70.5。
廉价的训练数据。 由ImageNet生成的12,000对192x192图像,随机施加尺度[0.5, 3.5]、错切、旋转(±60°)和光度扰动——从而免费获得真值对应关系,无需人工标注。一对孪生的Key.Net约30个epoch即可收敛(在GTX 1080 Ti上约2小时)。
实验结果
- HPatches可重复性(前1000个点,IoU误差<0.4):在视角序列上,Key.Net-SI表现最佳,为60.5(尺度+位置)/73.2(仅位置),而SuperPoint-TI为33.3/67.1,LF-Net-SI为32.3/62.2,最好的手工方法MSER-SI为56.4/62.8。在光照序列上,单尺度的Key.Net-TI以72.0获胜,高于专为该场景设计的TILDE-TI(70.4)。
- 匹配(使用统一的HardNet描述子):Key.Net+HardNet在视角匹配得分上最佳,为38.4,略高于SuperPoint(使用自身描述子为38.0,使用HardNet为37.4);LF-Net+HardNet在光照场景上领先(43.8对Key.Net的39.7)。
- 复杂度:SuperPoint的检测器使用约94万个可学习参数——Key.Net的参数量少约160倍,而Tiny-Key.Net(全部为手工滤波器+一个学习滤波器)参数量少约3,100倍,却仍在视角可重复性上超过SuperPoint。在600x600图像上的推理耗时:Tiny为5.7毫秒,Key.Net为31毫秒。
对SLAM的意义
SLAM前端的成败取决于检测器的可重复性:如果同一个三维点在不同帧中未被重新检测到,任何描述子都无法挽救这次匹配。Key.Net表明,将经典检测器先验(手工滤波器、尺度空间)注入一个小型学习模型中,可以在可重复性上同时超越纯手工和纯学习型检测器,同时仍足够轻量,可用于实时流程——这一设计要点直接与嵌入式SLAM相关。
相关条目
- SuperPoint — 自监督联合检测-描述模型
- HardNet — 常与Key.Net搭配使用的学习型描述子
- R2D2 — 具有可靠性意识的检测与描述
- DISK — 基于强化学习训练的替代方案
- Keypoints — 检测方面的经典背景知识
- Learned vs hand-crafted — Key.Net刻意兼顾的这一权衡