"); //-->
3D目标检测是感知系统的关键组成部分,3D目标检测器的性能将对跟踪、预测和规划等下游任务产生深远影响。因此,从系统的角度来看,3D目标检测模型与其他感知任务以及下游任务联合训练,将是更好的自动驾驶解决方案。
一个挑战是如何将所有驾驶任务包含在一个统一框架中,并以端到端的方式联合训练这些任务。
联合感知和预测。很多方法通过感知和跟踪3D目标,然后以端到端的方式预测它们的未来轨迹。FaF[160]是一项开创性工作,它提出使用单个3D卷积联合预测3D目标检测、跟踪和轨迹预测。
这种设计范式被许多论文改进,例如[21]利用地图信息,[125]引入交互式 Transformer,[350]设计时空交互式网络,[298]提出时空金字塔网络,[138]循环执行所有任务,[204]涉及将定位任务引入系统。
联合感知、预测和规划。很多工作努力将感知、预测和规划纳入一个统一的框架。与联合感知和预测方法相比,整个系统可以通过将运动规划添加到端到端流程中,并从规划反馈信息中得到收益。
很多方法提出来改善这个框架,例如[229]引入语义占用图以产生可解释的中间表示,[290]将空间注意力纳入框架,[341]提出深度结构化网络,[22]提出无地图方法,[53] 产生一组不同的未来轨迹。
一个完整的端到端自动驾驶系统应该是这样子的:自动驾驶车辆接受传感器输入,在一个循环中依次执行感知、预测、规划和运动控制,最终给驾驶系统提供转向和速度信号。
[12]首先介绍了这个想法,并用卷积神经网络实现了基于图像的端到端驱动系统。[302]提出了一种具有多模式输入的端到端架构。[51]和[106]提出分别通过条件模仿学习和深度强化学习来学习端到端自动驾驶系统。具体的端到端的自动驾驶示意如下图所示。
3D目标检测模型通常需要大量数据进行训练。虽然可以在现实世界场景中收集数据,但现实世界的数据通常会受到长尾分布的影响。
例如,交通事故或极端天气的场景很少被采集到,但对于训练强大的3D目标检测器非常重要。模拟仿真是解决长尾数据分布问题的一种很有前途的方案,因为我们可以为那些罕见但关键的场景创建人造数据。模拟的一个公开挑战是如何创建更真实的人造数据。视觉模拟。很多方法在驾驶场景中生成逼真的合成图像。这些方法的想法包括利用图形引擎[1, 226]、利用纹理映射面元[320]、利用真实世界数据[47]和学习可控神经模拟器[108]。
激光雷达模拟。除了生成合成图像,许多方法试图通过模拟生成LiDAR点云。一些方法[69, 188, 71]通过模拟现实世界的效果提出了新颖的点云渲染机制。一些方法[169]利用真实世界的实例来重建3D场景。其他论文侧重于安全关键场景[267]或恶劣天气条件下[89]的模拟。
驾驶模拟。许多论文试图建立一个交互式驾驶模拟平台,虚拟车辆可以在其中感知虚拟环境并与虚拟环境交互,最终规划车辆路径。CARLA[61]是一个开创性的自动驾驶开源模拟器。
其他论文利用图形引擎[232]或开发数据驱动方法[4]进行驾驶模拟。还有一些工作模拟交通流[253、252]或通过模拟测试车辆的安全性[296]。
基于学习的3D的目标检测方法容易受到攻击,比如给传感器输入中添加一些噪声或目标,就可能造成3D目标检测器失效,造成漏检,如何更好的防御攻击是个问题。
许多论文提出通过对抗性机器学习攻击传感器并欺骗目标检测器。这些方法针对不同的目标,例如LiDAR检测器[18, 294, 257, 248, 366],多模态检测器[19, 259],协作感知模型[258],车辆轨迹[130] 等。
他们提出了不同的技术来欺骗检测器,包括在道路上添加对抗性障碍物[18]、在车辆上放置真实的样本[294]、在对抗性位置放置任意目标[366]、利用对抗性纹理网格[259]、放弃临界值[294],和利用被遮挡的点云模式[248]等。
现有的3D目标检测方法主要基于本车单车,但是只用单车会造成无法解决目标遮挡和远处目标的稀疏性问题。于是很多研究提出,利用多车协同方案。
本车与其它车或基础设施进行通信,根据其它代理(车或基础设施)反馈的信息提高感知精度。协同感知的一个挑战是如何适当地平衡精度提高和通信带宽要求。协同3D目标检测方法融合来自多个代理的信息以提高3D目标检测器的性能。
融合的信息可以是来自其他代理的原始输入[33, 345],其通信带宽消耗很小,并且对于检测非常有效,也可以是压缩的特征图 [32, 276, 260, 129],其通信带宽成本不可忽略,但检测效果通常会更好。还有一些论文研究何时与其他代理通信[150]以及与哪个代理通信[151]。
3D目标检测的评价指标从原来的2D的AP已经逐渐变为AP-3D和AP-BEV,更好的衡量3D检测效果。基于LiDAR的方法在数据集的选择上也从KITTI逐渐变为更大和更多样的nuScenes和WaymoOpen数据集。部署依然很难,因为很多方法为了提高性能,并没有太在乎推理时间,造成实时性较差。
目前来看,基于LiDAR的方法中,基于体素和点体素的方法性能有较大提升。基于柱体的方法运行快,效率高,但性能比基于体素的差。基于Range和BEV的方法不错,推理时间也可以接受。基于点的检测器效果好,但是推理速度受采样和处理算子的影响较大。
基于相机的3D目标检测方法中,双目比单目好,多相机的研究也是前景广泛。多模态比单模态效果好,但引入了额外的计算开销,前融合方法更严重。现在很多方法只用了前视图和对应点云进行融合,而在nuScenes上提供了多视图图像、点云和高精地图,模型可以得到更好的结果。
从系统级别来看,以速度和精度为主导因素,则基于LiDAR和多模态的方法是最佳解决方案;如果以成本为最重要因素,那么基于相机的方法可能是最佳选择。
数据集不能只用闭集,类别只有那些常见的目标(机非人等),后续也应该关注一些现实世界中稀有类及未标注的类别,开放世界目标检测值得关注。
3D目标检测的可解释性研究。深度学习作为黑盒,可解释性较差,但为了更加稳健的使用3D目标检测器,并知道如何避免一些意外情况,需要理解和解释现有3D目标检测器的一些行为。
硬件系统的优化设计同样重要,如何让基于LiDAR和多模态的检测器高效的在移动端硬件上跑起来,需要设计新的硬件架构来方便模型部署。
端到端的3D目标检测算法未来是个趋势,毕竟单独去优化3D目标检测器,对下游任务(预测和规划)不一定是最优的。
下面的表是一个汇总。
本文全面回顾和分析了自动驾驶3D目标检测的各个方面。从3D目标检测的问题定义、数据集和评估指标开始,然后介绍了基于各种传感器的3D目标检测方法,包括基于LiDAR、基于相机和多模态3D目标检测方法。进一步研究了利用时态数据的3D目标检测,具有标签高效的学习,以及它在自动驾驶系统中的应用。最后,总结了近年来的研究趋势,展望了未来3D目标检测的研究方向。
[1] Mao, J., Shi, S., Wang, X., & Li, H. (2022). 3D Object Detection for Autonomous Driving: A Review and New Outlooks.ArXiv, abs/2206.09474.
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。