大家好,又见面了,我是你们的朋友全栈君。
同时定位与地图重建(Simultaneous Localization and Mapping, SLAM),是机器人领域中的一项基础的底层技术,其希望机器人能在一个陌生的环境下实现自身的实时定位,同时能够重建出有关于环境的地图。随着近年无人驾驶、增强现实、虚拟现实等应用的兴起,作为实现这些应用的SLAM技术也越发引人注目。SLAM技术主要完成两项任务:自身定位与环境建图,也是让机器知道自己在哪里,已经周围的环境是啥。然而,如果想要精确的实现定位任务就不可避免的需要高精度的地图,而高精度的地图重建是需要以更为精确的自身定位作为基础的。 近年以来,除了传统的激光SLAM解决方案,基于视觉,基于惯性传感器等等的解决方案也在不断变多,整个SLAM领域整体呈现百花齐放的态势。 一. 目前在SLAM领域中的关键问题: 1、数据关联:SLAM技术在未来的发展过程中必然会有一个方向是将SLAM系统中集成多传感器,进行多传感器的融合任务。但是显而易见的是不同的传感器之间具有不同的特征,目前的很多SLAM研究人员都转向了研究多传感器SLAM中的传感器校准(例如自校准或者快速标定等内容),状态估计和后端BA优化。 2、 多机SLAM联合建图:目前在小范围内已有的若干SLAM系统大多都能获得比较好的效果,但是面对大规模,长时间的SLAM问题,如果只采用单机SLAM系统则获得良好的效果,此时通过分散的多机SLAM系统来解决大场景,长时间的SLAM任务将会是一个比较合适的选择,属于比较前沿的SLAM研究方向。 3、 高清晰度、信息量丰富的地图:SLAM技术作为机器人领域的一项底层基础技术,需要根据上层应用程序需要提供一张具有丰富信息的地图,其中比较具有代表性的地图形式就是拓扑地图,语义地图,以及点云地图等等;同时当SLAM系统的面对大场景,长时间的情况时,采用何种方式来存储更新地图也将是一个迫切需要解决的问题。 3、目前SLAM技术仍然面对着更强适应性、鲁棒性、可扩展性的要求。 4、适合的SLAM应用:目前SLAM技术具有广泛的应用场景,但是许多SLAM系统依然处在实验室研究阶段,缺乏合适的工程工具进行封装,需要我们继续完善SLAM的应用生态。 二. SLAM领域中的经典数据集: 1.KITTI数据集(单目视觉 ,双目视觉, velodyne, POS 轨迹)
KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。
下载地址链接:https://pan.baidu.com/s/1htFmXDE 密码:uu20
2.TUM数据集(自带Ground-truth轨迹与测量误差的脚本)
数据集包含一些室内的序列,在不同的纹理下,不同的光照和不同的结构条件,从RGB-D传感器采集到的数据中分别去评估物体的重建和SLAM/视觉里程计的性能。TUM提供很多数据集,从各个有利位置捕获对象,每个条目中包含图像序列、相应的轮廓和完整的校准参数。
下载地址:链接:https://pan.baidu.com/s/1htFmXDE 密码:uu20
3.Oxford数据集(室外场景)
对牛津的一部分连续的道路进行了上百次数据采集,收集到了多种天气、行人和交通情况下的数据,也有建筑和道路施工时的数据,总的数据长度达1000小时以上。
下载地址:https://robotcar-dataset.robots.ox.ac.uk/
4.EuRoC数据集(无人机拍摄序列)
EuRoC数据集包含11个双目序列,这些序列是由小型无人机在两个不同的房间和一个大型工业环境中飞行时记录下来的。提供两种类型的数据集: 第一个包含来自Leica多站的三维位置地面真值,并着重于视觉惯性的评估SLAM算法在一个真实的工业场景。
下载地址:链接:https://pan.baidu.com/s/1miXf40o 密码:xm59
5.ICL-NUIM数据集(室内向,提供ground-truth和odometry)
该集旨在对RGB-D、视觉测距和SLAM算法进行基准测试。两个不同的场景(起居室和办公室场景)提供了基本事实。客厅具有3D表面地面实况以及深度图和相机姿势,因此完美地适用于不仅用于标记相机轨迹而且还用于重建。办公室场景仅带有轨迹数据,并且没有任何明确的3D模型。 下载地址:http://www.doc.ic.ac.uk/~ahanda/VaFRIC/iclnuim.html
6.RGB-D对象数据集
RGB-D对象数据集是300个常见家庭对象的大型数据集。这些对象被分为51个类别。该数据集使用Kinect风格的3D相机来记录,该相机以30Hz记录同步和对准的640×480 RGB和深度图像。拍摄时将每个物体放置在转盘上旋转一整圈并捕获视频序列。对于每个对象,有3个视频序列,每个视频序列都安装在不同高度的摄像机上,以便从与地平线不同的角度观察对象。
下载地址:http://rgbd-dataset.cs.washington.edu/
7.SYNTHIA(室外环境)
SYNTHIA数据集是为了解决在驾驶场景的上下文中解决语义分割和相关的场景理解问题。SYNTHIA包括通过从虚拟城市渲染出来多个帧集合,并包含针对13类对象的精确像素级语义标注,其中每一项是:杂项,天空,建筑物,道路,人行道,栅栏,植被,杆,汽车,路标,行人,骑自行车的人,车道标记。
官网:http://synthia-dataset.net/
8.Cityscapes
Cityscapes数据集中包含来自50个不同城市的街道场景中记录的各种立体视频序列集,此外还有50000帧的高质量像素级标注以及20000弱标注帧的大型数据集。同时,有关图像标注的详细信息和标注示例可在此网页上找到。
Cityscapes数据集的用途主要表现在:
1、评估视觉算法在语义城市场景理解任务上的性能,包括像素级、实例级和全景语义级人物等;
2、意在支持许多需要大量(弱)标注数据的研究,例如用于训练深度神经网络等。
官网:https://www.cityscapes-dataset.com/
三.项目推荐:
- ORB-SLAM系列:
ORB-SLAM是Mur-Artal R等人在2015年首次提出,并在2017年,2020年不断完善的基于ORB特征描述子构建的SLAM系统,是现代SLAM系统中相对完善且易用的SLAM系统;相较于其他的SLAM系统,ORB-SLAM具有以下这些显著的优点:
1、支持单目、双目、RGBD摄像头。可以说是对视觉SLAM涉及的传感器进行了全面的兼容。
2、整个系统围绕ORB特征展开,ORB特征是一种在精度和效率直接的合理折中,满足了SLAM系统需要
3、首次提出了回环检测的概念。
4、ORB-SLAM创造性的采用了多线程的思路来将不同SLAM系统中的不同模块进行拆分,将模块化设计引入SLAM系统。
除了上述主要的特点之外,ORB-SLAM还进行了很多细节上的优化和扩充,使得整个SLAM系统有着目前为止依然较为优秀的鲁棒性,效率和准确率。同时,ORB-SLAM v1版本主要针对单目系统,ORB-SLAM v2版本增加了立体相机和RGBD相机的适配,ORB-SLAM v3增加了IMU和多地图的功能,使得整个SLAM系统不断完善和强化。
以下是笔者自己试验的一段ORB-SLAM v2的效果:
ORB-SLAM v1: https://github.com/raulmur/ORB_SLAM ORB-SLAM v2: https://github.com/raulmur/ORB_SLAM2 ORB-SLAM v3: https://github.com/UZ-SLAMLab/ORB_SLAM3 四.SLAM系统的常见应用 1、无人机导航:
2、无人驾驶:
3、VR/AR:
参考文献: [1]Huang B , Zhao J , Liu J . A Survey of Simultaneous Localization and Mapping[J]. 2019. [2]刘浩敏, 章国锋, 鲍虎军. 基于单目视觉的同时定位与地图构建方法综述[J]. 计算机辅助设计与图形学学报, 2016, 28(6):855-868. [3]Davison A J, Reid I D, Molton N D, et al. MonoSLAM: realtime single camera SLAM[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(6):1052-1067. [4]Kummerle R , Grisetti G , Strasdat H , et al. G2o: A general framework for graph optimization[C]// Robotics and Automation (ICRA), 2011 IEEE International Conference on. IEEE, 2011. [5]Polok L . Incremental Cholesky Factorization for Least Squares Problems in Robotics[C]// Intelligent Autonomous Vehicles. 2013. [6]Klein G , Murray D . Parallel Tracking and Mapping for Small AR Workspaces[C]// Mixed and Augmented Reality, 2007. ISMAR 2007. 6th IEEE and ACM International Symposium on. ACM, 2007. [7]Mur-Artal R , Montiel J M M , Tardos J D . ORB-SLAM: a Versatile and Accurate Monocular SLAM System[J]. IEEE Transactions on Robotics, 2015, 31(5):1147-1163. [8]Mur-Artal R , Tardos J D . ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras[J]. IEEE Transactions on Robotics, 2017:1-8. [9]D. Galvez-L ´ opez and J. D. Tard ´ os, “Bags of binary words for fast place recognition in image sequences,” IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188–1197, 2012. [10]Sivic, Zisserman. Video Google: a text retrieval approach to object matching in videos[C]// Proceedings Ninth IEEE International Conference on Computer Vision. IEEE, 2003. [11]Robertson, Stephen. Understanding inverse document frequency: on theoretical arguments for IDF[J]. Journal of Documentation, 2004, 60(5):503-520.