【论文阅读】DiffusionDrive:截断扩散模型用于端到端自动驾驶
DiffusionDrive引入了一种用于端到端自动驾驶的截断扩散模型,通过解决计算开销和模式崩溃问题,实现了实时多模态轨迹生成。该系统在NAVSIM数据集上创造了新的性能记录,以45 FPS达到88.1 PDMS,同时生成多样化且合理的驾驶动作。
引言
DiffusionDrive 引入了一种通过将扩散模型应用于端到端轨迹规划来解决自动驾驶问题的新颖方法。该研究旨在解决当前自动驾驶系统中存在的根本局限性,这些系统通常难以处理驾驶决策的多模态性质。传统方法要么预测单一轨迹,可能无法捕捉到所有合理的动作范围,要么依赖于预定义轨迹的固定词汇表,这在面对新颖场景时可能会失效。
本文提出了两项关键创新:一种截断扩散策略,可在保持多样化轨迹生成的同时减少计算开销;以及一种高效的级联扩散解码器,可以更好地整合上下文场景信息。这些贡献使得模型能够实现实时性能,并在具有挑战性的基准测试中达到最先进的结果。
研究背景与动机
自动驾驶系统面临的挑战是在复杂、多模态环境中做出决策,在任何给定场景下都可能存在多种合理的动作。当前端到端的方法分为两类:预测一个最优轨迹的单模态回归方法,以及从预定义轨迹集中选择的固定词汇表方法。
Transfuser、UniAD 和 VAD 等单模态回归方法直接从传感器输入预测轨迹,但在多模态决策场景中存在根本性困难。当存在多个有效动作时(例如变道与保持车道),这些方法可能会遭受模式坍缩或产生次优的平均行为。
VADv2 和 Hydra-MDP 等固定词汇表方法试图通过将动作空间离散化为大量锚定轨迹集来解决多模态问题。虽然提供了更多多样性,但这些方法计算成本高昂,并受其预定义词汇表的限制,可能在词汇表外场景中失效。
扩散模型在计算机视觉和机器人技术中生成多样化、高质量样本方面取得了显著成功。然而,它们直接应用于自动驾驶面临两个关键挑战:多重去噪步骤带来的计算开销(在原始实现中通常超过20步)和动态交通场景中的模式坍缩。
核心方法
DiffusionDrive 通过两项专为自动驾驶应用设计的核心创新,解决了标准扩散模型的局限性。
截断扩散策略
截断扩散策略从根本上重新构想了扩散模型如何应用于轨迹生成。该方法不再从纯高斯噪声开始,而是从以从数据中学习到的多模态驾驶模式为中心的“锚定高斯分布”进行初始化。
该方法首先使用 K-means 对训练数据集中的真实轨迹进行聚类,以识别常见的驾驶模式。这些聚类中心充当代表典型驾驶行为的锚点。在训练期间,扩散过程被截断——只向这些锚点添加少量噪声,而不是遵循完整的噪声调度直到纯高斯噪声。
这种截断具有两个关键优势。首先,它为轨迹生成提供了更明智的起点,从一开始就引导模型走向合理的驾驶行为。其次,它显著减少了推理所需的去噪步骤数,使得模型能够以低至2个去噪步骤(而原始扩散模型需要20个以上)实现实时性能。
其数学公式涉及修改标准扩散正向过程:
$$
q(x_t | x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t} x_0, (1 - \bar{\alpha}_t) I)
$$
其中,该过程在时间步 $T_{trunc} << T$ 处被截断,$x_0$ 表示来自锚定分布而非任意数据点的轨迹。
高效级联扩散解码器
级联扩散解码器在保持计算效率的同时,增强了模型利用上下文场景信息的能力。解码器架构融合了多种形式的注意力机制,以整合不同类型的环境信息。
空间交叉注意力使用基于轨迹坐标的可变形注意力机制,实现了与鸟瞰图(BEV)和透视图(PV)特征的交互。这使得模型能够在生成轨迹时聚焦于相关的空间区域。
智能体和地图交叉注意力机制使解码器能够考虑动态智能体和静态道路基础设施。解码器在轨迹特征与从感知模块派生的智能体/地图查询之间执行交叉注意力,确保生成的轨迹考虑交通参与者和道路几何形状。
级联机制代表了一项关键创新,其中一个解码器层的输出作为后续层的输入。这种迭代细化发生在每个去噪步骤中,并且参数在时间步长之间共享。该方法能够在保持计算效率的同时,逐步改进轨迹。
时间步长调制层编码扩散时间步长信息,然后由MLP预测置信度分数和坐标偏移。最终的轨迹选择基于生成候选中最高的置信度分数。
训练和实现细节
训练目标结合了轨迹重建和分类组件。模型学习预测去噪轨迹和分类分数,这些分数基于与真实值的接近程度指示轨迹质量。
损失函数结合了轨迹坐标的L1重建损失和分类的二元交叉熵:
$$
\mathcal{L} = \mathcal{L}_{L1}(x_0, \hat{x}_0) + \lambda \mathcal{L}_{BCE}(s, \hat{s})
$$
其中 $x_0$ 表示真实轨迹,$\hat{x}_0$ 是预测轨迹,$s$ 是真实分类标签,$\hat{s}$ 是预测分数。
一个显著的特点是推理灵活性——尽管模型在训练时使用固定数量的锚点,但它可以通过调整采样过程来适应推理期间任意数量的轨迹样本。
实验结果与性能
DiffusionDrive 在多个指标和数据集上均表现出显著提升。在极具挑战性的NAVSIM数据集上,该方法实现了88.1的PDMS(规划多样性度量分数),大幅优于之前的SOTA方法,包括UniAD(83.4)、PARA-Drive(84.0)以及挑战赛冠军Hydra-MDP(86.5)。
考虑到计算效率,性能提升尤为显著。DiffusionDrive 在 NVIDIA 4090 上以 45 FPS 运行,满足实时要求,而香草扩散(vanilla diffusion)适应仅能达到 7 FPS。
从基线Transfuser到DiffusionDrive的演进揭示了每个组件的贡献:
- Transfuser基线:84.0 PDMS,60 FPS
- 香草扩散适应:84.6 PDMS,7 FPS(20个去噪步骤)
- 截断扩散:85.7 PDMS,27 FPS(2个去噪步骤)
- 完整DiffusionDrive:88.1 PDMS,45 FPS
模式多样性的提升同样令人印象深刻,DiffusionDrive实现了74%的多样性,而香草扩散为11%,单模式基线则基本为0%。
在nuScenes数据集上,DiffusionDrive实现了最低的L2误差(0.57m)和碰撞率(0.08%),同时运行速度比同类方法快1.8倍。这些结果表明了在不同评估范式下的一致性能。
意义和未来影响
DiffusionDrive 代表着生成模型在安全关键型实时应用方面的一个重大进步。这项工作表明,复杂的生成模型可以成功地应用于自动驾驶,而不会牺牲性能或安全要求。
生成真正多样化轨迹的能力解决了当前自动驾驶系统的一个根本局限性。这种能力对于处理存在多种有效操作的模糊场景至关重要,可能导致更鲁棒和更像人类的驾驶行为。
通过截断扩散和级联解码实现的计算效率,使得该方法在计算资源有限的真实自动驾驶平台上部署成为可能。在保持或提高质量的同时,去噪步骤减少了10倍,这代表了一项重大的工程成就。
从固定词汇到连续生成规划的范式转变,为新颖场景提供了更大的灵活性和适应性。与受预定义行动空间限制的现有方法相比,这种方法可能被证明更具可扩展性和通用性。
这项研究为机器人和自主系统生成规划的未来工作奠定了基础。截断扩散和高效级联架构的概念可以启发自动驾驶之外的应用,拓展到其他需要实时、多样化策略生成的领域。