MID-Fusion

Xu 2019 · 论文

一句话总结 — 一种基于八叉树的、物体级、多实例动态RGB-D SLAM系统,为每个物体构建独立的体素(TSDF)模型,同时对场景运动保持鲁棒性。

问题

静态世界SLAM将运动物体视为异常值,因此在动态环境中它会跟踪失败或破坏地图——即使幸存下来,地图中也没有任何供机器人可以据以行动的逐物体信息。MaskFusion和Co-Fusion已经展示了基于面元的物体级动态SLAM,但面元云无法直接表示自由空间或表面连通性,而这些正是机器人任务所需要的。MID-Fusion的目标是一种体素化的物体级动态SLAM:在动态场景中实现鲁棒的相机跟踪,同时持续估计任意物体的几何、语义和运动属性。

方法与架构

该流程分为四部分——分割、跟踪、融合、光线投射。每个检测到的物体n{0..N}n \in \{0..N\}(0表示背景)拥有自己的坐标系,以及一个基于八叉树的TSDF体素(构建于Supereight之上),其体素存储SDF、强度、前景概率和权重,还有一个COCO类别分布、一个位姿TWOnT_{WO_n}和一个运动/静止标志。

相机跟踪。 实时位姿TWCLT_{WC_L}通过对有效像素(排除人体)最小化一个联合密集残差得到:

Etrack(TWCL)=12(uLMLwgρ(eg)+uRMRwpρ(ep)),E_{\mathrm{track}}(T_{WC_L}) = \tfrac{1}{2}\Big(\sum_{\mathbf{u}_L \in M_L} w_{\mathrm{g}}\,\rho(e_{\mathrm{g}}) + \sum_{\mathbf{u}_R \in M_R} w_{\mathrm{p}}\,\rho(e_{\mathrm{p}})\Big),

其中ρ\rho为Cauchy损失,ege_{\mathrm{g}}是实时顶点图与模型渲染出的顶点/法向图之间的点到面ICP残差,epe_{\mathrm{p}}是相对于渲染出的(去噪后)模型深度计算的光度残差。残差按测量不确定性加权:RGB项为常数,ICP项则为wg=1/(nrnrσDσD)w_{\mathrm{g}} = 1/(\mathbf{n}^{r\top}\mathbf{n}^{r}\,\sigma_D^{\top}\sigma_D),其中传感器模型为σD=(Dfσxy, Dfσxy, D2fbσz)\sigma_D = \big(\tfrac{D}{f}\sigma_{xy},\ \tfrac{D}{f}\sigma_{xy},\ \tfrac{D^2}{fb}\sigma_z\big)ff为焦距,bb为基线)。采用高斯-牛顿法,3级由粗到细。跟踪运行两次:第一次针对除人以外的所有模型顶点,随后——在光线投射揭示出可见物体、并通过残差检验标记出运动物体之后(若某物体在其渲染掩码内的内点比例低于0.9,则判定其为运动的)——针对仅剩静态部分进行细化。

物体位姿估计。 运动物体使用相同的加权ICP+RGB代价进行跟踪,但重新参数化为在物体坐标系下,直接估计TCLOLT_{C_LO_L},而不是采用”虚拟相机”的方式。此时旋转雅可比正比于CCLOL1(vLrCLOL)C_{C_LO_L}^{-1}(\mathbf{v}_L - \mathbf{r}_{C_LO_L}),由于物体坐标系以物体本身为中心,该值较小——即较小的力臂,从而在物体大幅旋转时收敛更加稳定。

分割。 Mask R-CNN的掩码用几何边缘进行细化,通过渲染掩码的IoU与已有模型建立关联(大于0.5则接受;不要求类别一致,因为标签会在地图中通过概率方式细化),再通过运动残差进行过滤——联合ICP+RGB残差较高的像素被视为异常值。前景概率(掩码内为1,膨胀后的背景内为0,Mask R-CNN未检测到的物体为0.5)用于在融合阶段防范不良掩码。

融合。 深度、颜色、前景概率和语义分布被融合进每个物体的八叉树TSDF中(语义采用平均而非贝叶斯更新的方式,因为后者会对Mask R-CNN的预测过度自信)。新物体以约1 mm体素分辨率、其反投影点云大小3倍的体积进行初始化——这只有在未使用的八叉树体素永不被分配的情况下才是可承受的。

实验结果

对SLAM的意义

MID-Fusion与MaskFusion一起确立了物体级动态SLAM的定义:由独立跟踪、独立重建的物体实例组成的地图。体素化的选择很重要——每个物体一个水密的TSDF能以面元云所无法支持的方式支撑抓取规划、碰撞检测和自由空间推理——其以物体为中心的跟踪参数化以及不确定性加权残差成为了标准技巧。它标志着动态SLAM不再只关注运动中生存,而开始转向建模运动本身。

相关条目