Task: Generative End-to-End Autonomous Driving
Method: Instance-centric Scene Tokenizer, Structural Latent Space, Variational Autoencoder, Temporal Model
Venue: ECCV 2024
Year: 2024
Paper: https://arxiv.org/abs/2402.11502
Code: https://github.com/wzzheng/GenAD
1. 摘要
GenAD 将端到端自动驾驶转化为生成式建模问题。它不再把任务严格拆成 perception、motion prediction、planning 的渐进流水线,而是学习 ego car 和 surroundings 在过去场景条件下如何共同演化。
方法上,GenAD 用 instance-centric scene tokenizer 将周围场景变成 map-aware instance tokens,再用 VAE 学习 future trajectory distribution 的 structural latent space,并用 temporal model 在 latent space 中生成未来。这样一来,规划不再是对单条轨迹的直接回归,而是从结构化未来分布中采样和预测。
GenAD 的关键不是“用了生成模型”本身,而是把端到端驾驶重新解释为 future evolution modeling:自车和周围交通参与者的未来不是两个独立输出,而是同一个未来场景演化过程的不同部分。
核心论点:端到端驾驶的难点不只是把感知、预测、规划接在一起,而是学习一个结构化未来分布,让 ego planning 与 surrounding motion 在同一 latent space 中协同生成。
2. 问题与动机
传统端到端自动驾驶虽然形式上端到端,但往往仍沿用模块化逻辑:先感知,再预测,再规划。这种渐进式流水线有两个问题:
- 交互割裂:ego future 和 surrounding future 通常由不同 head 或不同模块处理,难以形成统一的未来场景。
- 多模态不足:单轨迹回归容易把多个合理未来平均掉,导致规划僵硬。
- 结构先验弱:未来轨迹不是任意曲线,它受道路、agent 交互和交通规则约束。
GenAD 的问题意识是:自动驾驶规划本质上可以看成未来演化的生成问题。与其直接输出一个规划结果,不如先学习一个结构化 latent space,让模型在这个空间中表达不同未来。
这让 GenAD 处在 VAD 和 DiffusionDrive 之间:它没有像 VADv2 那样用固定轨迹词汇表,也没有像 DiffusionDrive 那样用扩散去噪,而是通过 VAE latent 来表达未来分布。
3. 核心洞察
洞察 1:端到端驾驶可以用生成式框架统一
GenAD 不只预测一条轨迹,而是在结构化 latent space 中生成 future trajectories。这样做的价值是让模型表达“未来不唯一”:在同一个当前场景下,可能存在减速、跟车、变道等多个合理分支。
生成式框架的意义,不是为了追求随机性,而是为了把多模态未来作为分布来建模。
洞察 2:instance-centric tokenizer 保留交通参与者结构
场景先被编码为 map-aware instance tokens,避免直接在 dense feature 上生成未来。这个设计保留了交通参与者和地图元素的结构,使生成模型面对的是 agent / map 级别的场景 token,而不是难以解释的整张特征图。
这和 SparseDrive 的 sparse scene representation 有相似之处:都认为规划不一定需要完整 dense BEV,而需要保留对决策关键的实体结构。
洞察 3:latent temporal model 同时服务预测和规划
模型在 latent space 中捕获 agent 和 ego movements,最终同时执行 motion prediction 和 planning。也就是说,surrounding motion 和 ego planning 被放进同一个未来演化模型里,而不是两个后处理模块。
这条洞察是 GenAD 与普通 motion forecasting 的分界:它关注的是自车和环境的联合未来,而不只是预测别人怎么动。
4. 方法设计
4.1 整体架构
past scenes
│
▼
instance-centric scene tokenizer
│
▼
map-aware instance tokens
│
▼
VAE structural latent space
│
▼
temporal model
│
├── motion prediction
└── ego planning
GenAD 的更细结构可以拆成“场景 token 化、结构 latent、未来联合生成、任务解码”四层:
GenAD detailed architectureInput:
camera / scene observations
map-agent-ego context┌──────────────────────────────────────────┐ │ 1. Instance-centric Tokenizer │ │ agents, map elements, ego state │ │ preserve traffic participant structure │ └──────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────┐ │ 2. Structural Latent Space │ │ compress future evolution factors │ │ shared by ego and surroundings │ └──────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────┐ │ 3. Generative Future Model │ │ jointly generate ego future │ │ and surrounding agents' motion │ └──────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────┐ │ 4. Task Heads │ │ motion prediction / planning outputs │ │ evaluate coherent future evolution │ └──────────────────────────────────────────┘
这套结构解释了 GenAD 为什么不只是“规划 head 换成生成模型”:它把 ego planning 和 surrounding motion 放进同一个未来演化 latent 中,使自车动作和他车运动不再是两个孤立输出。
4.2 关键组件
| 模块 | 作用 |
|---|---|
| Scene tokenizer | 将场景转为 map-aware instance tokens |
| VAE | 学习未来轨迹分布的结构化 latent space |
| Temporal model | 建模 agent 和 ego 在 latent 中的运动 |
| Sampling | 从 latent distribution 生成未来轨迹 |
4.3 与端到端规划路线的关系
| 方法 | 未来表示 | 路线特点 |
|---|---|---|
| UniAD | query cascade + 单轨迹规划 | 任务级联,planning-oriented |
| VAD | vectorized map / agent / ego | 几何约束 + 轻量规划 |
| GenAD | structural latent space | 用生成式 latent 表达 future evolution |
| DiffusionDrive | diffusion trajectory distribution | 用扩散模型生成多模态轨迹 |
GenAD 的位置在于:它把“未来分布”引入端到端驾驶,但仍然以 latent representation 为核心,而不是固定词表或扩散过程。
4.4 structural latent 与轨迹词表的差别
VADv2 / SparseDriveV2 这类评分派方法通常把未来动作离散成候选轨迹,再学习候选分数;GenAD 则把 future evolution 压到 structural latent space 中,让 ego 和 surrounding agents 在同一个 latent 中生成。
| 维度 | 轨迹词表 / scoring | GenAD structural latent |
|---|---|---|
| 表示对象 | ego 候选轨迹 | ego + surrounding future evolution |
| 多模态来源 | 多个离散候选 | latent distribution |
| 与他车关系 | 通常作为上下文或约束 | 与 ego future 联合建模 |
| 工程优势 | 易评分、易筛选 | 更自然表达交互未来 |
| 工程风险 | 候选覆盖率瓶颈 | latent 可解释性较弱 |
这也是 GenAD 的价值边界:它提出了生成式端到端驾驶的结构化思路,但后续 DiffusionDrive 进一步把生成分布落到更直接的 trajectory distribution 上。
4.5 端到端生成的信息流
GenAD 的信息流可以压缩成一句话:从视觉场景表示中生成一个结构化未来 latent,再从 latent 中同时读出 ego 与 surrounding 的未来。
multi-view visual features |
这也是它和传统 cascade 系统的差别:GenAD 不先分别完成检测、预测、规划再串起来,而是试图让未来交互本身成为一个可生成的中间变量。这样的优点是统一,风险是 latent 的可解释性和可控性需要额外验证。
5. 实验与分析
论文在 nuScenes 上报告 GenAD 在 vision-centric end-to-end autonomous driving 上达到领先表现,并强调高效性。这里保留方法层面结论:GenAD 是 DiffusionDrive 之前重要的 action-centric / generative planning 参考,核心是把 future evolution 作为生成目标。
实验部分的证据可以分成三层:
| 层次 | 关注点 |
|---|---|
| Planning | ego trajectory 是否更合理 |
| Motion prediction | surrounding agents 是否被联合建模 |
| Efficiency | latent generation 是否比重型级联更经济 |
这三层实验对应 GenAD 的核心假设:如果 ego future 和 surrounding future 能在同一个 structural latent space 中生成,那么 planning 与 motion prediction 不应被完全拆成两个独立问题。
| 假设 | 实验应验证的现象 | 方法意义 |
|---|---|---|
| ego 与他车未来相关 | planning 和 prediction 同时受益 | latent 学到交互结构 |
| 生成式 latent 有多模态能力 | 规划不只输出平均轨迹 | 更适合处理路口、变道等多解场景 |
| 结构化表示足够紧凑 | 保持推理效率 | 端到端系统可部署性更强 |
所以 GenAD 的实验不能只按“轨迹误差表”来读,它更重要的证据是:生成式 future representation 能否成为端到端驾驶里的公共未来变量。
GenAD 的实验价值在于说明:生成式未来建模可以同时服务 motion prediction 和 planning,而不是只提升某一个单独任务。
三个关键数字:
- 2 类未来对象:ego car 与 surroundings。
- 3 个子问题:perception、motion prediction、planning,被统一为生成式未来建模。
- 1 个 structural latent space:用于轨迹先验建模。
6. 工程实践
GenAD 与 VAD、SparseDrive、DiffusionDrive 的关系可以这样对照:
- VAD 更偏向 vectorized planning,用 map / agent / ego 表示配合几何约束;
- SparseDrive 更偏向 sparse scene representation,用稀疏实例和地图 token 贯穿全栈;
- DiffusionDrive 更偏向扩散式轨迹分布,用去噪过程生成多模态规划;
- GenAD 则把生成式端到端规划的 latent 结构提前提出。
工程使用时,GenAD 的关键不是把 VAE 换成某个模块,而是保证 latent space 真正保留交通结构和未来多模态。如果 latent 过于抽象,下游规划会难以解释;如果 latent 太受监督细节限制,又会失去生成式建模的优势。
7. 研究启示
GenAD 的启示是:规划不是简单回归,而是条件生成。后续 DiffusionDrive 可以看作把这种生成式规划思路换成更强的扩散策略和更高效的轨迹分布建模。
这也带出三个容易混淆、但在自动驾驶生成式建模里必须拆开的概念:
| 概念 | 关注对象 |
|---|---|
| Generative planning | 生成 ego future action / trajectory |
| World model | 预测动作条件下 world state 的未来演化 |
| Motion forecasting | 预测其他 agent 的未来运动 |
GenAD 处在三者交界处:它用生成式框架统一 ego 和 surroundings 的未来,但还不是严格意义上以显式 world state 为核心的 occupancy world model。
8. 方法边界与站内关系
GenAD 的位置,最好放在端到端规划从“回归”走向“生成”的过渡期来理解。它不像 UniAD 那样强调规划导向的任务级联,也不像 DiffusionDrive 那样把轨迹分布显式交给 diffusion process,而是先提出一个 structural latent space 来容纳未来交互。
| 路线 | 未来如何表达 | 优势 | GenAD 的相对位置 |
|---|---|---|---|
| UniAD | task query cascade | 任务结构清晰 | GenAD 更强调生成式未来变量 |
| VAD / VADv2 | vectorized scene + ego planning | 几何约束明确 | GenAD 更强调 latent distribution |
| SparseDrive | sparse scene tokens + scoring | 推理高效、实例中心 | GenAD 更像生成式先验 |
| DiffusionDrive | diffusion trajectory distribution | 多模态轨迹自然 | GenAD 是前一阶段的 latent 化尝试 |
因此 GenAD 的方法边界也很清楚:它适合说明“未来交互可以作为生成变量”,但还没有把 world state 显式展开成 occupancy、geometry 或 cost。读这篇时应记住它的桥梁作用:它把端到端驾驶从确定性回归推向生成式规划,但真正接近闭环决策,还需要后续方法把生成未来变成可解释、可筛选、可约束的动作候选。