A Survey of Simultaneous Localization and Mapping

同时定位与构图(SLAM)的调查

(本文对A Survey of Simultaneous Localization and Mapping 翻译并整理)

LIDAR SLAM

A. Lidar Sensors

激光雷达传感器可分为2D激光雷达和3D激光雷达,它们由激光雷达光束的数量定义。 就生产工艺而言,激光雷达还可分为机械激光雷达,混合式固态激光雷达(如MEMS)(微机电)和固态激光雷达。 固态激光雷达可以通过相控阵和闪存技术生产。

B.Lidar SLAM System

Sebastian Thrun, Wolfram Burgard, and Dieter Fox. Probabilistic robotics. MIT press, 2005. 举例说明了数学上关于如何基于概率同时使用二维激光雷达进行本地化和制图的理论

Joao Machado Santos, David Portugal, and Rui P Rocha. An evaluation of 2d slam techniques available in robot operating system.对2D Lidar SLAM系统进行了调查

1)2D SLAM

Gmapping:这是基于RBPF(Rao-Blackwellisation局部滤波器)方法的机器人中使用最多的SLAM软件包。 它增加了扫描匹配方法来估计位置。 它是基于FastSLAM的带有网格图的改进版本。

HectorSlam:它将2D SLAM系统和3D导航与扫描匹配技术和惯性传感系统结合在一起。

KartoSLAM:这是一个基于图的SLAM系统。

LagoSLAM:其基本原理是基于图的SLAM,它是非线性非凸代价函数的最小化。

CoreSLAm:这是一种性能损失最小的算法。

Cartographer:这是Google的SLAM系统。它采用了子映射和循环闭合,以实现更好的产品级性能。 该算法可以跨多个平台和传感器配置以2D和3D提供SLAM。

2)3D SLAM

Loam:这是使用3D Lidar进行状态估计和映射的实时方法。 它还具有来回旋转版本和连续扫描2D激光雷达版本。

Lego-Loam:它从Velodyne VLP-16激光雷达(水平放置)和可选的IMU数据中获取点云作为输入。 该系统实时输出6D姿态估计,并具有全局优化和闭环功能。

Cartographer:它支持2D和3D的SLAM。

IMLS-SLAM:它提出了一种新的低漂移SLAM算法,它仅基于基于扫描到模型匹配框架的3D LiDAR数据。

3)Deep learning with Lidar SLAM

特征与检测:PointNetVLAD 允许端到端训练和推理从给定的3D点云中提取全局描述符,以解决基于点云的位置识别检索。  VoxelNet 是一种通用的3D检测网络,它将特征提取和边界框预测统一为一个单阶段的,端到端的可训练深度网络。 其他工作可以在BirdNet 中看到。LMNet 描述了一种有效的单级深度卷积神经网络,用于检测对象并输出对象图和每个点的边界框偏移值。  PIXOR 是一种无提议的单级检测器,可输出根据像素神经网络预测解码的定向3D对象估计。Yolo3D 建立在2D透视图像空间中单次回归元体系结构成功的基础上,并将其扩展以从LiDAR点云生成定向的3D对象边界框。PointCNN 建议从输入点学习X变换。  X变换是通过典型卷积算子的逐元素乘积和求和运算来应用的。MV3D 是一种感觉融合框架,将激光雷达点云和RGB图像作为输入并预测定向的3D边界框。其他类似的工作也可以在CVPR2018的最佳论文中看到,但不仅限于Hang Su, Varun Jampani, Deqing Sun, Subhransu Maji, Evangelos Kalogerakis, Ming-Hsuan Yang, and Jan Kautz. Splatnet: Sparse lattice networks for point cloud processing. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2530– 2539, 2018.。

识别与分割:实际上,对3D点云的分割方法可分为基于边缘的,区域增长,模型拟合,混合方法,机器学习应用和深度学习。在此,本文重点介绍深度学习的方法。PointNet 设计了一种直接消耗点云的新型神经网络,它具有分类,分割和语义分析的功能。  Point Net ++ 通过不断扩展的上下文学习层次结构特征。VoteNet 为点云构建了一个3D检测管道,作为基于PointNet ++的端到端3D对象检测网络。  SegMap 是基于3D点云中线段提取的定位和制图问题的地图表示解决方案。SqueezeSeg是具有递归CRF(条件随机场)的卷积神经网络,用于从3d激光雷达点云实时分割道路目标。  PointSIFT是3D点云的语义分割框架。 它基于一个简单的模块,该模块从八个方向的相邻点提取特征。PointWise 提出了一种卷积神经网络,用于使用3D点云进行语义分割和对象识别。  3P-RNN是一种新颖的端到端方法,用于沿两个水平方向进行非结构化的点云语义分割,以利用固有的上下文特征。 可以看到其他类似的工作,但不仅限于SPG和review。SegMatch 是一种基于3D段检测和匹配的闭环方法。  Kd Network专为3D模型识别任务而设计,可与非结构化点云一起使用。DeepTempo ralSeg提出了一种深度卷积神经网络(DCNN),用于对具有时间一致性的LiDAR扫描进行语义分割。 可以看到其他类似的工作,但不仅限于PointRCNN 。

定位:L3-Net 是一种新颖的基于学习的LiDAR定位系统,可实现厘米级的定位精度。  SuMa ++在整个扫描过程中以点标记来计算语义分割结果,从而使我们能够构建带有标记的surfel的语义丰富的地图,并通过语义约束来改进投影扫描匹配。

C.Challenge and Future

1)Cost and Adaptability(成本和适应性)

Lidar的优势在于它可以提供3D信息,并且不受夜光变化的影响。 另外,视角比较大,可以达到360度。 但是,激光雷达的技术门槛很高,导致开发周期长,成本高昂。 未来,小型化,合理的成本,固态化以及实现高可靠性和适应性是趋势。

2)Low-Texture and Dynamic Environment(低纹理和动态场景)

大多数SLAM系统只能在固定的环境中工作,但情况会不断变化。 此外,低纹理的环境(如长走廊和大管道)将给激光雷达SLAM带来麻烦。  [1]使用IMU协助2D SLAM解决上述障碍。 此外,[2]将时间维度纳入映射过程,以使机器人能够在动态环境中运行时保持准确的地图。 应该更加深入地考虑如何使Lidar SLAM对低纹理和动态环境更强大,以及如何使地图保持最新状态。

[1] Zhongli Wang, Yan Chen, Yue Mei, Kuo Yang, and Baigen Cai. Imuassisted 2d slam method for low-texture and dynamic environments.Applied Sciences, 8(12):2534, 2018.

[2] Aisha Walcott-Bryant, Michael Kaess, Hordur Johannsson, and John J Leonard. Dynamic pose graph slam: Long-term mapping in low dynamic environments. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1871–1878. IEEE, 2012.

3)Adversarial Sensor Attack(对抗性传感器攻击)

深度神经网络容易受到对抗性样本的攻击,这在基于相机的感知中也得到了证明。但是,在基于激光雷达的感知中,它非常重要,但尚未探索。 通过中继攻击,[3]首先欺骗了激光雷达,干扰了输出数据和距离估计。 新颖的饱和度攻击完全无法使激光雷达基于Velodynes VLP-16感应到某个方向。  [4]探索了策略性地控制欺骗性攻击以欺骗机器学习模型的可能性。 本文将任务作为优化问题,并将输入扰动函数和目标函数设计为建模方法,将攻击成功率提高到75%左右。 对抗性传感器攻击将欺骗基于激光雷达点云的SLAM系统,该系统几乎很难发现和防御,因此是隐形的。 在这种情况下,关于如何防止激光雷达SLAM系统受到对抗性传感器攻击的研究应该成为一个新课题。

 [3] Hocheol Shin, Dohyun Kim, Yujin Kwon, and Yongdae Kim. Illusion and dazzle: Adversarial optical channel exploits against lidars for automotive applications. In International Conference on Cryptographic Hardware and Embedded Systems, pages 445–467. Springer, 2017.

[4] Yulong Cao, Chaowei Xiao, Benjamin Cyr, Yimeng Zhou, Won Park, Sara Rampazzi, Qi Alfred Chen, Kevin Fu, and Z Morley Mao.Adversarial sensor attack on lidar-based perception in autonomous driving. arXiv preprint arXiv:1907.06826, 2019.

 

Visual SLAM

随着CPU和GPU的发展,图形处理能力变得越来越强大。摄像头传感器同时变得更便宜,更轻巧,用途更广泛。 在过去的十年中,视觉SLAM迅速发展。 与Lidar系统相比,使用相机的Visual SLAM还使该系统更便宜,更小。 现在,可视化SLAM系统可以在微型PC和嵌入式设备中运行,甚至可以在智能手机等移动设备中运行。Visual SLAM包括传感器数据的收集,例如摄像机或惯性测量单元,前端的视觉里程表或视觉惯性里程表,后端的优化,后端的闭环和映射。重新定位是稳定和准确的视觉SLAM的附加模块。

A.Visual Sensors

基于视觉SLAM的最常用的传感器是相机。详细来说,相机可以分为单眼相机,立体相机,RGB-D相机,事件相机等。

Monocular camera:基于单目相机时代的视觉冲击具有真实的轨迹和地图尺寸。 就是说,单目相机无法获得真正的深度,这被称为Scale Ambiguity。 基于单目相机的SLAM必须进行初始化,并面临漂移问题。

Stereo camera:双目相机是两个单目相机的组合,但是已知两个单眼相机之间的基线距离。 尽管可以基于校准,校正,匹配和计算来获得深度,但是该过程将浪费资源。

RGB-D camera:RGB-D相机也称为深度相机,因为相机可以直接输出以像素为单位的深度。深度相机可以通过立体声,结构光和TOF技术实现。 结构光的理论是红外激光向物体表面发出某种具有结构特征的图案。 然后,红外摄像头将收集由于表面深度不同而引起的图案变化。TOF将测量激光飞行时间以计算距离。

Event camera:[5]说明,事件相机不是以固定的速率捕获图像,而是异步测量每个像素的亮度变化。 事件摄像机具有很高的动态范围(140 dB-60 dB),高时间分辨率(按我们的数量级),低功耗,并且不会受到运动模糊的影响。 因此,事件摄像机在高速和高动态范围内的性能可以优于传统摄像机。事件摄像机的示例是动态视觉传感器,动态线传感器,动态和主动像素视觉传感器和基于异步时间的图像传感器。

[5]  Guillermo Gallego, Tobi Delbruck, Garrick Orchard, Chiara Bartolozzi, and Davide Scaramuzza. Event-based vision: A survey. 2019.

接下来,将介绍视觉传感器的产品和公司:

   微软:Kinectc v1(结构化光),Kinect v2(TOF),Azure Kinect(带麦克风和IMU)。
   英特尔:200系列,300系列,模块D400系列,D415(有源红外立体声,卷帘快门),D435(有源红外立体声,全局快门),D435i(带IMU的D435)。
   Stereolabs ZED:ZED立体摄像机(深度达20m)。
   MYNTAI:D1000系列(深度相机),D1200(用于智能手机),S1030系列(标准立体相机)。
   枕骨结构:结构传感器(适用于ipad)。
   三星:第二代和第三代动态视觉传感器和基于事件的视觉解决方案

其他深度相机可以列出如下,但不限于Leap Motion,Orbbec Astra,Pico Zense,DUO,Xtion,Camboard,IMI,Humanplus,PERCIPIO.XYZ,Prime Sense。 其他事件摄像机可以列举如下,但不限于:Innovation,AIT(AIT奥地利技术学院),SiliconEye,Prophesee,CelePixel,Dilusense。

B. Visual SLAM system

利用来自图像的信息的方法可以分为直接方法和基于特征的方法。 直接方法导致半密集和密集构造,而基于4特征的方法导致稀疏构造。 接下来,将介绍一些视觉上的抨击(ATAM7是面向初学者的视觉SLAM工具包):

1)Sparse Visual SLAM(稀疏视觉SLAM)

MonoSLAM:它(单目)是第一个基于EKF的实时单SLAM系统。

PTAM :(单目)它是第一个并行跟踪和映射的SLAM系统。 它首先采用捆绑调整来优化关键帧的概念。 更高的版本支持简单而有效的重新定位方法。

ORB-SLAM:它(单目)使用三个线程:跟踪,基于束调整的局部优化(可见性图)和基于姿态图的全局优化(基本图)。ORB-SLAM v2 支持单眼,立体和RGB-D相机。 视觉惯性ORB-SLAM解释了IMU的初始化过程以及视觉信息的联合优化。

proSLAM:它(双目)是一种轻量级的视觉SLAM系统,易于理解。

ENFT-sfm:它(单目)是一种特征跟踪方法,可以有效地匹配一个或多个视频序列之间的特征点对应关系。 更新版本ENFT-SLAM可以大规模运行。

OpenVSLAm:它(所有类型的相机)基于具有稀疏特征的间接SLAM算法。OpenVSLAM的优点在于,该系统支持透视图,鱼眼图和等距矩形,甚至支持您设计的相机模型。

TagSLAM:它通过AprilTag基准标记实现SLAM 。 而且,它为GT-SAM因子图优化器提供了前端,可以设计大量实验。

2)SemiDense Visual SLAM(半致密的视觉SLAM)

LSD-SLAM:它(单目)提出了一种新颖的直接跟踪方法,该方法可以在李代数上运行,并且可以采用直接方法[6]。  [7]使它支持立体摄像机,[8]使它支持全向摄像机。

[6] Jakob Engel, Thomas Sch ¨ops, and Daniel Cremers. Lsd-slam: Largescale direct monocular slam. In European conference on computer vision, pages 834–849. Springer, 2014.

[7] Jakob Engel, J ¨org St ¨uckler, and Daniel Cremers. Large-scale direct slam with stereo cameras. In 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 1935–1942. IEEE, 2015.

[8] David Caruso, Jakob Engel, and Daniel Cremers. Large-scale direct slam for omnidirectional cameras. In 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 141–148.IEEE, 2015.

SVO:它(单眼)是半直接视觉里程计。 它使用基于稀疏模型的图像对齐来获得更快的速度。 该更新版本已扩展到多个摄像机,包括鱼眼镜头和折反射摄像机。[9]提供了有关VIO的详细数学证明。  CNN-SVO 是SVO的版本,具有来自单个图像深度预测网络的深度预测。

[9] Christian Forster, Luca Carlone, Frank Dellaert, and Davide Scaramuzza. On-manifold preintegration for real-time visual–inertial odometry. IEEE Transactions on Robotics, 33(1):1–21, 2016.

DSO:它(单目)是LSD-SLAM 作者的新作品。 该作品创建了基于直接方法和稀疏方法的可视化里程计,无需检测和描述特征点。

EVO:它(事件摄像机)[10]是基于事件的视觉测距算法。 我们的算法不受运动模糊的影响,并且在具有挑战性的高动态范围条件下以及强烈的照明变化下都能很好地运行。其他基于事件摄像机的SemiDense SLAM可以在[11]中看到。 在[12] [13]中可以看到基于事件相机的其他VO(视觉测距)系统。 

[10] Henri Rebecq, Timo Horstsch¨afer, Guillermo Gallego, and Davide Scaramuzza. Evo: A geometric approach to event-based 6-dof parallel tracking and mapping in real time. IEEE Robotics and Automation Letters, 2(2):593–600, 2016.

[11] Yi Zhou, Guillermo Gallego, Henri Rebecq, Laurent Kneip, Hongdong Li, and Davide Scaramuzza. Semi-dense 3d reconstruction with a stereo event camera. In Proceedings of the European Conference on Computer Vision (ECCV), pages 235–251, 2018.

[12] David Weikersdorfer, Raoul Hoffmann, and J ¨org Conradt. Simultaneous localization and mapping for event-based vision systems. In International Conference on Computer Vision Systems, pages 133–142.Springer, 2013.

[13] David Weikersdorfer, David B Adrian, Daniel Cremers, and J ¨org Conradt. Event-based 3d slam with a depth-augmented dynamic vision sensor. In 2014 IEEE International Conference on Robotics and Automation (ICRA), pages 359–364. IEEE, 2014.

3)Dense Visual SLAM(紧密视觉SLAM)

DTAM:它(单目)可以在一种新颖的非凸优化框架中基于最小化全局空间正则化能量函数的基础上实时重建3D模型,这被称为直接方法。

MLM SLAM:它(单目)可以在线重建密集的3D模型,而无需图形处理单元(GPU)。 关键贡献在于多分辨率深度估计和空间平滑过程。

Kinect Fusion:它(RGB-D)几乎是第一个带有深度摄像头的3D重建系统。

DVO:它(RGB-D)提出了一种密集的视觉SLAM方法,一种基于熵的相似度度量用于关键帧选择和基于g2o框架的闭环检测。

RGBD-SLAM-V2:它(RGB-D)无需其他传感器即可重建准确的3D密集模型。

Kintinuous:它(RGB-D)是一种视觉SLAM系统,具有实时全局一致的点和网格重建。

RTAB-MAP:它(RGB-D)支持同时进行本地化和映射,但是很难成为开发高级算法的基础。 后者支持视觉和激光雷达SLAM 。

Dynamic Fusion:它(RGB-D)展示了第一个密集SLAM系统,该系统能够基于Kinect融合的实时重建非刚性变形场景。VolumeDeform还实现了实时的非刚性重建,但不是开源的。 在Fusion4D中可以看到类似的工作。

Elastic Fusion:它(RGB-D)是一种实时密集的视觉SLAM系统,能够捕获使用RGB-D摄像机探索的全面密集的,全球一致的基于冲浪的房间规模环境图。

InfiniTAM:它(RGB-D)是一种实时3D重构系统,在Linux,IOS和Android平台中均具有CPU。

Bundle Fusion:它(RGB-D)支持强大的跟踪功能,可从严重的跟踪故障中恢复,并实时重新估计3D模型以确保全局一致性。

4)Visual Inertial Odometry SLAM

确定视觉冲击在技术上具有挑战性。单目视觉SLAM存在诸如必要的初始化,尺度模糊和尺度漂移等问题。 尽管立体声相机和RGB-D相机可以解决初始化和缩放问题,但仍然存在一些障碍,例如快速移动(通过全球航天飞机或鱼眼镜头甚至全景相机解决),视野小,计算量大,遮挡, 功能损失,动态场景和光线变化最近,VIO(视觉惯性里程法SLAM)成为流行的研究。
SSF:它(基于松散耦合,基于滤波器)是基于EKF的时延补偿单传感器和多传感器融合框架。

MSCKF:Google Tango基于扩展的卡尔曼滤波器采用了它(紧密耦合,基于滤波器)。但是类似的工作叫做MSCKF-VIO 进行了开源。

ROVIO:它(紧密耦合,基于滤波器)是扩展的卡尔曼滤波器,具有跟踪3D界标和图像补丁功能的功能。它支持单目相机。

OKVIS:它(紧密耦合,基于优化)是一种开放式经典的基于关键帧的视觉惯性SLAM 。 它支持基于单目和双目相机的滑动窗口估计器。

VINS:VINS-Mono(紧密耦合,基于优化)是用于单目视觉惯性系统的实时SLAM框架。 开源代码在Linux上运行,并与ROS完全集成。VINS-Mobile 是在兼容的iOS设备上运行的实时单目视觉惯性里程表。 此外,VINS-Fusion支持多种视觉惯性传感器类型(GPS,单摄像机+ IMU,立体声摄像机+ IMU,甚至仅立体声摄像机)。 它具有在线空间校准,在线时间校准和可视回路闭合功能。

ICE-BA:它(紧密耦合,基于优化)为视觉惯性SLAM提供了增量,一致和高效的捆绑包调整,可并行执行滑动窗口上的局部BA和所有关键帧上的全局BA,并输出摄像头 实时为每帧姿势和更新地图点。

Maplab:它(紧密耦合,基于优化)是一种开放的,面向研究的视觉惯性映射框架,以C ++编写,用于创建,处理和操纵多会话地图。 一方面,可以将maplab视为现成的视觉惯性制图和定位系统。 另一方面,maplab为研究社区提供了多会话映射工具的集合,这些工具包括地图合并,视觉惯性批量优化,循环闭合,3D密集重建。

其他解决方案可以列出如下,但不限于VI-ORB(紧密耦合,基于优化(ORB-SLAM的作者的作品,但不是开源的),StructVIO 。  RKSLAM可以可靠地处理AR应用中的快速运动和强劲旋转。 在[14]中可以看到基于深度学习的VIO SLAM。 它显示了执行视觉惯性里程计(VIO)的网络,而没有惯性测量单位(IMU)固有参数或IMU与摄像机之间的外部校准。  [15]提供了一个网络,以避免摄像机和IMU之间的校准。

 [14] E Jared Shamwell, Kyle Lindgren, Sarah Leung, and William D Nothwang. Unsupervised deep visual-inertial odometry with online error correction for rgb-d imagery. IEEE transactions on pattern analysis and machine intelligence, 2019.

 [15] Hongyun Lee, Matthew McCrink, and James W Gregory. Visualinertial odometry for unmanned aerial vehicle using deep learning. In AIAA Scitech 2019 Forum, page 1410, 2019.

5)Deep learning with Visual SLAM

如今,深度学习在计算机视觉的主要角色中扮演着至关重要的角色。 随着可视化SLAM的发展,SLAM的深度学习越来越受到关注。 术语“语义SLAM”是指将语义信息包含在SLAM流程中,以通过提供高级理解,鲁棒性能,资源意识和任务驱动感知来增强性能和表示。 接下来,我们将在以下方面介绍带有语义信息的SLAM的实现:

Feature & Detection(特征 检测):

Pop-up SLAM(Monocular)提出了实时单眼平面SLAM,以证明场景理解可以改善状态估计和密集映射,特别是在低纹理环境中。 平面测量来自应用于每个单个图像的弹出式3D平面模型。SuperPoint 提出了一种自我监督的框架,用于训练兴趣点检测器和描述符,这些兴趣点检测器和描述符适用于计算机视觉中的大量多视图几何问题。[16]提出使用易于标记的2D检测和离散视点分类以及轻量语义推理方法来获得粗糙的3D对象测量结果。GCN-SLAM提出了一个基于深度学习的网络GCNv2,用于生成关键点和描述符。  [17]融合了有关3D形状,位置以及语义类(如果有)的信息。SalientDSO 可以借助深度学习来实现视觉显着性和环境感知。  [18]将检测到的对象作为二次模型集成到SLAM系统中。 CubeSLAM(单眼)是基于立方体模型的3D对象检测和SLAM系统。 它实现了对象级映射,定位和动态对象跟踪。  [19]结合了cubeSLAM(高级对象)和Pop-up SLAM(平面地标),与基于特征点的SLAM相比,地图更密集,更紧凑且语义更有意义。MonoGRNet是用于单眼3D对象检测和定位的几何推理网络。 可以看到基于事件相机的功能.

[16] Peiliang Li, Qin Tong, and Shaojie Shen. Stereo vision-based semantic 3d object and ego-motion tracking for autonomous driving. In European Conference on Computer Vision, 2018.

[17] Margarita Grinvald, Fadri Furrer, Tonci Novkovic, Jen Jen Chung, Cesar Cadena, Roland Siegwart, and Juan Nieto. Volumetric instanceaware semantic mapping and 3d object discovery. arXiv preprint arXiv:1903.00268, 2019.

[18] Mehdi Hosseinzadeh, Yasir Latif, Trung Pham, Niko Suenderhauf, and Ian Reid. Structure aware slam using quadrics and planes. In Asian Conference on Computer Vision, pages 410–426. Springer, 2018.

[19] Shichao Yang and Sebastian Scherer. Monocular object and plane slam in structured environments. IEEE Robotics and Automation Letters, 4(4):3145–3152, 2019.

Recognition & Segmentation: 
SLAM ++(CAD模型)展示了面向新对象的3D SLAM范例的主要优点,该优点在许多场景由重复的,特定于领域的对象和结构组成的先验知识循环中得到了充分利用。  [20]基于来自单眼相机的视频流,结合了最新的深度学习方法和LSD SLAM。2D语义信息通过具有空间一致性的连接关键帧之间的对应关系传输到3D映射。Semanticfusion(RGBD)结合了CNN(卷积神经网络)和最先进的密集同时定位和映射(SLAM)系统,ElasticFusion 构建了语义3D地图。  [21]利用稀疏的,基于特征的RGB-D SLAM,基于图像的深度学习对象检测和3D无监督分割。MarrNet 提出了一个端到端的可训练框架,依次估计2.5D草图和3D对象形状。  3DMV(RGB D)结合了RGB颜色和几何信息,以执行RGB-D扫描的3D语义分割。  Pix3D 从单个图像研究3D形状建模。ScanComplete 是一种数据驱动的方法,该方法将场景的不完整3D扫描作为输入,并预测完整的3D模型以及每个体素的语义标签。  Fusion ++ 是一个在线对象级SLAM系统,可构建任意重构对象的持久且准确的3D图形图。当RGB-D摄像机浏览杂乱的室内场景时,Mask-RCNN实例分割用于初始化具有对象尺寸相关分辨率和新颖3D前景蒙版的紧凑的按对象截断符号距离函数(TSDF)重构。SegMap 是基于3D片段的地图表示,允许机器人定位,环境重建和语义提取。  3D-SIS 是一种用于商品RGB-D扫描中3D语义实例分割的新型神经网络架构。DA-RNN 使用新的递归神经网络体系结构对RGB-D视频进行语义标记。DenseFusion 是用于从RGB-D图像估计一组已知对象的6D姿态的通用框架。 

[20] Xuanpeng Li and Rachid Belaroussi. Semi-dense 3d semantic mapping from monocular slam. 2016.

[21] Niko Sunderhauf, Trung T. Pham, Yasir Latif, Michael Milford, and Ian Reid. Meaningful maps with object-oriented semantic mapping. In IEEE/RSJ International Conference on Intelligent Robots & Systems, 2017

Recovery Scale:

CNN-SLAM(单眼)通过深度学习来估计深度。 在DeepVO ,GS3D中可以看到另一项工作。  UnDeepVO可以使用具有深度学习功能的单眼相机获得6自由度的姿势和深度。  Google提出了一项工作[22],该工作提出了一种在无监督学习的情况下单眼相机和场景中的人都在自由移动的场景中预测密集深度的方法。 GeoNet是一个联合的无监督学习框架,用于从视频中进行单眼深度,光流和自我运动估计。CodeSLAM 从单个图像中提出了一个深度图,可以与姿势变量一起有效地优化深度图。  GEN-SLAM借助传统的几何SLAM和单眼的拓扑约束来输出密集图。  [23]提出了一个不变的深度范围和规模变化的训练目标。 其他类似的工作可以在Deep MVS 中看到。 基于事件相机,深度估计可以应用于单眼相机和立体相机。

[22] Zhengqi Li, Tali Dekel, Forrester Cole, Richard Tucker, Noah Snavely, Ce Liu, and William T Freeman. Learning the depths of moving people by watching frozen people. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4521–4530, 2019.

[23] Katrin Lasinger, Ren´e Ranftl, Konrad Schindler, and Vladlen Koltun Towards robust monocular depth estimation: Mixing datasets for zeroshot cross-dataset transfer. arXiv:1907.01341, 2019.

Pose Output & Optimization:

[24]是同步下的立体声-VO。  [125]利用CNN从光流中估计运动。  PoseNet 无需优化就可以从单个RGB图像获得6DOF姿势。  VInet(Monocular)首先估计VIO中的运动,从而减少了手动同步和校准的依赖性。  DeepVO(单声道)通过使用深度递归卷积神经网络(RCNN)提出了一种单眼VO的端到端新颖框架。VSO 提出了一种新颖的视觉语义测距法(VSO)框架,以使用语义实现对点的中期连续跟踪。  MID-Fusion(RGBD,密集点云)使用面向对象的跟踪方法估计每个现有运动对象的姿态,并将分段蒙版与现有模型相关联,并将相应的颜色,深度,语义和前景对象概率逐步融合到 每个对象模型。 在VidLoc 中可以看到其他类似的作品。

[24] Kishore Reddy Konda and Roland Memisevic. Learning visual odometry with a convolutional network. In VISAPP (1), pages 486–490, 2015.

[25] Gabriele Costante, Michele Mancini, Paolo Valigi, and Thomas A Ciarfuglia. Exploring representation learning with cnns for frame-toframe ego-motion estimation. IEEE robotics and automation letters, 1(1):18–25, 2015.

Long-term Localization:

[26]提出了一种关于传感器状态和语义界标位置的优化问题,该问题集成了度量信息,语义信息和数据关联。  [27]提出了一种新颖的无监督的深度神经网络结构,该结构嵌入了可视环闭合功能。  [28]表明语义信息比传统特征描述符更有效。寻求全球本地化,从而在完全不同的观点下实现本地化。[29]提出了一种解决方案,将假设表示为等效的非高斯传感器模型的多种模式,以确定对象类别标签和测量界标对应关系。 

[26] Sean L. Bowman, Nikolay Atanasov, Kostas Daniilidis, and George J.Pappas. Probabilistic data association for semantic slam. In IEEE International Conference on Robotics & Automation, 2017.

[27] Nate Merrill and Guoquan Huang. Lightweight unsupervised deep loop closure. arXiv preprint arXiv:1805.07703, 2018.

[28] Erik Stenborg, Carl Toft, and Lars Hammarstrand. Long-term visual localization using semantically segmented images. pages 6484–6490, 2018.

[29] Kevin Doherty, Dehann Fourie, and John Leonard. Multimodal semantic slam with probabilistic data association. In 2019 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2019.

Dynamic SLAM:

RDSLAM 是一种新颖的实时单眼SLAM系统,它可以基于新颖的在线关键帧表示和更新方法在动态环境中稳定运行。  DS-SLAM 是一种SLAM系统,具有基于优化的ORB-SLAM的语义信息。 语义信息可以使SLAM系统在动态环境中更强大。MaskFusion(RGB-D,密集点云)是基于Mask R-CNN 的实时,对象感知,语义和动态RGB-D SLAM系统。 该系统甚至可以连续且独立的运动为对象标记语义信息。 相关工作可见于共融合(RGBD)。Detect-SLAM 将SLAM与基于深度神经网络的对象检测器集成在一起,以使这两个功能在未知和动态的环境中互惠互利。DynaSLAM 是在静态地图的帮助下,在动态环境中用于单眼,立体声和RGB-D相机的SLAM系统。  StaticFusion 提出了一种在动态环境中鲁棒的密集RGB-D SLAM的方法,该方法可以检测运动物体并同时重建背景结构。 

C.Challenge and Future

1) Robustness and Portablity

Visual SLAM仍然面临一些重要的障碍,例如照明条件,高动态环境,快速运动,剧烈旋转和低纹理环境。 首先,全局快门而不是滚动快门对于实现准确的相机姿态估计至关重要。 诸如动​​态视觉传感器之类的事件摄像机每秒能够产生一百万个事件,足以在高速和高动态范围内进行非常快速的运动。 其次,使用诸如边缘,平面,表面特征之类的语义特征,甚至减少特征依赖性,例如使用连接边缘进行跟踪,直接跟踪或机器学习的组合,也可能成为更好的选择。 第三,基于用于SfM / SLAM的数学机制,优于数据的隐式学习导航功能的精确数学公式是首选。

可以预料到SLAM的未来,一种是基于智能电话或嵌入式平台(例如UAV(无人飞行器))的SLAM,另一种是详细的3D重建以及通过深度学习进行场景理解。 如何平衡实时性和准确性是至关重要的开放性问题。与动态,非结构化,复杂,不确定和大规模环境有关的解决方案尚待探索。

2)Multiple Sensors Fusion

实际的机器人和硬件设备通常不只携带一种传感器,通常还携带多个传感器。 例如,当前对手机VIO的研究结合了视觉信息和IMU信息,以实现两个传感器的互补优势,这为SLAM的小型化和低成本提供了非常有效的解决方案。  DeLS-3D 设计是一种传感器融合方案,该方案融合了摄像机视频,运动传感器(GPS / IMU)和3D语义图,以实现系统的鲁棒性和效率。 传感器列表如下,但不限于激光雷达,声纳,IMU,红外,摄像机,GPS,雷达等。传感器的选择取决于环境和所需的地图类型。

3)Semantics SLAM

实际上,人类基于感知而不是图像的特征来识别物体的运动。  SLAM中的深度学习可以实现对象识别和分割,这有助于SLAM系统更好地感知周围环境。 语义SLAM也可以在全局优化,循环关闭和重新定位方面发挥作用。  [30]:同时定位和地图绘制(SLAM)的传统方法取决于几何特征,例如点,线(PL-SLAM,StructSLAM )和平面来推断环境结构。 通过语义SLAM可以实现在大规模场景中进行高精度实时定位的目的,它可以教给被视为人类的机器人。

[30] Nikolay Atanasov, Sean L Bowman, Kostas Daniilidis, and George J Pappas. A unifying view of geometry, semantics, and data association in slam. In IJCAI, pages 5204–5208, 2018.

4)Software & hardware

SLAM不是一种算法,而是一种集成的复杂技术。 它不仅取决于软件,还取决于硬件。 未来的SLAM系统将专注于算法和传感器的深度结合。 根据上面的说明,特定领域的处理器而不是通用处理器,集成传感器模块而不是像相机那样的单独传感器将显示出巨大的潜力。 以上工作使开发人员专注于算法并加快了实际产品的发布。

LIDAR AND VISUAL SLAM SYSTEM

A. Multiple Sensors Calibration(多传感器校准)

Camera & IMU:

Kalibr 是一个工具箱,可以解决以下校准问题:多相机校准,视觉惯性校准(camera-IMU)和卷帘相机校准。  Vins-Fusion 具有在线空间校准和在线时间校准。MSCKF-VIO 还对摄像机和IMU进行了校准。 此外,IMU-TK 可以校准IMU的内部参数。 其他工作可以在[31]中看到。  [32]提出了一种用于单目VIO的端到端网络,该网络融合了来自摄像机和IMU的数据。

[31] Mingyang Li, Hongsheng Yu, Xing Zheng, and Anastasios I Mourikis High-fidelity sensor modeling and self-calibration in vision-aided inertial navigation. In 2014 IEEE International Conference on Robotics and Automation (ICRA), pages 409–416. IEEE, 2014.

[32] Changhao Chen, Stefano Rosa, Yishu Miao, Chris Xiaoxuan Lu, Wei Wu, Andrew Markham, and Niki Trigoni. Selective sensor fusion for neural visual-inertial odometry. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 10542–10551, 2019.

Camera & Depth: 

BAD SLAM 为此任务提出了一个校准基准,该基准使用同步的全局快门RGB和深度相机。

Lidar & IMU:

LIO映射引入了紧密耦合的激光雷达-IMU融合方法。  Lidar-Align是一种简单的方法,可用于查找3D Lidar和6-Dof姿态传感器之间的外部校准。 激光雷达的外部校准可以在[33] [34]中看到。 博士论文[35]说明了激光雷达校准的工作。

[33] Deyu Yin, Jingbin Liu, Teng Wu, Keke Liu, Juha Hyypp¨a, and Ruizhi Chen. Extrinsic calibration of 2d laser rangefinders using an existing cuboid-shaped corridor as the reference. Sensors, 18(12):4371, 2018.

[34] Shoubin Chen, Jingbin Liu, Teng Wu, Wenchao Huang, Keke Liu, Deyu Yin, Xinlian Liang, Juha Hyypp¨a, and Ruizhi Chen. Extrinsic calibration of 2d laser rangefinders based on a mobile sphere. Remote Sensing, 10(8):1176, 2018.

[35] Jesse Sol Levinson. Automatic laser calibration, mapping, and localization for autonomous vehicles. Stanford University, 2011.

Camera & Lidar:

[36]介绍了一种概率监测算法和一个连续校准优化器,它们可以自动在线进行相机激光校准。Lidar-Camera 提出了一种新颖的流水线和实验装置,以找到精确的刚体变换,以利用3D-3D点对应关系进行外在校准LiDAR和相机时代。RegNet 是第一个推断多模态传感器之间的6自由度(DOF)外在校准的深度卷积神经网络(CNN),例如使用扫描LiDAR和单眼相机的示例。  LIMO 提出了一种从LIDAR测量中提取深度的算法,用于相机特征轨迹和运动估计。CalibNet 是一个自我监督的深度网络,能够实时自动估计3D LiDAR和2D摄像机之间的6自由度刚体转换。  Autoware的校准工具可以校准信号光束激光雷达和摄像机。诸如SVIn2 之类的其他工作展示了水下SLAM系统,该系统融合了基于OKVIS的声纳,视觉,惯性和深度传感器。

[36] Jesse Levinson and Sebastian Thrun. Automatic online calibration of cameras and lasers. In Robotics: Science and Systems, volume 2, 2013.

B. Lidar and Visual Fusion

Hardware layer:

HESAI的Pandora是一种软件和硬件解决方案,集成了40束激光雷达,五个彩色摄像头和识别算法。 集成的解决方案可以使开发人员在时间和空间上保持同步。 了解KAARTA的CONTOUR和STENCIL的存在会让您大吃一惊。

Data layer:

激光雷达具有稀疏的高精度深度数据,而相机具有密集但精度较低的深度数据,这将导致基于图像的深度上采样和基于图像的深度修复/完成。 文献[37]提出了一种新的方法来解决深度图像上采样的难题。  [38]仅依赖基本图像处理操作来执行稀疏激光雷达深度数据的深度完成。 借助深度学习,[39]建议使用单个深度回归网络直接从RGB-D原始数据中学习,并探索深度样本数量的影响。  [40]认为CNN可以在稀疏输入上运行,并且可以应用于稀疏激光扫描数据的深度补全。DFuseNet 提出了一种CNN,该CNN旨在根据从高分辨率强度图像中提取的上下文提示对一系列稀疏范围测量进行上采样。

[37] David Ferstl, Christian Reinbacher, Rene Ranftl, Matthias R ¨uther, and Horst Bischof. Image guided depth upsampling using anisotropic total generalized variation. In Proceedings of the IEEE International Conference on Computer Vision, pages 993–1000, 2013.

[38] Jason Ku, Ali Harakeh, and Steven L Waslander. In defense of classical image processing: Fast depth completion on the cpu. In 2018 15th Conference on Computer and Robot Vision (CRV), pages 16–22. IEEE, 2018.

[39] Fangchang Mal and Sertac Karaman. Sparse-to-dense: Depth prediction from sparse depth samples and a single image. In 2018 IEEE International Conference on Robotics and Automation (ICRA), pages 1–8. IEEE, 2018.

[40] Jonas Uhrig, Nick Schneider, Lukas Schneider, Uwe Franke, Thomas Brox, and Andreas Geiger. Sparsity invariant cnns. In 2017 International Conference on 3D Vision (3DV), pages 11–20. IEEE, 2017.

Task layer:

[41]将立体相机和激光雷达融合在一起进行感知。  [42]将雷达,激光雷达和相机融合在一起,以检测和分类移动物体。  [43]可以通过深度信息来增强VO,例如由RGB-D相机或与相机相关联的激光雷达提供的深度信息(即使稀疏可用)。可视里程表和激光雷达里程表。 在线方法从视觉测距法开始,基于扫描匹配的激光雷达测距法同时完善运动估计和点云配准。  VI-SLAM 致力于系统的开发,该系统将精确的激光测距估算器与使用视觉实现位置检测的算法相结合,以实现环路检测。  [44]针对使用RGB-D相机时代和2d低成本LIDAR的SLAM的跟踪部分,通过模式切换和数据融合来完成强大的室内SLAM。

[41] Olivier Aycard, Qadeer Baig, Siviu Bota, Fawzi Nashashibi, Sergiu Nedevschi, Cosmin Pantilie, Michel Parent, Paulo Resende, and TrungDung Vu. Intersection safety using lidar and stereo vision sensors. In 2011 IEEE Intelligent Vehicles Symposium (IV), pages 863–869. IEEE, 2011.

[42] Ricardo Omar Chavez-Garcia and Olivier Aycard. Multiple sensor fusion and classification for moving object detection and tracking.IEEE Transactions on Intelligent Transportation Systems, 17(2):525– 534, 2015.

[43] Ji Zhang, Michael Kaess, and Sanjiv Singh. Real-time depth enhanced monocular odometry. In 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 4973–4980. IEEE, 2014.

[44] Yinglei Xu, Yongsheng Ou, and Tiantian Xu. Slam of robot based on the fusion of vision and lidar. In 2018 IEEE International Conference on Cyborg and Bionic Systems (CBS), pages 121–126. IEEE, 2018.

VIL-SLAM 结合了具有Li dar映射和Lidar增强的可视环路闭合功能的紧密耦合立体声VIO。[45]将单眼相机图像与激光距离测量相结合,以实现视觉SLAM,而不会因比例尺不确定性增加而产生误差。 在深度学习中,有很多检测和识别来自相机和激光雷达的融合数据的方法,例如PointFusion ,RoarNet ,AVOD ,MV3D ,FuseNet 。

[45] Franz Andert, Nikolaus Ammann, and Bolko Maass. Lidar-aided camera feature tracking and visual slam for spacecraft low-orbit navigation and planetary landing. In Advances in Aerospace Guidance, Navigation and Control, pages 605–623. Springer, 2015.

C. Challenge and Future

Data Association:

SLAM的未来必须集成多传感器。 但是不同的传感器具有不同的数据类型,时间戳和坐标系表达式,需要统一处理。 此外,还应考虑物理模型的建立,多传感器之间的状态估计和优化。

Integrated Hardware:

目前,没有合适的芯片和集成硬件使SLAM技术更容易成为产品。 另一方面,如果传感器的精度由于故障,不正常的条件或老化而降低,则传感器测量的质量(例如,噪声,偏置)与噪声模型不匹配。 应遵循硬件的健壮性和集成性。 前端的传感器应具有处理数据的能力,并且应创新从硬件层到算法层,再到功能层再到SDK的应用。

Crowdsourcing:

在没有绝对定位系统的环境中使用lti-robot应用程序。 协同优化视觉多机器人SLAM需要分散数据和优化,这称为众包。 分散数据处理过程中的隐私应引起注意。 差异隐私技术可能会有所帮助。

High Definition Map:

高清晰度地图对机器人至关重要。 但是哪种类型的地图最适合机器人呢?密集地图或稀疏地图可以导航,定位和规划路径吗? 长期映射的一个相关开放问题是:多长时间更新一次地图中包含的信息,以及如何确定何时该信息过时并可以丢弃。

Adaptability, Robustness, Scalability:

众所周知,现在没有SLAM系统可以涵盖所有情况。 大多数情况下都需要进行大量的参数调整,才能在给定的情况下正常工作。 为了使机器人感知为人类,首选基于外观而不是基于特征的方法,这将有助于在昼夜序列之间或不同季节之间闭合与语义信息集成的循环。

Ability against risk and constraints:

完美的SLAM系统应具有故障安全性和故障意识。 这里不是关于重新定位或循环关闭的问题。SLAM系统必须具有响应风险或失败的能力。 同时,无论平台的计算约束如何,理想的SLAM解决方案都应该能够在不同的平台上运行。 如何在准确性,鲁棒性和有限的资源之间取得平衡是一个具有挑战性的问题。

Application:

SLAM技术具有广泛的应用,例如:大规模定位,导航和3D或语义地图构建,环境识别和理解,地面机器人,UAV,VR / AR / MR,9 AGV(自动导引车), 自动驾驶,虚拟室内装饰,虚拟试衣间,身临其境的在线游戏,抗震救灾,视频分段和编辑。

Open question:

端到端学习将主导SLAM吗?

你可能感兴趣的:(综述,slam)