对于自动驾驶车辆而言,其感知系统将感知环境转化为层次化的物体描述(例如物理特征、语义信息、意图感知),这些信息来自感知传感器输出、定位和地图数据。如图1所示,传统的激光雷达数据处理流程,包括四个步骤:目标检测、跟踪、识别和运动预测。近年来深度学习技术的兴起正在改变这种经典流程,在介绍经典方法后我们将介绍其变革。由于Velodyne激光雷达在研究界的普及,回顾的数据处理方法主要基于这种机械旋转式激光雷达。
S-Lab 是一家专注于自动驾驶智能硬件检测的公司。我们致力于提供高效而可靠的激光雷达检测解决方案,通过先进的技术和创新的研发过程,为科技公司提供卓越的问题解决和优化方案。通过不断推动技术的边界,S-Lab 致力于成为行业领先的自动驾驶硬件检测解决方案提供商之一。

图1目标检测流程
1.目标检测
目标检测算法提取目标候选区域并估计其物理信息:被检测物体的位置和形状。由于在大多数交通场景中,目标物体与平坦地面垂直,因此目标检测算法通常包括地面过滤和聚类。地面过滤将点云标记为地面或非地面。然后,非地面点通过聚类方法被分组成不同的物体。

图2 经典激光雷达感知系统的流程图,
展示了每个步骤的示例输出
这些示例来自图2所示的作者平台。请注意,在目标检测之后,我们只处理道路范围内的物体(由黄线标示)。
在早期的研究中,激光雷达的点云被投影到360°的极坐标网格中,细分围绕激光雷达的360°。每个网格单元格内的点被连续处理,以生成虚拟扫描,指定了自由、占用和遮挡的区域。占用的虚拟扫描被分组成物体聚类。在使用基于网格的局部平面拟合方法时,采用了类似的方法,而不是处理每个点。能够拟合为平面的网格被分类为地面网格,其余的非地面网格通过连通分量标记(CCL)进行聚类。然而,基于极坐标网格的方法总是需要将3D激光雷达点投影到离散网格中,这会丢失激光雷达测量的原始信息。
在球坐标(r, φ, θ)中处理激光雷达信号提供了更好的方法。对于作者使用的Velodyne UltraPuck,每个激光束的垂直角度是固定的,方位角由扫描时间和电机速度决定。因此,每个距离读数可以用Pi,j = (ρi,j,φi,θj,)表示,其中i指的是特定的激光束,j是方位角索引,如图2所示。这种方法自然地将距离读数填入预定义的数据缓冲区(距离图像),因此可以快速访问点及其邻近点。近年来,在距离视图中处理激光雷达数据变得越来越受欢迎。例如,基于距离图像,对地面点进行了分割。

图3 旋转式激光雷达(Velodyne UltraPuck)的距离视图,用于进一步处理。伪彩色的距离图像(32x1800)有助于进行后续处理
剩余的非地面点可通过距离和角度的标准轻松分组。对于一个32束激光雷达,它们在Intel i5处理器上达到了4毫秒的处理时间。按行处理距离图像。他们在每个扫描线(实际上是距离图像中的行)上应用了聚类,然后逐个扫描线合并了聚类。图2展示了基于距离图像的我们实现的地面过滤和聚类的样本结果。绿色点是地面点,非地面点被分组成物体候选区域(蓝色多边形)。目标检测提供了初始的物理信息,例如物体的位置。接下来的步骤,如识别和跟踪,补充了语义和更多物理信息,例如航向、速度,用于检测到的物体。
2.目标识别
基于机器学习的目标识别方法为检测到的物体提供语义信息(例如行人、车辆、卡车、树木、建筑物等的类别)。采用的典型识别过程包括特征提取步骤,计算紧凑的物体描述符,以及分类步骤,预训练的分类器根据提取的特征预测物体的类别。如图4的那样,文献中提出的特征可以大致分为两类:整个物体的全局特征,或每个点的局部特征。

图4 Velodyne激光雷达(光探测与测距)在城市环境中收集的一个扫描的典型分割结果。不同颜色表示不同的物体
物体的大小、半径、中心矩或最大强度,是最基本的全局特征。在3D点云中应用主成分分析(PCA)是另一种获得全局形状特征的有效方法。如通过分析从PCA获得的特征值,可以获得三个显著特征(表面性、线性性、散布性)。至于局部特征,可计算每个点及其相邻点的三个显著特征。提取了三个直方图,每个包含4个间隔在0和1之间的条形箱,作为局部特征。更复杂的特征是Spin Image(SI)。SI是通过围绕给定点p的表面法线n旋转网格而创建的。SI的虚拟像素要么是到n通过的直线的距离,要么是到由p和n定义的平面的距离。这个独立的点特征转换为全局特征:对于一个物体,只有其中心点的SI被用作物体描述符。在文献中,还有更复杂的特征,例如全局Fourier直方图(GFH)描述符。然而,实时需求限制了特征的复杂性。
在特征提取之后,以下分类是典型的监督式机器学习过程:通过训练数据集训练的分类器预测输入对象的类别。诸如KITTI 6等知名数据集提供了丰富的资源。从机器学习(ML)的工具库中,可以应用许多ML工具,例如朴素贝叶斯、支持向量机(SVM),KNN,随机森林(RF)和梯度提升树(GBT)。考虑到其速度和准确性,SVM与RBF(径向基函数)核仍然是最流行的方法。图2显示了基于我们的实现(SVM与RBF核)对检测到的道路上的目标的识别结果。最近,研究者们应用了一种证据神经网络来对激光雷达物体进行分类。证据分类器可以更好地处理实践中经常遇到的未知类别。
3.目标跟踪
多目标跟踪(MOT)算法通过时空一致性对检测/识别的物体进行相关定位。MOT维护检测到的物体的身份并提供其物理状态,例如轨迹、姿态、速度。MOT是一个经典的工程问题,长期以来一直受到研究。基本架构主要包括单目标跟踪器,其“最优”地估计被跟踪物体的状态,以及数据关联将新的检测分配给跟踪器。
单目标跟踪器将运动建模为动态状态空间模型,并在贝叶斯滤波框架下估计状态。卡尔曼滤波(KF)系列是常用的工具箱,其中经典的KF假设为高斯线性,其变种包括扩展卡尔曼滤波(EKF)、无迹卡尔曼滤波(UKF)。研究者们使用了KF和恒定速度模型来跟踪激光雷达检测到的物体。作为KF的非线性版本,可利用EKF进行激光雷达物体跟踪。将单个动态模型扩展到多个机动模型,交互多模型(IMM)滤波器能够处理更复杂的情况。IMM滤波器由多个并行运行的滤波器组成,每个滤波器使用不同的运动模型。在实验中,针对单个物体,应用了IMM-UKF滤波器,其中三个UKF分别用于三个运动模型:恒定速度、恒定转向率和随机运动。
作为另一种常见方法,粒子滤波(PF)适用于不符合高斯线性假设的更一般情况。PF在激光雷达数据处理中的应用可以追溯至DARPA Grand Challenge 2017,其中使用了Rao-Blackwellized粒子滤波器。然而,PF需要大量的粒子,尤其是对于高维状态空间。因此,在实时感知系统中,KF系列更受欢迎。
数据关联将检测与跟踪进行关联。最简单的方法是最近邻(NN)滤波器,它根据检测和跟踪之间的欧氏或马氏距离将检测分配给其最近的跟踪。

图5 最近邻(NN)滤波器效果示意图
对于杂波场景,NN滤波器不够用。相比之下,联合概率数据关联滤波器(JPDAF)为检测-跟踪关联提供了一种软、概率化的方法。JPDAF考虑在一个门限窗口内的所有可能检测(包括无检测)并估计它们分配给跟踪的概率,并对所有关联假设的加权平均值进行估计。JPDAF被应用于数据关联,而IMM-UKF跟踪器用于跟踪个别物体。
与雷达基于的MOT不同,雷达通常将所有检测建模为点,而基于激光雷达的MOT在于应该跟踪检测的形状。最简单的形状模型是2D边界框,它假设检测是车辆状的物体。L形状拟合是估计边界框中心、宽度、高度和方向的最常见方法。然而,对于更一般的物体,例如行人、树木、建筑物等,2D边界框是不够的。更复杂的方法实现了多种形状模型:点、多边形、L形状和线。当跟踪移动物体时,其形状随着姿态和传感器视角的变化而变化。实现了一种跟踪方法,同时估计由2D折线表示的姿态和形状的状态。
4.目标意图预测
前面介绍的模块提供了检测目标的过去和当前信息。然而在自动驾驶系统中,决策和路径规划算法需要跟踪目标的未来运动。基于某些动力学模型假设完全适配检测到的对象的先前工作不适用于长期预测。为解决这一缺点,提出了基于机器学习方法的机动或行为识别。车辆的常见机动包括插入、变道、刹车、超车等。研究者利用GMM(高斯混合模型)或HMM(隐马尔可夫模型)对汽车跟随、变道等行为进行建模。基于HMM实现的机动分类,在车辆交互模型的约束下通过VGMM(变分高斯混合模型)预测了车辆的运动。随着RNN在建模时间序列数据方面的成功,基于LSTM的方法变得越来越流行。
还可以使用LSTM对驾驶员在路口的意图进行分类,结果显示LSTM优于其他传统机器学习方法。研究者提出了一种编码器-解码器LSTM模型来识别机动并预测轨迹。除了识别单个物体的机动外,社交LSTM提出捕捉所有物体的相互作用。这是通过社交汇集实现的,它将目标周围物体的LSTM状态缩减为社交张量,应用并改进了原始的社交汇集部分,以实现车辆轨迹预测的目的。

图6 社交LSTM示意图
5.新兴的深度学习方法
在计算机视觉和语音识别取得巨大成功之后,深度学习(DL)的浪潮也涌入了激光雷达数据处理领域。深度学习是机器学习算法的一个子集,主要使用多层神经网络。与传统的机器学习方法(如SVM)相比,DL技术能够自动从原始输入中提取特征。卷积神经网络(CNN)和循环神经网络(RNN),如长短期记忆(LSTM),是最常用的工具。
感知系统的基本组件,地面分割、目标检测、跟踪和识别,都可以通过深度神经网络(DNN)来实现。例如,通过应用CNN到由多通道距离图像表示的激光雷达点,实现了地面点的分割。与基于聚类的目标检测可以检测到任意目标不同,基于DNN的解决方案通过识别实现目标检测,这是监督学习的范式。车辆可以通过基于CNN的神经网络在激光雷达点的BEV(鸟瞰图)表示中进行检测。
研究者还提出了更复杂的神经网络,CNN被应用于激光雷达数据的距离图像和BEV,然后与摄像头检测结果融合。然而,由于激光雷达的物理限制,只有车辆可以被有效地检测,KITTI基准测试中行人检测的最佳结果平均精度仅为52.40%(在本文撰写时为DENFIDet方法)。可以将证据理论与DL架构集成,用于基于激光雷达的道路分割和地图绘制。DL也实现了目标跟踪。与传统跟踪算法中描述的滤波框架相比,研究者提出了一个基于跟踪的检测的深度结构模型。首先,一个检测网络处理一系列激光雷达数据和图像以生成检测建议。然后,通过寻找最佳检测的关联来估计跟踪,这是通过一个行进网络和评分网络实现的。除了改进传统的感知组件外,之前难以实现的点级语义分割现在可以通过深度学习来实现。

图7 RangeNet提出的神经网络结构
有的研究者还提出了一个众所周知的方法PointNet,用于普通用途的语义分割3D点云。然而,由于激光雷达数据在距离方面的稀疏性,该方法在自动驾驶场景中效果不佳。SqueezeSeg 通过在激光雷达点的距离视图中应用CNN实现了实时分割。由于缺乏大规模注释数据集,这两种方法的性能尚未准备好在实际应用中投入使用。然而,SemanticKITTI 改变了这种情况——这是基于KITTI的最新和最大的点级注释数据集。基于这个数据集,RangeNet 展示了出色的性能和速度,而其深度神经网络结构并不复杂。图6展示了RangeNet的结构和一个示例结果。随着越来越多的注释数据集的出现,我们有充分的理由期待基于激光雷达的语义分割将具有更好的性能。
学术引用:
A. A. Rachman, “3d-lidar multi object tracking for autonomous driving,” Master’s thesis, Delft University of Technology, Delft, Netherlands, 2017.
B. Wuet al., “SqueezeSeg: Convolutional neural nets with recurrent crf for real-time road-object segmentation from 3d lidar point cloud,” inIEEE International Conference on Robotics and Automation (ICRA), 2018.
D. J. Phillips et al., “Generalizable intention prediction of human drivers at intersections,” in IEEE Intelligent Vehicles Symposium (IV), 2017.
F. Moosmann and C. Stiller, “Joint Self-Localization and Tracking of Generic Objects in 3D Range Data,” in IEEE
International Conference on Robotics and Automation (ICRA), 2013.
Li, You, and Javier Ibanez-Guzman. "Lidar for autonomous driving: The principles, challenges, and trends for automotive lidar and perception systems." IEEE Signal Processing Magazine 37.4 (2020): 50-61.
vvv