SVO2

Forster 2017 · 论文

一句话总结 —— 将半直接视觉里程计扩展到多相机装置、鱼眼/折反射镜头、边缘小段(edgelet)特征和运动先验,并对直接对齐的收敛性给出了实证分析,同时提供了可选的基于 iSAM2 的光束法平差后端。

问题

最初的 SVO 只能在单个透视相机上运行,但真实的机器人平台——尤其是微型飞行器——往往搭载多个具有广角或鱼眼镜头的相机,以最大化视野范围。直接法此前也大体是凭经验使用的:关于光度对齐在何时、为何会收敛,缺乏系统分析,而且它们不具备基于特征的联合优化所拥有的最优性。SVO2(“SVO: Semi-Direct Visual Odometry for Monocular and Multi-Camera Systems”, TRO 2017)将半直接方法——直接法”用于跟踪和三角化具有高图像梯度特征的像素”,基于特征的方法”用于结构与运动的联合优化”——推广到任意的相机系统。

方法与架构

稀疏图像对齐的推广 —— 通过最小化角点特征和边缘小段特征(深度已知)周围图块的光度误差,在整个装置的所有相机 C\mathcal{C} 上求和,估计物体坐标系 BB(每个相机的外参 TCB\mathbf{T}_{CB})的增量运动:

Tkk1=argminTkk1CCuRˉk1C12IkC(π(TCBTkk1ρu))Ik1C(π(TCBρu))ΣI2\mathbf{T}^{\star}_{kk-1}=\arg\min_{\mathbf{T}_{kk-1}}\sum_{C\in\mathcal{C}}\sum_{\mathbf{u}\in\bar{\mathcal{R}}^{C}_{k-1}}\frac{1}{2}\big\lVert I^{C}_{k}\big(\pi(\mathbf{T}_{CB}\mathbf{T}_{kk-1}\,\rho_{\mathbf{u}})\big)-I^{C}_{k-1}\big(\pi(\mathbf{T}_{CB}\,\rho_{\mathbf{u}})\big)\big\rVert^{2}_{\Sigma_I}

因此每个观测到结构的相机都会为同一个物体位姿估计做出贡献;多相机支持只改变了雅可比矩阵。可选的运动先验(恒速模型,或陀螺仪旋转 R~kk1\tilde{\mathbf{R}}_{kk-1})会向同一代价函数添加惩罚项 12pkk1p~kk1Σp2+12log(R~kk1Rkk1)ΣR2\frac{1}{2}\lVert\mathbf{p}_{kk-1}-\tilde{\mathbf{p}}_{kk-1}\rVert^{2}_{\Sigma_p}+\frac{1}{2}\lVert\log(\tilde{\mathbf{R}}^{\top}_{kk-1}\mathbf{R}_{kk-1})^{\vee}\rVert^{2}_{\Sigma_R}

松弛与精修 —— 与 SVO 中一样,每个特征随后会在其首次被观测到的关键帧上做二维重对齐(仿射变形的图块,反向组合 Lucas-Kanade)。边缘小段存在孔径问题,因此其校正被限制在边缘法线 n\mathbf{n} 方向:u=u+δun{\mathbf{u}'}^{\star}=\mathbf{u}'+\delta u^{\star}\,\mathbf{n}。最后,光束法平差在关键帧和路标点上最小化重投影误差——边缘特征的残差沿法线方向投影,因为沿边方向的分量是不可观测的——由增量式平滑器 iSAM2 实时求解(或者,更廉价地,针对嵌入式应用仅优化位姿和三维点)。

建图 —— 对每个特征的深度 ρ\rho 及内点概率 γ\gamma 使用递归贝叶斯滤波器,测量值建模为高斯分布加均匀分布的混合 p(ρ~ikρi,γi)=γiN(ρ~ikρi,τi2)+(1γi)U(ρ~ikρimin,ρimax)p(\tilde{\rho}_i^k\mid\rho_i,\gamma_i)=\gamma_i\,\mathcal{N}(\tilde{\rho}_i^k\mid\rho_i,\tau_i^2)+(1-\gamma_i)\,U(\tilde{\rho}_i^k\mid\rho_i^{min},\rho_i^{max}),后验近似为 Beta(γak,bk)N(ρμk,σk2)\mathrm{Beta}(\gamma\mid a_k,b_k)\,\mathcal{N}(\rho\mid\mu_k,\sigma_k^2)——离群值几乎不会移动均值,而 γ\gamma 则反映了置信度。滤波器会同时利用前一帧后续帧进行更新(对前向运动更有利),并跳过边缘与外极线平行的测量。

广视场 —— 投影/反投影使用多项式全向相机模型,因此鱼眼和折反射图像可以在未去畸变的情况下直接使用;外极线搜索在大圆(外极面与单位球的交线)上以约一像素的角分辨率采样,以跟随弯曲的外极线。

收敛性研究 —— 一项受控实验测量了图像到模型对齐的收敛概率随距参考帧距离的变化关系:收敛性随图块尺寸的增大而改善,直到 4×4 像素;稠密对齐相比半稠密几乎没有额外提升(零梯度像素的雅可比为零);而稀疏对齐的收敛半径小于半稠密——这正是 SVO 只与前一帧进行对齐、并依赖与地图的特征对齐来消除漂移的原因。

实验结果

在 EuRoC MAV 基准(11 个序列,5 次运行取平均,竞争方法均关闭回环检测)上,SVO 在大多数运行中精度高于 LSD-SLAM 和实时版 ORB-SLAM,而 DSO 始终保持很高的精度,在单目场景下多数情况下优于 SVO;立体 SVO 通常比单目更精确,且不受尺度漂移影响,不过 SVO 在 Vicon Room 序列上会因光照剧烈变化和原地旋转而失败。效率是本文的亮点:在配备 i7 的笔记本上,SVO Mono 平均每帧 2.53 ms,在 20 Hz 下 CPU 占用为 55%,相比之下 ORB-SLAM 为 29.81 ms / 187%,LSD-SLAM 为 23.23 ms / 236%——“最高快十倍……且只需四分之一的 CPU 占用”。在 NVIDIA Jetson TX1 上,稀疏图像对齐耗时 2.54 ms,特征对齐耗时 1.40 ms。在角点丰富的 EuRoC 场景中,边缘小段带来的精度提升不大,但在缺乏角点的场景中能提高鲁棒性;运动先验则减少了对齐迭代次数。

对SLAM的意义

SVO2 将半直接范式变成了可部署在真实机器人平台上的系统——尤其是搭载多个广角相机的微型飞行器——并被广泛应用于商业和研究用无人机。其收敛性分析为直接法提供了实证基础(并证明了由粗到精策略、图块尺寸和帧率等设计选择的合理性),而其 Beta×高斯逆深度滤波器也成为逐像素概率深度估计的常见参考方案。当嵌入式硬件需要非常快速、轻量的里程计时,它仍是首选设计之一。

相关条目