ElasticFusion

Whelan 2015 · 论文

一句话总结 —— 一种基于面元(surfel)的稠密RGB-D SLAM系统,在回环检测时直接对地图施加非刚性弹性形变,从而实现全局一致的重建,而无需位姿图。

问题

稠密SLAM系统在既延展又闭环的运动下表现不佳——例如手持深度相机”粉刷”一个房间。KinectFusion的固定体素限制了场景大小;Whelan早先的Kintinuous通过位姿图形变扩展到走廊尺度,但在局部闭环轨迹上表现不佳,且不能重用已重访的地图区域;DVO-SLAM优化关键帧位姿,但没有构建明确的连续表面。ElasticFusion颠倒了优先顺序:不再优化相机轨迹(位姿图)再重建地图,而是直接优化地图本身——尽早且频繁地施加表面回环闭合,使系统始终保持在地图分布的模态附近。

方法与架构

逐帧循环:RGB-D输入→喷溅式(splatted)面元预测→frame-to-model ICP+RGB跟踪→面元融合→局部(模型到模型)回环检查→全局(fern)回环检查→非刚性形变。CUDA负责跟踪归约和地图管理;OpenGL负责视图预测。

Eicp=k((vkexp(ξ^)Tvtk)nk)2,E_{\mathrm{icp}} = \sum_{k} \Big( \big(\mathbf{v}^k - \exp(\hat{\boldsymbol{\xi}})\,\mathbf{T}\,\mathbf{v}_t^k\big)\cdot\mathbf{n}^k \Big)^2 ,

光度项ErgbE_{\mathrm{rgb}}则惩罚实况彩色图像与预测的活跃模型颜色之间的强度差异。联合代价Etrack=Eicp+wrgbErgbE_{\mathrm{track}} = E_{\mathrm{icp}} + w_{\mathrm{rgb}} E_{\mathrm{rgb}}(其中wrgb=0.1w_{\mathrm{rgb}} = 0.1)通过高斯-牛顿法在三级粗到细金字塔上最小化(GPU树归约构建6×6系统,CPU的Cholesky分解求解)。

M^ps=nIwn[GRn(MpsGgn)+Ggn+Gtn],wn=(1MpsGgn2/dmax)2.\hat{\mathcal{M}}^s_{\mathbf{p}} = \sum_{n\in I} w^n \big[ \mathcal{G}^n_{\mathbf{R}} (\mathcal{M}^s_{\mathbf{p}} - \mathcal{G}^n_{\mathbf{g}}) + \mathcal{G}^n_{\mathbf{g}} + \mathcal{G}^n_{\mathbf{t}} \big], \qquad w^n = \big(1 - \lVert \mathcal{M}^s_{\mathbf{p}} - \mathcal{G}^n_{\mathbf{g}} \rVert_2 / d_{\max} \big)^2 .

实验结果

对SLAM的意义

ElasticFusion使”地图即状态”成为一种可行的设计思路:它不是纠正相机轨迹再重新整合测量值,而是直接纠正稠密表面本身,通过频繁的小幅形变始终保持在地图分布的模态附近。它成为了基于面元的稠密SLAM的标准骨干——SemanticFusion直接在其面元上添加CNN语义信息——其活跃/非活跃模型划分、模型到模型的局部回环以及fern重定位在后续的稠密系统中反复出现。研究本文有助于理解带在线回环检测的高质量房间尺度稠密重建。

相关条目