目标

DiffusionDrive旨在解决端到端自动驾驶中的实时性、多模式决策和复杂场景适应问题,通过高效生成多种驾驶轨迹,实现精准、鲁棒的驾驶规划。

贡献

  1. 截断扩散策略:设计从锚点高斯分布开始的截断扩散过程,仅需2步去噪,显著提升生成效率和轨迹多样性。
  2. 级联扩散解码器:引入高效的Transformer解码器,增强轨迹与场景特征的交互,优化轨迹质量。
  3. 性能突破:在NAVSIM数据集上实现88.1 PDMS,同时支持实时推理(45 FPS)。
  4. 多模式生成能力:生成多样化轨迹,显著提升复杂场景中的适应性与安全性。
  5. 资源效率提升:相比传统多模式方法,减少锚点需求(从8192降至20),降低计算成本。

总结:DiffusionDrive通过创新的扩散策略和解码器设计,实现了实时、多模式、高鲁棒性的端到端自动驾驶规划。

可能缺点(本人推测)

  1. 锚点依赖性:

    • 依赖训练集的锚点分布,可能在锚点覆盖不足的稀有场景(如极端驾驶条件)中表现不佳。
    • 锚点选择的质量直接影响生成轨迹的合理性和多样性。
    • 较难做到不同场景之间的泛化和迁移
  2. 调试难度:

    • 多模式规划方法本身较难调试,尤其是在生成和选择轨迹两阶段都可能出现问题时,错误分析复杂。

背景

image

特性 单模式回归 多模式回归
实现方式 直接使用回归模型(如MLP、CNN, 上图中(a) )生成单条轨迹 通过锚点采样(上图中(b))或生成模型(上图中(c), (d))生成多条轨迹
优点 简单高效,适合简单场景,计算成本低,易于调试 多样性强,适应复杂场景和突发情况,鲁棒性更高
缺点 缺乏多样性,难以处理复杂场景,鲁棒性较差 计算成本较高,调试困难
轨迹数量 单一轨迹 多种潜在轨迹
适用场景 简单、明确的场景 复杂、不确定性高的场景
计算成本 低 较高
模型鲁棒性 对动态变化较敏感 更能适应复杂和突发场景
轨迹多样性 无多样性,单一解 具有多样性,支持多种潜在行为

方法

image

1. 截断扩散策略(Truncated Diffusion Policy)

核心思想:

image

实现步骤:

  1. 锚点生成:

    • 对训练集轨迹使用K均值聚类生成固定锚点集合 ${a_k}$。
    • 每个锚点 $ a_k $是代表不同驾驶模式的参考轨迹。
  2. 扩散过程定义:
    在训练中,向锚点添加截断的高斯噪声来构造锚点高斯分布:

    $$
    \tau_i^k = \sqrt{\bar{\alpha}_i}a_k + \sqrt{1-\bar{\alpha}_i}\epsilon, \epsilon \sim N(0, I)
    $$

    其中 $i \in [1, T_{trunc}] $,$ T_{trunc} $是截断的扩散步数(远小于标准扩散步数)。

  3. 去噪过程:
    模型学习从锚点高斯分布的噪声轨迹 $\tau_i^k$逐步去噪至真实轨迹分布:

    $$
    p_\theta ( \tau_{i-1} | \tau_i, z )
    $$

    z表示场景条件信息(如传感器数据)。

  4. 推理阶段:

    • 在推理中,采样固定数量的噪声轨迹(可以动态调整数量),以少量去噪步骤生成最终轨迹。

2. 级联扩散解码器(Cascade Diffusion Decoder)

核心思想:

架构设计:

  1. 输入特征:

    • 解码器接收锚点高斯分布的噪声轨迹以及场景特征(鸟瞰图BEV、透视图PV)。
    • 特征来源于感知模块的输出。
  2. 空间交叉注意力:

    • 通过稀疏可变形注意力机制(Deformable Attention),噪声轨迹与BEV/PV特征交互,提取空间相关信息。
  3. 场景条件交叉注意力:

    • 噪声轨迹进一步与感知模块的**代理(agent)和地图特征(map queries)**交互,捕获与驾驶决策相关的上下文信息。
  4. 时间步调制(Timestep Modulation):

    • 在每一步去噪中,嵌入当前扩散时间步信息,帮助模型动态调整生成轨迹。
  5. 轨迹评分与选择:

    • 使用多层感知机(MLP)对每条轨迹计算置信度得分, 和最终轨迹。
    • 输出置信度最高的轨迹作为最终预测。
  6. 级联结构:

    • 解码器层以级联方式迭代优化轨迹,每层共享参数。
    • 在推理过程中,逐步提升轨迹质量。

3. 损失函数与训练策略

损失函数:

训练目标包含两部分:

  1. 轨迹重构损失(L1 Loss):

优化预测轨迹 $\hat{\tau}{k}$ 与真实轨迹 $\tau{gt}$ 的距离。

$$
L_{rec} = | \hat{\tau}k - \tau{gt} |_1
$$

  1. 分类损失(Binary Cross-Entropy Loss):

    优化锚点轨迹的置信度评分 $\hat{s}_{k}$ 是否与实际匹配:

    $$
    L_{cls} = -y_k \log(\hat{s}_k) - (1-y_k) \log(1-\hat{s}_k)
    $$

    $y_k=1$ 表示轨迹接近真实轨迹的锚点。

只预测离Groundtruth最近的anchor的分类损失和轨迹的重建损失,综合损失为:

$$
L = \sum_k \left[ y_k L_{rec} \left( \hat{\tau}{k}, \tau{gt} \right) + \lambda L_{cls} \left( \hat{s}_k, y_k \right) \right]
$$

其中 $\lambda$ 是损失平衡因子。

训练过程:

  1. 锚点选择:
    • 对每条真实轨迹,选择距离最近的锚点作为正样本,其余为负样本。
  2. 截断扩散训练:
    • 扩散步数设置为 $T_{trunc}$,减少训练复杂度。
  3. 优化器:
    • 使用AdamW优化器,结合学习率调度策略。

4. 推理灵活性


5. 模型整体架构

6.基本结果

DiffusionDrive的性能在多个下游任务中取得了显著的提升,尤其是在以下两个关键数据集上:

6.1NAVSIM数据集:

DiffusionDrive以88.1 PDMS超越了所有现有方法。比传统多模式方法(如Hydra-MDP)提升了5.1 PDMS,同时仅需20个锚点,显著减少了计算开销。推理速度达到45 FPS(使用NVIDIA 4090 GPU),远高于传统扩散策略的7 FPS。

6.2 nuScenes数据集:

在较简单的场景中,DiffusionDrive展现了更低的平均L2误差(0.57米)和碰撞率(0.08%),优于SparseDrive等基线模型。
推理效率提升1.8倍,同时降低了20.8%的L2误差和63.6%的碰撞率。

总结

相较于传统的单模式回归(如Transfuser),DiffusionDrive不仅显著提高了多模式轨迹的生成能力,还减少了模式坍缩现象。
在与固定词汇采样方法(如VADv2)的对比中,DiffusionDrive避免了对大规模锚点集合的依赖,提升了适应复杂交通场景的能力。