目标

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避免了对大规模锚点集合的依赖,提升了适应复杂交通场景的能力。