KeyNet

Barroso-Laguna 2019 · 论文

一句话总结 — 学习型关键点检测器(Key.Net),在浅层多尺度架构中将手工设计的导数滤波器与少量可学习的CNN层相结合,以在多尺度下最大化关键点可重复性为目标进行训练。

问题

经典检测器(Harris、DoG)基于手工设计的导数滤波器和尺度空间启发式方法构建:可解释且计算成本低,但并未针对下游真正重要的性质——即在真实视角和尺度变化下的可重复性——进行优化。完全学习型检测器走向另一个极端,而截至2019年,它们相对手工方法的优势并未得到明确证实:CNN检测器在处理尺度问题上尤其吃力,浪费大量容量去重新发现梯度结构。Key.Net所探讨的问题是,一个用正确的手工结构进行初始化的小型网络能否同时击败上述两者。

方法与架构

手工滤波器+学习滤波器。 第一层是一个固定不变的、由10个基于导数的滤波器组成的滤波器组,精神上类似Harris和Hessian算子:一阶特征图 IxI_xIyI_yIxIyI_x I_yIx2I_x^2Iy2I_y^2,以及二阶特征图 IxxI_{xx}IyyI_{yy}IxyI_{xy}IxxIyyI_{xx} I_{yy}Ixy2I_{xy}^2。这些充当”软锚点”;随后由三个可学习的模块(每个模块为M=8M=8个滤波器的5x5卷积+批归一化+ReLU)负责定位、评分和排序特征。这些硬编码滤波器减少了可学习参数量,并使训练更加稳定。

网络内部的尺度空间。 输入在三个金字塔层级上处理(按1.2倍模糊并降采样),各分支共享权重;特征图经上采样、拼接后,再由一个最终的可学习滤波器融合成单一响应图R\mathcal{R}。消融实验表明:单层级验证可重复性为72.5,三层级为79.1,超过三层则收益甚微。

索引提议(IP)层。 为了通过关键点提取过程实现可微分训练,R\mathcal{R}的每个N×NN\times N窗口wiw_i都通过空间softmax转换为软坐标,

mi(u,v)=ewi(u,v)j,kNewi(j,k),[xi,yi]T=u,vN[Wmi,  WTmi]T+cwm_{i}(u,v)=\frac{e^{w_{i}(u,v)}}{\sum_{j,k}^{N}e^{w_{i}(j,k)}}, \qquad [x_{i},y_{i}]^{T}=\sum_{u,v}^{N}[W\odot m_{i},\;W^{T}\odot m_{i}]^{T}+c_{w}

作为非极大值抑制的可微分替代(WW保存索引值,cwc_w为窗口角点)。给定图像Ia,IbI_a, I_b之间的真值单应性Hb,aH_{b,a},协变约束损失将一幅图像中的IP坐标回归到另一幅图像中的NMS极大值上:

LIP(Ia,Ib,Ha,b,N)=iαi[xi,yi]aTHb,a[x^i,y^i]bT2,αi=Ra(xi,yi)+Rb(x^i,y^i)\mathcal{L}_{IP}(I_{a},I_{b},H_{a,b},N)=\sum_{i}\alpha_{i}\,\|[x_{i},y_{i}]^{T}_{a}-H_{b,a}[\hat{x}_{i},\hat{y}_{i}]^{T}_{b}\|^{2}, \quad \alpha_{i}=\mathcal{R}_{a}(x_{i},y_{i})+\mathcal{R}_{b}(\hat{x}_{i},\hat{y}_{i})

因此只有显著性强的特征才会贡献损失;损失在两个方向上对称计算。

多尺度索引提议(M-SIP)。 该损失在窗口尺寸Ns{8,16,24,32,40}N_s\in\{8,16,24,32,40\}上取加权平均,权重为λs{256,64,16,4,1}\lambda_s\in\{256,64,16,4,1\}:

LMSIP(Ia,Ib,Ha,b)=sλsLIP(Ia,Ib,Ha,b,Ns)\mathcal{L}_{MSIP}(I_{a},I_{b},H_{a,b})=\sum_{s}\lambda_{s}\,\mathcal{L}_{IP}(I_{a},I_{b},H_{a,b},N_{s})

从而迫使网络对那些在不同上下文尺寸下都保持突出的关键点给出最高评分——评分和排序都是从损失函数本身自然产生的。消融实验表明:全部五个窗口一起使用可重复性为79.1,仅用8x8窗口则为70.5。

廉价的训练数据。 由ImageNet生成的12,000对192x192图像,随机施加尺度[0.5, 3.5]、错切、旋转(±60°)和光度扰动——从而免费获得真值对应关系,无需人工标注。一对孪生的Key.Net约30个epoch即可收敛(在GTX 1080 Ti上约2小时)。

实验结果

对SLAM的意义

SLAM前端的成败取决于检测器的可重复性:如果同一个三维点在不同帧中未被重新检测到,任何描述子都无法挽救这次匹配。Key.Net表明,将经典检测器先验(手工滤波器、尺度空间)注入一个小型学习模型中,可以在可重复性上同时超越纯手工和纯学习型检测器,同时仍足够轻量,可用于实时流程——这一设计要点直接与嵌入式SLAM相关。

相关条目