0%

论文记录 DS-SLAM_A Semantic Visual SLAM towards Dynamic Environments

Yu, Chao, Zuxin Liu, Xin-Jun Liu, Fugui Xie, Yi Yang, Qi Wei, and Qiao Fei. “DS-SLAM: A Semantic Visual SLAM towards Dynamic Environments.” In 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 1168–74. Madrid: IEEE, 2018. https://doi.org/10.1109/IROS.2018.8593691.

1 Introduction

本文的贡献:

  1. 提出一个基于ORB-SLAM2 应用于动态环境中的语义SLAM 系统——DS-SLAM,在公开数据集上进行测试,证明了本系统在动态环境中的精度与鲁棒性
  2. 添加一个实时语义分割网络线程,结合语义分割和运动一致性检验来滤除场景中的动态区域;
  3. 创建了一个构建稠密3D 语义八叉树地图的线程。

3 System Introduction

3.1 Framework of DS-SLAM

本章介绍五个部分的内容:

  1. DS-SLAM 的整体架构;
  2. 本算法中使用的实时语义分割方法;
  3. 特征点运动一致性检验;
  4. 外点剔除方法:结合语义分割和运动一致性来滤除动态物体;
  5. 构建语义八叉树地图的方法。

3.1 Framework of DS-SLAM

由于ORB-SLAM2 在实际应用中的优良表现,作者使用ORB-SLAM2 作为本算法的基本架构,来提供一个基于特征的全局SLAM 算法架构。系统整体架构如Fig. 1所示,DS-SLAM 运行5个线程:跟踪语义分割局部制图回环检测稠密建图

fig1

系统框架如Fig. 2所示,整体流程如下所示:

  1. RGB 图片同时被跟踪线程语义分割线程处理;
  2. 跟踪线程首先提取ORB 特征点,然后粗略检验特征点的运动一致性,并保存潜在的外点;
  3. 待像素级语义分割结果生成后,基于语义分割结果和上步检测到的潜在外点,识别出动态物体,并剔除位于动态物体内的ORB 外点
  4. 最后,利用剩余的稳定特征点来计算转换矩阵。

fig2

3.3 Moving Consistency Check

本系统认为,如果一个分割物体内的一些点被识别为动态的,那么就判定该物体是动态物体

运动一致性检验步骤如下:

  1. 首先,计算光流金字塔来获取当前帧中的匹配特征点;
  2. 然后,如果特征点匹配对太靠近图片边缘,或者两帧图片以特征点中心的3*3 图像块的像素差异过大,那么该匹配对也会被舍弃;
  3. 接着,利用RANSAC 策略计算基础矩阵,在此基础上计算当前帧中的极线
  4. 最后,根据匹配点对与极线之间的距离来判断该匹配点对是否是动态的。

基础矩阵将上一帧的特征点投影至当前帧上,得到对应的搜索区域,即极线。假设相邻两帧的匹配点对齐次坐标与像素坐标为:

f1

然后,利用下式计算对应的极线

f2

其中,$[X,Y,Z]^T$ 表示极线向量;F 表示基础矩阵。在此基础上,计算当前帧匹配点与极线之间的距离:

f3

运动一致性检验算法整体流程如算法1所示:

a1

3.4 Outliers Rejection

利用几何方法难以确定动态区域的轮廓,因此DS-SLAM 结合语义分割结果来得到动态物体的轮廓:利用运动一致性检验得到动态特征点集合,然后判断物体轮廓内动态特征点的数量是否超过阈值,若超过阈值,则判定该物体属于动态物体,然后剔除掉属于该物体的所有特征点

作者的实验证明,本系统ORB 特征提取时间+移动一致性检验的时间,与语义分割线程所需的时间基本一致。

t1

由于人类活动会在大部分真实场景中影响机器人的定位,所以作者以人类作为一个典型示例,展示DS-SLAM 的效果,但理论上DS-SLAM 可以应用于多种不同的动态物体检测。

作者判断动态物体的策略为:如果语义分割结果中没有人类,则使用所有的ORB 特征点直接进行匹配与位姿解算;如果有人类被检测到,则结合运动一致性来检验动态物体。

4 Experimental Results

t3