【论文笔记】A Survey on 3D LiDAR Localization for Autonomous Vehicles
【论文笔记】A Survey on 3D LiDAR Localization for Autonomous Vehicles
在自动驾驶领域中扮演着至关重要的角色的是LIDAR传感器系统。这种先进的技术能够生成丰富、密集且精确的空间数据,在车辆定位和运动追踪方面发挥着关键作用。本文综述了当前3D LIDAR定位领域的最新研究成果,并对各种方法所取得的成果进行了深入探讨,从而试图为研究者指明未来最具潜力的发展方向。
自动驾驶汽车的 3D 激光雷达定位
基于 3D 配准的方法
~~~~~~~在本节中,我们将回顾基于 3D 点云配准方法的 3D 定位方法。配准转换一对点云,以便将它们对齐在同一坐标系中,从而可以扣除两次扫描之间的转换。在 ADC 定位的背景下,可以通过两种方式使用配准:(1) 将传入扫描与预建点云图的部分组合以定位车辆,或 (2) 通过组合连续的 LiDAR 扫描以计算车辆的里程计。
3D 点云配准主要用于形状对齐和场景重建领域,其中迭代最近点 (ICP) 算法 [5]、[59] 是最受欢迎的算法之一。在 ICP 算法中,通过最小化两个点云点之间的误差度量来迭代优化源点云和目标点云之间的转换。开发了该算法的多种变体 [41],例如:点对线 ICP [3]、点对平面 ICP [28] 和广义 ICP [45]。 ICP 算法多年来一直是解决点云配准任务的标准,并且设计了将它结合到定位管道中的方法,例如在 [34] 中,它结合了闭环机制和位姿图构建过程以减少连续注册的累积误差。最近在 [24] 中,提出了一种里程计管道,它集成了有关 LiDAR 传感器物理的知识,并使用新颖的下采样和点匹配拒绝方法改进了 ICP 算法:LiDAR 扫描的下采样是使用正态协方差滤波器完成的( NCF) 只保留具有精确法线的点。另一方面,使用几何对应拒绝器实现匹配点时的异常值拒绝:通过利用 LiDAR 扫描的环形结构和先前计算的法线,作者定义了一个名为最高相邻光束距离的阈值,用作匹配拒绝标准。当将这两种方法插入 ICP 算法时,作者报告说 KITTI 数据集上里程计的漂移下降了 27%。
然而,ICP算法最终被3D正态分布变换(NDT)算法[32]、[33]超越。 3D NDT 最初是为辅助自动采矿车辆而开发的,是一种点云配准算法,可将 2D NDT 算法扩展到 3D 空间。与 ICP 算法类似,源点云和目标点云之间的转换被迭代优化。但在这种情况下,最小化的误差是首先将点云转换为概率密度函数,该函数可与牛顿算法一起使用以找到它们之间的空间变换。
ICP 算法或 3D NDT 算法等方法可以在 LiDAR 对之间产生非常准确的转换,但是,在 ADC 的背景下,这些方法很少满足实时执行标准。此外,为了使这些方法准确,通常需要初始猜测来启动优化过程并避免局部最小值。这通常意味着必须使用额外的传感器(例如 IMU [25]、[60])来生成可用作初始猜测的里程计,因此不适合我们的仅 LiDAR 设置。
在更经典的 SLAM 方法中,[9] 中的作者提出了一种名为 IMLS-SLAM 的 3 步算法:首先是动态对象去除,它被简化为扫描的聚类和小聚类的去除。第二步是应用基于每个点的可观察性的采样策略以对扫描进行下采样,然后最后是通过遵循扫描到模型匹配策略优化变换的匹配步骤,使用隐式移动最小方形 (IMLS) 表示。
在尝试注册扫描之前,另一种流行的预处理方法是计算点云的面元 (SURFace ELEment) 表示。在 [1] 中,正在构建冲浪贴图,同时将传入扫描转换为顶点和法线贴图,用于使用所谓的帧到模型 ICP 算法计算车辆的里程计。然后使用面元图来寻找闭环候选,以优化车辆的轨迹并最小化漂移。 [4] 中提出了对该方法的扩展,其中使用 LiDAR 数据球面投影的语义分割来移除动态对象并通过对帧到模型实施语义约束来改进帧到帧匹配ICP算法。在[38]中,计算了两种不同的面元表示:椭球面元图(ESM)和圆盘面元图(DSM)。由于 ESM 的稀疏性,它仅用于本地化。另一方面是 DSM,它比 ESM 用于重建周围环境要密集得多。
本着同样的精神,领线段 (CLS) 构造是一种有用的预处理方法,可以在对齐点云时实现良好的精度水平:在 [51] 中,LiDAR 扫描被转换为线云,通过来自相邻环的相邻点之间的采样线段。然后使用迭代方法对齐这些线云:首先,计算生成的线的中心点。然后,通过在目标点云中找到中心与源点云中的线最近的线,这些点用于找到连续扫描之间的转换。使用基于先前转换的全局优化,应用额外的后处理来提高准确性。
有时,降低 LiDAR 数据的维度也可以产生合理的结果,例如在 [48] 中,传入的扫描被投影到具有占用率和高度的 2.5D 网格地图上。该网格图相当于灰度图像,用于根据光度误差来配准扫描,因为它通常是用相机数据完成的 [15]。
基于 3D 特征的方法
~~~~~~~在本节中,我们将处理基于 3D 特征提取和匹配的 3D 定位方法。 3D 特征 [19]、[42]、[43]、[47] 是表示在时间和空间上一致的可识别区域的兴趣点,例如角落和平面。通常用于 3D 对象检测任务,这些特征通常使用称为特征描述符的唯一向量表示,该向量可用于匹配两个不同点云中的特征。通过找到足够且一致的匹配,我们可以使用优化方法计算扫描之间的转换,从而构建里程计测量。
在 [57] 中,作者提出了一项研究,重点是寻找在尝试实现 ADC 的准确定位时应观察到的数据类型和特征。这里的作者认为必须根据点簇的分布来构建和提取特征。然而,他们的实验表明,从一个场景到另一个场景,点的分布发生了剧烈的变化,使得这种方法非常不稳定。
在 [13] 中提出的一种名为 PoseMap 的方法中,作者认为环境的“连贯”地图表示对于实现高质量定位不是必需的:该方法利用了使用 [2] 的预构建点云地图的优势],基于重叠阈值对其进行二次采样,以生成保持关键姿势的环境的简单、稀疏和轻量级表示。该地图表示可以被视为子地图的集合,这些子地图可以在不同的时间点相互独立地更新。然后使用滑动窗口方法通过简单地使用距离当前车辆位置最近的两个子图并最小化旧特征和新特征之间的距离来解决定位。
针对越野环境,[21] 中提出的名为 CPFG-SLAM 的方法受 ICP 和 NDT 算法的启发,并依赖于 3D 特征和概率网格图。通过利用网格中的最近邻而不是最近邻点,作者能够更有效地将点云匹配和注册到网格地图上。使用期望最大化 (EM) 算法来估计位姿,而使用 Levenberg-Marquardt 算法解决最终优化问题。
其他定位方法尝试利用 ADC 将移动的环境中存在的主要几何形状:在 [39] 和 [18] 中,平面提取算法与帧到帧技术相结合,以产生姿态估计为车辆。与ICP算法获得的结果相比,平面提取和对齐方法在精度和速度上都有很大的提高。
虽然是一种有时需要调整和适应多个参数的纯工程解决方案,但众所周知,基于 3D 特征的定位方法在准确性和速度方面都能产生令人印象深刻的结果:目前在 KITTI 里程计排行榜上排名第一,该方法在 [ 58]首先根据点的平滑度和遮挡提取平面和角点特征。这些特征在接下来的扫描中与点块匹配,然后使用 Levenberg-Marquardt 方法来解决 LiDAR 运动。由于它通常在大多数 SLAM 管道中完成,因此地图也在背景中以比里程估计更慢的频率构建,这有助于改善最终定位结果。 [46] 中提出了对该方法的扩展,以提高其速度并保证里程计计算的实时性。主要的改进在于通过去除不可靠的特征并使用两步 LevenbergMarquardt 方法来加速优化步骤,从而利用地面的存在。尽管如此,LOAM 管道仍然存在的主要问题之一是由于累积误差导致的里程计漂移。但是,将闭环机制插入管道可以解决这个问题,如 [27] 或 [22] 中所示。
基于 3D 深度学习的方法
~~~~~~~在本节中,我们将回顾基于深度学习的 3D 定位方法。虽然在里程计和定位估计方面仍然是一种非常年轻的方法,但在证明在相机领域非常有前途之后,深度学习的使用最近越来越受欢迎,并且在 PointNet [40] 和 PoinetNet++ [40] 等方法表明在尝试解决 3D 点云相关挑战时,深度神经网络的效率有多高。通常表述为回归问题,涉及深度学习的方法可以尝试以端到端的方式解决此任务,方法是使用原始点云作为输入并使用单个网络直接预测车辆的位移,或者尝试替代某些部分预先建立的经典管道可能有利于深度学习网络的泛化。
提出使用深度学习方法解决此任务的第一种方法是 [37]:这里的想法是尝试将此挑战带回图像域,而不是尝试直接在 3D 点云中解决它,在以简化网络的数据输入。传入的 LiDAR 帧首先投影到 2D 空间以生成全景深度图像,然后将其输入到一个简单的 2 分支卷积网络中,以尝试回归两个输入帧之间车辆的位移和方向变化的值。与现有技术相比,作者获得的结果低于标准。然而,他们能够证明探索使用深度学习来解决这个任务最终可以带来更好的结果。
全景深度图像是 LiDAR 数据的一种主流形式之一, 而 DeepPCO 则是其中一种替代方案[53]. 在LiDAR投影帧的基础上, 我们将其输入到两个独立网络模块中: 在第一个模块中我们计算车辆的整体移动情况, 在第二个模块中则分析其旋转状态.
另一种探索通过二维空间实现输入数据简化的方法已由文献[6]提出。在其中,LiDAR帧基于球坐标系进行投影从而生成两种二维表达:顶点图(代表各点位置(x,y,z))与法线图(代表各点法线值)等概念。所设计的网络主要由残差模块构成,包含两大功能模块:第一部分命名为VertexNet,采用顶点映射作为输入并用于预测随后帧间的变换;第二部分命名为NormalNet,利用法线贴图作为输入并预估两帧间的旋转参数;最后整合两模块输出生成完整的两LiDAR帧间变换矩阵。为了使该网络实现端到端训练,作者根据不同场景下可获得标注信息而设计了两种不同的损失函数方案:第一种为传统监督学习方案,通过对比真实标签与模型预测结果优化模型参数;第二种则为无监督学习方案,完全不依赖标签信息并借助ICP算法引导模型完成准确运动估计任务
在文献[56]中,为了进一步简化输入数据,开发出一种基于点云环分布的人工旋转不变表示(RIR)。作者声称,通过这种表示方法,全局定位问题被重新表述为身份验证问题,这一观点是通过采用名为LocNet的孪生网络得以实现的,该网络接受两个后续RIR作为输入,其目标是优化对比损失函数[20]。LocNet输出一个降维后的特征向量,该特征向量随后应用于完整的SLAM管道中,MCL[16]与ICP算法协同工作,从而能够从粗到精的方式生成最终转换结果
在文献[14]中首次提出LORAX算法
在多篇关于 3D SegMap 方法相关的工作 [8-12] 中
在前面讨论的基础上可以看出,在现实世界中由于光照条件的变化以及环境复杂性等多种因素的影响下难以实现精确匹配这一问题依然存在。基于此我们提出了一种改进型的空间金字塔匹配算法来解决这一难题。该算法的核心思想在于通过构建多级空间金字塔来提取不同尺度下的特征信息从而提高匹配算法的整体性能并降低计算复杂度。实验表明该算法相较于传统的空间金字塔匹配算法在匹配精度上有了明显的提升同时还能较好地适应不同尺度下的目标识别需求
在 [50] 的研究中提出了一种方法,在其中作者设计了一种系统来校正基于 LiDAR 数据的经典状态估计器的偏差项以提高精度。为此他们采用了高斯过程模型并将其应用于对六个相互独立的里程计误差建模其中精心选择的关键特征重点聚焦于受这些误差影响最大的三个自由度以实现精确建模。在 [31] 的研究中则提出了一个更为高级的方法即 L3-Net 方法这一方法与偏差校正主题有着密切关联因为这里的研究者并未试图预测帧之间的完整转换而是通过一种新的架构尝试从传统的本地化系统与基本事实之间学习残差值以提高定位精度首先提取相关特征并将其输入到 miniPointNet 中生成相应的特征描述符随后在解空间 (x; y; z) 中构建成本量并利用 3D 卷积神经网络来进行正则化
此外,在结构化架构中整合递归神经网络(RNN)分支以确保位移预测结果的平滑性。其进一步提出了一种更为全面且通用的L3-Net变体,并将其命名为DeepICP。在此处采用PointNet++模型提取特征信息。随后选择并保留最关键的部分作为特征进行过滤处理。与之前的方法类似,在目标点云中生成关键点位置。为了准确估计变换参数矩阵的具体值和空间变换参数向量的内容。综合运用了多个损失函数项来平衡局部相似性和全局几何约束。
评估和讨论
基于KITTI里程计基准[17]的研究结果与之前的方法进行了对比分析。KITTI里程计基准被视为评估户外里程计效果的重要大型数据集之一:它通过安装在车辆上的Velodyne HDL-64E设备记录了22个操作序列,并对这些序列进行了已预处理过的LiDAR扫描以补偿车辆运动。地面实况可用于前11个序列,并利用先进的GPS/INS系统获取定位信息。
表II汇总了训练数据集上的各项结果,而表III总结了KITTI官方排行榜上的测试数据结果。请注意,我们仅考虑那些不涉及闭环机制的应用方案。尽管LOAM仍然保持在KITTI排行榜的第一位,但可以看出,基于深度学习的方法越来越精确。例如,DeepICP所报告的平均精度优于所有在训练数据集上提出的方法。然而,将其定为'最先进'方法存在两个主要理由:首先,DeepICP声称配准每对帧大约需要2秒的时间,这对于真正应用于自动驾驶汽车的实际运行来说过于缓慢;其次,这些方法目前尚未在测试数据集上发布性能评估结果
在此前的基础上,LOAM及其变体仍然是自动驾驶部署的最佳选择和最值得信赖的技术方案


结论
在本文中,我们对自动驾驶汽车3D LiDAR定位领域的最新进展进行了系统综述与深入探讨,并对其主要发现进行了详细对比与讨论。基于3D LiDAR作为唯一使用的传感器这一事实,在当今社会中该技术的重要性日益凸显,并且其在公众及制造商中的可用性持续提升。通过对现有文献中引用的KITTI里程计数据集进行整合与分析后发现:尽管基于深度学习的方法展现出令人鼓舞的实验结果,并且被认为是未来解决这一挑战的关键思路之一;但基于3D特征检测与匹配的方法仍被普遍认为是更为先进的技术。这种差异源于它们在实际部署环境下的稳定性能表现已经被充分验证。
