智能驾驶之激光雷达算法详解
上QQ阅读APP看书,第一时间看更新

1.5.1 激光雷达在感知功能中的应用

在感知系统中,激光雷达通常可用于图1-7中的各功能模块,实现对道路、障碍物、目标和可行驶区域的识别、判断。

图1-7 激光感知系统流程示例

由于车辆是行驶在道路上的,这就需要我们从点云中识别出地面点云和非地面点云,其中地面点云用于后续可行驶区域的确定,而非地面点云则用于进行障碍物聚类、分割。图1-8示例性地展示了我们在某园区场景进行地面点云分割和障碍物聚类划分的效果。

图1-8 地面检测和聚类分割效果展示

得益于当今深度学习技术的发展,我们可使用深度神经网络提取3D激光点云中的结构、轮廓、强度等特征信息,进行端到端的目标检测,得到目标的位置、尺寸、朝向等信息。图1-9示例性地给出了我们在KITTI数据集和Waymo数据集中进行3D目标检测的效果。

图1-9 基于3D激光点云的目标检测示例

需要指出的是,在工程应用中,3D目标检测模块通常用于对特定的几个常见类别的目标进行识别,如车辆、行人、骑行者等,而石墩、锥桶等小障碍物则可通过聚类功能实现。这一方面是为了降低工程标注成本,另一方面是为了降低系统对深度神经网络的检测难度要求。此外,聚类功能和3D目标检测功能的结合可以进一步提升感知算法的鲁棒性,降低智能车在行驶中遇到奇异物体(如侧翻的车辆、其他车辆掉落的货物等)时,单一目标检测模块发生漏检对后续功能的影响。

考虑在驾驶场景中,目标车辆可能被周围物体遮挡,以及激光点云中有噪声存在,单独基于一帧点云进行目标检测往往难以获取目标的准确信息。因此,我们需要结合多帧的目标检测信息,得到目标信息的最优估计。此外,系统希望能够对检测到的行人、汽车等多个目标赋予不同的ID以进行目标管理,并进行目标的速度估计,用于后续轨迹预测等功能。上述过程便是由多目标跟踪模块完成的。图1-10展示了在高速场景下基于某3帧连续点云进行目标跟踪后输出的ID分配结果。

在驾驶过程中,感知系统通常还需要获取道路边界和车道线信息,这就需要对应的路沿检测和车道线检测模块。而早期业界使用激光雷达进行路沿检测和车道线检测的公开研究相对较少,这主要是由于之前智能驾驶公开数据集中使用的激光雷达线数较少,其点云数据比较稀疏,故往往无法有效探测到中、远处的车道线和路沿。然而,随着近两年激光雷达硬件技术的不断提升,120线束以上激光雷达的不断普及,目前车载激光雷达能够探测到较远处的路沿和车道线。再加上激光点云能够提供较准确的车道线(路沿)的3D位置,以及激光雷达在夜间场景中的优势,越来越多的学者开始投身到基于激光点云进行路沿检测和车道线检测的研究中。图1-11和图1-12分别展示了基于3D激光点云进行路沿检测和车道线检测的效果。

图1-10 基于某连续3帧点云进行多目标跟踪的示例

图1-11 基于3D激光点云的路沿检测效果图

在获取了道路边界、车道线、障碍物和目标等信息后,即可计算出车辆的可行驶区域,供后续规控功能使用。图1-13示意性地给出了使用速腾真值系统RS-Reference输出的可行驶区域。

此外,一些学者尝试在激光点云中使用基于语义分割[4]、实例分割[5] 或全景分割[6]的技术路线来实现激光感知各模块的功能,系统流程大致如图1-14所示。通过语义分割模型,我们可以将原始3D激光点云分为前景点云和背景点云,如图1-15所示。一方面,前景点云通常包含与我们所关注目标(如车辆、行人、骑行者)对应的激光点云,并可基于聚类算法或实例/全景分割模型对前景点云进一步划分,进而结合L-Shape Fitting算法[7]得到每个目标的尺寸、朝向。随后,我们便可进行各目标的跟踪,实现目标管理、速度估计等功能。另一方面,在背景点云中,我们可以进行车道线、路沿和可行驶区域的分割计算。目前,智能驾驶领域应用比较广泛的分割网络数据集为SemanticKITTI,但是由于语义分割网络通常需要逐点地标注信息,因此在工业应用中,基于纯语义分割方案的感知系统的商用推广难度相对较大。

图1-12 基于3D激光点云的车道线检测效果图

(注:图片来源于本章参考文献[3])

图1-13 可行驶区域检测示例

图1-14 以点云语义/实例分割为主的感知方案流程示意图

图1-15 激光点云语义分割效果示例

(注:图片来源于本章参考文献[4])