Yuan, Xun, and Song Chen. “SaD-SLAM: A Visual SLAM Based on Semantic and Depth Information.” In 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 4930–35. Las Vegas, NV, USA: IEEE, 2020. https://doi.org/10.1109/IROS45743.2020.9341180.
1 Introduction
本文的贡献如下:
- 在 ORB-SLAM2 的基础上提出了一种基于特征的RGB-D SLAM 算法——SaD-SLAM,该算法结合语义信息、几何信息和深度信息,可在动态环境中运行良好;
- 在当前帧和历史帧的特征点之间进行对极几何约束,从动态物体及静态但可移动的物体(如椅子等)上提取静态特征点,来提高相机位姿估计的准确度与鲁棒性。
3 System Description
本系统利用语义掩码和深度信息实行三步走算法:位姿初始化、移动一致性测试,以及位姿细调。
如Fig. 1所示,作者将室内场景中的特征点分为三类:动态点(人)、静态但可移动点(椅子),以及静态点。
3.1 Framework of SaD-SLAM
SaD-SLAM 是在ORB-SLAM2 基础上进一步开发的,其系统架构如Fig. 2所示:
3.2 Semantic Segmentation
本文使用Mask R-CNN 网络获取输入图片的像素级语义信息,并挑选出潜在动态物体及相对较大的但是可移动的物体的掩码,对于TUM 数据集而言,这里指的是人与椅子,位于人身上的特征点被标记为动态特征点,位于椅子上的特征点被标记为静态但可移动特征点,其他物体上的特征点被标记为静态特征点。
3.3 Pose Initialization
一些小物件(如笔、书等)对于CNN 而言较难识别出来,或者精度较差。作者采取以下策略进行辅助检测:对于不属于人或椅子的特征点,检测以自身为中心、半径分别为5像素和10像素的区域内是否有像素属于人和椅子,若存在,且该像素的深度信息与本特征点相似,则将本特征点分别标记为动态点和静态但可移动点,其中,动态点(人)的优先级更高;以此可在不需要CNN 的情况下方便识别出人类手上的物体等。此外,作者还提到CNN 在物体边缘附近的识别精度较差,该方法也可以弥补这些错误识别。最终,可让CNN 识别更少的物体种类,实现CNN 的快速与小型化。
在实现对物体类别信息获取的基础上,系统利用静态点和静态但可移动点构建重投影误差,实现对位姿的初始估计。值得注意的是,这里也使用了静态但可移动特征点进行位姿求解,这是因为这些点更有可能是保持静止的,或者移动速度较慢。
3.4 Moving Consistency Testing
作者在连续5帧中跟踪可能移动的特征点及静态特征点,如果当前帧与之前第4帧(即连续5帧中的最前面一帧)中的对应特征点满足对极几何约束,则判定连续5帧中的这些点均为静态点。这里的对极几何约束与其他文章中的方法类似,判定匹配点与极线之间的距离是否超过阈值。
3.5 Pose Fine-tuning
作者将特征点的动态属性分为以下四种:1. 静态点,2. 动态点, 3. 静态但可移动点, 4. 从动态点或静态但可移动点转换过来的静态点。
当前阶段,已有的输入数据包括:相机初始位姿估计,静态特征点,动态特征点,静态但可移动物体上的特征点,以及利用移动一致性测试检测到的从移动特征点转换的静态特征点。位姿细调过程包含两步:
- 第一步:利用静态特征点、静态但可移动物体上的特征点、利用移动一致性测试检测到的从移动特征点转换的静态特征点进行最小化重投影误差来优化相机位姿;
- 第二步:利用上步得到的相机位姿,将局部地图上的更多特征点重投影至当前帧,并保留地图点的动态属性,只选取属于静态的地图点与上步中使用的特征点,结合起来进行再一次的相机位姿优化。
4 Experimental Results
为了证明移动一致性检验的作用,作者将该模块去掉,只使用先验静态物体上的特征点进行位姿求解,将该方法记为SaD-SLAM—,结果对比如表2所示:
同时,作者与DynaSLAM、DS-SLAM 进行对比,结果如下所示: