0%

论文记录 DynaSLAM_Tracking, Mapping, and Inpainting in Dynamic Scenes

Bescos, Berta, Jose M. Facil, Javier Civera, and Jose Neira. “DynaSLAM: Tracking, Mapping, and Inpainting in Dynamic Scenes.” IEEE Robotics and Automation Letters 3, no. 4 (October 2018): 4076–83. https://doi.org/10.1109/LRA.2018.2860039.

1 Introduction

本文提出的DynaSLAM 是在ORB-SLAM2 基础上增加一个前端模块,来处理环境中的动态物体。对于单目和双目相机,使用CNN 产生物体的像素级语义分割结果,剔除掉先验动态物体中的特征点;对于RGB-D 相机,结合多视图几何模型和CNN 来检测动态物体,从图片中移除动态物体并进行场景恢复。

fig1

3 System Description

本系统架构如Fig. 2所示,对于RGB-D 相机,本系统使用多视图几何在两方面提高动态物体分割的效果:

  1. 对Mask R-CNN 获取的先验动态物体分割区域进行细调
  2. 利用多视图几何判断先验静态物体是否是动态的。

值得注意的是,对于单目或双目相机,CNN 获取的语义分割中,属于先验动态物体的特征点直接被舍弃,不参与跟踪或制图。

fig2

3.1 Segmentation of Potential Dynamic Content Using a CNN

本系统使用Mask R-CNN 实现像素级语义分割,利用MS COCO 数据集进行训练,识别出图片中的先验动态物体

3.2 Low-Cost Tracking

利用语义分割获取先验动态物体后,利用图片中的静态区域进行相机位姿估计,利用地图点重投影误差来优化相机位姿。此外,作者认为分割轮廓线通常是高梯度区域,因此,在进行位姿估计时也不考虑轮廓线区域内的特征点。

3.3 Segmentation of Dynamic Content Using Mask R-CNN and Multi-View Geometry

由于先验静态物体也可能是移动的,所以需要结合多视图几何实现更精确的动态物体检测。对于每个输入帧,作者选取5个与之拥有最高重叠度的关键帧,此处考虑两帧之间的距离和旋转。然后,将这些关键帧中的所有特征点 $x$ 投影至当前帧中,得到关键点 $x’$ 以及投影深度 $z_{proj}$ 。然后计算 $x, x’$ 之间的视差角 $\alpha$ ,如果该角度大于30°,则该点可能被遮挡,应当忽略该点;然后从当前帧的深度图中获取 $x’$ 的深度 $z’$ ,比较 $\Delta z = z_{proj} - z’$ 是否超过阈值,若超过阈值则判定该点为动态特征点

fig3

对于位于动态物体边缘上的特征点,在深度图中如果该点周边块的方差较高,则判定该点为静态点。为了区分所有属于动态物体的像素,在深度图中,对动态特征点周围的区域进行生成操作,得到相应的动态区域掩码。

作者分析了CNN 方法和几何方法的优劣势:

  • 几何方法:可以检测出任意物体的动态属性;但主要问题在于其初始化需要多视角观测,且存在检测不准确,如Fig.4(a)所示,没有识别出桌子后面移动的人,作者认为有两种原因导致检测失败:
    1. RGB-D 相机测量远距离物体深度信息的准确度不足;
    2. 可靠的特征点基本位于图片的定义区域(也是近景区域??)
  • CNN 方法:仅需单帧图片即可,无需初始化;但只能检测出先验动态物体,无法识别出移动的先验静态物体,如Fig.4(b)中人手上的书本未被检测出来。

Fig. 4展示了结合语义信息与多视图几何信息(两种信息互补)得到最终的动态物体检测效果。同时,作者提到,如果一个物体同时被两种方法检测到属于动态的,则采用几何方法获取的掩码区域为准;若只被深度学习检测到,则使用语义信息代表的分割掩码区域(如Fig.4所示)。

即,本方法对特征点的动态属性判断使用的是“或“操作:两种动态判定方法中只要满足一种,即判定该点属于动态特征点。

fig4

3.4 Tracking and Mapping

本阶段的系统输入为RGB 和深度图,以及相应的分割掩码,此处使用静态ORB 特征点,不包括分割线附近区域的特征点。

3.5 Background Inpainting

使用其他视角的静态区域来修复当前帧中的动态掩码区域,作者认为这对于VR、AR等应用具有重要意义。

4 Experimental Results

t1

其中,N 表示只使用CNN 获取先验动态物体进行动态物体剔除;G 表示只使用基于深度差异的多视图几何方法;N+G 表示两种方法结合;N+G+BI 代表Fig.6所示的方法,该方法中,背景修复 (background inpainting, BI) 是在跟踪和制图前完成,该方法是为了验证修复完动态物体区域后,在静态世界假设下进行传统SLAM 计算的精度。

fig6

Table 1的结果说明N+G 方法效果最好;作者分析G 方法效果较差的原因在于:需要运动(多视角观测)进行初始化,因此,该方法的检测效果具有延迟性,需要经过一段时间后才会准确,而在此期间的估计误差较大。

t2