📌 一句话概括
WoTE 给端到端规划器装了一个 BEV 世界模型:对每条候选轨迹模拟出未来 BEV 状态,奖励模型据此打分,选"未来最安全"的那条——把"轨迹评估"从看当前状态升级成"预判未来后果",且全程可微、实时可行。

1. 动机:为什么规划器需要"预判未来"
端到端驾驶近年大多只盯着"生成一条好轨迹"。但给定多条候选轨迹后,如何评估它们才是安全的关键。传统做法要么用规则(依赖感知框/地图,对感知误差敏感),要么只用当前状态打分——可一条轨迹好不好,不看它跑出去的未来,根本判断不了。
人类司机会"脑补"未来再决策。WoTE 的核心洞察:把轨迹评估建模成对"该轨迹导致的未来场景"的预判,而这正是强化学习里世界模型(world model)擅长的。
但有两个技术痛点:
- 图像级世界模型太慢:Diffusion 类方法多步去噪,不适合实时驾驶。
- 未来监督稀缺:真实数据每场景只有一条未来,而世界模型要对多条候选各想一个未来。
WoTE 的解法:在 BEV 空间做世界模型——BEV 表征紧凑,可单步前馈预测未来;且 BEV 仿真器(如 nuPlan)天然能提供未来 BEV 语义图与规则奖励当监督。
2. 方法总览:四大组件
WoTE = 轨迹预测器 + BEV 世界模型 + 奖励模型 + BEV 空间监督,统一端到端。一次推理的数据流可以拆成下面 4 步(注意每一步都产出明确的张量,全程可微):
- 感知编码(Trajectory Predictor 前半):多模态传感器(相机 + LiDAR)经 BEV Encoder(TransFuser 式)编码成统一 BEV 状态 $\mathbf{B}_t \in \mathbb{R}^{h\times w\times c}$;同时用训练集专家轨迹 K-Means 出 $N=256$ 个轨迹锚。
- 轨迹细化(Trajectory Predictor 后半):每个锚经 MLP 编码成 query,与 $\mathbf{B}_t$ 做 cross-attention,再经 MLP 预测 offset 加回锚上,得到 $N$ 条 refined 轨迹 $\hat{\tau}^i$。这一步相当于"以 BEV 场景为条件,把粗糙锚雕成贴合当前场景的候选"。
- 未来预判(BEV World Model ★):把每条 $\hat{\tau}^i$ 与 $\mathbf{B}_t$ 拼成状态-动作对 $(\mathbf{B}t, \mathbf{a}t^i)$,送 Transformer Encoder 世界模型,循环预测未来 $K$ 步 BEV 状态 $\mathbf{B}{t+1}^i, \dots, \mathbf{B}{t+K}^i$。得到 $N$ 条"如果走这条轨迹,未来场景会怎样"的序列。
- 打分选优(Reward Model):把当前+未来 BEV 状态 concat,2D Conv 聚合 → 全局池化 → MLP,对每条轨迹预测奖励 $r_i$(含 imitation + simulation 两类);最后
argmax(r_i)选出最终轨迹 $\hat{\tau}^*$。
关键点回顾:第 3 步是 WoTE 区别于所有"只看当前状态打分"方法的地方——它先脑补未来,再基于未来打分,这正是"Online Trajectory Evaluation"的含义。
2.1 Trajectory Predictor
- BEV Encoder:沿用 TransFuser,多模态(相机+LiDAR)编码成统一 BEV 特征图 $\mathbf{B}_t \in \mathbb{R}^{h\times w\times c}$。
- Trajectory Anchors:在训练集专家轨迹上 K-Means 聚类得 $N$ 个锚(默认 $N=256$)。
- Trajectory Refinement:锚经 MLP 编码成 query,与 BEV 状态 cross-attention,MLP 预测 offset 加回锚上: $$\hat{\tau} = \tau + \text{MLP}(\text{CrossAttention}(\mathbf{TE}(\tau), \mathbf{B}, \mathbf{B}))$$
2.2 BEV World Model(核心创新)★
给定 $N$ 条 refined 轨迹 $\hat{\tau}^i$ 与当前 BEV 状态 $\mathbf{B}_t$,构造 $N$ 个状态-动作对 $(\mathbf{B}_t, \mathbf{a}_t^i)$:轨迹编码器(与上式共享权重)把 $\hat{\tau}^i$ 编码成动作嵌入 $\mathbf{a}_t^i$。
把 $\mathbf{B}_t$ 展平成 $h\times w$ 个向量,与动作嵌入拼接成 $hw+1$ 个 token $\mathbf{F}_i$,送入 Transformer Encoder 世界模型:
$$(\mathbf{B}_{t+1}^i, \mathbf{a}_{t+1}^i) = \text{WorldModel}(\mathbf{B}_t, \mathbf{a}_t^i)$$并循环预测未来 $K$ 步:
$$(\mathbf{B}_{t+K}^i, \mathbf{a}_{t+K}^i) = \text{WorldModel}(\mathbf{B}_{t+K-1}^i, \mathbf{a}_{t+K-1}^i)$$关键点:BEV 状态很小(如 $h=w=8$),世界模型几乎不增算力。相比图像级世界模型的多步扩散,这是单步/少步前馈,实时友好。
为什么用 Transformer Encoder 而不是循环网络做世界模型? 因为 WoTE 要并行给 $N=256$ 条候选各预测未来,而不是串行滚一条。Transformer Encoder 把"当前 BEV 展平 + 动作嵌入"拼成 token 序列后一次前向就出未来状态,256 条候选只是 batch 维扩容,GPU 并行友好。这也是它能把延迟压到 ~18ms 的原因。
2.3 Reward Model
奖励分两类(沿用 Hydra-MDP 设定):
- Imitation reward $r_{\text{im}}$:模仿专家轨迹的程度。
- Simulation reward $r_{\text{sim}}$:由仿真器按 NC / DAC / TTC / Comf / EP 五项规则给出。
最终奖励(与 PDMS 同构):
$$r_{\text{final}} = -\Big(w_1\log r_{\text{im}} + w_2\log r_{\text{sim}}^{\text{NC}} + w_3\log r_{\text{sim}}^{\text{DAC}} + w_4\log(5r_{\text{sim}}^{\text{TTC}} + 2r_{\text{sim}}^{\text{Comf}} + 5r_{\text{sim}}^{\text{EP}})\Big)$$奖励模型把当前+未来 $K$ 步 BEV 状态都喂进去(而不仅是当前态),2D Conv 聚合 → 全局平均池化 → MLP 预测每条轨迹的奖励 $\mathbf{r}_i$。最后 argmax 选最高奖励轨迹。
这步是"online evaluation"的灵魂:普通评分器只看当前 BEV 状态判断"这条轨迹现在看起来好不好";WoTE 的奖励模型额外吃进了"如果走这条轨迹,未来 $K$ 步的 BEV 会怎样",等于让网络自己当了一回仿真器。比如一条轨迹当前不碰撞,但未来 3 秒会冲出可行驶区——只有看了未来 BEV 才能发现。这也是消融里"加未来状态预测 PDMS 从 83.2 → 85.6"的根本原因。
2.4 BEV 空间监督(解决"未来稀缺")
世界模型要为多条候选各想一个未来,但真实数据只有一条未来。WoTE 用 nuPlan BEV 仿真器生成监督:
- BEV 状态监督:把 BEV 状态上采样/转卷积解码成 BEV 语义图,用 Focal Loss 监督(前景类不平衡): $$\mathcal{L}_{\text{BEV}} = \text{FocalLoss}(\mathbb{B}_{t+k}, \mathbb{B}^*_{t+k})$$
- 仿真奖励监督:仿真器 rollout 出未来场景,规则评估器给出目标奖励,用 BCE 监督: $$\mathcal{L}^{\text{sim}}_{\text{reward}} = \text{BCE}(r_{\text{sim}}, r_{\text{sim}}^*)$$
- 模仿奖励监督:锚与专家轨迹 L2 距离做 softmax 得目标分布,用 Cross Entropy 监督。
- 轨迹监督:winner-take-all,只对最接近专家的锚的 refined 轨迹用 L1 监督。
为什么非得在 BEV 空间监督,而不能像别的世界模型那样在图像空间监督? 两个原因:(1) 图像空间要"想象"多条候选各自的未来画面,计算爆炸且开放集难监督;(2) 驾驶日志每场景只有一条真实未来,图像级多未来监督根本无 GT。BEV 语义图则由 nuPlan 这类仿真器天然产出(它本就在 BEV 里建模地图与物体),且类别有限、Focal Loss 能搞定前景稀疏——于是"未来监督稀缺"被巧妙化解。
总损失:
$$\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{BEV}} + \mathcal{L}^{\text{sim}}_{\text{reward}} + \mathcal{L}^{\text{im}}_{\text{reward}} + \mathcal{L}_{\text{traj}}$$训练 vs 推理的差异:训练时为了加速,论文预计算了基于轨迹锚的仿真结果(BEV 语义图 + 分数),训练时直接把锚送评估模块、用预存监督反传;推理时则对细化后的轨迹(而非原始锚)实时跑评估模块。换句话说,世界模型和奖励模型在推理时是"真算"的,训练时部分监督是"离线预存"的——这是工程上平衡算力与效果的巧思。
3. 实验
3.1 NAVSIM(开环指标 PDMS)
| 方法 | Traj. Eval. | PDMS ↑ |
|---|---|---|
| Hydra-MDP | Model-free | 86.5 |
| TransFuser | × | 84.0 |
| WoTE | Model-based (BEV WM) | 88.3 |
WoTE 用 256 条轨迹 + 基于世界模型的评估,超越之前的 model-free 方法 Hydra-MDP。在 NC/DAC/EP/TTC 各分项均领先。
3.2 Bench2Drive(CARLA 闭环)
| 方法 | Traj. Eval. | DS ↑ | SR ↑ |
|---|---|---|---|
| UniAD | Rule-based | 45.81 | 16.36 |
| TCP | - | 59.90 | 30.00 |
| WoTE | Model-based | 61.71 | 31.36 |
闭环 Driving Score 比 TCP 高 1.81,验证"预判未来"在闭环也有效。
3.3 消融(关键结论)
- 未来状态预测有用:加 BEV 世界模型预测未来,PDMS 从 83.2 → 85.6(表3)。
- Imitation 与 Simulation 奖励互补:前者擅长 NC/TTC,后者擅长 DAC/EP,合起来最优(表4)。
- 循环预测步数:0s→2s→4s 的两段递归比直接 0s→4s 好(84.0 → 85.6),更细的时间步提供 richer 时序信息(表5)。
- 轨迹数:64→128→256 性能递增、增益递减,选 256 为默认;延迟仅 18.7ms(L20)。
4. 个人思考
1. “评估未来"比"生成未来"务实得多。 图像级世界模型想生成未来画面,算力爆炸且对决策未必有用;WoTE 只在 BEV 语义空间预测未来状态,目标从"好看"变成"能打分”,信息密度高、监督可得(nuPlan 直接给)。这是世界模型落地到规划的范式转移:世界模型不必生成像素,只需生成"能算奖励的状态"。
2. BEV 空间是恰到好处的抽象层级。 太细(图像)算不动,太粗(标量)信息丢尽。BEV 语义图卡在中间——既保留空间结构(碰撞/可行驶区可算),又足够紧凑(8×8 网格)。这再次印证端到端驾驶里"BEV 作为通用接口"的价值。
3. 可微的轨迹评估是端到端优化的关键。 规则评估(PDM)不可微、不能反传;WoTE 用神经网络奖励模型替代,使"评估"也能被梯度优化,规划与评估在同一框架内对齐。代价是可微奖励可能与真实 PDMS 有偏差,但实验表明对齐得很好。
4. 局限与想象空间。 世界模型基于 Transformer Encoder 单步预测,对长时序、强交互(他车反应)的建模有限;用 nuPlan 仿真器监督也受限于其仿真保真度。若把 BEV 世界模型换成更强的潜空间动态模型(如 ResWorld 的时序残差),并接上 reactive traffic,评估质量还能再上台阶——这也是 NAVSIM-v2 闭环方向的自然延伸。
延伸阅读
- 同榜单路线:SparseDriveV2 代码讲解(检索式评分)
- 闭环优化:TOAD 论文精读(把评分器当奖励做测试时搜索)
- 榜单背景:NAVSIM 排行榜深度分析