DynamicFusion

Newcombe 2015 · 论文

一句话总结 —— 首个用于非刚性形变场景的实时稠密SLAM系统:它估计一个稠密的体素化6D变形场(warp field),将一个固定的规范TSDF模型变换到每一帧实况图像,从而使KinectFusion式的融合在一切都在运动的情况下仍然有效。

问题

KinectFusion及所有传统稠密SLAM背后最基本的假设是:被观测场景在很大程度上是静态的——任何发生形变的对象(人、手、衣物、宠物)都会破坏跟踪并污染模型。此前的非刚性捕捉方法要么需要一个在采集过程中保持静止的预扫描模板,要么在离线运行,速度比实时慢三到四个数量级。本文的核心问题是:如何将KinectFusion推广到能够实时、无模板地从单个深度相机重建和跟踪动态场景?

方法与架构

DynamicFusion将场景分解为一个在刚性规范空间SR3\mathsf{S}\subseteq\mathbb{R}^3中重建的潜在几何表面(一个TSDF V\mathcal{V}),加上一个逐帧的体素化变形场,将该表面变换到实况帧。每一个新的深度图会触发三个步骤:(1)估计变形场状态,(2)通过该变形场将实况深度融合进规范TSDF,(3)扩展变形场结构以覆盖新观测到的几何。

Wt(xc)=TlwSE3(DQB(xc)),DQB(xc)=kN(xc)wk(xc)q^kckN(xc)wk(xc)q^kc,\mathcal{W}_t(x_c) = \mathbf{T}_{lw}\, SE3\big(\mathbf{DQB}(x_c)\big), \qquad \mathbf{DQB}(x_c) = \frac{\sum_{k\in N(x_c)} \mathbf{w}_k(x_c)\,\hat{\mathbf{q}}_{kc}}{\big\lVert \sum_{k\in N(x_c)} \mathbf{w}_k(x_c)\,\hat{\mathbf{q}}_{kc} \big\rVert},

其中q^kcR8\hat{\mathbf{q}}_{kc}\in\mathbb{R}^8为单位双四元数,高斯影响权重为wi(xc)=exp(dgvixc2/(2(dgwi)2))\mathbf{w}_i(x_c) = \exp\big(-\lVert \mathbf{dg}^i_v - x_c \rVert^2 / (2 (\mathbf{dg}^i_w)^2)\big),共同的刚体(相机)运动被分离为Tlw\mathbf{T}_{lw}。DQB确保混合后的变换仍是一个合法的刚体运动。

E(Wt,V,Dt,E)=Data(Wt,V,Dt)+λReg(Wt,E).E(\mathcal{W}_t, \mathcal{V}, D_t, \mathcal{E}) = \mathbf{Data}(\mathcal{W}_t, \mathcal{V}, D_t) + \lambda\,\mathbf{Reg}(\mathcal{W}_t, \mathcal{E}).

数据项将变形后的零水平集网格渲染到实况帧以进行数据关联,并对预测像素上带Tukey稳健惩罚的点到平面误差求和,DatauΩψdata(n^u(v^uvlu~))\mathbf{Data} \equiv \sum_{u\in\Omega} \psi_{\mathrm{data}}\big( \hat{\mathbf{n}}_u^\top (\hat{\mathbf{v}}_u - \mathbf{vl}_{\tilde{u}}) \big)。正则化项是一个尽可能刚性(as-rigid-as-possible)的项,在变形图的边E\mathcal{E}上使用保持不连续性的Huber惩罚,

Reg(W,E)i=0njE(i)αijψreg(TicdgvjTjcdgvj),αij=max(dgwi,dgwj),\mathbf{Reg}(\mathcal{W}, \mathcal{E}) \equiv \sum_{i=0}^{n} \sum_{j \in \mathcal{E}(i)} \alpha_{ij}\, \psi_{\mathrm{reg}}\big( \mathbf{T}_{ic}\,\mathbf{dg}^j_v - \mathbf{T}_{jc}\,\mathbf{dg}^j_v \big), \qquad \alpha_{ij} = \max(\mathbf{dg}^i_w, \mathbf{dg}^j_w),

该正则项建立在一个分层变形树上,使未被观测的区域也能分段平滑地变形。优化采用高斯-牛顿法,对每个节点旋量ξise(3)\xi_i \in se(3)求解:首先用稠密刚性ICP解出Tlw\mathbf{T}_{lw},然后进行2-3次非刚性迭代,通过对其箭形(arrow-head)Hessian进行稀疏块Cholesky分解来求解线性化系统,整个过程都在GPU上完成,并预先计算好k最近节点体素。

实验结果

评估是定性的(没有基准数值表):结果是从实时系统在普通硬件上使用单个深度相机现场采集得到的——一个由移动相机拍摄的移动的人,“从杯中饮水”持续60秒(完整的手臂+杯子模型逐渐显现,包括第一帧中不可见的表面),以及”手指交叉”的全身序列,在手部交叉时模型仍保持一致。最初噪声大、不完整的模型在主体和相机都在运动的情况下逐渐被去噪并补全,回环闭合在捕捉过程中随时发生。文中指出的局限性包括:场景从闭合拓扑迅速变为开放拓扑的情况(以合拢的手开始重建的手无法再张开)、较大的帧间运动,以及随场景复杂度增加而不断扩大的遮挡区域。发表于CVPR 2015,并获得了最佳论文奖。

对SLAM的意义

DynamicFusion消除了在实时3D重建和SLAM中普遍存在的静态场景假设,将体素TSDF融合推广到了非刚性情形,并证明了稠密6D变形场可以按帧率进行估计。其”规范体素+嵌入式变形图”的方案成为非刚性融合(VolumeDeform、KillingFusion、SurfelWarp)的模板,并影响了现代动态场景SLAM系统分离相机运动与场景运动的方式。

相关条目