【开源方案共享】大型户外环境的视觉语义SLAM
标题:Visual Semantic SLAM with Landmarks for Large-Scale Outdoor Environment
作者:Zirui Zhao, Yijun Mao, Yan Ding
编译:particle
欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。
论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信dianyunpcl@163.com。
摘要
基于语义SLAM系统是自主驾驶的一个重要领域,它可以使机器人完成高级导航任务,获得简单的感知或预测的能力,实现基于语言的人机交互。本文结合ORB-SLAM[1]、[2]的三维点云和卷积神经网络模型PSPNet-101[3]中的语义分割信息,建立了一个面向大规模环境的三维语义地图生成系统。此外,还建立了一个新的KITTI[4]序列数据集,包含了该序列相关街道的GPS信息和Google地图上的地标标记。此外,本文还提出了一种将现实世界地标与点云地图相关联的方法,并基于语义地图构建了一个拓扑图。
代码开源:(这里期待有兴趣运行代码的小伙伴可以私信我,与我交流。)
https://github.com/1989Ryan/Semantic_SLAM/
内容介绍
在系统中,使用乐基于单目视觉SLAM系统ORB SLAM2的特性。该系统采用了具有旋转不变性的(ORB)特征,具有良好的运动鲁棒性和良好的实时性。可用于多种室外环境场景,具有良好的闭环性能。并使用ORB-SLAM提取视觉特征进行重新定位。语义信息由深度神经网络(DNN)获取。并使用PSPNet-101模型对19个不同语义标签的像素级图像进行语义分割,包括车辆、建筑物、植被、人行道和道路。然后在像素级将语义信息与点云地图相关联。在语义上,我们将建筑物地标与语义点云联系起来。并将从Google地图获得的地标与用于城市区域导航的语义3D地图相关联。它可以在不需要GPS信息的情况下实现基于地标的再定位。
本文主要贡献如下:
·开发了一个系统,通过将视觉SLAM地图与大规模环境的语义分割信息相融合来构建3D语义地图。
·为KITTI[4]序列开发了一个新的数据集,其中包含了GPS信息和Google地图中序列相关街道的地标标签。
·开发了一种将现实世界地标与点云地图相关联的方法,并基于语义地图构建了一个拓扑图。
1
系统概述
系统不仅可以利用ORB特征重建三维环境,还可以实现GPS数据融合、地图再利用、实时重定位和基于地标的定位。整个系统的流程图如图1所示。首先,采用基于CNN的分割算法对图像进行分割。像素级语义SLAM结果和当前帧将传递到SLAM系统进行环境重建。该方法利用当前帧中的角点特征生成点云,重建几何环境。在SLAM系统中,像素级语义信息通过贝叶斯更新规则与地图点关联,更新一帧内每个观测点的概率分布。然后将这些地标投影到SLAM地图中,并与SLAM系统中保存的最近的关键帧相关联。
2
语义mapping
1) 语义分割:语义分割的目的是对每个像素的语义标签进行正确的分类。在这项工作中,我们选择PSPNet-101模型进行图像分割,而TensorRT模型用于实时预测加速。
2) ORB SLAM2:三维重建是由ORB SLAM[1]实现的,这是一个基于开源视觉特征的先进SLAM系统。具有良好的实时性能和极佳的回环检测。使用ORB-SLAM进行三维重建和轨迹估计。在ORB-SLAM系统中,有三个线程并行运行,即跟踪、局部地图和回环检测。
3) 实时数据融合:数据融合的步骤是将语义与SLAM系统中的每个地图点关联起来。在这一步骤中,使用贝叶斯更新规则来更新每个地图点的语义标签的概率分布。首先,每个像素上超过19个标签的分数将被发送到SLAM系统。在ORB-SLAM系统中,好的特征点被保存并转换到点云中。在三维点云坐标系和相机坐标系中,这些特征点之间存在着转换关系。
3
GPS融合
为了在像素级将建筑地标与点云关联,生成语义点云,需要将Google地图中使用的WGS84建筑地标坐标转换为与点云相同的坐标系。但是,从googlemap api获得的WGS84中的经纬度不适合直接转换。因此,我们首先将坐标转换为笛卡尔坐标,其中单位为米。在将关键帧的GPS信息转换为笛卡尔坐标后,采用Besl和McKay提出的点云坐标系统一方法。每隔30帧,我们将当前帧作为采样点,并将相应的姿态和经纬度添加到两个全局采样器中。最后,我们利用奇异值分解来计算全局采样器中这两个点集之间的最佳旋转。
4
拓扑语义图
语义SLAM还可以生成一个拓扑语义图,该图只包含地标之间的几何关系。语义图中只有边和节点,更适合全局路径规划。拓扑图是通过以下步骤构建的。首先,在SLAM系统中完成地图构建后,保存相机的运动轨迹。地标将与其最近的关键帧相关联。第二,将保存两种关键帧,即与地标相关的关键帧和在哪里转弯的关键帧。第三,回环检测将会使地图得到优化。如果先前的节点表示相同的位置或地标,则它们将与新节点融合。拓扑语义图如图所示
实验与评估
为了评价语义SLAM系统,我们使用了KITTI数据集中的多个大型户外序列。我们系统的定性结果如图4所示。每个图显示了整个地图的多个视图。标记分布和拓扑语义图也如图所示。结果表明,我们的系统能够成功地将语义标签融合到ORB SLAM生成的点云中,从而生成包含19个标签的语义3D点云。此外,还预先形成了地标级数据融合,得到了不同序列下良好的拓扑关系。
总结
本文提出了一种基于单目摄像机的带有路标的语义SLAM系统,用于大规模的室外定位和导航。现有的研究只关注机器人的准确性和实时性,这可能很难真正提高机器人的整体感知水平。基于KITTI-GPS信息建立了一个数据集,用于基于地标的语义融合和拓扑语义建图。本系统利用上述数据集构建了一个包含地标信息的三维语义点云。它包含了地标的真实名称和位置,多个语义标签,使得基于离线语言的人机交互、面向任务的导航或地标级定位成为可能。通过坐标系变换和贝叶斯更新,将三维地图与相关语义信息进行融合。基于高斯分布的模糊隶属度实现地标数据融合,建立拓扑语义图。
参考文献
[1] R. Mur-Artal, J. M. M. Montiel, and J. D. Tardos, “Orb-slam: a versatile and accurate monocular slam system,” IEEE transactions on robotics, vol. 31, no. 5, pp. 1147–1163, 2015.
[2] R. Mur-Artal and J. D. Tardos, “ORB-SLAM2: an open-source SLAM ´ system for monocular, stereo and RGB-D cameras,” IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255–1262, 2017.
[3] H. Zhao, J. Shi, X. Qi, X. Wang, and J. Jia, “Pyramid scene parsing network,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2017, pp. 2881–2890
资源
三维点云论文及相关应用分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)
PCL中outofcore模块---基于核外八叉树的大规模点云的显示
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享