端到端自动驾驶新突破:Nvidia提出全并行PARA-Drive,入选CVPR24!

论文标题:

PARA-Drive: Parallelized Architecture for Real-time Autonomous Driving

论文作者:

Xinshuo Weng, Boris Ivanovic, Yan Wang, Yue Wang, Marco Pavone

导读:

本文系统分析了自动驾驶高级架构的设计空间,提出了关于模块必要性、排列关系和信息流的见解。这些见解推动了新型全并行自动驾驶架构PARA-Drive的开发,该架构在性能和推理速度上均达到行业领先水平。©️【深蓝AI】编译

1. 摘要

最近很多研究提出了由可区分模块组成的端到端自动驾驶汽车(AV)架构,实现了最先进的驾驶性能。与传统的感知-预测-规划架构相比,端到端架构更具有优势(例如,消除了组件之间的信息瓶颈,减轻了模块集成的挑战),但是端到端架构仍然使用传统架构的模块和任务组合。然而,迄今为止还没有研究系统地分析过这些模块的必要性或它们的连接关系、排列顺序和内部表示对整体驾驶系统性能的影响。

针对上述空白,本研究对端到端自动驾驶汽车架构的设计空间进行了全面探索。作者的研究成果最形成了PARA-Drive1 :一种完全并行的端到端自动驾驶架构。PARA-Drive 不仅在感知、预测和规划方面达到了最先进的性能,而且在不影响可解释性或安全性的前提下,将运行速度显著提高了近3倍。

在这里插入图片描述
图1|端到端自动驾驶汽车(AV)模块堆栈设计示意图©️【深蓝AI】编译

2. 引言

由于需要集成检测、跟踪、预测、定位、制图和规划等多个复杂模块,开发全栈式自动驾驶汽车(AV)系统面临着巨大挑战。为应对这些挑战,开发端到端模块化自动驾驶汽车系统的需求日渐显著,如UniAD、VAD和OccNet。这些系统之所以广受欢迎,是因为它们成功地集成了各种模块和任务,并取得了不错的运动规划性能。此外,它们还通过端到端方式优化上游感知和预测模块,提高了安全性和可解释性。

虽然这些端到端自动驾驶汽车(AV)模块堆栈取得了成功,但它们的架构设计存在显著差异(例如,结合占据网络与不结合占据网络、语义 BEV 与矢量化地图、使用查询或输出,见图1),目前仍不清楚哪种设计是最佳的。除了最近的几种架构外,端到端自动驾驶模块化堆栈的巨大设计空间在很大程度上仍未得到充分探索,这主要是由于可能的任务、相关信息表示和模块间连接的多样性。在本文中,作者沿着「模块必要性」「排列顺序」和「信息流」三个关键轴线对这一设计空间进行了系统探索。

为了有效解决这一复杂问题,本文建立了一个多功能框架,能够灵活操作端到端自动驾驶堆栈的计算图,包括启用或停用模块、修改模块间连接关系以及访问不同层上游模块的输出。有了这个框架,作者发现了几个有趣的现象:

  • 通过顺序、混合甚至并行设计,可以获得最先进的性能;

  • 只需将鸟瞰图(BEV)特征作为规划输入(配合适当的辅助任务和高级命令),就能实现最先进的规划性能;

  • 并且按顺序关系放置时冗余的模块,在并行放置情况下实际可能是互补的关系。

作者进一步利用上述见解开发完善了PARA-Drive,即一种全栈并行化自动驾驶架构,其中包含用于联合训练BEV特征的各种模块。通过在nuScenes数据集上进行全面实验,作者发现PARA-Drive在规划性能方面明显优于之前的研究成果(例如,L2错误减少了28.8%,碰撞率降低了43.3%),在地图合规率以及本体车辆转弯或变道的挑战性场景中也有持续改善。

在这里插入图片描述

图2|PARA-Drive与最新的端到端模块化自动驾驶架构之间的视觉比较示意图©️【深蓝AI】编译

3. 相关工作

3.1 端到端运动规划

传统的自动驾驶系统开发主要侧重于训练独立的模块,并将它们整合成一个完整的自动驾驶系统。然而,这种方法在部署过程中面临着巨大的集成挑战。信息瓶颈问题尤为常见,在模块间通信过程中,阈值和过滤可能导致信息丢失。此外,模块之间的单独训练会造成学习目标不一致,从而导致上游任务无法为下游感知学习提供最佳定制特征。

为了克服这些挑战,端到端规划方法也有了许多针对性的进展,这些方法借鉴以前传统工作的训练和部署经验。最近的端到端规划方法极具吸引力,因为它们提供了高效的运行时间,并消除了集成挑战和信息瓶颈。最近在端到端规划上的工作取得发展,具体是提升了端到端方法在闭环驾驶中的成功率。例如,通过提取特权专家的信息,改进了端到端驾驶,抑或是引入以高级驾驶指令为条件的规划网络。除了图像输入,Transfuser还扩展了激光雷达数据输入,而 TCP则通过同时考虑轨迹和行动来改进规划的输出表示。

尽管取得了许多进展,端到端规划方法在实际部署的可解释性、可验证性和安全性方面仍面临巨大挑战。因此,人们越来越关注设计端到端但又是模块化的自动驾驶架构,旨在将传统方法和端到端方法的优势结合起来。

3.2 端到端模块化架构

端到端模块化架构是将模块化设计与端到端训练相结合,从而区别于传统的端到端规划方法。因此,它在保持安全性和可解释性的同时,还优化了下游规划的所有模块。

设计端到端模块化堆栈极具挑战,因为这些架构中模块的组成和交互会导致不同的设计变化。例如,针对顺序设计,P3和ST-P3利用语义占据预测的输出进行下游规划。也有算法没有使用监督学习来学习占据特征,而是开发了自监督占据预测来预测空闲空间,然后针对路径规划结果进行优化。混合设计在后续模块中直接利用BEV特征,将模块间的顺序连接和并行连接结合起来。这一趋势在之前的许多研究中得到了进一步体现,这些研究通常采用并行头进行在线映射。

为了展示这些设计变化,本文在图2中将最新的先进架构与作者提出的PARADrive进行了比较。这些架构在模块组成、输出表示和流向规划模块的信息流方面各不相同。例如,UniAD和OccNet将预测占据图纳入规划,VAD则没有。UniAD和OccNet将在线见图视为密集预测任务,预测地图元素的每像素或每象素语义,而VAD则选择矢量化地图表示法。此外,UniAD和VAD采用多头架构,规划头访问感知头的中间输出,如潜在查询特征,而OccNet则依赖感知头的最终输出进行规划。

作者的工作侧重于堆栈级设计,系统地探索了端到端自动驾驶设计空间的关键维度,相关成果或能有助于端到端模块化设计的未来发展。此外,与现有架构不同,作者的PARA-Drive是专为并行操作而设计的,只在需要时才启动并行头,从而大大提高了效率。

3.3 多任务学习(MTL)

MTL并不是自动驾驶领域的全新课题,而且已经有了长足的发展。除了侧重于感知和预测的MTL,MTL还被应用于端到端自动驾驶规划,最新的方法通常基于BEV特征来完成各种辅助任务。例如,有通过并行检测和预测物体的边界框来学习规划的成本。此外,Transfuser的扩展将建图、深度预测和物体检测头并行纳入运动规划。不过,这些研究都没有采用占据预测任务,而作者认为这在并行化自动驾驶架构中至关重要。相比之下,NEAT和ReasonNet在MTL风格的自动驾驶架构中采用了BEV占据预测,但并不预测实例中的物体运动。此外,ReasonNet无法预测语义地图,只能依靠从传感器输入中隐含学习地图信息。

与MTL领域的先前研究不同,UniAD等混合设计已经证明了将实例运动预测与场景级占据预测相结合以提高端到端驾驶性能的有效性。作者的研究结果证实了这一论点,即除了在混合设计中观察到的增量改进外,要想在纯并行化设计中实现最先进的规划性能,还必须采用实例运动预测和场景级占据预测以及在线建图。基于这些见解,作者提出了PARA-Drive,这是首个并行化自动驾驶架构,其性能和实时效率均优于采用混合设计的自动驾驶架构。

4. 端到端自动驾驶堆栈的设计空间

4.1 关键维度

为了系统地探索设计空间,本文首先确定并分析了设计空间的关键维度。

1)模块的必要性:

在端到端模块化堆栈中,哪些模块是必不可少的?对于给定的任务,不同的模块在设计时可能会有不同的表现形式(例如,占据预测与轨迹预测)。本文需要考虑的是,尽管可能存在冗余,但同时包含这两种模块是否比只选择其中一种模块更有利。

2)模块排列顺序:

模块选定后,应如何在堆栈中排列?这包括各种设计配置方面的考虑,如顺序排列和并行排列设计,或包含顺序和并行排列的混合设计。

3)信息流:

当一个模块依赖于前一个模块的输出时,算法应该只传递维度相对较低的最终紧凑输出(如边界框或 BEV 分割图),还是传递维度较高的中间特征(如标记查询)?两者的传递是否有益?

对设计空间的探索面临着一个重大挑战:多个维度的组合可能会产生复杂性,而每个维度单独看来都是可以管理的。这种复杂性导致设计空间包含了广泛的配置,从直接输入传感器数据进行运动规划的非模块化自动驾驶堆栈,到各种高度模块化的端到端方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值