这篇文章的核心内容是提出了一种名为 DriveTransformer 的新型端到端自动驾驶(E2E-AD)框架,旨在解决现有方法中存在的训练不稳定、任务间协同效应受限以及计算效率低下的问题。DriveTransformer 通过其独特的架构设计和机制,实现了高效、可扩展且稳定的自动驾驶系统。以下是文章的主要研究内容和贡献的凝练总结:
1. 研究背景与动机
-
现有的端到端自动驾驶方法大多采用感知-预测-规划的顺序范式,这种范式存在累积误差和训练不稳定的问题。
-
任务之间的手动排序限制了系统利用任务间协同效应的能力,例如规划感知和基于博弈论的交互式预测与规划。
-
现有方法采用的密集鸟瞰图(BEV)表示法在长距离感知和长期时间融合方面带来了计算挑战。
2. DriveTransformer 框架设计
DriveTransformer 通过以下三个关键特性来解决上述问题:
-
任务并行(Task Parallelism):所有任务查询(如代理、地图、规划)在每个模块中直接相互交互,促进跨任务知识传递,同时保持系统稳定性,无需显式层次结构。
-
稀疏表示(Sparse Representation):任务查询直接与原始传感器特征交互,避免了构建密集的 BEV 特征,提高了计算效率。
-
流式处理(Streaming Processing):通过先进先出(FIFO)队列存储历史任务查询,并利用时间交叉注意力(Temporal Cross-Attention)进行时间融合,确保了效率和特征重用。
3. 方法细节
-
初始化与标记化:将多视图图像通过主干网络编码为语义嵌入,并结合 3D 位置编码,将所有输入转换为统一的标记表示。
-
标记交互:通过传感器交叉注意力(SCA)、任务自注意力(TSA)和时间交叉注意力(TCA)实现任务之间的信息交互和历史信息融合。
-
任务头设计:采用 DETR 风格的任务头,逐步细化预测结果,并更新位置编码。具体任务包括目标检测、运动预测、在线地图绘制和规划。
-
损失与优化:通过综合检测、预测、地图绘制和规划的损失函数进行端到端训练,确保所有任务的协同优化。
4. 实验与结果
-
数据集与基准测试:在 CARLA 的 Bench2Drive 数据集上进行闭环评估,在 nuScenes 数据集上进行开环评估。
-
性能对比:
-
在 Bench2Drive 上,DriveTransformer 在平均 L2 距离、驾驶评分、成功率等指标上均优于现有的 SOTA 方法,且推理延迟更低。
-
在 nuScenes 上,DriveTransformer 在开环规划任务中取得了最低的平均 L2 距离和碰撞率,表现出卓越的性能。
-
-
消融研究:
-
证明了任务并行、稀疏表示和流式处理的有效性。
-
展示了通过扩展 Transformer 层和隐藏维度,DriveTransformer 在规划任务上获得了显著的性能提升。
-
多模式规划优于单模式规划,尤其是在需要精细转向的场景中。
-
5. 鲁棒性分析
DriveTransformer 在面对摄像头故障、错误校准、运动模糊和高斯噪声等常见故障时,展现出显著优于现有方法的鲁棒性。这归功于其直接与原始传感器特征交互的设计,避免了对中间特征的依赖。
DriveTransformer 提供了一种高效、可扩展且稳定的端到端自动驾驶解决方案。通过任务并行、稀疏表示和流式处理,它在多个基准测试中取得了最先进的性能,并展示了良好的鲁棒性。未来的工作可能会进一步探索如何将大规模视觉语言模型(VLLM)与自动驾驶相结合,以进一步提升系统的性能和泛化能力。这篇文章的核心贡献在于提出了一种全新的端到端自动驾驶框架,通过创新的架构设计和机制,显著提升了系统的性能、效率和鲁棒性,为自动驾驶领域的发展提供了新的思路和方向。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:
官方项目地址在这里,如下所示:
摘要
端到端自动驾驶(E2E-AD)作为一种趋势,因其数据驱动和可扩展的系统设计方法而备受关注。然而,现有的 E2E-AD 方法大多采用感知-预测-规划的顺序范式,导致累积误差和训练不稳定。任务的手动排序也限制了系统利用任务间协同效应的能力(例如规划感知的感知和基于博弈论的交互式预测与规划)。此外,现有方法采用的密集鸟瞰图(BEV)表示法在长距离感知和长期时间融合方面带来了计算挑战。为解决这些挑战,我们提出了 DriveTransformer,这是一个简化后的 E2E-AD 框架,便于扩展,具有三个关键特点:任务并行(所有代理、地图和规划查询在每个模块中直接相互交互)、稀疏表示(任务查询直接与原始传感器特征交互)和流式处理(任务查询作为历史信息存储和传递)。因此,新框架由三个统一操作组成:任务自注意力、传感器交叉注意力和时间交叉注意力,显著降低了系统的复杂性,并带来了更好的训练稳定性。DriveTransformer 在模拟闭环基准测试 Bench2Drive 和真实世界开环基准测试 nuScenes 中均取得了最先进的性能,并且具有高 FPS。
图 1:端到端自动驾驶范式比较。所提出的纯 Transformer 范式避免了构建昂贵的 BEV 特征,并允许任务通过 Transformer 注意力学习它们与原始传感器输入、其他任务以及历史信息之间的关系。
1 引言
自动驾驶近年来一直是研究热点,并取得了显著进展。其中最令人兴奋的方法之一是端到端自动驾驶(E2E-AD),它旨在将感知、预测和规划集成到一个单一的整体框架中。E2E-AD 特别吸引人,因为它具有数据驱动和可扩展性,能够随着更多数据的加入而持续改进。
尽管具有这些优势,现有的 E2E-AD 方法大多采用感知-预测-规划的顺序流程,下游任务严重依赖上游查询。这种顺序设计可能导致累积误差,从而导致训练不稳定。例如,UniAD 的训练过程需要多阶段方法:首先预训练 BEVFormer 编码器,然后训练 TrackFormer 和 MapFormer,最后训练 MotionFormer 和规划器。这种分散的训练方法增加了系统的复杂性和部署难度,限制了其在工业环境中的可扩展性。此外,任务的手动排序限制了系统利用协同效应的能力,例如规划感知和基于博弈论的交互式预测与规划。
图 2:DriveTransformer 的整体框架。DriveTransformer 具备流式处理、并行处理以及稀疏化的标记交互特性。在每一层中,任务标记通过任务自注意力(Task Self-Attention)相互交互,通过传感器交叉注意力(Sensor Cross-Attention)从原始传感器输入中提取信息,并通过时间交叉注意力(Temporal Cross-Attention)融合存储在记忆队列中的历史任务标记中的时间信息。
现有方法面临的另一个挑战是现实世界的时空复杂性。基于 BEV 的表示在长距离检测方面面临计算挑战,因为 BEV 网格的密集性。此外,BEV 方法的图像主干由于梯度信号较弱而未得到优化,限制了其扩展能力。对于时间融合,BEV 方法通常存储历史 BEV 特征进行融合,这也是计算密集型的。总之,BEV 方法忽略了 3D 空间的稀疏性,并丢弃了每一帧的任务查询,导致计算浪费,从而效率低下。
最新的工作 ParaDrive 尝试通过移除所有任务的连接来缓解不稳定性问题,但它仍然受到昂贵的 BEV 表示的困扰,且其实验仅限于开环,无法反映实际的规划能力。
为解决这些缺陷,我们引入了 DriveTransformer,这是一个高效且可扩展的端到端自动驾驶框架,具有以下三个关键特性:
-
任务并行:所有任务查询在每个模块中直接相互交互,促进跨任务知识传递,同时保持系统稳定性,无需显式层次结构。
-
稀疏表示:任务查询直接与原始传感器特征交互,提供了一种高效且直接的信息提取方式,符合端到端优化范式。
-
流式处理:通过先进先出队列存储历史任务查询并进行时间交叉注意力,实现时间融合,确保效率和特征重用。
DriveTransformer 提供了一种统一、并行且协同的 E2E-AD 方法,便于训练和扩展。因此,DriveTransformer 在 CARLA 模拟下的 Bench2Drive(闭环)和 nuScenes 数据集(开环)上均取得了最先进的性能。
图 3:初始化与标记化过程。传感器输入由主干网络进行处理,其位置编码(PE)是其 3D 坐标。代理(Agent)和地图(Map)标记从可学习的参数初始化,而它们的初始位置编码(PE)则均匀初始化。自车(Ego)标记从 CAN 总线信息初始化,而其位置编码(PE)初始化为零。
2 相关工作
端到端自动驾驶的概念可以追溯到 20 世纪 80 年代。CIL 训练了一个简单的 CNN,将前置摄像头图像直接映射到控制命令。CILRS 进一步引入了一个辅助任务,用于预测自车的速度,解决了惯性相关问题。PlanT 方法建议使用 Transformer 架构作为教师模型,而 LBC 则专注于使用特权输入训练教师模型。后续研究中,使用多种传感器变得普遍,增强了模型的能力。Transfuser 使用 Transformer 融合摄像头和激光雷达数据,LAV 采用了 PointPainting 技术,Interfuser 将安全增强规则纳入决策过程。进一步的创新包括使用 VectorNet 进行地图编码和引入 DETR 类的可扩展解码器范式。ReasonNet 提出了专门模块以改进时间和全局信息的利用,而另一些研究则提出了基于分类的学生输出方法,以缓解平均化问题。
在另一分支中,AD 子任务被明确执行。ST-P3 将检测、预测和规划任务集成到一个统一的 BEV 分割框架中。UniAD 使用 Transformer 连接不同任务,VAD 提出了向量化的表示空间。ParaDrive 移除了所有任务之间的连接,而 BEVPlanner 则移除了所有中间任务。与我们的工作同时进行的还有基于稀疏查询的方法,但它们仍然遵循顺序流程,而我们提出的 DriveTransformer 将所有任务统一到并行 Transformer 范式中。
3 方法
给定原始传感器输入(例如多视图图像),DriveTransformer 的目标是输出多个任务的结果,包括目标检测、运动预测、在线地图绘制和规划。每个任务由其对应的查询处理,这些查询直接相互交互,从原始传感器输入中提取信息,并整合历史信息。整体框架如图 2 所示。
3.1 初始化与标记化
在 DriveTransformer 内部信息交换之前,所有输入都被转换为统一的表示——标记。受 DAB-DETR 的启发,所有标记由两部分组成:语义嵌入用于语义信息,位置编码用于空间定位。在图 3 中,我们展示了这一过程,并在下面详细介绍。
图 4:DriveTransformer 中的三种注意力机制。传感器交叉注意力(Sensor Cross Attention)为所有任务提供了一种直接访问原始输入的端到端方式。任务自注意力(Task Self-Attention)允许任务之间的信息交换。时间交叉注意力(Temporal Cross Attention)利用历史状态作为先验信息。
3.2 标记交互
DriveTransformer 内部的所有信息交换都通过标准的注意力机制实现,确保了可扩展性和易于部署。因此,该模型可以在一个阶段内进行训练,并展现出强大的可扩展性,这将在实验部分展示。在以下子部分中,我们描述了 DriveTransformer 每一层采用的三种信息交换方式,图 4 为示意图。
图 5:DriveTransformer 中的流式时间机制。来自 DriveTransformer 最后一层的前一时间步的 Top-K 任务查询被推入先进先出(FIFO)队列。任务查询及其位置被转换到当前自车坐标系中,并在作为键(Key)和值(Value)输入到时间交叉注意力之前,对潜在的运动进行补偿。
传感器交叉注意力(SCA)建立了任务与原始传感器输入之间的直接通路,实现了端到端学习,避免了信息丢失。SCA 的计算公式为:
通过消除手动设计的任务依赖关系,任务之间的交错关系可以通过注意力机制以数据驱动的方式灵活学习,从而简化了扩展过程。相比之下,UniAD 由于训练初期的不一致性,需要采用多阶段训练策略,其中不准确的上游模块会影响下游模块,最终导致整个训练崩溃。
时间交叉注意力整合了之前观察到的历史信息。现有的范式使用历史 BEV 特征传递时间信息,这带来了两个缺点:(a)维护长期 BEV 特征成本高昂;(b)携带强大先验语义和空间信息的历史任务查询被浪费。受 StreamPETR 的启发,DriveTransformer 为每个任务分别维护先进先出(FIFO)队列,并在每一层对队列中的历史查询进行交叉注意力,以融合时间信息,如图 5 所示。
图 6:任务头设计。
(a) 检测和运动共享相同的代理特征,从而无需跟踪即可关联对象。在局部坐标系中进行的轨迹预测进一步解耦了这两个任务,确保了训练的稳定性。
(b) 在同一多边线中的地图点在传感器交叉注意力中具有不同的位置编码(PE),以检索细粒度特征。
(c) 规划头将自车查询与不同的模式嵌入相结合,以进行多模式预测。
(d) 任务的位置逐渐细化,其对应的位置编码(PE)也逐渐更加准确,从而提供了更好的交互。
纯注意力架构:总结来说,DriveTransformer 是多个模块的堆叠,每个模块包含上述三种注意力和一个前馈网络(FFN):
3.3 DETR 风格任务头
受 DETR 的启发,每个模块后都设置了任务头,以逐步细化预测结果,并相应更新位置编码。在以下子部分中,我们介绍特定任务的设计,并在图 6 中展示位置编码的更新策略。
目标检测与运动预测:现有的 E2E 方法仍然采用经典的检测-关联-预测流程,由于关联的固有难度,这给训练带来了不稳定性。例如,在 UniAD 中,必须预训练一个 3D 目标检测的 BEVFormer,以避免 TrackFormer 的发散,然后 MapFormer 和 TrackFormer 必须先于端到端训练 MotionFormer 和规划头进行训练,这需要多阶段训练策略,从而阻碍了扩展。
为缓解这一问题,DriveTransformer 采用了一种更端到端的方法:在不进行跟踪的情况下进行目标检测和运动预测,将相同的代理查询输入到不同的任务头中。同一代理的相同特征自然建立了检测和预测之间的关联。对于时间关联,由于在当前标记和所有历史标记之间进行了时间交叉注意力,因此避免了显式关联,取而代之的是基于学习的注意力机制。为了进一步提高训练稳定性并减少这两个任务之间的干扰,我们将运动预测的标签转换到每个代理的局部坐标系中,因此其损失不受检测结果的影响。只有在推理期间,预测的轨迹点才根据检测结果转换到全局坐标系中,以计算运动预测相关的指标。
在线地图绘制:该领域的最新进展表明,由于地图多边线的不规则和多样化分布,点级特征检索比实例级特征检索更为重要。因此,在进行传感器交叉注意力时,我们将每个地图查询复制 Npoint 次,并与每个点的位置编码配对。这样,对于长多边线,每个点都可以检索到具有更好局部性的原始传感器信息。为了将分离的点级地图查询整合为实例级,以便其他模块使用,我们采用了一个轻量级的 PointNet,结合最大池化和 MLP。
规划:我们将自车的未来运动建模为高斯混合模型,以避免模式平均,这在运动预测领域中被广泛采用。具体来说,我们根据轨迹的方向和距离将所有训练轨迹分为六个类别:直行、停车、左转、急左转、右转、急右转。为了生成这些模式的轨迹,我们通过将它们的正弦和余弦编码位置输入到 MLP 中生成六个模式嵌入,然后将它们添加到自车特征中,以预测六个模式特定的自车轨迹。在训练期间,只有用于计算回归损失的地面真实模式的轨迹会被使用,即赢者通吃,我们还训练了一个分类头来预测当前模式。在推理期间,将使用置信度最高的模式的轨迹来计算指标或执行。
粗到细优化:DETR 系列的成功证明了端到端学习通过粗到细优化的强大能力。在 DriveTransformer 中,所有任务查询的位置编码在每个模块后根据当前预测进行更新。具体来说,地图和代理的位置编码通过 MLP 编码其对应的预测位置和语义类别,以捕获元素之间的空间和语义关系。自车的位置编码通过 MLP 编码预测的规划轨迹,以捕获自车意图,以便可能的交互。与 DETR 类似,在训练期间,所有模块的任务头都应用了损失,而在推理期间,我们只使用最后一块的输出。
3.4 损失与优化
DriveTransformer 在一个单一阶段内进行训练,每个任务都可以逐步学习在任务自注意力中找到它们之间的关系,而不会在传感器交叉注意力和时间交叉注意力下相互崩溃。存在检测损失(DETR 风格的匈牙利匹配损失)、预测损失(赢者通吃风格损失)、在线地图绘制损失(MapTR 风格的匈牙利匹配损失)和规划损失(赢者通吃风格损失),我们调整权重以确保所有项的大小约为 1,如以下公式所示:
4 实验
4.1 数据集与基准测试
我们使用 Bench2Drive 作为端到端自动驾驶的闭环评估协议,它基于 CARLA Leaderboard 2.0。它提供了官方训练集,我们使用基础集(1000 个剪辑)以与其他基线公平比较。我们使用官方的 220 条路线进行评估。此外,我们还在 nuScenes 上比较了我们的方法与其他最先进基线的开环评估结果。模型有三种不同的大小:
当与其他 SOTA 方法比较时,我们报告 DriveTransformer-Large 的结果。对于消融研究,由于在 Bench2Drive 的 220 条路线上进行评估可能需要几天时间,我们选择了 10 个代表性场景(即 Dev10),这些场景在行为、天气和城镇方面具有平衡性,并在上面报告结果,使用 DriveTransformer-Base 进行快速验证。
4.2 与最先进方法的比较
我们在表 1、表 2 和表 3 中比较了 DriveTransformer 与 SOTA E2E-AD 方法。我们观察到 DriveTransformer 始终优于 SOTA 方法。从表 1 可以看出,DriveTransformer 的推理延迟低于 UniAD 和 VAD。值得注意的是,由于统一的、稀疏的和流式的 Transformer 设计,DriveTransformer 可以在 A800(80G)上以 12 的批量大小进行训练,而 UniAD 的批量大小为 1,VAD 的批量大小为 4。
4.3 消融研究
在消融研究中,所有闭环实验都在 Dev10 上进行,这是 Bench2Drive 220 条路线的一个子集,所有开环结果都在 Bench2Drive 的官方验证集(50 个剪辑)上进行。除非特别说明,我们在消融研究中使用较小的模型(6 层和 512 个隐藏维度)以节省计算资源。如果未特别说明,我们将开源 Dev10 协议、模型代码和模型检查点。
扩展研究:Transformer 基础架构的一个显著特点是其极强的可扩展性。由于 DriveTransformer 由 Transformer 组成,我们研究了同时增加层数和隐藏维度的扩展行为,并将其与类似 Hu et al. (2023) 和 Jiang et al. (2023) 的图像主干扩展策略进行了比较,如图 7 所示。我们可以观察到,扩展解码器部分(即增加三个注意力的层数和宽度)带来的收益比扩展图像主干更多。这是自然的,因为前者直接为规划任务增加了更多的计算量。另一方面,对于感知任务,扩展解码器与扩展图像主干的趋势相似,这表明所提出的 DriveTransformer 具有泛化能力。然而,它仍然落后于大规模视觉语言预训练图像主干——EVA02-CLIP-L (Fang et al., 2024),这与 Wang et al. (2023) 的发现一致。这可能是一个重要的研究方向,即如何将 VLLM 与自动驾驶结合起来。
架构设计研究:在表 5 中,我们对 DriveTransformer 的设计进行了消融研究。我们得出以下结论:
-
基于表 5a,所有三种注意力机制都有帮助。
-
传感器交叉注意力尤为重要,因为模型如果没有传感器信息,将无法正常驾驶。
-
时间信息的影响最小,这与 Chitta et al. (2022) 的发现一致。
-
任务自注意力可以提高驾驶评分,因为自车查询可以利用检测到的对象和地图元素来进行规划。
-
基于表 5b,我们发现丢弃辅助任务会导致性能下降,这可能是因为很难用高维输入(周围摄像头图像)来拟合单一的规划输出。实际上,在端到端自动驾驶领域,采用辅助任务来正则化学习的表示是一种常见做法(Chen & Krähnendühl, 2022; Prakash et al., 2021; Jia et al., 2023d)。
-
一个阶段的训练足以收敛,感知预训练(即两阶段训练)并没有提供优势。这来自于设计,即任务之间没有手动依赖关系,因此所有任务都可以首先从原始传感器输入和历史信息中学习,而不是相互影响收敛。
-
作为一个复杂的基于 Transformer 的框架,我们发现移除中间层的监督会导致训练失败。可能需要进一步探索如何仅使用最终监督来扩展结构。
任务设计研究:在表 6 中,我们对任务头的设计进行了消融研究,并得出以下结论:
-
对于表 6a,将预测输出制定在局部坐标系中可以解耦目标检测和运动预测。因此,这两个任务可以分别优化它们的目标,而共享的输入代理特征自然地关联了相同的代理。优越的性能证明了避免直接在全局坐标系中预测的有效性,这与 Jia et al. (2023c) 和 Shi et al. (2024) 的发现一致。
-
对于表 6b,传感器交叉注意力中的点级位置编码显著提高了在线地图绘制的结果,这表明扩展潜在感知范围以进行车道检测的有效性(Liu et al., 2024; Li et al., 2024b)。
-
对于表 6c,多模式规划明显优于单模式规划。通过可视化,我们观察到多模式规划在需要微妙转向的场景中实现了更好的控制。这是因为单模式预测与 L2 损失建模输出空间为单一高斯分布,因此受到模式平均的影响。
4.4 鲁棒性分析
自动驾驶作为一种户外任务,经常会遇到各种事件和故障,因此检查系统的鲁棒性是一个重要视角。为此,我们采用了 Xie et al. (2023) 中的 4 种设置:
-
摄像头故障:两个摄像头被遮挡为全黑。
-
错误校准:向摄像头外参添加旋转和平移噪声。
-
运动模糊:应用于图像。
-
高斯噪声:应用于图像。
从表 7 和表 8 可以看出,DriveTransformer 与 VAD 相比表现出显著更好的鲁棒性。这可能是因为 VAD 需要构建 BEV 特征,而这种特征对感知输入较为敏感。另一方面,DriveTransformer 直接与原始传感器特征交互,因此能够忽略那些故障或噪声输入,展现出更好的鲁棒性。
5 结论
在本工作中,我们提出了 DriveTransformer,这是一种基于 Transformer 的端到端自动驾驶统一范式,具有任务并行、流式处理和稀疏表示的特点。它在 CARLA 闭环评估的 Bench2Drive 和 nuScenes 开环评估中均取得了最先进的性能,并且具有高 FPS,证明了这些设计的效率。