本文提出了一种面向动态环境的健壮语义视觉SLAM(DS-SLAM)。在DS-SLAM中,有五个线程并行运行:跟踪、语义分割、局部映射、循环闭合和密集语义地图创建。DS-SLAM将语义分割网络与运动一致性检查方法相结合,降低了动态目标的影响,从而大大提高了动态环境下的定位精度。同时,将语义分割网络与光流法相结合,提出了一种可用于机器人高层任务的八叉树映射语义表示法,生成了密集的语义八叉树映射图,可用于更加高级的任务。
1.SLAM是非常基础且重要的机器人应用,目前已经取得了很大的成果。
2.仍然有一些问题没有得到很好的解决,例如如何处理动态环境中的运动物体,如何使机器人真正地理解周围的环境并完成高级任务。
3.现有算法很脆弱,且只通过几何方法进行图像处理,无法从丰富的视觉信息中提取出可供机器人执行高级任务的信息,无法让机器人对周围环境进行高级了解。
1.Vasudevan等人应用一种简单的朴素贝叶斯分类器来识别场景类别,并基于预先训练的对象给出空间的分层概率表示。
S. Vasudevan and R. Siegwart, “Bayesian space conceptualization and place classification for semantic maps in mobile robotics,” Robotics and Autonomous Systems, vol. 56, no. 6, pp. 522-537, 2008.
2.Sengupta等人提出了一种有效的3D模型描述方法。其将八叉树嵌入到分级稳健马尔可夫随机场中,以向地图中的每个体素提供语义标签。
S. Sengupta and P. Sturgess, “Semantic octree: Unifying recognition, reconstruction and representation via an octree constrained higher order MRF,” in Robotics and Automation (ICRA), 2015 IEEE International Conference on, 2015, pp. 1874-1879: IEEE.
3.Sünderhauf等人将卷积神经网络应用于三维点分割,基于最近邻法将语义标签与物体进行关联,添加或更新目标物体点云信息和从属类型置信度值的地图。
N. Sü nderhauf, T. T. Pham, Y. Latif, M. Milford, and I. Reid,
“Meaningful Maps − - − Object-Oriented Semantic Mapping,” arXiv
preprint arXiv:1609.07849, 2016.
4.Bao等人]首先利用场景中的几何和语义属性对摄像机姿态、点和物体进行联合估计,显著提高了物体识别的准确率.
S. Y. Bao, M. Bagra, C. Yu-Wei, and S. Savarese, “Semantic structure from motion with points, regions, and objects,” pp. 2703-2710, 2012.
1.Fang等人采用最优估计和均匀抽样的方法检测动态目标。
Y. Fang and B. Dai, “An improved moving target detecting and
tracking based on optical flow technique and kalman filter,” in
Computer Science & Education, 2009. ICCSE’09. 4th International
Conference on, 2009, pp. 1197-1202: IEEE.
2.Wang等人通过基于点轨迹对图像进行聚类来检测动态对象,并将其从能量函数最小化中排除。他们的方法是鲁棒的,但不能实时执行。
Y. Wang and S. Huang, “Towards dense moving object segmentation based robust dense RGB-D SLAM in dynamic scenarios,” in Control Automation Robotics & Vision (ICARCV), 2014 13th International Conference on, 2014, pp. 1841-1846: IEEE
1.在ORB-SLAM2的基础上,提出了一个完整的动态环境下语义SLAM系统(DS-SLAM),以降低动态物体对位姿估计的影响。
2.将实时语义分割网络放在一个独立的线程中,将语义分割与运动一致性检查方法相结合,过滤出场景中的动态部分,如行走的人。从而提高了定位模块和映射模块在动态场景下的鲁棒性和准确性。
3.DS-SLAM创建单独的线程来构建密集的语义3D八叉树映射[8]。密集语义三维八叉树地图采用对数赔率计分方法过滤掉不稳定的体素,并更新这些体素的语义。
F.2系统流程图
局部建图线程和闭环检测线程与ORB-SLAM2相同。
DS-SLAM中有五个线程并行运行:
1.跟踪、
2.语义分割、
3.局部建图、
4.闭环检测、
5.密集八叉树地图创建
系统框架如F.2所示。对Kinect2采集的原始RGB图像同时进行跟踪线程和语义分割线程的处理。跟踪线程首先提取ORB特征点,然后粗略地检查特征点的移动一致性,并保存潜在的离群点。然后,跟踪线程等待语义分割线程预测的具有像素级语义标签的图像。在分割结果到达后,根据分割结果和之前检测到的潜在离群点,丢弃位于运动对象中的ORB特征点离群点。然后,通过匹配其余的稳定特征点来计算变换矩阵。
A.绝对路径误差和相对位姿误差
B.运算时间评估
主线程处理每帧的平均时间为59.4ms.
在高动态环境下,DS-SLAM在准确性和鲁棒性方面明显优于ORB-SLAM2。但是在低动态的环境下,DS-SLAM的性能并没有突出优于ORB-SLAM2,是因为后者本身就能很好地处理低动态场景下的动态问题。