本文是阅读了2020年3月份发布的论文3D Point Cloud Processing and Learning for Autonomous Driving 的总结,可能有不对的地方希望能够谅解。
一、背景及现状
作为现代世界最令人兴奋的工程项目之一,自动驾驶是许多研究人员和工程师的愿望。这是一个可能从根本上重新定义人类社会的未来和每个人的日常生活的目标。一旦自动驾驶技术成熟,我们将见证公共交通、基础设施和城市面貌的巨大转变。
早在2009年开始,谷歌开始了一个关于自动驾驶汽车的研究项目,后来创建了Waymo,基于他们早期的技术成功将这一成就商业化。2013-2014年前后,深度神经网络的兴起带来了计算机视觉和机器学习的革命。目前,有许多高科技公司、汽车制造商和初创公司都在从事自动驾驶技术的工作,包括苹果、Aptiv、ArgoAI、极光、百度、通用邮轮、滴滴、出租车、小马艾、特斯拉、Zoox等汽车公司,这些公司有信心在不久的将来实现SAE的L4级的目标。
SAE将自动驾驶技术分为6个等级,从L0到L5【具体分类】,目前许多公司正在实现到达L4的目标。(L2到L3是一个转变点,从人类驾驶到自动系统的转变。从L3到L4是另外的转变点,达到这种水平人类将不需要在任何环境下驾驶)
在工业中,通常自动驾驶系统会分为多个模块,整个系统经过端到端的整体训练,信息可以直接从传感器流动到最终的运动规划或者决策控制。一个自动驾驶系统通常包括传感、地图创建、定位、感知、预测、路由、运动规划和控制模块,如下图1:
高清晰度的地图是在脱机时创建的,在运行时,系统将会被给定一个目的地,然后系统开始感知它所在的位置,将自己定位到地图上,感知它周围的物体,并对这些物体的未来运动做出相应的预测。然后,motion planner使用这些预测为自动驾驶车辆(AV)规划路线,下面是各个模块的简单介绍。
1、传感器
为了确保可靠性,自动驾驶通常需要多种类型的传感器。摄像机、无线电探测和测距(雷达)、光探测和测距(激光雷达)和超声波传感器等,LiDAR被经常使用,因为生成的点云数据包含了更加精确的三维信息。
尽管通过二维图像的三维重建技术已经有了很大的进步,但是仍有很多限制。而LiDAR可以直接扫描物体的表面,直接定位生成三维点坐标信息。这就是为什么我们认为先进的三维点云处理和学习技术是自动驾驶不可缺少的。
2、地图
一个高精度的地图通常包括两张地图,一张是点云图,包含了周围环境的三维几何信息。另一张是与交通规则相关的语义特征图,包括道路边界、交通车道、交通标志、交通信号灯等。这两个图层在三维空间中对齐,并提供详细的导航信息。
3、定位
定位是寻找自动驾驶汽车相对于高清地图中的参考位置的自我位置的任务。此模块至关重要,因为自动驾驶车辆必须定位自己,以便使用正确的车道和高清地图中的其他重要先验。核心技术之一是三维点云注册;也就是说,通过将实时激光雷达扫描与离线高清地图相匹配来估计自动驾驶车辆的精确位置。
4、感知
感知是感知周围环境并提取与导航相关的信息的任务。该模块至关重要,因为感知模块是自动驾驶车辆的视觉系统,它可以检测、跟踪和分类三维场景中的物体。一些核心技术包括二维目标检测和三维目标检测。
5、预测
预测是预测三维场景中每个物体未来潜在轨迹的任务。这个模块至关重要,因为自动驾驶车辆需要知道附近物体未来可能发生的行为来规划一个安全的轨迹。
6、路由
路由是为自动驾驶车辆设计一条从起点到目的地的高水平路径的任务。此模块的输出为运动规划模块提供了一个高级指南。
7、运动规划
运动规划是一种基于当前汽车的状态、周围环境和目的地来设计自动驾驶车辆轨迹的任务。此模块至关重要,因为自动驾驶车辆需要知道如何对周围环境做出反应。
8、控制
控制是从运动规划模块执行命令的任务。它负责控制方向盘、节气门和制动器的执行器。
二、点云处理
随着工业机器人、自主驾驶和增强现实的需求日益增长,3D传感技术正在快速发展。与此同时,从三维点云中处理和学习的算法开始得到学术界的广泛关注。接下来的讨论可以分为两个过程,点云的处理和点云的学习。点云处理过程是通过信号学角度分析点云,点云学习则是通过机器学习角度。
三维点云处理是通过各种数学和计算算法,分析和修改三维点云以优化其传输、存储和质量的过程。大部分的算法都可以通过1维或者2维算法扩展而来,例如三维点云去噪和配准。
三维点云学习是解释和理解三维点云的过程,利用深度神经网络的强大工具,计算机视觉研究人员的目标是将成功从图像和视频扩展到三维点云。由于三维点云的不规则格式,设计学习算法的最大挑战之一是建立有效的数据结构来表示三维点云。一些算法将三维点云转换为常规的三维体素,以便三维卷积可以用于分析;然而,他们必须在分辨率和内存之间进行权衡。直到PoinNet的出现,使得直接处理点云成为现实。
经过上一节的分析,自动驾驶技术中有着两种典型的三维点云,实时激光雷达扫描和点云地图。
实时激光雷达扫描由于传感机制,对于实时激光雷达扫描中的每个三维点,我们可以跟踪它的相关的激光束和捕获的时间戳。一个实时激光雷达扫描可以自然组织在二维图像,其x轴是时间戳,y轴是激光ID。例如,Velodyne HDL-64E(下图)激光雷达有64个,每个都机械的安装在一个垂直角度,随着整体旋转。具体参数解读
实时激光雷达扫描有下面这些特点:
实时激光雷达扫描大约在二维晶格上排列三维点。由于非完美同步,三维点在二维晶格上没有完全对齐。同时,与从多个视图获得的三维点云不同,实时激光雷达扫描只反映一个特定的视图,而且单视图上的物体会被遮挡。
对于较远的物体,实时激光扫描会变得比较稀疏。
点云地图。要创建点云图,需要聚合从多个自动驾驶车辆扫描的实时激光雷达扫描。例如,对于200×200平方米的高清地图,需要聚合激光雷达扫描区域5-10次试验,导致超过1000万个3D点。由于激光雷达扫描可以从明显不同的视图中收集,因此聚合后的高清地图变得更加密集,并提供了详细的三维形状信息。
作为高清地图中的另一层,与交通规则相关的语义特征图包含了三维场景的语义标签,包括路面、建筑和树。由于与交通规则相关的语义特征图和点云图是在三维空间中是对齐的,因此我们可以跟踪每个三维点的语义意义。例如,在点云地图中被标记为树的三维点将有助于提高感知,因为树叶上的激光雷达点通常很有噪声,难以被识别。
三、高精度点云地图
高精度的点云地图包括了两张地图,一是点云地图,另一个是与交通规则相关的语义特征图,包括道路边界、车道、交通标志、交通灯、路缘高度等。创建离线高清地图的主要原因是,实时理解交通规则太具挑战性了。例如,基于现有技术,自动驾驶车辆在车道复杂的交叉路口时,很难实时确定正确的车道。相比之下,所有的交通规则和环境信息都可以很容易地编码在高清地图中,在人类监督和质量保证下进行离线过程。高清地图提供了强大和不可或缺的先验,并从根本上简化了自主系统中多个模块的设计,包括定位、感知、预测和运动规划。因此,高清地图被广泛认为是自动驾驶中不可或缺的组成部分。
高精度地图是通过跨时间收集的传感器数据中创建而成的,因此需要更加健壮以及高效的点云拼接技术,并且要保持更新。
四、点云定位
如上面中介绍的,定位模块通过点云配准查找自动驾驶车辆相对于高清地图中参考位置的自我位置。如下图:
并且通过IMU、GPS和Odometer对汽车进行6DoF姿态估计。
定位模块在现实世界中面临的挑战是在极端场景中工作。例如,当自动驾驶车辆穿过没有虚线标记的直隧道时,几何和纹理特征很少,导致激光雷达到地图登记失败;当自动驾驶车辆被大型卡车包围时,激光雷达可能被完全阻塞,也导致激光雷达断层登记失败。当激光雷达到映射的配准失败持续几分钟时,由多传感器融合分量估计的激光雷达姿态将显著漂移,定位模块将失去精度。
五、点云感知模块
感知模块是自动驾驶车辆的视觉系统,它能够对周围的三维环境进行感知。感知模块的输入通常包括来自相机、激光雷达、雷达和超声的测量,以及定位模块输出的输出姿态和高清地图的前验。感知模块的输出通常是交通灯状态和带有轨道的物体的三维边界框。
感知模块通常包括多个中间组件,如车道检测、二维目标检测、三维目标检测、语义分割和目标跟踪,以实现最终目标。
六、总结
自动驾驶领域正在经历快速的发展。许多技术已经变得相对成熟;然而,自动驾驶的最终解决方案尚未确定。在目前阶段,激光雷达是构建可靠的自动驾驶汽车不可缺少的传感器,先进的三维点云处理和学习技术是自动驾驶的关键基石。随着三维点云处理和学习的快速发展,自主系统中地图创建、定位和感知模块的整体性能得到了显著的提高;然而,还有相当多的挑战还在前方。