这篇论文到底在干什么?

先给一个最直白的解释,读完这一段你就知道这篇论文在解决什么问题。

自动驾驶的轨迹规划可以理解为:给车看它周围的环境(图像、LiDAR 点云),让它决定接下来 4 秒怎么开。目前主流的方法是「生成式规划」——用扩散模型(DDPM、Flow Matching 等)从随机噪声开始,逐步去噪生成一条轨迹。

生成式规划的好处是多模态:同一个场景下,可能有多种合理的开法(让行、变道、缓行),扩散模型应该能覆盖这些不同的行驶模式。

但实际中遇到一个严重问题:模式坍缩(mode collapse)。不同随机噪声输入,经过扩散模型去噪后,输出的轨迹往往差不多。就像你让一个画家画 5 幅「秋天的树林」,结果 5 幅画几乎一模一样——都是差不多的色调、差不多的构图,看不出多样性。

模式坍缩 vs 去相关多样化对比

上图左侧展示的就是模式坍缩:5 个不同的随机噪声 z1~z5,经过去噪解码器后,生成的 5 条轨迹几乎重叠在一起。右侧是加上去相关后的效果:5 条轨迹明显不同,有的直行、有的左转、有的右拐、有的缓行——这才是扩散模型应有的多模态能力。

TransDiffuser 的核心洞察:模式坍缩的根源不在于扩散模型本身,而在于条件特征不够丰富。当去噪解码器的条件输入(图像特征、LiDAR 特征、BEV 特征、历史轨迹嵌入等)的各维度之间存在冗余和耦合时,条件信号的信息量被压缩,导致不同噪声输入收敛到相同输出。解法就是——强制让不同特征维度去相关,使条件信号更丰富。


论文信息

  • 标题TransDiffuser: Diverse Trajectory Generation with Decorrelated Multi-modal Representation for End-to-end Autonomous Driving
  • arXiv2505.09315
  • 作者:Xuefeng Jiang(中科院计算所),Yuan Ma(清华),Pengxiang Li(清华),Kun Zhan(理想汽车)等
  • 一句话总结:用多模态表示去相关解决扩散轨迹生成中的模式坍缩,无需任何锚点/先验达到 SOTA(PDMS 94.85)

一、动机:为什么扩散轨迹生成会模式坍缩

1.1 端到端规划的三代范式

要理解 TransDiffuser 的贡献,先看端到端自动驾驶规划的三条技术路线:

范式工作原理代表工作优点缺点
确定性回归网络直接输出一条轨迹Transfuser、UniAD简单直接只能输出一条,无法应对多模态场景
打分式 Scoring从预定义轨迹词表中选最优VADv2、Hydra-MDP确定性高依赖预定义锚点,泛化受限
生成式 Generative扩散/流匹配采样多候选DiffusionDrive、GoalFlow多模态好模式坍缩严重

生成式规划本是用来解决「多模态」问题的——同一场景下,让行、变道、缓行都是合理选择。但实际中,不同随机噪声采样出的轨迹却高度相似,失去了多模态的优势。

1.2 现有方法怎么解决模式坍缩

方法解决思路手段代价
DiffusionDrive约束初始分布用锚点高斯分布替代标准高斯噪声(截断扩散)需预定义轨迹词表,引入归纳偏置
GoalFlow约束生成路径用目标点稠密词表限制生成范围需预计算场景先验,对未见场景泛化难
TrajHF后处理筛选偏好优化 + 拒绝采样,NEES 100 条候选推理效率低,候选量大

这些方案有一个共同点:都引入了额外的先验信息(锚点轨迹、场景先验)。虽然它们确实缓解了坍缩,但在未见过的场景中,预定义的锚点或目标点可能不适用。

1.3 TransDiffuser 的不同视角

TransDiffuser 的出发点完全不同。它认为模式坍缩的根本原因不在于生成过程,而在于条件特征的信息瓶颈。如果把去噪解码器看作一个「画家」,那么条件特征就是给画家看的「参考照片」。当参考照片的各个区域(特征维度)高度相似时,画家画出来的画自然也都差不多。

所以 TransDiffuser 的解法是:在特征进入动作解码器之前,强制让不同特征维度去相关,使参考照片的各个区域携带更多独立信息。


二、架构总览:编码器-解码器扩散模型

TransDiffuser 的整体架构包含三个核心组件。下面这张架构图建议先看 30 秒,有个整体印象,然后我们逐块拆解:

TransDiffuser 整体架构:编码器-解码器扩散模型

上图是论文中的架构图,从左到右看数据流:

  1. 左侧输入:Camera(前视相机)和 LiDAR 点云,一起送入 Scene Encoder
  2. Scene Encoder:基于 Transfuser 骨干,多阶段 Transformer 跨模态融合,输出 BEV 特征
  3. Motion Encoder:编码历史轨迹和当前自车状态
  4. Denoising Decoder(中间核心):DDPM 扩散解码器,以编码特征为条件,从噪声逐步去噪生成动作
  5. 右侧输出:去噪后的动作序列,累加得到 8 个 waypoint 的轨迹

关键设计:Scene Encoder 在整个训练过程中被冻结(frozen),不参与梯度更新。消融实验显示,如果 Scene Encoder 参与全量训练,PDMS 反而从 94.9 下降到 93.5。论文分析认为,预训练的感知特征已经足够好,规划任务的微调反而可能「扭曲」感知表示。

2.1 问题形式化

模型输出 8 个 waypoint,覆盖未来 4 秒(采样频率 8Hz):

$$\mathbf{x} = \{s_1, s_2, \dots, s_T\}, \quad T=8$$

其中 $s_\tau = (x_\tau, y_\tau)$ 是自车中心坐标系下的 waypoint 位置。但模型不直接预测 waypoint,而是预测动作序列(相邻帧的位移):

$$\hat{x}_\tau = s_\tau - s_{\tau-1}, \quad \hat{x}_1 = s_1$$

这个变换叫动作投影(action space projection)。它的好处是缓解异方差性(heteroscedasticity)——waypoint 的绝对位置方差很大,但相邻帧之间的位移方差相对稳定。轨迹可以通过动作累加简单恢复,是可逆变换。

2.2 多模态特征组

编码器输出的所有特征汇聚为一个多模态特征组:

$$feat = \{F_{bev}, F_{img}, F_{LiDAR}, Emb_{action}, Emb_{ego}\}$$
特征来源维度含义
$F_{bev}$Scene Encoder 融合输出BEV 空间场景的鸟瞰图表示
$F_{img}$图像 CNN 分支图像空间前视相机的视觉特征
$F_{LiDAR}$LiDAR CNN 分支点云空间激光雷达的几何特征
$Emb_{action}$Action Encoder (MLP)动作空间历史轨迹的运动嵌入
$Emb_{ego}$Ego Status Encoder (MLP)状态空间当前车速/加速度等状态

这 5 个特征通过去噪解码器中的多头交叉注意力顺序融合,作为去噪过程的条件信号。这就是去相关正则化要作用的对象——如果这 5 个特征的维度之间存在冗余,条件信号的信息量就会被压缩。


三、Scene Encoder:多模态感知融合

3.1 Transfuser 骨干

Scene Encoder 使用被 Nav-train 预训练权重冻结的 Transfuser 骨干。它处理两种传感器的输入:

传感器输入处理方式输出特征
前视多视角相机RGB 图像序列CNN Backbone$F_{img}$
LiDAR 点云3D 点云CNN Backbone$F_{LiDAR}$
两者融合上述两特征多阶段 Transformer 跨模态注意力$F_{bev}$

3.2 多阶段融合 —— 关键设计

「多阶段融合」不是简单的「最后拼一起」,而是图像和 LiDAR 分支在每个阶段(stage)都通过 Transformer block 做一次跨模态交互。论文中 Figure 2 的架构图里,可以看到图像和 LiDAR 分支之间有多个交叉箭头——每经过一个 stage,两个分支就交换一次信息。

这种设计让多模态信息在多个尺度上相互增强:低层的几何细节(LiDAR 的边界信息)和高层的语义信息(图像的纹理信息)在不同阶段反复融合,比只在最后阶段做一次融合的效果好得多。

3.3 冻结 Scene Encoder 的启发

论文特别强调 Scene Encoder 从训练开始到结束都被冻结。消融实验显示:

设置PDMS说明
Scene Encoder 冻结94.9推荐配置
Scene Encoder 全量训练93.5反而下降
可训练参数量62.8M / 251M (25%)大部分参数来自去噪解码器

这说明两件事:

  1. 预训练的感知特征已经足够好,无需在规划任务上微调
  2. 保持感知特征不变能防止规划任务「扭曲」感知表示

从工程角度看,冻结 Scene Encoder 也减少了约 75% 的可训练参数量,加速了训练。


四、Motion Encoder:运动上下文

Motion Encoder 由两个独立的 MLP 组成:

编码器输入输出作用
Action Encoder历史自车轨迹(多帧 waypoint)$Emb_{action}$告诉模型「车过去怎么开的」
Ego Status Encoder当前自车状态(速度、加速度等)$Emb_{ego}$告诉模型「车现在什么状态」

这两个编码器都很轻量(MLP 几层而已),但提供了重要的运动上下文。没有它们,去噪解码器只知道「场景长什么样」,不知道「车过去几秒怎么运动、当前速度多少」。这些信息对预测未来轨迹至关重要——一个以 60km/h 行驶的车和一个静止的车,未来轨迹的分布完全不同。


五、Denoising Decoder:DDPM 轨迹生成

5.1 DDPM 基本原理

去噪解码器采用 Denoising Diffusion Probabilistic Model(DDPM) 框架。如果你还不熟悉扩散模型,下面用最直白的方式解释:

扩散模型分两步:

前向过程(加噪):拿一条真实轨迹,逐步往上加噪声,直到变成纯噪声。这个过程是固定的,不需要学。

$$\mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon, \quad \epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I})$$

反向过程(去噪):从纯噪声出发,让模型一步步「预测噪声」并去掉,最终恢复出干净轨迹。模型学的是这个过程。

$$\mathbf{x}_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(\mathbf{x}_t - \frac{1-\alpha_t}{\sqrt{1-\bar{\alpha}_t}} \epsilon_\theta(\mathbf{x}_t, t, feat)\right) + \sigma_t \mathbf{z}$$

其中 $\epsilon_\theta$ 是去噪解码器网络,它的输入是:

  • $\mathbf{x}_t$:当前步的噪声动作
  • $t$:当前步数(0 到 T)
  • $feat$:条件特征组(来自 Scene Encoder 和 Motion Encoder)
参数含义配置
$T$总去噪步数10(训练和推理一致)
$\mathbf{x}_0$原始动作序列8 步 waypoint 的位移
$\epsilon$模型预测的噪声与真实噪声做 MSE 损失

5.2 推理采样

推理时,从标准高斯噪声出发,经过 T=10 步去噪,生成动作序列,再累加得到未来 4 秒的 8 个 waypoint。模型生成 N=30 条候选轨迹,然后通过后处理过滤(基于运动学可行性),最终选择 PDMS 评分最高的轨迹。

对比其他方法的候选数量:

方法候选轨迹数依赖先验?
GoalFlow128 ~ 256 条是(场景先验)
TrajHF100 条
TransDiffuser30 条
DiffusionDrive20 条是(锚点先验)

TransDiffuser 用更少的候选轨迹就达到了 SOTA,说明去相关机制让每条轨迹的质量更高,不需要靠量取胜。


六、核心创新:多模态表示去相关

这是整篇论文最核心的贡献。下面这张 SVG 图完整展示了去相关模块在整个架构中的位置和计算过程:

TransDiffuser 架构与去相关机制

上图从上到下依次展示:

  • Scene Encoder + Motion Encoder:编码多模态特征
  • Denoising Decoder (DDPM):以多模态特征为条件去噪
  • Decorrelation Module:插在去噪解码器和动作解码器之间,对融合后的多模态表示施加去相关正则化

6.1 问题定义

当特征组 $feat = \{F_{bev}, F_{img}, F_{LiDAR}, Emb_{action}, Emb_{ego}\}$ 被多头交叉注意力融合后,得到一个融合表示矩阵 $\mathbf{M} \in \mathbb{R}^{B \times d}$($B$ 是 batch size,$d$ 是特征维度)。

问题在于:$\mathbf{M}$ 的不同维度之间往往存在相关性。如果两个特征维度高度相关,那它们携带的信息基本是冗余的。在这种条件下,特征空间的有效维度远低于原始维度,条件信号的信息量下降,导致不同噪声输入收敛到相同输出。

6.2 去相关正则化

TransDiffuser 在每个训练 batch 中,对 $\mathbf{M}$ 施加一个去相关正则化项:

def decorrelation_loss(M):
    # Step 1: 标准化每个维度(均值为 0,方差为 1)
    mean = M.mean(dim=0, keepdim=True)
    std  = M.std(dim=0, keepdim=True)
    M_norm = (M - mean) / sqrt(std**2 + 1e-8)

    # Step 2: 计算相关矩阵 (d x d)
    corr = M_norm.T @ M_norm

    # Step 3: 去掉对角线元素(只惩罚非对角线)
    corr_off = corr - diag(diag(corr))

    # Step 4: 非对角线元素的均方值
    return mean(corr_off**2) / batch_size

最终损失函数:

$$\mathcal{L} = \mathcal{L}_{diff} + \beta \cdot \mathcal{L}_{reg}$$

其中 $\beta = 0.02$ 在整个训练过程中固定。

6.3 去相关正则化的直观理解

想象你有一个 5 维特征向量,但其中 3 个维度几乎完全相关——那它实际上只提供了 2 个有效维度的信息。去相关正则化强制让各个维度「各说各话」:每个维度都携带其他维度无法替代的独立信息。

为什么这能缓解模式坍缩? 因为条件特征的信息量增加了,不同的噪声输入在去噪过程中能「看到」更丰富的条件信号,从而生成不同的轨迹。就像给画家看 5 张不同的参考照片,他自然会画出 5 幅不同的画。

6.4 为什么去相关比对比学习更实用

方法实现方式batch 需求计算开销
对比学习(SimCLR 等)正负样本对拉近/推远大 batch(4096+)
去相关正则化强制相关矩阵对角化任意 batch< 1‰ FLOPs

与对比学习不同,去相关正则化不需要构造正负样本对,也没有大 batch 需求——它在每个 batch 内自监督地优化表示分布。论文指出,其计算量仅占前向传播的不到千分之一,几乎可以忽略。

6.5 去相关为什么有效:奇异值分解视角

多模态表示去相关过程

上图是论文中的 Figure 3,展示了去相关前后相关矩阵和奇异值分布的变化。从左到右看:

指标去相关前去相关后
相关矩阵分布对角线集中 + 大量非零非对角元趋近对角矩阵
奇异值分布能量集中在前几个主成分能量分布更均匀
有效表示维度低(信息冗余)高(信息丰富)
生成轨迹多样性低(模式坍缩)

论文从**奇异值分解(SVD)**的角度解释了去相关的作用。去相关前,特征矩阵的奇异值能量集中在少数几个主成分上;去相关后,奇异值分布更均匀,有效维度更高。这意味着条件信号能更精细地指导去噪过程,让不同的噪声输入收敛到不同的轨迹。


七、模式坍缩的量化度量

为了定量评估模式坍缩程度,TransDiffuser 引入了一个多样性分数 D

$$D = 1 - \frac{1}{N} \sum_{i=1}^{N} \frac{\text{Area}(\tau_i \cap \bigcup_{j=1}^{N} \tau_j)}{\text{Area}(\tau_i \cup \bigcup_{j=1}^{N} \tau_j)}$$

其中 $\tau_i$ 是第 $i$ 条去噪轨迹,$N$ 是采样总数。$D$ 衡量各条轨迹与全部轨迹并集之间的 mIoU:

  • $D=100$:完全多样,所有轨迹都互不相同
  • $D=0$:完全坍缩,所有轨迹重合

这个指标最先在 DiffusionDrive 中被提出,TransDiffuser 沿用了它。


八、实验结果

8.1 NAVSIM 性能对比

方法范式LiDARAnchor/先验PDMS
TransfuserAR83.9
UniADAR83.4
PARA-DriveAR84.0
VADv2Scoring80.9
Hydra-MDPScoring91.3
DiffusionDriveDiffusion✓ (锚点)88.1
GoalFlowDiffusion✓ (场景先验)90.3
TrajHFDiffusion94.0
TransDiffuserDiffusion94.9

关键发现:TransDiffuser 是第一个完全不依赖任何锚点轨迹或场景先验仍能达到 SOTA 的扩散式规划方法。与 TrajHF(同样无先验)相比,PDMS 提升约 0.9 分,且 TrajHF 使用了更大的 ViT 图像编码器,而 TransDiffuser 仅用 ResNet-34。

8.2 多样性提升

方法候选数多样性 D
DiffusionDrive2074(受益于锚点初始化)
TransDiffuser (w/o decorr)3066
TransDiffuser (w/ decorr)3070
TransDiffuser1563
TransDiffuser1056

去相关正则化将多样性从 66 提升至 70(+4 分)。虽然仍比 DiffusionDrive 的 74 略低,但注意 DiffusionDrive 的多样性来自预定义的锚点分布(先验信息),而 TransDiffuser 单纯通过优化表示质量就接近了这个水平。

8.3 消融实验

超参敏感性

参数配置范围最优结论
去噪步数 T5 / 10 / 2010更多步提升多样性,但 PDMS 饱和
Batch size B32 / 64 / 12864太小去相关不稳定,太大无额外收益
权重 β0 / 0.02 / 0.05 / 0.10.02β=0 多样性最低(66→70),太大反而下降

组件消融

变体PDM Score多样性 D说明
Baseline (30 candidates)94.970完整方法
w/o decorrelation94.366β=0,PDMS 和多样性均下降
Inner decorrelation93.569去相关放在去噪循环内部
Fully-trained93.568Scene Encoder 参与训练

关键发现 1:去相关放在哪里? 去相关放在去噪循环「内部」(每个去噪步都做)的效果不如放在「外部」(去噪完整结束后、动作解码前)。论文分析认为:内部去相关可能干扰了去噪过程的稳定性,而外部去相关专注于优化最终表示的质量。

关键发现 2:冻结 Scene Encoder 反而不损性能。 这在工程实践上是好消息——预训练的感知特征足够通用,无需在规划任务上微调即可保持高质量。

8.4 跨方法泛化

论文将去相关模块应用到 Transfuser(自回归模型)上,发现 PDMS 从 78.0 提升到了 78.8。这说明去相关不限于扩散模型——它对任何使用多模态条件特征的规划方法都有帮助,具有通用性。

8.5 定性分析

单模态轨迹可视化对比

上图是论文中的定性对比图,展示了 TransDiffuser 与 Transfuser 在单条轨迹生成上的差异。在简单场景中,TransDiffuser 能给出比 Transfuser 更积极的驾驶方案——更早加速、更平滑的路径。这是因为扩散模型的生成式过程比自回归的确定性输出更灵活。

多模态多样化轨迹可视化

上图展示了多模态轨迹的多样性。在复杂场景中,TransDiffuser 生成的候选轨迹能覆盖比 GoalFlow 更广的可行驾驶区域——去相关让条件表示更丰富,探索了更多可能性。注意图中不同颜色的轨迹代表不同的候选路径,覆盖了左转、直行、缓行等多种合理选择。


九、与同类方法的深度对比

维度DiffusionDriveGoalFlowTrajHFTransDiffuser
缓解模式坍缩锚点高斯初始化目标点词表约束偏好优化表示去相关
依赖先验✓ (锚点)✓ (场景先验)
可训练参数量62.8M / 251M
候选数20128~25610030
训练时长2h @4xH20
PDMS (ResNet-34)88.190.394.094.9

十、总结与个人思考

贡献总结

  1. 编码器-解码器扩散规划架构:用冻结的 Transfuser 骨干编码场景,用 DDPM 解码器生成多候选轨迹
  2. 多模态表示去相关机制:首个在端到端驾驶规划中利用表示去相关缓解模式坍缩的工作,无需任何锚点或先验
  3. SOTA 性能:PDMS 94.85(ResNet-34 + LiDAR),超越了同期依赖锚点/先验的方法
  4. 通用性:去相关模块可插拔,对自回归模型同样有效

个人思考

1. 归因视角的转变是最优雅的贡献。 之前的工作都把模式坍缩归咎于「扩散模型本身容易坍缩」,因此解法要么是约束初始分布(DiffusionDrive 的截断扩散),要么是约束生成路径(GoalFlow 的目标点限制)。TransDiffuser 的攻击点完全不同——它认为模式坍缩的核心原因是「条件信息不够丰富」,而不是「生成过程不够受控」。这个视角转变在方法论上非常优雅:不需要动采样过程,只需要优化表示质量。

2. 去相关正则化的工程价值被低估了。 现在多模态融合已经成为自动驾驶规划的标配,但很少有人关注「多模态特征融合后的表示质量」问题。去相关正则化的极低开销(< 1‰ FLOPs)和即插即用特性,使其非常适合作为任何多模态融合方法的标配组件——无论是扩散模型还是自回归模型。论文将其移植到 Transfuser 上验证了这一点。

3. 冻结 Scene Encoder 的反直觉发现。 虽然论文提到「full training 反而降分」可能有个案因素,但这至少在实践上确认了:感知预训练的特征在规划任务上已是强特征,过度适配可能对多任务泛化反而有害。这对于 VLA 模型的训练策略也有参考价值——不是所有模块都需要随任务微调。

4. 两个不足。 第一,多样性 D=70 相比于 DiffusionDrive 的 74 仍有差距,说明去相关虽然有效但还未完全消除与锚点方法的多样性鸿沟。如果在去相关的基础上再增加一个「多样性奖励」项,可能会进一步提升多样性。第二,论文仅在 NAVSIM 开环评测下验证,缺乏闭环仿真测试和多场景泛化分析,实际的驾驶安全性还需更多验证。


📖 论文精读系列。本文基于 arXiv:2505.09315v2 撰写。