第2章 3D物体检测
联网和自动驾驶汽车的采用,无疑有助于提高驾驶的安全性,并能提高交通流量和工作效率。然而,对自动驾驶汽车的安全运行而言,准确的环境感知和认知至关重要。自动驾驶汽车的感知系统,将感知数据转换为语义信息,对道路主要目标(诸如车辆、行人、骑自行车的人等)的位置、速度和等级进行识别,对车道标记、可驾驶区域和交通标志信息进行识别。需要注意的是,目标检测任务至关重要,因为如果不能识别道路目标物体,则可能会导致发生与安全相关的事件。例如,未能检测到前面的车辆,会导致发生交通事故,甚至危及生命。
感知系统发生故障,一是由传感器的局限性和环境变化(例如,照明和天气条件)引起的。其他挑战包括车辆感知系统在高速公路、农村和城市地区等驾驶区域的通用化。虽然高速公路的车道结构合理,但市区却没有规定停放车辆的方向。行人、骑自行车的人等类别更加多样化,而且放置垃圾箱的背景也较为混乱。二是由于遮挡,当一个物体遮挡另一个物体时,可能会导致那个被遮挡的物体的部分或全部不可见。因为不仅物体的大小可能非常不同(例如,将卡车与垃圾桶比较),而且物体可能与自动驾驶汽车的距离很近或很远,对象的比例会极大地影响传感器的读数,从而可能导致同一类对象的表示形式非常不同。
尽管存在上述问题,但是用于自动驾驶的2D物体检测方法的性能已大大提升,在完善的KITTI对象检测基准上,实现了90%以上的平均精度(Average Precision,AP)。使用2D物体检测方法可以检测图像平面上的对象,而使用3D物体检测方法可以在定位和尺寸回归中引入第三维,从而在世界坐标系中显示深度信息。但是,在自动驾驶的情况下,2D物体检测方法和3D物体检测方法之间的性能差距仍然很明显。对于驾驶任务来说,对3D场景的理解至关重要,因此应对其进行更深入的研究,以弥补3D物体检测方法的性能差距。表2-1中列出了2D物体检测方法和3D物体检测方法的优劣势比较。
表2-1 2D物体检测方法和3D物体检测方法的优劣势比较
续表
与使用传统的流水线方法分别优化每个阶段不同,端到端流水线优化了总体性能。端到端检测方法利用学习算法来提出感兴趣区域,并从数据中提取特征。通过使用深度学习方法(例如,深度卷积网络),可能是从表示学习到端到端检测的转变,能够在不同的应用程序中显著提升性能。本章将重点放在端到端的学习方法上,因为这些方法是3D物体检测的最新技术,并且近年来已得到迅速发展。