PPAD:用于端到端自动驾驶的预测与规划迭代交互
原标题:PPAD: Iterative Interactions of Prediction and Planning for End-to-end Autonomous Driving
论文链接:https://arxiv.org/pdf/2311.08100
论文思路:
本文提出了一种用于端到端自动驾驶的新型预测与规划的交互机制,称为PPAD(预测与规划迭代交互自动驾驶)。该机制通过逐时间步的交互更好地整合了预测与规划。自车在每个时间步都基于周围代理(如车辆和行人)的轨迹预测及其局部道路状况进行运动规划。与现有的端到端自动驾驶框架不同,PPAD以自回归方式在每个时间步交错进行预测和规划过程,从而建模自车、代理和动态环境之间的交互,而不是简单地依次进行预测和规划的单一顺序过程。具体而言,本文设计了自车与代理、自车与地图、自车与鸟瞰图(BEV)的交互机制,通过层次化动态关键目标注意力来更好地建模这些交互。在nuScenes基准测试上的实验表明,本文的方法优于当前的先进方法。
主要贡献:
-
本文提出了PPAD,通过迭代的预测与规划方式优化自车、代理和环境之间的交互。迭代优化能够在规划任务中更好、更自然地建模交互和博弈。预测过程处理更细粒度和复杂的未来不确定性,以进行多代理环境的学习,而规划过程则为自车规划一步的未来轨迹。
-
本文通过层次化动态关键目标注意力,逐步建模自车、代理、环境和BEV特征图之间的细粒度交互,强调空间局部性。
-
在nuScenes和Argoverse数据集上进行的实验表明,本文的方法在效果上优于当前的先进方法。
论文设计:
深度学习技术的蓬勃发展为自动驾驶提供了强大的支持,得益于便捷且可解释的离散模块设计,自动驾驶领域已经取得了许多令人振奋的重要里程碑。最近,规划导向的理念在追求更高效的端到端驾驶系统方面引起了业界的共鸣,这也是本研究的重点。
传统的自动驾驶系统方法通常将系统分解为模块化组件,包括定位、感知、跟踪、预测、规划和控制,以实现可解释性和可视性。然而,这种方法存在几个缺点:1)随着系统复杂性的增加,模块之间的误差积累变得更加显著。2)下游任务的性能高度依赖于上游模块,这使得构建统一的数据驱动基础设施非常困难。
最近,端到端自动驾驶由于其简洁性而受到广泛关注。基于学习架构,提出了两种主要的方法。第一种方法直接将原始传感器数据作为输入,不经过任何视图转换来作为场景理解的中间表示,直接输出规划轨迹或控制命令。另一种方法基于鸟瞰图(BEV)表示,充分利用查询生成中间输出,以此作为指导来产生规划结果。其最大的优势之一在于可解释性。在这项工作中,本文遵循了第二种方法的设计。
VAD [23] 和 UniAD [19] 是典型的单步运动规划方法,只考虑了代理、自车与周围环境(如地图元素)之间的单步交互。ThinkTwice [22] 将其扩展为一个两阶段框架,以增强博弈或交互过程。QCNet [56] 和 GameFormer [21] 也重复地建模轨迹预测任务。运动规划作为一个计算问题,需要找到一系列有效轨迹,通常基于周围代理的预测、环境理解以及历史和未来的情境。这也可以被视为一种游戏,其中代理根据其他代理的意图和所遇环境不断规划其下一步行动,通过增量式的动作最终实现其目标。为了在端到端自动驾驶中建模这些预测与规划的动态交互,关键在于通过多步建模来考虑预测轨迹的可能变化,以规划出可行的轨迹。
受VAD [23]的启发,本文旨在将逐步的预测与规划引入一个基于学习的框架。直观上,预测和规划模块可以被建模为一个运动预测任务,即通过给定的历史信息预测未来的路径点。每个时间步的预测和规划模块的结果高度依赖于彼此。因此,本文需要迭代和双向地考虑代理与代理、代理与环境之间的交互,以最大化在给定其他代理观测下代理预测的期望。本文提出了PPAD,通过逐步规划自车的未来轨迹,在一个矢量化学习框架中建模逐时间步的双向交互或博弈,如图1所示。PPAD包括预测和规划过程。对于每个运动预测步骤:
-
预测过程通过代理与环境之间的交叉注意力和自注意力生成当前步骤的运动状态,以建模细粒度的双向交互。本文考虑了自车-代理-环境-BEV的交互,以在所有交通参与者之间传播特征。
-
规划过程基于期望过程预测当前步骤的运动轨迹。
图1:本文提出的PPAD框架的高级示意图。蓝色的代理意图直行,而红色的自车计划变道。图1(a)展示了典型的单步方法,由于缺乏深入的交互,可能导致无效的运动规划并引发事故。图1(b)展示了在PPAD架构下自车与代理之间的博弈过程。在预测过程中,代理通过加速执行一个果断的计划,以阻止自车阻挡其路线。自车的规划过程基于代理之前的预测过程来规划轨迹。自车减速以避免潜在事故,然后变道以实现其驾驶目标。
图2:本文提出的自动驾驶框架PPAD的整体架构。它由感知Transformer和迭代预测-规划模块组成。感知Transformer将场景上下文编码为代理查询、地图查询和BEV查询。然后,预测-规划模块交替进行代理运动预测和自车规划的过程N次。在整个迭代的预测和规划过程中,自车、代理、地图元素和BEV特征之间进行深入交互。在预测过程中,代理最初打算直行,并未意识到自车的潜在运动。经过与自车、地图元素和BEV特征的交互后,代理计划果断加速。在随后的规划过程中,自车通过与更新后的代理查询交互,了解到代理将加速。最终,自车计划先减速,然后为安全起见进行变道。
本文在图2中展示了整体框架PPAD,该框架由感知Transformer和本文提出的迭代预测-规划模块组成。感知Transformer将场景上下文编码为BEV特征图,并进一步解码为矢量化的代理和地图表示。迭代预测-规划模块通常包括预测和规划过程,沿时间维度剖析自车与代理之间的动态交互。最终,它预测代理的运动并规划自车的未来轨迹。
图像特征模块使用共享的图像骨干网络(例如,ResNet [15])来提取不同摄像头视角的图像特征。
BEV特征模块将来自多视角摄像头的语义特征转换为统一的鸟瞰图(BEV)。具体而言,本文继承了BEVFormer [29, 47]的编码器来构建BEV特征。网格状的可学习BEV查询 �∈��×�×� 是随机初始化的,并通过可变形注意力机制 [58] 与多视图图像特征进行交互,以进行空间建模。时间建模则以递归方式进行,应用当前帧的BEV查询与前一个时间步的BEV查询之间的可变形注意力机制。
矢量化特征模块受到VAD [23]范式的启发,本文也通过检测解码头 [29, 58] 和地图元素解码头 [31] 将场景上下文编码为矢量化表示,生成 �� 个学习的代理查询 �∈���×� 和 �� 个学习的地图查询 �∈���×� 。将附加独立的基于MLP的解码器来产生辅助输出,这些解码器以学习到的查询为输入,并预测代理属性(位置、尺寸、类别等)或地图属性(类别和由点描述的地图向量)。此外,代理查询将与可学习的运动嵌入结合,以建模代理的多样化运动。带有运动的代理表示为 �∈���×�����×� 。类似地,自车被建模为三种模式,代表高层次的驾驶指令:直行、左转和右转,其形式为 �∈���×�����×�。
迭代预测-规划模块以交错方式预测自车和代理的未来轨迹。与传统的一次性预测所有轨迹的方法不同,本文的PPAD框架通过迭代代理运动预测和自车规划过程来详细说明每一步的运动规划。得益于PPAD框架,本文可以进行深入设计,以粗到细的方式在场景上下文中强化关键目标的交互(见第3.3节)。本文通过将噪声轨迹作为每一步的预测,并训练PPAD框架在下一个时间步重建其原始位置(见第3.4节),进一步提高自车的驾驶性能。
实验结果:
图3:PPAD的定性结果。图中的绿色框表示自车,红色框表示其他代理。
总结:
本文提出了一种新颖的自动驾驶框架PPAD。不同于以往缺乏深入交互建模的方法,本文将规划问题视为自车与代理之间的多步预测与规划博弈过程。通过PPAD架构,本文提出的层次化动态关键目标注意力被纳入其中,以在每一步学习局部和全局场景上下文,最终规划出更精确的轨迹。在训练过程中,采用了置信度感知的碰撞约束和噪声轨迹,以进一步提高驾驶安全性。总体而言,本文提出的新颖PPAD在现有的先进方法上实现了出色的性能,本文希望PPAD框架能激励业界进行更多探索。
引用:
Chen Z, Ye M, Xu S, et al. Deepemplanner: An em motion planner with iterative interactions[J]. arXiv preprint arXiv:2311.08100, 2023.