技术突破与落地应用:端到端 2.0 时代辅助驾驶TOP10 论文深度拆解系列【第四篇(排名不分先后)】
DRIVETRANSFORMER: UNIFIED TRANSFORMER FOR SCALABLE END-TO-END AUTONOMOUS DRIVING
GitHub地址:https://github.com/Thinklab-SJTU/DriveTransformer/
在科技飞速发展的当下,自动驾驶领域正经历着深刻的变革。端到端自动驾驶(E2E-AD)作为其中的前沿趋势,正逐渐成为研究与应用的焦点。它旨在将感知、预测和规划等关键环节整合为一个整体框架,以数据驱动的方式实现自动驾驶系统的可扩展性与持续优化。然而,现有 E2E-AD 方法在实际应用中仍面临诸多挑战,而 DriveTransformer 的出现,为解决这些问题带来了新的曙光。
一、端到端自动驾驶的现状与挑战
(一)现有方法的不足
当前,大多数 E2E-AD 方法采用感知 - 预测 - 规划的顺序范式。这种设计使得下游任务严重依赖上游查询,容易导致累积误差,进而影响训练的稳定性。以 UniAD 为例,其训练过程需要多阶段进行,先预训练 BEVFormer 编码器,再依次训练 TrackFormer、MapFormer,最后训练 MotionFormer 和 Planner。这种碎片化的训练方式不仅增加了系统部署和扩展的复杂性,还限制了系统利用任务间协同效应的能力,如规划感知和博弈论交互式预测与规划。
(二)BEV 表示的困境
基于鸟瞰图(BEV)的表示方法在自动驾驶中被广泛应用,但它也带来了一系列问题。由于 BEV 网格的密集性,在进行远距离检测时,计算量大幅增加,导致计算效率低下。同时,BEV 方法的图像骨干由于梯度信号较弱,优化不足,难以实现有效的扩展。在时间融合方面,BEV 方法通常存储历史 BEV 特征进行融合,这不仅计算成本高昂,还忽略了三维空间的稀疏性,造成了计算资源的浪费。
端到端自动驾驶范式对比。提出的纯Transformer范式避免了构建昂贵BEV特征的过程,使各任务能够通过Transformer注意力机制自主学习其与原始传感器输入、其他任务及历史数据的关系。
二、DriveTransformer 的解决方案
为了应对上述挑战,DriveTransformer 应运而生。它是一个专为端到端自动驾驶设计的简化框架,具有以下三个核心特性:
(一)任务并行性(Task Parallelism)
在 DriveTransformer 中,所有任务查询在每个模块中直接相互作用。这意味着不同任务之间可以直接进行知识传递,而无需依赖预先设定的层级结构。例如,在复杂的交通场景中,车辆的检测任务(属于 Agent Queries)和道路地图的构建任务(属于 Map Queries)可以同时进行信息交互,共同为规划任务(Ego Query)提供更全面的信息,从而实现更高效的协同工作,提升系统的整体性能和稳定性。
(二)稀疏表示(Sparse Representation)
任务查询直接与原始传感器特征进行交互。传统方法中,往往需要先构建复杂的中间表示,如 BEV 特征,这不仅增加了计算量,还可能导致信息损失。而 DriveTransformer 通过直接操作原始传感器数据,能够更高效、直接地提取信息,与端到端优化范式相契合。例如,在处理多视图图像时,传感器令牌(Sensor Tokens)直接从图像中提取特征,避免了构建 BEV 特征的复杂过程,减少了计算开销,同时也降低了梯度消失的风险,有利于模型的扩展。
(三)流处理(Streaming Processing)
时间融合通过先进先出(FIFO)队列和时间交叉注意力机制实现。DriveTransformer 为每个任务维护一个 FIFO 队列,存储历史任务查询。在每个时间步,通过时间交叉注意力机制,将当前任务查询与队列中的历史查询进行融合,从而有效地利用历史信息。在车辆行驶过程中,通过不断融合过去的检测、预测和规划信息,模型能够更好地适应动态变化的交通环境,提高对复杂场景的应对能力。
DriveTransformer整体框架。DriveTransformer具备流式、并行和稀疏令牌交互特性。在每一层中,任务令牌通过任务自注意力机制相互交互,通过传感器交叉注意力从原始传感器输入中提取信息,并通过时序交叉注意力融合记忆队列中历史任务令牌的时间信息。
三、DriveTransformer 的技术细节
(一)初始化与标记化
在信息交换之前,DriveTransformer 将所有输入转换为统一的表示形式 —— 令牌(Tokens)。
-
传感器令牌(Sensor Tokens):多视图图像通过类似 ResNet 的骨干网络分别编码为语义嵌入。为了编码传感器特征的位置信息,采用 3D 位置编码。具体来说,对于每个图像块,通过其像素坐标在三维空间中的射线表示,将射线上的点坐标连接并输入多层感知器(MLP),得到该图像块的位置编码。这样,传感器令牌不仅包含了图像的语义信息,还准确地反映了其在三维空间中的位置,为后续的信息交互提供了丰富的基础。
-
任务令牌(Task Tokens):为了对异构驾驶场景进行建模,初始化了三种类型的任务查询。代理查询(Agent Queries)代表动态对象,用于对象检测和运动预测;地图查询(Map Queries)代表静态元素,用于在线地图构建;自我查询(Ego Query)代表自我车辆的潜在行为,用于规划。这些查询的语义嵌入和位置编码根据不同的任务进行初始化。代理查询和地图查询的语义嵌入作为可学习参数随机初始化,位置编码在预定义的感知范围内均匀初始化;自我查询的语义嵌入通过对车载总线信息进行 MLP 编码得到,位置编码初始化为全零。通过这种方式,不同类型的任务令牌能够有效地捕捉各自关注的信息,为后续的任务交互和处理奠定基础。
初始化与标记化流程。传感器输入由主干网络处理,其位置编码(PE)为三维坐标。智能体与地图标记从可学习参数初始化,其初始位置编码采用均匀初始化。自车标记通过CAN总线信息初始化,其位置编码初始化为零值。
(二)令牌交互
DriveTransformer 中的所有信息交换均基于经典的注意力机制,确保了模型的可扩展性和易于部署性。
-
传感器交叉注意力(Sensor Cross Attention, SCA):建立了任务与原始传感器输入之间的直接路径,实现了端到端的学习,避免了信息损失。具体操作是,任务查询(如自我查询、代理查询和地图查询)根据语义和空间关系与原始传感器令牌进行匹配,以提取特定任务的信息。通过采用 3D 位置编码,DriveTransformer 避免了构建 BEV 特征,提高了效率,减少了梯度消失问题,为模型的扩展提供了有力支持。
-
任务自注意力(Task Self-Attention, TSA):实现了任意任务之间的直接交互,无需显式约束,促进了任务间的协同效应。例如,在规划过程中,自我查询可以利用检测到的对象和地图元素的信息,通过注意力机制灵活地学习任务间的交错关系,从而更好地进行决策。与传统方法相比,DriveTransformer 通过消除手动设计的任务依赖,使得任务间的关系能够以数据驱动的方式通过注意力机制进行学习,大大简化了系统的训练和扩展过程。
-
时间交叉注意力(Temporal Cross Attention):集成了先前观察到的历史信息。与现有范式不同,DriveTransformer 为每个任务维护 FIFO 队列,存储历史查询。在每个时间步,通过将当前任务查询与队列中的历史查询进行交叉注意力计算,实现时间信息的融合。由于不同时间步的自我参考点可能不同,需要将历史查询的位置编码转换为当前坐标系,并进行运动补偿。通过这种方式,模型能够充分利用历史信息,更好地适应动态变化的环境。
DriveTransformer中的三种注意力机制。传感器交叉注意力为所有任务提供了端到端访问原始输入的直接途径。任务自注意力实现了任务间的信息交互。时序交叉注意力则利用历史状态作为先验信息。
DriveTransformer中的流式时序机制。将上一时间步从DriveTransformer最后一层提取的Top-K任务查询推入FIFO队列。任务查询与位置信息会转换至当前自车坐标系,并在作为键值与值输入时序交叉注意力模块前进行潜在运动补偿。
(三)DETR 风格的任务头
受 DETR 的启发,DriveTransformer 在每个模块后设置了任务头,以逐步细化预测结果,并相应地更新位置编码。
-
对象检测与运动预测:现有 E2E 方法中,经典的检测 - 关联 - 预测管道由于关联的困难性,容易导致训练不稳定。DriveTransformer 采用了更端到端的方法,将相同的代理查询输入到不同的任务头,进行对象检测和运动预测,避免了跟踪过程。对于时间关联,通过时间交叉注意力机制,在当前令牌与所有历史令牌之间进行计算,避免了显式关联,提高了训练稳定性。为了进一步减少两个任务之间的干扰,运动预测的标签转换为每个代理的局部坐标系,使得其损失不受检测结果的影响。在推理时,再将预测的路径点转换为全局坐标系进行评估。
-
在线地图构建:考虑到地图折线分布的不规则性和多样性,在进行传感器交叉注意力时,对每个地图查询进行多次复制,并为每个点分配位置编码。这样,对于长折线,每个点都能更好地检索原始传感器信息,提高了地图构建的准确性。为了将单独的点级地图查询集成到实例级查询中,采用了轻量级的 PointNet 和最大池化以及 MLP 进行处理。
-
规划:将自我车辆的未来运动建模为高斯混合模型,以避免模式平均。具体做法是,根据训练轨迹的方向和距离将其分为六类,为每类生成模式嵌入,并将其添加到自我特征中,以预测特定模式的自我轨迹。在训练过程中,仅使用真实模式的轨迹计算回归损失,并训练一个分类头预测当前模式。在推理时,选择置信度最高的模式的轨迹进行评估或执行。
-
粗到细优化:DETR 系列的成功证明了粗到细优化在端到端学习中的有效性。在 DriveTransformer 中,所有任务查询的位置编码在每个模块后根据当前预测进行更新。地图和代理的位置编码通过其相应的预测位置和语义类别进行 MLP 编码,以捕捉元素之间的空间和语义关系;自我位置编码通过预测的规划轨迹进行 MLP 编码,以捕捉自我意图。在训练过程中,对所有模块的任务头应用损失;在推理时,仅使用最后一个模块的输出。
任务头设计。(a)检测与运动共享同一智能体特征,无需追踪即可关联物体。局部坐标系中的轨迹预测进一步解耦这两个任务,确保训练稳定性。(b)同一折线上的地图点在传感器交叉注意力机制中具有不同位置编码,以获取细粒度特征。(c)规划头将自我查询与不同模式嵌入相结合,进行多模式预测。(d)任务位置逐步优化,其对应位置编码愈发精确,实现更优交互。
(四)损失与优化
DriveTransformer 在单阶段进行训练,每个任务可以在任务自注意力中逐渐学习找到它们之间的关系,同时在传感器交叉注意力和时间交叉注意力中保持基本的收敛性。损失函数包括检测损失(DETR 风格的匈牙利匹配损失)、预测损失(赢家通吃风格的损失)、在线地图构建损失(MapTR 风格的匈牙利匹配损失)和规划损失(赢家通吃风格的损失)。通过调整权重,确保所有项的量级大致相同,以实现有效的优化。
四、实验验证
(一)数据集与基准
为了全面评估 DriveTransformer 的性能,使用了 Bench2Drive 这一闭环评估协议,该协议基于 CARLA Leaderboard 2.0,提供了官方训练集和 220 条评估路线。同时,在 nuScenes 开环评估中与其他先进方法进行比较。通过在不同场景和任务下的测试,能够更准确地衡量 DriveTransformer 在实际应用中的表现。
(二)与先进方法的比较
在与现有先进的 E2E-AD 方法的比较中,DriveTransformer 表现出色。从规划性能来看,在 Bench2Drive 的评估中,DriveTransformer 的平均 L2 误差更低,闭环指标如驾驶得分、成功率、效率和舒适度等方面均优于其他方法。在 nuScenes 的开环规划性能评估中,DriveTransformer 同样取得了领先的结果,碰撞率更低。在推理延迟方面,DriveTransformer 相较于 UniAD 和 VAD 等方法也具有明显优势,且由于其统一、稀疏和流处理的 Transformer 设计,能够在更大的批量大小下进行训练,进一步提高了训练效率。
(三)消融研究
-
扩展性研究:研究了增加 DriveTransformer 的层数和隐藏维度对性能的影响,并与扩展图像骨干的策略进行比较。结果表明,扩展解码器部分(即增加三种注意力机制的层数和宽度)对规划任务带来的提升更大,而对于感知任务,扩展解码器与扩展图像骨干具有相似的趋势,这展示了 DriveTransformer 良好的扩展性和泛化能力。然而,在感知任务上,与大规模视觉语言预训练的图像骨干 EVA02-CLIP-L 相比,仍有一定差距,这也为未来的研究指明了方向。
-
范式设计研究:通过消融实验,验证了 DriveTransformer 中三种注意力机制的重要性。传感器交叉注意力对于模型获取传感器信息至关重要,缺失该机制会导致模型盲目驾驶;任务自注意力能够提高驾驶得分,因为自我查询可以利用检测到的对象和地图元素进行规划;时间信息虽然影响相对较小,但也对模型性能有一定贡献。在训练策略方面,丢弃辅助任务会导致性能下降,单阶段训练足以实现收敛,而感知预训练(两阶段训练)并没有带来明显优势,这得益于任务之间无手动依赖的设计,使得所有任务能够直接从原始传感器输入和历史信息中学习。此外,去除中间层的监督会导致训练崩溃,这提示需要进一步探索仅基于最终监督来扩展模型结构的方法。
-
任务头设计研究:在任务头设计的消融实验中,将预测输出制定在局部坐标系中,有效地解耦了对象检测和运动预测任务,使得两个任务能够分别优化目标,同时共享的代理特征自然地关联了相同的对象,提高了性能。在在线地图构建中,采用点级位置编码在传感器交叉注意力中能够显著提高地图构建的效果,扩展了潜在的感知范围。多模式规划相较于单模式规划表现更优,特别是在需要精确转向的场景中,多模式规划能够更好地控制车辆,避免了单模式预测中由于将输出空间建模为单一高斯分布而导致的模式平均问题。
Dev10基准测试中驾驶Transformer的扩展研究。直接放大统一Transformer结构对规划任务提升最为显著,而采用强大的图像主干网络(特别是大规模预训练模型)则为感知任务带来增益。
(四)鲁棒性分析
由于自动驾驶是一项户外任务,经常会遇到各种事件和故障,因此系统的鲁棒性至关重要。通过设置相机故障(部分相机被屏蔽为全黑)、不正确的校准(向相机外部参数添加旋转和转换噪声)、运动模糊和高斯噪声等挑战,对 DriveTransformer 的鲁棒性进行评估。结果显示,DriveTransformer 相较于 VAD 表现出显著更好的鲁棒性。这是因为 VAD 依赖于构建对感知输入敏感的 BEV 特征,而 DriveTransformer 直接与原始传感器特征交互,能够忽略那些失败或嘈杂的输入,从而在各种复杂情况下保持更好的性能。
不同鲁棒性挑战下的检测与规划可视化
五、结论与展望
DriveTransformer 作为一种创新的端到端自动驾驶框架,通过任务并行、流处理和稀疏表示等特性,有效地解决了现有方法面临的诸多挑战,在 Bench2Drive 和 nuScenes 等基准测试中取得了领先的性能表现。然而,如同现有所有端到端自动驾驶系统一样,DriveTransformer 也存在一些局限性,例如所有子任务的更新相互纠缠,给系统的维护带来了挑战。未来,降低子任务之间的耦合度,使系统更易于调试和单独维护,将是一个重要的研究方向。随着技术的不断发展和完善,DriveTransformer 有望为自动驾驶的实际应用带来新的突破,推动自动驾驶技术朝着更加安全、高效和智能的方向发展。