视觉和Lidar里程计SOTA方法一览!(Camera/激光雷达/多模态) 原创
摘要
自动驾驶的发展需要研究和开发准确可靠的自定位方法。其中包括视觉里程计方法,在这种方法中,精度可能优于基于GNSS的技术,同时也适用于无GPS信号的区域。本文深入回顾了视觉和点云里程计SOTA方法,并对其中一些技术在自动驾驶环境中的性能进行了直接比较。评估的方法包括相机、激光雷达和多模态方法,并从共同的角度比较了基于特征知识和基于学习的算法。这些方法在道路驾驶公共数据集上进行了一系列测试,根据这些数据集对这些技术的性能进行基准化和定量测量。此外,作者还密切讨论了它们在具有挑战性的条件下的有效性,如明显的照明变化、开放空间和场景中动态目标的存在。该研究表明,基于点云的方法在轨迹误差方面超过视觉技术约33.14%,从而提高了精度。这项调研还发现了SOTA方法的性能停滞,尤其是在复杂条件下。作者还研究了多模态架构如何规避单个传感器的限制。这与基准测试结果一致,其中多模态算法在所有场景中表现出更大的一致性,在平移漂移方面优于最佳LiDAR方法(CT-ICP)5.68%。此外,作者还讨论了当前人工智能的进步如何构成克服当前发展瓶颈的途径。
欢迎关注国内首个以自动驾驶技术栈为主线的交流学习社区!
原文出处:微信公众号【自动驾驶之心】
引言
在过去十年中,自动驾驶一直是许多技术和科学研究的主题。它的许多好处,如提高乘客安全性、舒适性和便利性、更好的交通流量、无人驾驶交通和降低了燃料消耗,吸引了负责自动驾驶汽车技术进步的大型制造商的投资。对于任何自动驾驶智能体,自定位的能力在每个导航任务中都是必不可少的。尽管GNSS(全球导航卫星系统)接收器通常是现代车辆自定位的主要来源,但大众市场设备提供的精度和可靠性远远低于自动驾驶车辆所需的水平。因此,由于定位误差、信号延迟和服务质量问题的不确定性,自动驾驶车辆不会强依赖于卫星数据[1]。而且这一问题在城市场景中进一步加剧[1],由于此场景中卫星能见度有限、多径效应、干扰和其他误差。人类驾驶员自己的视觉感知能力弥补了所有这些限制。以同样的方式,自动驾驶汽车可以配备传感器,当与适当的里程计技术一起使用时,传感器可以提供类似人类水平的精确的相对定位。
里程计可以被定义为使用局部传感器的数据来估计一个特定的起始点,估计一段时间内车辆的姿态变化。通常,这些方法试图通过传感器(如车轮编码器、RADAR、惯性测量单元(IMU)、LiDAR)来恢复车辆的位置和方向,这些传感器在现代车辆中越来越普遍。同样重要的是,要认识到这些传感器类型不是限制死的,因为里程计方法可以是多模态的,即不同的传感器可以通过一个算法一起使用。随着相机和激光雷达在现代车辆中的使用越来越普遍,基于视觉和点云的里程计正在成为关键的方法。与GNSS不同,这些传感器不需要外部信号。此外,这些技术比车轮里程计更为稳健,并且易于通过IMU或GPS进行补充[2]。
随着政府对驾驶员辅助和自动驾驶安全功能的需求增加,自动驾驶相关领域的研究也在增加。参与感知领域的里程计对开发此类系统至关重要。本研究提供了视觉、点云和多模态里程计的概述,并将这些类别与一个共同的基准进行了比较,同时考虑了在完全相同的条件下获得的实际结果。此外,深度学习(DL)技术的兴起使得有必要评估其相对于传统方法的发展现状。这项工作背后的另一个动机是使用一个众所周知的数据集(KITTI-360[3])创建一个最先进的视觉、基于点云和多模态方法的无偏见基准。基准测试在具有挑战性的情况下测试不同的算法,以验证所调研技术的优势和局限性。本文件还讨论了一些当前的问题,这些问题可以帮助研究人员超越常见的视觉里程限制,例如恶劣的天气条件、计算能力限制和动态目标的存在。
本调研主要贡献是:
- 视觉里程计相关和有前景的工作的分类和理论讨论,从基于特征和外观的技术到利用深度学习能力的最新工作;基于点云的里程计,包括基于知识和学习的方法;同时还分析了不同类型的传感器融合。在相同场景下,使用通用评估程序对这些技术进行了分析;
- 对几种开源算法进行基准测试的大量实验,特别关注动态环境、开放空间、亮度变化、密集植被、转向机动和高速等具有挑战性的情况;
- 识别自运动估计的当前挑战,例如对场景外观的依赖性、高计算负载和移动目标的存在。分析和量化这些条件对不同类型所述方法性能的影响;
- 调研当前的最新技术,同时深入了解深度方法与基于知识的方法和多模态架构的现状,以及未来研究如何超越当前结果。
视觉里程计
里程计是估计一个车辆的位置和方向随着时间的变化的过程。视觉里程计(VO)是指当依赖于连接到车辆的一个或多个相机的输入时给出的名称。视觉里程计方法包括通过从连续图像帧之间的对应关系中提取自运动参数来推算传感器(或安装传感器的系统,例如无人机)的位置。给定车辆在时间步长k-1中的姿态$X_{k-1}$ ,在一个固定的帧中,视觉里程计的目标是计算变换$T^{k-1}_k$,使得 $X_k = T^{k-1}kX{k-1}$。这个操作允许通过关联连续帧的不同相机透视图来检索在时间步长 k,$X_k$ 中的姿态估计。公式如下图:
车辆的轨迹可以达到一个时间步长k,因此可以由初始姿态 $X_0$积分重建,使用以下公式得到:
现有的 VO 方法可以分为两类: 基于知识的方法和基于学习的方法。前者利用相机的几何关系来评估运动,而后者则基于机器学习技术,依赖于大量的数据来获得姿态预测能力。如下图所示,基于知识的方法可以分为三个子组: 基于外观的、基于特征的和混合的,这取决于如何使用视觉组件来生成里程计估计值。
基于知识的技术
基于特征的方法侧重于这样一个前提,即每帧中的关键点或区域可以用来确定相机的运动。这些关键点由角、边、线和斑点组成,这些图像模式在强度、颜色或纹理方面与周围环境不同,因此更可能在多个图像中匹配良好[2] ,[4] ,[5]。对于特征提取,通常采用 SIFT [6]、 SURF [7]、 ORB [8]和 BRISK [9]。基于特征的VO对于几何失真和照明不一致都有相当强的鲁棒性[10]。然而,由于这些方法高度依赖于正确的对应关系,因此只选取图像中的某些点,就会丢弃一些有价值的信息,因此必须尽量减少异常值的存在。下图描述了基于特征的算法所使用的pipline。
因为这些pipline通常遵循结构化的pipline,其中涉及特征检测和匹配阶段(或特征跟踪) ,然后是运动估计,最后是优化步骤。尽管这些步骤通常是横向的,但是每种技术提出它们的方式都是不同的。
在运动估计中,最常用的方法包括特征-特征匹配(2D-2D) ,它利用了纵向几何的约束。纵向约束与从不同角度看到的相同特征有关,其中 P1和 P2是图像坐标上图像1和图像2中同一点的坐标,E 是本质矩阵。通过选择一组匹配,可以计算出运动参数(E 中隐含的) ,从而使纵向约束带来的误差最小化。
或者,3D-2D 技术采用最小化来自当前图像帧的3D 跟踪landmarks的重投影误差。由于与真值轨迹的偏差趋于累积,landmarks跟踪可能在以后的优化步骤中有用,因为这些点的坐标应该在每个相机姿势中保持一致,这是光束法平差中应用的原则[11]。该优化运算由:
给出,其中 pik 是第 k 幅图像中的第1个图像点,对应于landmarks Xi。$g(X^i,C_k)$是相机姿势$C_k$中$X_i$的图像重投影。从上式可以看出,相机的姿势和landmarks的位置本身都得到了优化。最后,3D-3D 技术直接比较两组3D点,但通常不如其他替代方案精确。
ORB-SLAM2[12]是 VO 和SLAM中流行的算法。它是 ORB-SLAM [13]用于单目、多目和 RGB-D 相机的扩展。这种开源方法通常被认为是视觉里程计的基准。作为一种 SLAM 技术,该算法由三个线程组成: 跟踪和局部建图,里程计模块和闭环。运动估计是利用关键帧和局部地图上跟踪的 ORB 特征计算出来的,特别强调多步光束法平差。VISO2[14]是2011年的另一个流行算法,它可以使用立体相机构建环境的3D 地图。这种方法应用了著名的立体匹配方法将稀疏的特征集与使用卡尔曼滤波器的里程计方法相结合[15]。此外,Cvisic和 Petrovi [16]-[18]的工作在基于视觉特征的方法领域具有特殊的相关性,因为他们的结果使视觉方法的精度更接近基于 LiDAR 技术的精度水平。在[16]中,作者提出了一个立体里程计算法,其主要重点是仔细选择和跟踪特征(SOFT)和这些步骤对自运动估计的影响。旋转和平移分别计算,以提高整个系统的性能。对于旋转,Nister 的5点[19]以单目方式使用,以概率地减少异常值和不完善的立体设备标定的有害影响,同时利用旋转以后使用3点计算平移。此外,该算法的一个扩展被提出来积分 IMU,用卡尔曼滤波器估计旋转集成。第一个估计有助于进一步去除异常值和减轻计算成本的5点算法,使用 P3P [20]和 Ransac [21]替代。当通过视觉里程计计算旋转时,Kalman 会更新。后来,Cvisic和 Petrovi用一个附加的建图线程扩展了 SOFT,从而产生了 SOFT-SLAM [17]。这种方法最初是为自动驾驶飞行器设计的,侧重于计算效率。SLAM 集成了 SOFT 可视里程计pipline,并通过一个建图模块完成,该建图模块增加了 SLAM 的特性,如闭环和全局一致性约束。这些增加的能力使得这种技术在 KITTI 数据集[22]中的定位精度优于其最先进的替代方案,如 ORB-SLAM2和 LSD-SLAM [23]。最近,Cvisic 等人[18]重新审视了 KITTI 里程数据集的标定参数。在最后的工作中,作者提出了一种新的一次性标定多相机 KITTI 装置参数的方法,该方法可以获得较小的重投影误差,直接影响 VO 算法的精度。将调整后的参数应用于 ORB-SLAM2、 SOFT 和 VISO2,平移误差平均提高了28% ,旋转误差平均提高了46% 。
另一方面,基于特征的技术通过仅集中在少数几个选定的点来丢弃图像数据的重要部分。此外,这些技术可能需要额外的计算成本在匹配或跟踪操作和离群点去除。反过来,基于外观的 VO 技术利用捕获帧中的所有信息,而不仅仅是使用关键点。这些方法通过分析图像像素的强度并最小化光度误差来估计相机的姿态,这依赖于一帧中的像素在考虑移动传感器的同时保持其在第二帧中的强度的一致性原则[5]。通过这种方法,可以减轻由重复模式引起的混叠效应,并确保在有限纹理的场景中更加稳健,因为在这些场景中很难检测到好的特征(例如,雾或沙质环境)。基于外观的技术避免了提取和匹配特征以及运行异常去除算法所需的时间。另一方面,与基于特征的 VO 相比,它们对光照变化和相机突变运动敏感。基于外观的方法,也称为直接方法,一般分为基于区域匹配或基于光流的方法。前者通过在连续帧中对齐某些相应区域来估计相机的运动,但是在场景中存在动态目标的情况下,除了容易受到局部极小解的影响外,还会出现失效问题。另一方面,基于光流的技术利用环境场景的光流来估计基于运动模型的相机运动的6自由度(DoF)。下图在直接技术的通用pipline中汇总了两种方法。
为了减轻基于特征和基于外观的方法的缺点,以及聚合每种方法的附加值,还可以采用来自每个领域的不同方法。这些被称为混合技术[5]。
2017年,恩格尔等[24]提出了直接稀疏里程计法(DSO)。这个方法包括一个直接和稀疏的方案,因此不需要特征提取和配对操作。这种方法通过不断优化光度误差在一个有限的框架窗口。然而,与典型的直接方法相比,该方法同时对所有参数进行优化,包括自运动、相机标定和三维点的反深度。通过考虑完全误差,而不是仅仅考虑特定迭代的误差,该策略限制了异常值的影响。作者得出结论,有了合适的硬件(全局快门、精密镜头和高帧频) ,直接方法在精度方面可以超过几何/间接方法,这些方法在过去十年里一直主导着研究兴趣。传统(或几何)方法已经有了良好的基础,尽管这些方法在其演化过程中产生了合理的结果,但在复杂性增加的环境中,它们仍然被证明是脆弱的。事实上,仅仅依靠这些类型的技术变得极具挑战性,因为通过手工制定来捕捉现实世界的复杂性是极其困难的。
基于学习的技术
如在不同领域所见,数据驱动的基于学习的方法可以获得对场景的高层次理解,而不需要明确的建模,只要他们在足够大的代表性数据集上进行训练[25]。此外,相机标定参数不需要事先知道; 平移可以用正确的尺度估计,系统对图像噪声的鲁棒性更强[26]。因此,近年来 VO 的范式发生了转变,倾向于采用基于学习的方法。典型的数据驱动技术通常由多个具有不同功能的子网组成,例如深度估计、特征提取和自运动估计[25]。它们可以用来补充传统的pipline,也可以用来构建端到端的体系结构,如下图所示。
对网络进行训练的方法是,将输出与监督信号对接,或根据调整和微调网络参数的cost函数对输出进行评估。
Yang 等[27]提出了深度虚拟立体里程计(DVSO) ,它用一个基于深度学习的框架来补充 DSO。这项工作的核心是通过网络扩展 DSO 的能力,从而产生精确的深度估计,从而减少尺度漂移。提出的全卷积网络(FCN) StackNet 生成一对深度图,用于模拟虚拟立体平台。通过比较反向扭曲的产出和原始输入,以自监督的方式进行训练。这种技术在基于里程学习的方法中很常见,因此可以避免使用真值,而这些真值的获取成本很高。StackNet 的预测深度图被添加到原始 DSO 通用优化问题的预测深度图中,作为额外的几何约束。深度视觉里程计法迄今未能取代传统的方法。然而,这项工作超越了基于学习的替代方案,更接近于传统的最先进的技术。实际上,在 KITTI 选择的一组序列中,DVSO 比 ORB-SLAM2的平移误差略有提高,提高了2.2% 。此外,虽然 DVSO 不是一个端到端的视觉里程计架构,如 DeepVO [28] ,在 KITTI 数据集中 DVSO 的翻译误差是9.3倍。
2020年,同样是 DVSO 的作者,Yang等人[29]提出了Deep Depth,Deep Pose和Deep Uncertainty,也被称为 D3VO。D3VO 的总体结构与 DVSO 和 DSO 略有不同。在 D3VO 中,深度是由一个称为 DepthNet 的卷积网络估计的,它也预测与估计相关的不确定性。反过来,相机的姿态是由另一个叫做 PoseNet 的深度卷积网络估计出来的,除了变换之外,PoseNet 还可以平衡当前帧和之前帧的照度,这两个帧共同构成了一对网络输入,以减少由于光照变化而产生的误差。不确定性在此均衡过程中尤为重要,因为它有助于检测容易违反帧间光度一致性原则的非朗伯反射表面。DepthNet 和 PoseNet 都是以自监督和联合方式进行训练的。姿态预测基于以前的工作DVSO和DSO补充了一个直接跟踪前端模块和一个全局光束法平差后端模块。在轨迹精度方面,结果略高于DVSO(在选定的 KITTI 序列中为10%)。
与以前的方法不同,由 Wang 等人[28]提出的 DeepVO 是一种端到端的监督方法,其重点是学习具有适当几何意义的特征提取,并隐式建模一系列帧上的运动动力学。一对连续的图像被叠加并作为输入传递给卷积神经网络(CNN) ,生成一个输入对的简洁描述,然后被馈送给一个递归神经网络(RNN) ,允许捕捉视频的连续属性。尽管如此,与DVSO 和 D3VO 不同,其结果有些令人不满意。然而,这种方法允许非调优相关模型,它可以作为端到端DL方法的概念验证。事实上,计算机视觉中大多数常用的DL结构,如 CNN 和 RNN,并不适合 VO。这项工作可以作为一个起点,催化新的 VO 应用研究。ESP-VO [30]通过计算姿态估计的不确定性扩展了这项工作,这对传感器融合特别有用。按照类似的路径,PoseCon-vGRU [31]是一种端到端的可比方法。PoseCon-vGRU 利用 DeepVO 的时间效率,使用堆叠的门控循环单元(GRU)代替长短期内存模块(LSTM)。LSTM 和 GRU 是特定类型的 RNN,它们通过学习和在内部存储与保持或不保持内部状态相关的内容来捕获连续输入之间的长期关系。这种类型的结构是特别重要的视觉里程计,给予时间几何约束的序列框架。在 PoseConverGRU 中,GRU 是首选的,因为它们在性能方面非常接近于 LSTM,但是用更少的参数和更少的时间实现类似的结果。尽管如此,虽然取得了比 DeepVO 略好的结果,但改善并不显着,因此导致相同的结论。
DeepAVO [32]是另一种基于光流的 DL 方法,其依赖于基于学习的光流提取器 PWC-Net [33]。它每个图像象限提供四分支网络,以利用局部视觉线索。卷积块注意模块(CBAM)[34]机制被纳入到特征编码器之前的姿态估计。这种机制作为一个mask,提取相关的特征,集中在不同运动的像素,丢弃前景和模糊的目标。同样依靠 PWC-Net,Zhao等[35]预测光流,计算相机姿态的相对变换,并通过三角测量重建场景的一些三维结构。然后,这些结构被用来标定来自平行神经网络的深度预测,解决姿态和深度预测之间尺度不一致的问题。这是一个阻碍学习过程和结果的问题,因此笔者将姿势分支和深度分支的训练过程进行了划分,利用两者的输出相互补充,形成一致性。
ClusterVO[36]是一种动态感知的 VO 技术,它可以在检索相机轨迹和被检测目标轨迹的同时分割动态目标。运动估计部分基于关键帧和滑动窗口优化(部分类似于 ORB-SLAM2)。VLocNet [37]提出了一种应用于视觉里程计的基于辅助学习的方法。除了一个 VO 专用网络,作者提出了另一个模块来估计车辆的全局姿态,在两个任务之间共享特征,因为这两个任务在性质上非常相似。这种做法促进了一个更一致的学习和较少的易感性过度拟合。该技术在 VLocNet++ [38]中通过包含一个场景分割任务得到了进一步的扩展。
到目前为止,视觉方法景观已经被传统的基于特征的方法所主导,如 ORB-SLAM2和 SOFT-SLAM。最近,直接的公式化方法已经取得了有趣的成果,而作者也开始观察到一种趋势,即整合基于学习的子模块,以补充更传统的架构,如 DVSO 和 D3VO。与此同时,许多端到端的自运动估计方法已经出现,尽管结果令人失望,但在道路交通环境复杂性的抽象方面仍然有很大的潜力。
基于点云的里程计
点云帧通常以点云的形式表示,点云由一组直接以世界坐标给出的3D点组成,而VO则是以像素/图像坐标给出点。激光雷达传感器的工作原理是测量发射和反射的激光线的飞行时间或相移。要创建环境的3D点云,需要多次执行此操作以覆盖整个扫描区域。基于点云的里程计方法的分类不像 VO 方法那样简单。将这些工作分类的最简单的方法是将它们分为以下几类: 基于知识的,使用标准和传统算法的,以及基于学习的,使用机器和深度学习技术的。
Jonnavithula 等[39]帮助定义激光里程计算法的基本步骤: (1)预处理,(2)特征提取,(3)对应搜索,(4)转换估计和(5)后处理(如下图所示)。
在预处理中,通常通过分割操作或2D投影(如range图像)将点云重构成更方便的形式。例如,后者在使用 CNN 时特别有用。一些程序,如地面和动态目标删除也适用于这一步骤。同样值得注意的是,激光雷达收集到的点云通常是非结构化的,也就是说,它由一组点组成,其中邻域的概念并不明确,因为它是在相邻的像素中。换句话说,没有关于顶点连接的信息,也没有关于下面的曲面的信息。通过搜索每个数据点附近的信息,可以检索这类信息并将其存储在多种数据结构中,如网格、体素、八叉树和K-D树,从而加快搜索过程。如前所述,如果点云被转换成二维表示,特征提取可以像在 VO 中一样使用诸如 SURF [7]和 SIFT [6]这样的提取器来完成。3D 特征也可以从点云中提取出来,使用局部特征的概念来编码特定关键点周围小块的形状。这个步骤可以帮助避免在促进匹配过程的同时存储许多点。在对应搜索中,目标是找到连续帧之间的点对应。这可以通过多种方式实现,比如在迭代最近点(ICP)[40]中,考虑所有点,或者通过使用唯一的特征描述符来创建对应关系。在变换估计中,一旦已知点对应关系,就可以计算变换矩阵$T^{k−1}_k$。连续帧之间的一般姿势变换通常使点云中所有匹配点的位移最小化。后处理因方法而异,但通常将一些迭代细化过程称为循环闭合。一旦地图中的一个点多次交叉,就会发生循环闭合,从而为算法增加额外的姿势约束。然而,此操作需要专用的建图和优化机制。
基于知识的技术
ICP [41]在90年代有了第一个版本,可以被认为是基于 LiDAR 的里程计领域最有影响力的算法之一。在其最基本的版本中,该方法通过两个步骤找到两个点云之间的转换: 数据关联和转换估计。数据关联步骤旨在找到两个点云之间的对应点,这可以使用最近邻方法来完成。第二步通过计算每个点云的质心并对齐,然后利用单值分解(SVD)计算点云的旋转,最小化点对之间的距离。该算法进行多次迭代,直到找到一个局部最小值。ICP 的基本概念被用于各种最先进的方法,例如 CT-ICP [42] ,这是 KITTI 自动驾驶基准上表现最好的里程计系统之一。ICP 算法考虑了传感器运动引起的点云畸变,使得 ICP 算法能够实时工作,就像在自动驾驶场景中发生的那样。这个公式使这种方法对传感器的高频运动具有鲁棒性,这是该方法的主要强项。该算法估计每个激光雷达扫描的初始和最终位置,同时通过插值执行弹性扫描匹配。与类似的方法不同,最终姿态不一定对应于下一次滑动的初始姿态,提供弹性和鲁棒性,以应对传感器运动中更突然的变化。同时,该方法提供了一个完整的建图模块和一个新的闭环过程。通过剪切特定阈值之间的 z 坐标,地图的点被插入到二维高程网格中,只有当传感器在 z 轴上的运动相对稳定时,这种方法才有效。当构建一个新的网格时,使用旋转不变的2D 特征将其与旧网格进行匹配。当一个匹配被验证,ICP 被用来细化二维变换获得一个6自由度的闭环约束。
最近的另一种依赖于 ICP 基础的方法是 MULLS (多度量线性最小二乘)[43] ,它提供了一个高效、低漂移的3D SLAM 系统。这种架构是专门设计的独立于激光雷达的规格,不需要转换的激光雷达数据环或Range图像。首先对几何特征点进行提取和编码,区分地面、立面、柱子等几类特征点。下一步涉及多度量线性最小二乘 ICP 的自运动估计,基于选定的特征,这是修改,以提高准确性和效率。这种变化有四个基本步骤。首先,在每个特征类别中确定点对应关系。然后,在考虑点强度等因素的情况下,计算每个对应关系的权重。然后,根据点对应关系和计算出的权值,计算出变换估计。最后,作者使用统计指标来评价注册过程的质量。下图描述了在 LiDAR 收集的点云上执行的 MULLS 注册过程的一个例子。
另一项在这个领域具有高度相关性的工作是 LOAM [44]。该方法同时解决了不同频率下的里程计和周边建图问题。里程函数以较高的节奏运作,并产生较低的保真度估计。同时,建图模块在生成和细化全局地图的同时,速度较慢并调整里程估计值。对于里程计,在初始阶段提取点云特征,将点云特征选取并分组为尖锐边缘和平面表面斑块。沿着激光雷达扫描,假设传感器的恒定角速度和线速度,捕获的点逐渐投影到前一帧。当特征被提取和匹配时,ICP 的一个变体会产生新的估计。当扫描完成后,建图模块细化对齐,完成建图并产生更高精度的姿态估计,再次传递回里程计模块。
其他的工作,比如 LeGOLOAM [45]和 ELO [46] ,使用了 LOAM 的变体,这些变体专门设计为在保持或改进原始性能的同时具有较低的运行时间。LeGOLOAM 是轻量级和地面优化 LOAM 的缩写,其开发目的是为了在计算能力较低且没有悬挂的车辆上实现(这会加剧点云失真)。基本的工作原理依赖于分割点云,去除小的集群和保留点,可能代表大的目标,如树干和道路表面,并保存在一个range图像中。然后从这些range图像中提取特征,分为地面特征和非地面特征。关于里程计算法本身,由于地面优化过程,跨帧特征匹配变得更快。正如预期的那样,这种方法提高了 LOAM 的效率,使用的特性减少了72% 。ELO[46]是最近由zheng等人提出的。对于 LOAM 这样的方法来说,以基于树的形式对点云进行编码是很常见的,这种方法虽然在搜索方面很有效,但在大规模的点云中会受到一定的限制。为了最大限度地提高效率,该方法提出将激光雷达测量结果投影到球面图像上,直接恢复点之间的邻域。问题在于,在自动驾驶汽车中,激光雷达传感器捕获了大量的地面点,而这些地面点在球面几何学的投影中变得过于遥远。作为一种利用这些点的方式,地面点投影在一个自上而下的鸟瞰角度。通过对地面点和非地面点的合理分割,以及适当的二维投影,使得帧匹配搜索方法的应用更加有效。关于运行时间,作者认为 ELO 在一台普通笔记本电脑上可以达到169帧率。事实上,这项工作记录的运行时间比 KITTI 里程计基准中十个最高位置的平均值低21倍。尽管在提高效率方面做出了努力,但 ELO 的性能与MULLS 等其他方法相当。
其他一些工作也应该提到。例如,F-LOAM [47]试图通过将 LOAM 的迭代过程转化为两阶段失真补偿方法来减少计算负担。该算法还利用了局部光滑度较高的边缘特征和平面光滑度较低的特征,有利于匹配。通过这样的努力,该方法在低功耗嵌入式计算单元上实现了20Hz 的周期频率。ISC-LOAM [48]类似于 F-LOAM,但是使用点云的强度值和它们的几何形状来进一步提高循环闭合的能力。R-LOAM [49]通过将 LOAM 框架与关于引用目标的先前知识相结合,以不同的方式对这种改进进行了处理。它需要事先了解障碍物的三维模型及其在全局坐标系上的位置。然而,这种表述使 R-LOAM 不适合于自动驾驶环境。
基于学习的技术
一种不同类型的方法涉及使用深度学习技术来解决里程计问题。由于来自range传感器的数据是无序和稀疏的,这是具有挑战性的应用典型的卷积为基础的 DL 模块。因此,一些使用 DL 技术的方法将3D 点云转换成其他格式,如range图像。LO-Net [50]是一种使用这种方法检索传感器里程估计的算法。LO-net 首先从点云格式传递到矩阵,将点投影到圆柱坐标系中。然后,对于每个点,计算其各自的法向量。将包含当前时刻法向量和前一次激光雷达扫描法向量的矩阵传递给Siamese神经网络(SNN) ,后者将输出合并并提供给卷积网络,用于估计自运动参数。整个网络都是以监督的方式进行训练的。此外,该算法还包含场景中动态目标的掩模估计模块和建图块,通过扫描-建图匹配进一步细化估计。DeepLO [51]是另一种方法,它首先将入射的点云投影到二维空间中。投影表示被一对包含点云顶点和法线的2D图所替代,而且没有精度损失。从当前时刻和前一时刻的顶点建图被传递到一个完全卷积网络,从中提取各自对的特征向量。这同样适用于法线的图,它们被并行地提供给另一个类似的网络。然后将两个合成的特征向量相加并传递给第三个神经网络,该神经网络预测运动参数。这个网络可以训练,在监督的方式,辅助序列真值,或在无监督的方式,通过一个误差函数,其中包括一个版本的 ICP。LodoNet [52]也值得一提,因为它使用 SIFT 将3D 数据转换成二维表示和每种形式的特征提取,从而在连续扫描之间获得关键点对。然后,这些通信被输入一个卷积神经网络pipline,提取匹配的关键点对(MKPs)。MkPs 可以精确地返回到3D空间,并输入一个为激光雷达里程计设计的卷积神经网络。另一项利用神经网络的工作是 PWCLO-net [53]。该算法以端到端的方式从原始的3D 点云中学习 LiDAR 里程计,不需要将点云投影到2D 表示中。网络的输入是两个点云,由一个孪生特征金字塔编码,提取每个点云的层次特征。然后,利用一个注意力cost体积来关联两个点云,生成包含点相关信息的点嵌入特征。利用嵌入掩模从这些特征中获取姿态变换,同时去除动态元素。
其他最近使用深度学习的相关工作是 PSF-LO [54] ,它使用参数化的语义特征来促进注册任务,并使用动态和静态目标分类器; 以及 CAE-LO [55] ,与以前的方法一样,使用无监督的深度学习并使用紧凑的2D 球形环投影。DMLO [56]也是一项有趣的工作,通过将姿态估计分解为两部分来使特征匹配适用于 LiDAR 里程计: 使两个扫描之间的匹配网络和刚性变换估计运算变换估计运算。SuMa++ [57]扩展了 Behley 等人以前的工作[58] ,并对自定位问题有不同的方法。通过分析语义surfel-based的地图变化来估计机器人的位置,同时检测和去除动态目标,提高姿态估计的精度。每个扫描的激光雷达帧被转换成一个二维投影。然后,通过点云分割网络RangeNet++ [59]对每个帧进行分割,因为每个点都属于一个语义标签。在此步骤之后,图像被转换回一个更新世界地图的3D 投影。本节提供了基于点云的里程计的一般概念的概述。文章还分析了这一领域的几个工作,以及它们的独特性,从知识到基于学习的方法,这些方法正在变得越来越流行,就像视觉里程计一样。
多模态里程计
自动驾驶汽车行驶的道路环境是非常复杂的。自动驾驶车可以通过结合不同的传感器(如相机、激光雷达和IMU) ,接近人类的感知能力,从多模态感知中受益。随着这些传感器开始被汽车制造商广泛采用,这种方法正变得越来越重要。
数据融合策略
数据融合依赖于从不同的传感器收集数据将允许从周围捕获更丰富和冗余的信息,这反过来又能够降低状态估计的不确定性。这种方法还有助于减少个别传感模式的失败成本,从而提高系统的鲁棒性。例如,视觉里程计可能会受到光照变化、照明条件差和无纹理环境的影响; 激光雷达难以应对高速公路或长隧道等宽阔的开放空间,以及恶劣的天气条件; 如果不定期调整,IMU 的轨迹估计往往漂移得非常快。因此,拥有不止一种模式应该可以弥补最终的短期或长期失败。在多模态方法中,可以根据合并在系统框架上下文中发生的瞬间对数据融合进行分类(如下图)。
在早期融合中,在任何预处理之前,通常通过将一个或多个传感器投影到另一个传感器的输入空间,在原始阶段合并数据。这种方法通常具有较低的计算成本,但高度依赖于传感器间的空间和时间标定[60]。后期融合意味着数据的后处理合并。这是最常见的策略,因为它需要更低的复杂性和更高的模块化。然而,它带来了更高的计算费用,并阻碍了每种数据类型的潜在有价值的中间特征的使用[60]。最重要的,在后期融合中的局限性仅仅依赖于姿态估计,它赋予融合层一个抽象级别,在某些情况下可能会受到限制。最后,中间融合是更加全面的技术,因为它可以以许多可能的方式部署,这取决于系统的体系结构,特别是如果是基于DL 的。由于数据经过一定的处理后进行融合,因此也称为特征级融合。在里程计的上下文中,可以对数据如何被用来生成系统的输出进行分类。例如,激光雷达测量可以补充图像,同时估计自运动与视觉里程计或反之亦然,或两种类型的里程计可以分开操作,融合在更高的系统框架抽象层[61]。遵循第一种方法的系统通常表示为紧耦合,而其他系统称为松耦合[62]。在这种情况下,图像和点云通常是里程测量法估计的主要来源,而 IMU 和全球定位系统提供便利的先验和/或轨迹漂移校正。
目前的数码相机技术,相比其他传感器,使相机具有非常有竞争力的价格和更小的尺寸和重量。相机通过提取颜色和纹理信息来记录周围场景的高分辨率图像,这对于检测轮廓和物体特别有效,而且,对于 VO 来说,可以识别在连续帧中容易跟踪的感兴趣点。然而,相机是非常依赖于环境条件和照明,面临着一些问题,规模恢复。反过来,激光雷达传感器可以检索自然深度信息,并通常提供更宽的空间覆盖。channel的数量通常在16到128之间,刷新频率可能在5到20Hz 之间变化。然而,雨、雾和雪会对激光雷达的性能造成高达25%的负面影响[63],因此考虑这些现象非常重要。一些研究,如在[60],[64],证明了激光束的波长影响天气条件的不利影响。
在合并来自不同传感器的数据时,标定也是一个关键的方面,特别是在紧耦合系统中。每个传感器具有内部和外部标定参数,捕捉传感器的内部几何特性,并将世界帧与设备帧相关联。此外,传感器必须联合标定,以便由不同传感器检测到的完全相同特征的多个检测结果转换到系统公共帧中完全相同的位置(理想情况下)。最常见的技术使用具有众所周知尺寸的物理目标。这些结构必须具有易于检测的特征,并根据每种传感器模式进行分割。每个传感器分割的特征构成了一组物理约束,允许通过参数优化估计它们之间的旋转和平移。例如,在[65]中,作者仅使用一个简单的任意平面多边形进行相机-LiDAR 标定,而在[66]中,作者提出了一个具有四个锥形孔和金属反射镜的矩形块,以允许相机,LiDAR 和雷达的外部标定。[67]作者编制了一套公开可用的传感器外部标定工具包,同时也提出了一些实际的考虑,有时在标定传感器。在[68]-[71]中可以找到一些额外的技术,主要用于相机-激光雷达融合,以及用于多相机和相机-IMU 融合的 kalibr 工具包,其使用来自[72]-[76]的技术。
SOTA技术
W.Wang 等人[61] ,DV-LOAM 提出的工作是如何在不同水平上结合激光雷达和相机数据来改进自运动检测的一个例子。DV-LOAM 由前端和后端部分组成。前端模块分为 VO 模块和 LiDAR 建图模块。第一个接收来自 LiDAR 的稀疏深度测量增强的连续图像(下图所示)
其中第一个运动估计是由启发于 DSO 的基于直接贴片的方法产生的[24]。通过应用滑动窗口优化技术,保证局部一致性和实时性,进一步提高了估计精度。如果最新的帧是关键帧候选,则从相应的 LiDAR 扫描中提取特征并加入到全局图中,然后允许在从扫描到建图的过程中再进行一个细化步骤。这个步骤允许使用整个激光雷达的覆盖角度,而不仅仅是相应的拍摄角度。后端模块负责地图维护,包括闭环和姿态图优化器,以减少长途旅行中的累积漂移。此外,DV-LOAM 提出了一个有见地的消融研究。结论表明,这项工作所采用的直接和基于补丁的可视化 LiDAR 里程测量方法比单纯的 LiDAR 里程测量方法具有更高的精度,因为它依赖于图像来检测点云中不易区分的边缘。此外,它还受益于直接深度测量增强图像,这使得该方法即使在图像模糊时也能工作。
从 LOAM 的同一作者,V-LOAM [77]旨在减轻 LOAM 对平滑运动的依赖。相机集成到 V-LOAM 允许视觉里程测量作为激光雷达里程测量之前的估计和处理快速运动。类似于 LOAM 的架构,V-LOAM 也使用双频模型。视觉块计算姿态转换的速度更快,使用一种特征匹配方法,它依赖于图像点,其深度或者直接由激光雷达测量,或者通过三角测量获得。同时,当每个激光雷达扫描完成时,假设线性运动不变,新的点云不会失真。这些点被记录在一个由激光里程块维护的局部地图中,如 LOAM 中。注册允许生成自运动估计,纠正影响视觉估计的漂移。此外,LiDAR-camera 组合还支持短期光照爆发期间的操作。
与 V-LOAM 不同,由 J。 Graeter 等[78]提出的 LIMO 利用激光雷达测量以紧耦合的方式补充摄像机图像的深度信息。从图像帧中选取突出点,丢弃位于汽车和行人上的突出点,以避免动态物体的影响。这是通过深度学习语义分割来完成的。将激光雷达点云投影到图像上,通过平面拟合插值计算每个特征点的邻域深度。融合阶段还包括前景和地面分割。通过匹配特征,姿态变换估计由应用光束法平差的改进后端块生成和调整。在这一块中,特别强调仔细选择关键帧和地标,以及使用修剪后的最小二乘法加强模块,以减少异常值的存在。
一种进一步的方法是来自C.Chow等人的紧耦合可视激光雷达 SLAM (TVL-SLAM)[79] ,其中视觉和 LiDAR 模块独立运行,直到来自两者的数据合并时流水线中的某个点,从而构成中间融合情况。关于里程测量领域,视觉前端在视觉残差旁边生成初步的姿态估计。这一估计有助于激光前端残差的计算。融合发生在一个大规模的最佳化问题中,其输入是两个模块的残差。在最后一步中,模块之间的内部和内部一致性由一组约束来确保,这些约束包括视觉标志重投影误差、扫描到地图配准和交叉约束,因为两个前端代表相同的环境。此外,该算法还具有传感器之间的外部标定技术和拒绝运动目标的多步技术。KAIST 数据集[80]的测试由拥挤道路环境中的具有挑战性的场景组成,由于其多模态特征(仅 TVL-SLAM LiDAR 和 ORB-SLAM2的准确性分别提高了88% 和78%),证明了 TVL-SLAM 的优越性能。
Wisth 等[62]最近提出了一种紧耦合的 LiDAR-Visual-IMU 里程测量结构。状态估计被表述为一个具有多传感器因素的大规模姿态图最佳化问题。视觉地标的深度是通过 LiDAR 点的投影计算的,如[78] ,或通过立体匹配; 点云不失真到最接近的图像时间戳,以确保时间同步,使用 IMU 的运动先验; 平面/线特征提取类似于[44] ,这减少了90% 的点为了效率的目的。实验表明对宽阔空间、黑暗隧道、密集的树叶和突然的运动具有相当强的鲁棒性。此外,姿态图公式允许不同的模式独立地影响系统,强调性能一致性的情况下,其中一个传感器的故障。
Ramezani 等人的工作组成了一个不同类型的方法,其主要焦点是通过惯性导航系统(INS)估计药剂里程。通过使用多状态约束卡尔曼滤波器来传播智能体的运动状态。同时,在设置中集成了立体装置,允许通过二维和三维特征匹配方法给车辆运动增加额外的约束,限制了 IMU 估计的漂移。本节提供了几个例子,说明如何组合来自不同传感器的数据,以获得更准确的结果和更健壮的体系结构。通过与单一模式方法的直接比较,上述许多技术显示了汇总不同模式和处理数据冗余的重要性。下表汇总所有参考的里程计技术以及各自的分类、类型和相关关键点。
视觉里程计基准
到目前为止,在里程计领域的一些最相关和创新的工作已经被简要地描述和评论,包括视觉,基于点云,多模态方法。因此,本节将包含对一些暴露问题的一个关键的分析技术,支持的结果由作者获得的 KITTI 里程数据集。KITTI 数据集[22]包括总共22个视觉序列,记录在一辆车上的激光雷达和 GPS/IMU 数据,在常见的道路交通环境中采集,其中11个包括各自的真值。此外,KITTI 还提供了一个比较多种算法的评估工具,并在计分板上对它们进行排名。结果根据三个指标进行评估: i) trel,序列长度为100米至800米的平均相对平移误差(百分比) ; ii) rrel,在轨迹上的 deg/100米的旋转误差; iii)以毫秒为单位的运行时间。表2和表3中的数据对应于 KITTI 里程计基准训练和评估序列中最佳技术的评估。
通过以下分析表,值得注意的是,不管它们的模式或技术性如何,顶部位置之间几乎没有隔离。
事实上,上表中的前三个位置获得了低于0.5% 的树状图,并且每种方法对应于不同的传感模式,即多传感器,视觉和仅激光雷达。其余的地方都大致包括在0.70% 到0.90% 的范围内,除了最后两个,它们是 DL 端到端架构。类似地,在上表中,前五个位置构成了一个非常小的错误范围,大约为0.06%,同样来自每个模态的代表。
还可以观察到,与基于学习的技术相比,传统技术占主导地位。事实上,在过去的几年中,只有在轨迹精度方面有了很小的改进。最终,重点将有所改变,以进一步强化里程计系统,并使其计算效率更高。与运行时或算法分配的数据不同,量化和度量鲁棒性并非易事。对这些技术进行测试的最常见方法是在包含有挑战性场景的数据集中对它们进行评估。虽然 KITTI 被广泛使用,因此适合进行比较,但其他一些数据集,如 KAIST [80]包括更具挑战性的序列。在这方面,多模态系统取得了更好的结果,如 KAIST 的c.Chou 等79和d.wish 等[62]的实验所显示的,这些实验针对针对特定传感器模式的不利条件评估了他们各自的工作,都经受住了测试,并且没有显示出整体退化的迹象,不像视觉或仅激光雷达方法。在效率方面,ELO 脱颖而出无与伦比,同时在准确性方面也表现得非常有竞争力。另一方面,像 TVL-SLAM 这样的复杂方法需要增加计算量,因为它们需要依靠并行运行的多个模块来实现这样的精度和鲁棒性,其中一些可能是需要的,例如优化和建图模块。这种架构的一个可能的解决方案是增强单个功能块,例如将 ELO 或类似的方法集成到激光里程计前端。
开源方法的基准
为了扩展以前的方法[82] ,对里程计进行结构良好和无偏倚的评估。一些开放源码的方法被选择。这些技术是针对从 KITTI-360数据集[3]中提取的一组具有挑战性的序列进行测试的,这些序列从安静的住宅街道上的常规驾驶到繁忙的高速公路都有所不同。
KITTI-360是著名的 KITTI [22]自动驾驶数据集的继承者。它通过增加传感器,如一对鱼眼摄像头和一个额外的激光扫描仪,以及更长和更复杂的驱动器,改进了以前的迭代。通过这种方法,提取了11个序列,并在下表中进行了简要描述。
每个序列 ID 的前两位数字对应于 KITTI-360数据集中的驱动器。这些序列构成了各种各样的环境,特别是挑战里程计算法和评估相应的限制。一些挑战包括高亮度变化,存在许多动态目标,传感器堵塞,和广泛开放的空间,等等。
所选择的评估场景被用来测试一些视觉里程计方法在不同的情况下同化在不同条件下的最先进的表现,同时讨论每种模式的局限性。选择了一些最流行和性能最好的算法:
•可视里程计: ORB-SLAM2[12] ,LIBVISO2[14]和 SOFT1[16]和 SOFT-SLAM2[17]的开源实现。深度学习方法 SC-SfMLearner [83]和zhao等[35]的工作也进行了测试。
•基于点云的里程计: MULLS[43],CT-ICP[42],F-LOAM[47]和ISC-LOAM[48]。
多模态里程计: Ramezani等人的工作[81] ,将多目装置与IMU融合。这些方法之所以被选中,是因为它们是开放源码的,并且有良好的文档说明,允许任何人实现它们。有些像 ORB-SLAM2,被认为是 VO 领域的里程碑,而其他像 CT-ICP 则是表现最好的在 KITTI 里程计基准上。
本集提供了一个良好的理解和所有视觉里程计类别的代表性,包括知识和学习为基础的工作。
挑战分析
对具有挑战性的顺序的分析使用了两个评价指标来测试每种方法的性能。考虑到预测轨迹和地面真实度由一组点组成,通过平均每组点的预测姿态和真值之间的绝对平移误差来计算第一个评估度量$\overline(t_e)$。第二个度量,$t_seq$,包括将每个测试序列划分为100m,200m,300m 等等的子序列,直到800m,并计算每个拉伸的平均翻译误差,然后压缩成所有子序列的全球平均值。下图(其中包括每种方法在每个序列中描述的轨迹)。
评估方法的性能将在下面的段落中讨论,特别是关于一些特殊的挑战。
植物和开阔的道路 在03_02的顺序中,车辆行驶在一条短直路上,整个路边都有茂密的植物环绕,如下图所示。
植被对于相机和激光雷达技术来说是一个特殊的挑战。由于重复和噪声的模式使得视觉方法的特征匹配/跟踪变得困难。密集的叶片由于表面的不规则性和多个小遮挡影响了激光束的有缺陷反射,阻碍了点云的精确排列。即使一般来说视觉结果更好,但是基于激光雷达的方法比纯视觉的方法表现更好,平均误差低55%。原因可能是,视觉技术依赖于路上的视觉线索,激光雷达检测不到。除此之外,相机的垂直视野比激光雷达的视野略宽,这得益于更加鲜明的特征,因为顶部的植被没有那么密集。序列07_01包含相对较宽的开放道路(图10b),这对激光雷达技术构成了挑战,因为开放空间由于缺乏特征使得点云的排列变得困难。在这个序列中,性能最好的视觉方法(ORB-SLAM2)比性能最好的基于LiDAR的 CT-ICP 技术的平移误差降低了20.3% 。同样值得注意的是 IMU 的免疫力,因为它是本体感觉传感器,对场景中的外部因素具有免疫力,因为 Ramezani 等人(与 IMU 一起)在03_02中排名第二,在07_01中排名第一。
回转机动和隧道 序列06_01具有回转机动,其中基于点云的方法的360度空间覆盖有助于更精确的旋转估计。在图中,可以看到视觉方法出现的最明显的偏差。序列10_02具有一个黑暗的隧道通道,其中视觉方法仅仅依赖于从缩小的窗口中提取的远距离特征,如下图所示。
这个通道影响基于相机的里程计技术,这可以在图9c 中观察到,因为所有的视觉方法在最后的左转时开始漂移,因为在弯道前发生的隧道穿越期间错误的前向自运动感知。因此,视觉技术获得的平移误差几乎比基于点云的替代方案在序列10 _ 02中评估的误差大六倍。
动态目标序列 05_01具有少量大尺度视觉遮挡(如下图)。
这种场景对于纯粹的视觉技术来说尤其具有挑战性,因为这些目标所占据的视野范围相当大,难以提取出高质量的特征,甚至由于光圈问题而阻碍了对运动目标的检测。下图展示了当一辆大型卡车在车辆人前面横穿而它是固定的时候,偏差对视觉方法的影响。
从下表中可以看出,基于激光雷达的方法在05_01中表现得更加准确,平移误差小了10倍,这要么是因为360度的场景覆盖,要么是因为算法中包含了特定的动态目标抑制方法。
序列07_02包含几个启动和停止时刻,其中有多个车辆的速度与车辆相似,如下图所示。
类似于序列05_01,多个动态目标扰乱视觉算法,当无数汽车开始移动时,车辆仍然保持静止,造成自运动的错误感觉。ORB-SLAM2(图15)是这种效应的一个明显例子,因为平移错误$t_e$和 $t_seq$ 分别是图12的8.7倍和7.0倍。高于这项技术的平均水平。
此外,几乎所有其他视觉方法的性能都低于平均水平。LiDAR 方法对这些现象的鲁棒性增强,如表5所示。再次,关于场景中的运动目标,IMU 的集成可以增加一个置信度量来估计姿态,在这些情况下,会有来自两个传感器的分歧信息。观察 Ramezani 等人在07_02序列中的两个版本(有和没有IMU) ,作者可以看到IMU的参考影响,因为平均平移漂移从6.58米下降到1.61米。
一般性能比较
基准测试的结果加强了基于激光雷达方法的普遍性。从上表5中可以看出,当没有明显的退化迹象时,激光雷达技术的轨迹误差始终低于其他方法,如07_01和07_02。这表明,这些估计不仅准确,而且精确。请注意,评估的误差是通过积分轨迹计算的; 因此,少量具有显著偏差的估计值或多个具有较小偏差的估计值,将导致轨迹误差在整个序列中逐渐传播,或者不传播。实际上,值得注意的是 CT-ICP 和 F-LOAM/ISC-LOAM 在大多数序列中占主导地位,最后两个是相同方法的近似版本。除了基于学习的技术外,纯视觉技术的平均平移误差为9.5米,而基于点云技术的平均平移误差为5.4米。在点云里程计中,周围的3D 结构是直接绘制的,而 VO 中的输入是场景的2D投影,受到像素离散化的影响,因此精度有所下降。此外,虽然视觉技术的感知只限于一小部分涉及的空间,普通的激光雷达有一个360度的水平覆盖。这符合基于激光雷达技术的目的,因为运动估计受益于空间中的离散点,同时对离群点更有弹性。这些直接的比较有助于解释为什么点云方法通常更加精确和健壮。此外,与原始 KITTI 数据集不同的是,点云并非没有扭曲,所以像 MULLS 这样的算法比通常的算法性能更差。
关于长序列,如00_01和07_01(图9b 和9i) ,无论该方法的传感模式如何,沿着轨迹的漂移的积累通常会发生,因为里程计是一个综合过程。出于这个原因,总是值得依赖于偶尔校正轨迹的技术,如 SLAM 算法中的建图和环闭合,或精确 GPS 测量的集成。或者,结合多个传感器,如 Ramezani 等[81] ,在自定位中提供冗余,这可以避免与只有一个传感参考相比的漂移趋势。结合外感知(相机,激光雷达,雷达等)和本体感知传感器(IMU) ,在最后一个例子,是特别有用的方面的健壮性。这是因为影响这些传感器的错误性质非常明显,而且它们不太可能受到相同环境条件的影响。
此外,尽管 Ramezani 等[81]的工作仅在两个序列中超过了剩余的算法,但在所有序列的平均误差方面,超过了顶尖的 CT-ICP 约6% 的平均平移误差。这一结果表明,包含第二种数据模态(惯性)可以实现更稳定的性能,尽管在某些情况下表现不佳,但在所有测试中仍然表现一致,证明即使面对上述挑战,它也能保持在正轨上。
就像原始 KITTI 数据集上显示的结果一样,基于学习的方法呈现的结果仍然远远低于传统方法。尽管在KITTI-360上执行的测试在DL方法级别上没有显着的代表性,但获得的误差大小和各自的轨迹表明它们的性能仍无法与经典拓扑的视觉方法相媲美,即使与基线模型相比也是如此。从原始数据到姿态估计,视觉里程计pipline反映了一个复杂的问题,深度学习端到端方法还不能重现有竞争力的结果。
自运动估计的当前挑战和局限
值得注意的是,最近的工作日益复杂,随之而来的性能却没有以同样的速度增长。这种现象可能会指出,传统的基于知识的方法开始显示出成熟的迹象,并可能趋于发展瓶颈。这些技术发展的两个主要障碍与实际环境的高度复杂性和不可预测性密切相关。一方面,里程计系统需要尽可能强大的各种不利条件,如照明和天气,这是直接相关的物理感应周围环境。另一方面,算法应该具有最大可能的抽象性,以便在软件层面上,感知能够承受它可能遇到的各种场景,无论是宽阔的开放区域还是拥挤的区域,有许多动态的目标或植被。因此,这是物理和软件领域的联合泛化问题。从更具体的角度来看,与视觉和基于点云的里程计有关的最相关的障碍可以分为三类: 场景条件,计算成本和动态目标。
场景条件
基于视觉的系统对环境的视觉外观非常敏感。视觉里程计,更具体地说是基于特征的视觉输出,在环境缺乏可以在后续帧中跟踪的相关数量的高质量特征时,往往表现不佳。这可能发生在不同的场景条件下,在夜间环境能见度很低,或在恶劣的条件下,如大雨或雾。像沙漠或开阔地围绕道路的情况也往往影响这些方法,因为这种环境的无特征性质。光线的变化也会带来额外的困难,特别是在直接视觉里程计的情况下,因为高亮度的变化,比如黑暗隧道的入口,可能会产生显著的影响。发生这种情况是因为光照一致性假设,假设在这种方法中使用的连续帧具有恒定的亮度,在这些条件下不起作用。反过来,基于激光雷达的技术不受光照条件的影响。但激光雷达受天气和大气条件的影响很大。Carballo 等[84]测试了12种不同的激光雷达模型在恶劣的天气条件下,如大雾和降雨,证明了一些局限性。例如,在大雨中,激光束反射到雨滴上,在扫描中形成“雨柱”,在点云中构成高噪音,如下图所示。
如前所述,激光束的波长可以影响传感器在不利条件下的性能[64]。基于激光的传感器也受到反射率的严重影响,无法检测到反射率低的目标,如玻璃。像 VO 一样,这些方法也倾向于在没有明显突出线索的环境中失败,例如被广阔开阔的田野包围的乡村道路。KITTI-360数据集的评估证实了这些局限性,其中基于激光雷达的方法显示出性能下降的迹象。另一方面,正如预期的那样,当面对照明变化时,基于激光雷达的方法没有报告任何性能问题。
计算成本
在计算能力和时间方面的计算成本限制也应该得到解决。在自动驾驶的情况下,这一点尤其重要,因为在自动驾驶的情况下,估计数应该以足够高的速度提供,以满足与自动驾驶车辆有关的严格的时间限制。许多作者使用高性能的硬件来开发他们的工作,但因为移动机器人通常配备低级别的硬件。该设备可能无法以实时操作所需的频率运行算法。在视频录像中,如果无人机有几个摄像头,计算时间是必不可少的,特别是采集的图像是高分辨率的,这会使处理的数据量难以管理。减少计算负担的一种方法是仔细选择特征,而不是使用整个原始图像。尽管如此,特征提取/匹配和异常去除任务也可能耗费大量时间。
在基于点云的技术中,同样的问题依然存在,增加的成本与点云的无序性有关,点云的预处理操作可能耗费大量时间。有效地排序和存储点云的一种方法是使用八叉树或 K-D 树,它们允许快速的多维搜索。
动态目标
动态目标检测在讨论视觉和激光测距时非常有趣,特别是在自动驾驶中,因为这种类型的目标非常普遍,即其他移动的汽车、行人和骑自行车的人。虽然有些作者考虑了动态目标,但大多数作者没有考虑。这意味着假设世界是静态的,这在估计车辆的自运动时有重要的含义。动态目标,当不计入时,会在轨迹估计中引入误差。如果认为运动目标是静态的,里程计算将基于错误的假设,姿态估计将不准确。同样值得注意的是,由于传感器安装在移动的车辆上,在自动驾驶领域,检测动态目标可能特别复杂。因此,检测到的运动有两个组成部分: 自运动(传感器的运动)和目标自身的运动,都与同一固定帧有关。区分这些运动类型的一种方法是使用额外的传感器(如IMU或GPS)来补充里程计算法,以推断自运动,然后通过减牵引来推断被检测目标的运动。对具有挑战性的场景进行的评估显示,当VO方法面临高度动态环境时,除了相机和 IMU 融合方法之外,其准确性显著下降[81]。在这种情况下,基于LiDAR的方法也更加稳健。这是因为 VO算法在没有正确的masking操作时,倾向于从运动目标中提取特征(运动目标通常具有显著的视觉特征)如下图17所示。
运动分析技术,例如光学和场景流,是推断场景中目标运动的典型方法[85]。利用光流算法推导出的流场可以实现运动目标的分割方法。此外,随着使用 Flownet [88]和 RAFT [89]等深度学习方法在光流估计方面的最新进展,可以准确和及时地计算稠密流估计。上面章节中的一些公开的方法,比如 ClusterVo,SuMa + + 和 TVL-SLAM,已经考虑到了这个问题,因为他们使用了不同的技术,比如语义分割或者重投影策略来过滤掉不需要的目标。虽然与里程计任务没有直接关系,但几位作者提出了在自动驾驶环境下检测和分割动态目标的方法。其中一个例子是 Chen 等人[90]的工作,他们从 LiDAR 扫描中创建残留图像,并将它们提供给常规的点云分割网络,以识别运动目标。Pfreundschuh 等[91]提出了一种用离线算法识别动态目标的方法,然后使用标注数据训练一个能够实时检测移动障碍物的神经网络。FuseMODNet [92]是一个多模态方法的例子,它使用相机和激光雷达来探测在弱光情况下移动的障碍物。
研究机会
多模态架构可以在一个传感器补偿另一个传感器失效的情况下提供更强的鲁棒性。然而,多模态方法的进一步发展仍然是必要的和合理的,因为从本车的角度对环境的表征与各自的结果之间存在着强烈的相关性,这种相关性往往更好,表征越完整。此外,多样化和完整的收集数据集总是提供更好的洞察力和可靠性。由于这些原因,视觉里程计算法的部分局限性,特别是关于环境感应,可以通过开发集成多个传感器的系统来减轻,从而产生更准确和可行的估计。然而,复杂场景和概括问题并没有明显的解决办法。在实践中,关于现有的实际传感选项,手工制定可靠的现实世界模型仍然非常具有挑战性,即里程计问题受到许多因素的影响,这些因素非常难以检测,特别是难以推广。考虑到可能遇到的各种各样的情况,从有几十个动态目标的城市景观,到可能只有很少landmarks可以追踪的漫长的沙漠道路,除了传感器和相关噪音的局限性。因此,一个可行的选择是设计深度学习的能力来捕捉数据中更复杂的潜在特征,而传统的方法迄今为止发现这很困难。然而,基于学习的技术仍然远远不能满足需要,至少在自动驾驶的情况下是这样。此外,数据的可用性仍然不够大,现有的数据逻辑结构,如近年来主导计算机视觉的 CNN,在学习顺序数据关系方面效果不佳。反过来,RNN也能够解决这个问题,但是在捕捉图像特征方面却不如CNN擅长的那样。因此,经常发现 CNN 之后是 RNN,因为通常的解决方案倾向于适应现有的结构,而不是从头开始设计和裁剪它们。沿着这条路线,由于深度学习的使用是高度灵活的,[25]确定需要将新的技术和架构引入视觉/激光里程计作为未来的工作机会。此外,最近的工作,如 D3VO 开始接近传统的方法,不是通过端到端架构,其中的学习过程可能太复杂,但通过学习为基础的子模块,旨在补充系统链,如深度预测模块,例如。另一个似乎无人关注的提议是将深度学习算法集成到多模态体系结构中,以努力利用两者的上述优势。虽然新的方法正在出现,但是基于学习的里程计的全景仍然处于非常不成熟的状态,因此需要进展到更先进和更适合在现实世界中使用的状态,因为它已经在其他领域中使用。
结论
本文介绍了基于视觉和点云的里程计的一些基本要素,并对目前的最新技术进行了广泛的综述。根据 KITTI 数据集获得的结果,讨论了最佳性能技术。此外,在 KITTI-360数据集的一系列具有挑战性的场景中,评估了一组具有代表性的公开可用的方法,包括视觉、点云、多模态和基于学习的方法。结果表明,基于点云的方法在轨迹平移漂移方mask有优势,比视觉方法提高了33.14% 。场景,天气,照明条件,动态障碍和计算成本的高度复杂性和可变性被指数作为里程计算法进展的最大限制因素,因为作者确定了当前传统方法的发展瓶颈。作为解决方案的一部分,本文强调了多模态方法日益增长的稳健性,以及研究和开发更好的基于深度学习的解决方案的必要性,以利用这些方法的数据驱动建模能力,因为目前的方法仍然不具有竞争力。因此,加入深度学习算法和传感器融合也可能是一个有希望的突破性研究,因为它仍然略有待探索。
参考
[1] A Practical Survey on Visual Odometry for Autonomous Driving in Challenging Scenarios and Conditions