RS-SLAM A Robust Semantic SLAM in Dynamic Environments Based on RGB-D Sensor
摘要:
大多数最先进的V-SLAM算法在结构化环境中表现良好。然而,静态世界的假设限制了进一步的实际应用。在本文中,我们提出了RS-SLAM,一个鲁棒的语义RGB-D SLAM系统。RS-SLAM能够检测移动和可移动的物体,实现高精度定位。
采用语义分割模型对动态对象进行识别。具体而言,是利用基于贝叶斯更新(Bayesian update)的上下文信息对分割结果进行细化,从而更准确地提取出感兴趣的区域。在此基础上,提出了一种移动目标检测方法。
此外,引入了映射过程中的更新策略,实时构建了仅包含静态世界的三维语义OctoMap。我们的SLAM系统在公共数据集和现实环境中都进行了评估。结果表明,RS-SLAM的精度优于标准可视化SLAM基线,能够在动态环境中构建清晰的静态语义OctoMap。
RS-SLAM系统在ORB-SLAM2的基础上主要增添了动态内容剔除和密集语义映射两个模块。
系统以RGB-D图像对作为输入:
RGB帧同时用于两个过程:语义分割和特征提取;
深度信息帧作用于两个过程:用于动态内容检测和密集语义映射。
系统工作流程:

RGB-D传感器提供RGB帧与深度帧;
RGB帧通过PSPNet语义分割模块对动态内容进行分割,再经基于贝叶斯更新的上下文信息对分割结果进行细化。动态内容剔除模块对移动对象与可移动对象进行剔除;
跟踪模块对剔除过的静态背景图像帧进行ORB特征提取并估计相机位姿;
密集语义映射模块首先判断剔除过的静态背景图像帧能否作为关键帧,关键帧再结合深度帧信息、剔除过的静态背景图像帧与分割细化的图像帧,以八叉树的形式进行映射更新密集语义地图。
移动(运动)和可移动对象的检测
认为人是移动的对象,椅子是可移动的对象。人是绝对动态。椅子的实际状态可以根据与人(移动的对象)的几何关系来推断。

首先计算人与椅子的语义区域的质心之间的距离,如图3.b所示,利用经过细化的标记图像,可以定位出属于人(运动物体)的区域。如图3.c所示,然后提取语义图像的轮廓。可以计算每个标记区域的零阶矩和一阶矩:

其中x和y是每个标记区域的像素坐标。I (x, y)为区域在(x, y)处的像素值,用m00、m01、m10可得到区域的质心(即图3.c中的C1、C2、P):

人的质心和椅子的质心分别记为Cp和Cc。椅子标签和人标签区域的质心之间的欧氏距离(即图3.c中的红线)记为E,在(5)中计算。如果该距离小于阈值,则将椅子归为可移动对象(即,可以被人为移动)。

移动(运动)和可移动对象的判断

如图5所示:
步骤1提供经过贝叶斯更新细化的移动和可移动对象的语义区域。
在步骤2中获得质心之间的距离。
阈值受移动和移动对象之间的深度差的影响,并在步骤3中灵活定义。首先,根据细化的分割区域获得人和椅子标记内容的深度信息。然后应用Otsu算法进一步对最显著的位置(foreground)进行区分,并获得对象的精确区域,如图4所示。


右图像是使用Otsu方法提取的区域。我们使用每个提取对象的平均深度分别计算A和B1、A和B2区域之间的深度差。深度差的两个值被转换为(6),以生成相应的阈值。利用衰减函数来模拟深度差与阈值之间的关系,可以看作是阈值的自适应选择。也就是说,移动对象和可移动对象之间的深度差越小,可移动对象越可能是动态的。
如图5第4步和第5步所示,如果质心欧氏距离小于计算的阈值,则可移动物体视为动态,否则视为静态。
例如,在图3.d中,我们将C1和P之间的质心距离表示为C1P,将C2和P之间距离表示为C2 P。如果C1 P大于其相应的阈值,则左侧的椅子估计为静态。如果C2P小于其相应的阈值,则右侧的椅子被估计为动态的。
实验
在TUM数据集和现实环境上对我们的系统进行评估。Kinect-V1提供实时RGB和深度图像,大小为640*480。

使用绝对轨迹误差(A TE)和相对位姿误差(RPE)进行实验,定量比较结果如表一至表三(绝对估计误差、平移漂移、旋转漂移)
对于ATE,RS-SLAM算法的平均RMSE提高了91.49%,标准差(SD)提高了88.03%,表明RS-SLAM算法具有较好的鲁棒性和稳定性。结果表明,在动态场景下,该方法可以显著提高SLAM性能。
