📄 论文信息
- 标题:EMMA: End-to-End Multimodal Model for Autonomous Driving
- 作者机构:Waymo LLC(Hwang, Xu, Lin, Hung, Ji, Choi, Huang, He, Covington, Sapp, Zhou, Guo, Anguelov, Tan)
- arXiv:2410.23262
- 收录:TMLR(2025)
- 博客:waymo.com/blog/2024/10/introducing-emma
- 一句话总结:基于 Gemini 多模态大模型,把感知、预测、规划、场景理解全部"翻译"成自然语言 VQA,用一个模型、一套语言空间统一所有驾驶任务。

📌 一个常见误解:EMMA 来自 Waymo(作者邮箱
@waymo.com),而非英国公司 Wayve。Wayve 的代表作是 LINGO/Ghost 系列的视觉-语言-动作模型,二者路线相近但完全独立,请勿混淆。
🤔 要解决什么问题?
自动驾驶系统过去几十年基本走分模块路线:感知 → 预测 → 规划 → 控制,每个模块单独训练、用规则串联。UniAD(CVPR 2023 最佳论文)之后的显式端到端路线虽然打通了梯度,但仍然要为每个任务设计专门的头、专门的表征(栅格图、矢量、轨迹…)。
这些方案共同的痛点是:
| 痛点 | 表现 | 后果 |
|---|---|---|
| 接口僵硬 | 模块间靠专家设计的结构化接口通信 | 难以适配新场景,长尾泛化差 |
| 任务割裂 | 感知、预测、规划各训各的,头不共享 | 任务间知识无法共享,互相正反哺无从谈起 |
| 缺乏常识 | 训练数据只有驾驶日志,规模有限 | 没有"世界知识",复杂推理与长尾场景弱 |
| 解释性差 | 黑盒回归轨迹,出错不可读 | 出了事故不知道模型当时"想"了什么 |
而近两年崛起的多模态大模型(MLLM)——如 Gemini、GPT-4V——恰恰擅长两件事:(1) 从互联网级数据中学到海量世界知识,远超任何驾驶日志;(2) 通过**链式思维(Chain-of-Thought)**做复杂多步推理。这两点正是传统驾驶系统最缺的。
EMMA 的灵魂拷问:既然 MLLM 这么强,为什么不让它成为驾驶系统的"一等公民"——把所有驾驶任务都塞进同一个语言模型里? 与之前"用 VLM 给驾驶系统打补丁"的思路不同,EMMA 是从底层就把 MLLM 当作整个系统的核心。
💡 核心思想:把驾驶变成 VQA
EMMA 的设计哲学可以一句话概括:
把所有非传感器输入和输出,统一表示成自然语言文本,让 Gemini 一次前向解决所有任务。
公式上,它直接复用 Gemini 的自回归形式:
- 输入:文本提示 T + 图像/视频 V
- 输出:文本 O = G(T, V),逐 token 生成,概率为 P(O|T,V) = Π P(oᵢ | o_{<i}, T, V)
关键挑战是:驾驶任务里有大量三维坐标(轨迹路点 (x,y)、3D 检测框的位置和尺寸),怎么塞进"文本"里?EMMA 给出两条路并做了取舍。
🔤 坐标如何文本化
| 表示方式 | 做法 | 代表工作 | EMMA 选择 |
|---|---|---|---|
| 直接文本化 | 把 (9.01, 3.22) 直接写成数字字符串 | RT-2(机器人控制) | ✅ |
| 离散 token 化 | 把空间划分网格,每个位置一个专用 token | MotionLM(轨迹预测) | ❌ |
EMMA 选择直接文本化,理由很关键:只有所有任务共享同一套语言表征空间,才能最大化复用 Gemini 预训练权重里的世界知识。代价是坐标 token 数更多、序列更长、生成更慢,但作者认为统一性带来的收益远大于效率损失——这是 EMMA 整篇论文最根本的设计取舍。
⚙️ 方法细节
🛣️ 端到端轨迹规划
EMMA 的规划输入只有三样东西,刻意模仿人类开车:
- 环视相机视频 V:唯一的传感器输入,把多路相机拼成一张图或视频
- 高层导航指令 T_intent:“直行/左转/右转”,来自路由器(如 Google Maps),相当于手机导航给的下一动作
- 历史自车状态 T_ego:过去若干帧的 BEV 路点
(x,y),保证轨迹时序平滑
输出是未来 T_f 帧的 BEV 路点:
O_trajectory = G(T_intent, T_ego, V)
这套公式有三个非常优雅的特性:
| 特性 | 含义 | 工程意义 |
|---|---|---|
| 自监督 | 监督信号只有自车未来位置 | 无需人工标注,可大规模扩数据 |
| 纯相机 | 不依赖 LiDAR/雷达 | 传感器成本最低 |
| 无图(HD-map free) | 只要高层导航 | 不依赖昂贵高精地图 |
这三点加起来,意味着 EMMA 的数据扩张成本极低——只要有行车记录和自车轨迹就能训,这是大模型"scaling"最看重的前提。
🧠 链式思维(CoT)推理
EMMA 最有意思的设计是在输出轨迹之前,先输出一段结构化 rationale(推理依据),从粗到细分四级(R1–R4):
| 层级 | 内容 | 示例 |
|---|---|---|
| R1 场景描述 | 天气、时段、路况、车道 | “晴天白天,四车道未分隔,两侧有泊车,前方有人行横道” |
| R2 关键目标 | 影响驾驶的 agent + 精确 3D/BEV 坐标 | “行人 [9.01, 3.22],车辆 [11.58, 0.35]” |
| R3 元决策 | 关键目标对自车的影响 | “前方行人正在横穿,需减速让行” |
| R4 行动 | 具体驾驶动作 | “减速至约 15 km/h,保持当前车道” |
这种 CoT 不仅提升了规划性能(论文实验证实),还把黑盒模型变成了可解释的系统——事故复盘时能看到模型"当时是怎么想的",这对监管和公众信任至关重要。R2 里要求模型输出精确坐标,相当于把"视觉定位"也融进了推理链,是一种巧妙的视觉锚定。
🦾 EMMA 通用模型(Generalist)
如果只做规划,就浪费了 MLLM 的通用性。EMMA 进一步把多个任务混在一起共训练,用任务特定提示切换输出:
- 运动规划:输出未来路点序列
- 3D 目标检测:输出目标类别 + 3D 框坐标
- 道路图估计:输出车道线、边界的折线坐标
- 场景理解 QA:回答"前方有几个行人?路面是否湿滑?能见度如何?"

实验中最振奋人心的结论是:联合训练(co-training)让三个领域都涨点——规划、检测、道路图互相正反哺。例如,检测任务学到的目标定位知识,帮助规划更准确地避让;道路图任务学到的拓扑结构,帮助规划理解车道走向。这正是 EMMA 作为通用模型最大的价值:一个模型越练越强,而不是越拆越碎。
📊 实验结果
| 任务 | 数据集 | 结果 |
|---|---|---|
| 运动规划 | nuScenes | SOTA,超越此前所有方法 |
| 运动规划 | WOMD(Waymo Open Motion Dataset) | 有竞争力的结果 |
| 3D 检测(纯相机) | WOD(Waymo Open Dataset) | 精度/召回超 SOTA |
| 道路图估计 | 内部数据 | 高质量、可解释输出 |
此外,加入 CoT 推理和更多内部训练数据能进一步提升规划质量,证明这条路线有清晰的扩展性(scaling)——数据越多、模型越强,符合大模型的规模法则。在长尾场景的可视化中,EMMA 还展现出对复杂路口、施工区域等罕见情况的推理能力。
🔧 工程实现与训练细节
基础模型的选择
EMMA 并不绑定某一个具体模型,论文里在 Gemini 和 PaLI 两类多模态大模型上都做了验证,但主线结果来自 Gemini。选择 Gemini 的理由有三:(1) 原生支持图文交错输入,能把多路环视相机自然地喂进去;(2) 预训练阶段见过的海量图文数据带来强世界知识;(3) 自回归生成天然适合输出结构化的 rationale + 轨迹序列。这也意味着 EMMA 的能力上限很大程度上继承自底层基础模型——基础模型越强,EMMA 越强,这是"大模型驱动"范式的根本特征。
训练范式
EMMA 采用指令微调(instruction tuning)的方式在驾驶日志上训练:每条数据被构造成一个"提示-答案"对,提示里写明任务(如"请输出未来轨迹"),答案就是标注(轨迹路点 / 检测框 / 场景描述)。不同任务通过任务特定提示区分,共享同一套模型权重。通用模型(Generalist)则是把这些任务混合采样共训练,让一个模型同时掌握所有技能。
一个值得注意的取舍
文本化坐标带来统一性,但也带来数值精度的隐患:浮点数被切成若干 token(如 9.01 → 9 . 0 1),一旦某个 token 生成错误,整段坐标就会偏移。EMMA 通过限定小数位数和统一的单位约定来缓解,但这本质上是把"连续数值回归"问题转成了"离散序列生成"问题——这也是后来 ReCogDrive、SparseDrive 转向扩散头或分类词表的动机之一。EMMA 的选择是"用精度换统一",在科研探索阶段是合理的。
输入输出的具体样例
以规划任务为例,EMMA 的输入提示形如:“给定左转指令,自车历史轨迹为 [(x₁,y₁), (x₂,y₂), …],请输出未来轨迹。“模型输出的则是一串文本化的坐标点。对于场景理解任务,提示则变成"描述当前场景的关键目标和风险”,输出是一段自然语言加坐标。这种统一的"提问-回答"格式让所有任务可以无缝混在一起训练,也让人能直接读懂模型的输出——这是传统黑盒回归模型做不到的。论文附录里提供了大量具体的 prompt 和 answer 样例,值得对照查看。
⚖️ 与 DriveVLM / ReCogDrive 对比
三者都是"把大模型搬上自动驾驶”,但路线截然不同:
| 维度 | EMMA | DriveVLM | ReCogDrive |
|---|---|---|---|
| 底层模型 | Gemini(闭源 MLLM) | 开源 VLM | 开源 VLM + 扩散规划器 |
| 轨迹输出 | 纯文本 token 化坐标 | 小模型回归 | 扩散模型去噪生成 |
| 架构 | 单一大模型全包 | 双系统(VLM 慢 + 小模型快) | 三段式(认知→扩散→RL) |
| 统一性 | ⭐⭐⭐⭐⭐ 完全统一 | ⭐⭐⭐ 部分统一 | ⭐⭐⭐ 解耦设计 |
| 推理速度 | ❌ 慢(最大短板) | ✅ 双系统保实时 | ✅ 扩散头加速 7.8× |
| 强化学习 | ❌ 纯模仿 | ❌ 纯模仿 | ✅ DiffGRPO |
核心差异:EMMA 走的是**“激进统一”路线——宁可慢,也要一个模型全包;DriveVLM/ReCogDrive 走的是“务实解耦”**路线——把"想"和"开"分开,用专门的轻量头保证车端实时。EMMA 像"用 GPT-4 直接开车",后两者像"用 GPT-4 当副驾指挥一个小司机"。
⚠️ 优势与局限
✅ 优势
- 极致统一:感知/预测/规划/理解共享一套语言空间、一套权重,任务间互相正反哺
- 世界知识:继承 Gemini 的海量预训练知识,长尾场景推理潜力大
- 可解释:CoT rationale 让决策过程可读、可审计,满足监管需求
- 无图、纯相机、自监督:部署门槛低,数据扩张成本低
❌ 局限(作者自述,附录 A.5)
| 局限 | 细节 | 影响 |
|---|---|---|
| 推理慢 | Gemini 级大模型自回归生成,单帧开销大 | 车端实时性存疑 |
| 3D 空间推理弱 | 无法融合 LiDAR/雷达,纯相机深度估计难 | 远距离/遮挡场景受限 |
| 闭环评估昂贵 | 需要逼真的传感器仿真 | 难以大规模做闭环测试 |
| 不可开源 | Gemini 闭源,社区只能看不能复现 | 可复现性差 |
📝 个人思考
统一 vs 解耦的根本张力:EMMA 把"统一性"推到了极致,但代价是推理速度和可部署性。这其实折射出当前 VLA 领域的核心争论——到底要不要用一个端到端大模型全包? 我的看法是:EMMA 更像一份**“上限探索”的论文,它告诉我们"如果计算无限,统一模型能到什么高度";而 DriveVLM/ReCogDrive 这类解耦方案才是工程落地的现实路径**。两者并不矛盾,前者定上限,后者保下限。从产业规律看,最终量产方案很可能是"解耦架构 + 大模型蒸馏"的折中——用 EMMA 式统一模型做教师,蒸馏出轻量的解耦学生。
文本化坐标的隐忧:把 (9.01, 3.22) 直接当 token 输出,虽然换来了统一性,但数值精度和 token 效率都是硬伤——一个小数点错位就是一米误差,而且坐标越长、序列越慢。这恰恰是 ReCogDrive 用扩散头、SparseDrive 用分类词表替代的根本原因。EMMA 的选择适合科研上限验证,未必适合车端量产。
对我们 Flow-GRPO 工作的启示:EMMA 验证了"通用知识 + 驾驶任务"能互相增益,但它没有用强化学习——纯靠模仿专家轨迹,上限被专家数据锁死。如果把 EMMA 的 CoT 推理和 DiffGRPO/Flow-GRPO 这类 RL 优化结合,用奖励信号去突破模仿学习天花板,会是非常有想象力的方向。EMMA 给出了"认知"这一半,缺的是"持续进化"这一半。
开源问题是硬伤:Gemini 闭源意味着 EMMA 目前是"Waymo 的内部演示"。社区真正能复现和迭代的是基于开源 VLM(Qwen-VL、InternVL 等)的同类工作。未来谁能用开源模型逼近 EMMA 的统一性,谁就掌握话语权——这也是为什么 ReCogDrive、SparseDrive-V2 等开源工作如此重要。
📖 论文精读系列。EMMA 是大模型时代的"激进统一派"代表作,建议和 UniAD、DriveVLM、ReCogDrive 放在一起对比阅读,能看清端到端驾驶在大模型时代的两条主线。