一句话定位

Doe-1 把自动驾驶的感知、预测、规划统一为一条多模态 token 的自回归序列(观测→描述→动作→观测→…),不经过任何手工设计的中间场景表示(BEV/占据/3D 特征),单模型不经微调即可完成视觉问答、动作条件视频生成、端到端运动规划三类任务,号称首个真正闭环的生成式自动驾驶模型。

背景与定位

作者把现有自动驾驶范式归纳成三类,并各自指出缺陷:(a) 模块化端到端模型(UniAD、VAD、GenAD(Zheng 等,ECCV 2024,规划版,与本库 genad-generalized-predictive-model 所记录的 Yang 等 CVPR 2024 同名不同文)——这类方法依次做感知→预测→规划,依赖人工设计的场景表示(BEV/voxel/tri-perspective/3D 高斯),存在弱可扩展性(人工先验限制性能上限)、缺乏高阶交互(预测未来时不考虑自车动作的影响)、决策低效(多步规划但只执行第一步)三个问题;(b) 直接端到端模型;(c) LLM/VLM 驱动的规划模型,靠语言对齐视觉特征后输出轨迹文本,但存在幻觉问题。同时,既有驾驶世界模型(DriveDreamer、OccWorld、Vista)只做”给定动作预测未来观测”的单向预测,不能反过来做规划,因此不构成闭环。

Doe-1 的定位是把”预测未来观测”的世界模型与”做决策”的端到端模型合并成一个闭环:观测 →(感知)→ 描述 →(规划)→ 动作 →(预测)→ 下一帧观测 →…,三个转移全部由同一个自回归 Transformer 完成。范式上它属于统一多模态自回归 token 模型(Chameleon/Lumina-mGPT 一脉的”万物皆 token”路线),与基于扩散的驾驶世界模型(Vista、DriveDreamer、GenAD (Yang et al., CVPR 2024))在生成机制上完全不同——Doe-1 是自回归(AR)架构而非 diffusion,这使得感知/规划可以和预测共享同一套 next-token 目标与同一次前向。

模型架构

  • 骨干:直接采用 Chameleon 统一多模态自回归架构,用预训练的 Lumina-mGPT 7B 权重初始化(Lumina-mGPT 本身是 Chameleon 系的图文自回归生成模型)。
  • 三种模态、三种 tokenizer
    • 观测(图像):用 Lumina-mGPT 自带的预训练图像 tokenizer(VQ-VAE/VQGAN),把一帧 RGB 图像编码成 1024 个离散 token,codebook 大小 8192,另加特殊 token 标记图像形状。
    • 描述(文本):用 Chameleon 的 BPE tokenizer 编码自由文本场景描述。针对描述里出现的浮点数(如到某物体的距离),先按 0.02 米分辨率取整,映射到 4000 个离散 token;为保留数值的度量特性(相近的数在高维嵌入空间里仍应相近,且要能泛化到训练时未见过的浮点值),改用非可学习的 Sinusoidal 位置编码做嵌入:T(x)=round(x/r)+b,再按标准正余弦频率组合成向量,而不是普通可学习 token embedding。
    • 动作(“position-aware tokenizer”):动作定义为自车在两帧间的位移 z=(dx, dy, θ)(BEV 平面两轴位移 + 偏航角),一次预测把未来 p 帧的位移拼成 a∈R^{p×3}。动作用与描述数值相同的正弦位置编码方案编码,但缩放常数不同:分辨率 0.02m,位移缩放系数 10000,偏航角缩放系数 1000;动作块首尾插入特殊锚点 token。
  • 序列结构与生成:每一帧的 token 序列为 [观测 token][描述 token][动作 token],按时间顺序拼接成一条 1D 序列 o^t→d^t→a^t→o^{t+1}→d^{t+1}→…;模型对三种模态都用同一套因果自注意力 + next-token 预测目标,依次以 argmax p(T|历史全部 token) 的形式生成下一模态的 token(论文 Eq. 5)。动作条件因此不需要额外的 cross-attention/FiLM 注入模块(对比 Vista 用 Fourier embedding + cross-attention 注入动作)——上一步生成的动作 token 本身就在因果序列里,直接参与下一步观测/描述生成的注意力上下文。
  • 抗误差累积的 mask 机制:动作头一次性生成 p 帧位移 a_t=(z_t,…,z_{t+p}),但为避免多步误差累积,训练与推理时都把后 p−1 帧位移 mask 掉只保留第一帧 z_t 作为参考去生成下一帧观测(masked(a_t)=(z_t, m_1,…,m_p)),实际执行时也只采用瞬时(下一帧)动作、重新观测后再规划——这是论文强调的”预测多步、只执行一步”的具体实现。
  • 记忆/一致性:不依赖显式 RSSM/循环状态,完全靠因果自注意力对全部历史 {o_i,d_i,a_i} token 做条件生成,长程一致性来自 Transformer 上下文本身(类似 LLM),无额外一致性正则。
  • 关键配置数字:输入图像分辨率 672×384(单前视相机);每帧观测 token 数 1024,codebook 8192;描述数值分辨率 0.02m→4000 token;动作分辨率 0.02m,位移/偏航缩放系数 10000/1000;规划视野 p(数据脚本里 QA 任务 max_length=1,规划任务 max_length=5,对应最长向前规划 5 帧)。

数据

  • 主数据集:nuScenes——1000 段驾驶场景,每段原始视频 400 帧 @ 20Hz(20 秒),降采样到 2Hz 关键帧并带场景描述、3D 物体框、语义地图标注;虽然提供 32 线激光雷达点云,但 Doe-1 只用六路环视相机中的单前视相机 RGB 作为输入。按已有方法惯例用 训练 700 场景 / 验证 150 场景 切分。
  • VQA 监督数据:OmniDrive-nuScenes——在 nuScenes 基础上用 GPT-4 生成的高质量视觉问答文本对,覆盖感知、推理、规划三类问题(含”若执行给定轨迹会发生什么”的反事实推理题)。
  • 动作标注:动作(位移+偏航)直接从 ego-pose 真值几何推导,不需要额外人工标注。
  • 额外微调数据:BDD100k——在用 nuScenes 训练前,先用 BDD100k 对预训练 Lumina-mGPT 7B 微调 5 个 epoch,专门用于增强驾驶场景下的(动作)条件图像生成能力,之后才在 nuScenes 上做最终训练。
  • Sim-vs-real:全部真实世界相机视频,无仿真数据。
  • 论文未披露 nuScenes 训练集的具体 token 总量/小时数(只给出场景数、帧率、train/val 切分)。

训练方法

  • 目标:单一统一的 next-token 预测(自回归交叉熵),观测/描述/动作三种模态共享同一个损失,不设任务专属 head 或多任务损失加权(除动作 token 单独加权,见下)。
  • 多阶段流程:① 从预训练 Lumina-mGPT 7B 初始化;② 在 BDD100k 上微调 5 epoch,提升驾驶场景图像生成质量;③ 在 nuScenes 上按 {观测,描述,动作} 交织序列做最终训练 16 epoch。全程无强化学习,纯自回归模仿学习(模仿真实轨迹与真实场景描述/QA 标签),无蒸馏。
  • 动作 token 加权:为强化规划准确率,动作 token 在序列损失中的权重放大 5 倍
  • z-loss:权重 1×10⁻⁵,用于稳定大词表 softmax 训练。
  • 优化器:AdamW,cosine 学习率调度,初始学习率 1×10⁻⁵,weight decay 0.1
  • 抗误差累积的训练-推理一致 mask:消融显示这一设计(以及规划前先生成描述再生成动作)对最终规划性能至关重要(见评测部分 Table 4)。

Infra(训练 / 推理工程)

  • 训练8× A100 GPU,训练 16 epoch,总 batch size 24(论文未进一步拆分单卡 batch/并行策略)。GPU-hours、并行方式(数据/模型并行)、训练精度(FP16/BF16/FP32)均未披露
  • 推理:帧率/控制频率(control-Hz)、单帧生成延迟、边缘硬件均未披露——论文只给出输入分辨率 672×384、每帧 1024 个观测 token,属自回归逐 token 解码,隐含推理成本较高,但没有给出具体吞吐/延迟数字。

评测 benchmark

三项任务均在 nuScenes(或其衍生 OmniDrive-nuScenes 基准)上评测,Doe-1 全部只用单前视相机输入(大多数对比基线用环视相机):

视觉问答(OmniDrive-nuScenes benchmark,Table 1,含 caption 与 counterfactual reasoning 两类指标):

方法AP(%)↑AR(%)↑METEOR↑CIDEr↑ROUGE↑
OmniDrive-3D52.359.638.068.632.6
OmniDrive-2D51.555.038.367.132.5
OmniDrive-BEV45.649.535.659.527.8
Doe-1*(单前视)54.554.037.672.835.6

动作条件视频生成(nuScenes,Table 2,FID↓,Doe-1 是表中唯一自回归架构,其余均为 diffusion/GAN):

方法类型分辨率FID↓
DriveGANGAN256×25673.4
DriveDreamerDiffusion128×19252.6
WoVoGenDiffusion256×44827.6
Drive-WMDiffusion192×38415.8
GenAD (Yang et al.)Diffusion256×44815.4
VistaDiffusion576×10246.9
Doe-1Autoregressive384×67215.9

端到端运动规划(nuScenes,Table 3,5 帧/2 秒历史,评估 1s/2s/3s 未来的 L2 误差与碰撞率;Doe-1 仅用 QA 作为辅助监督,未用任何 box/map/motion/occupancy 标注):

方法输入辅助监督L2 均值(m)↓碰撞率均值(%)↓
UniAD环视相机Map&Box&Motion&Tracklets&Occ1.030.31
OccWorld环视相机3D-Occ1.400.87
VAD-Base环视相机Map&Box&Motion1.220.53
GenAD(Zheng et al., ECCV’24 规划版)环视相机Map&Box&Motion0.910.43
Doe-1单前视仅 QA1.260.53

按 VAD 论文的另一套指标口径(表 3 下半段,† 标记):GenAD† 0.52/0.19,OmniDrive‡(Map&Box&Motion&QA)0.33/0.30,Doe-1† 0.70/0.21

消融(Table 4,规划策略):去掉”先生成描述再规划”(仅 “Description” 变体)L2 均值劣化到 1.79m、碰撞率 1.07%;去掉训练/推理一致的动作 mask(“Mask” 变体)L2 均值劣化到 2.83m、碰撞率 2.72%;完整模型 L2 均值 1.26m、碰撞率 0.53% —— 两个设计对规划性能都是决定性的。

论文自己的结论:Doe-1 在三项任务上均不是单项 SOTA(视频生成 FID 输给 Vista,规划 L2 输给 GenAD/OmniDrive),但在只用 QA 弱监督、单前视相机输入的条件下取得了与依赖重标注(3D 框/地图/占据)的方法相当的性能。

创新点与影响

  • 把感知(生成场景描述)、预测(生成未来 RGB 帧)、规划(生成动作 token)统一成一条自回归多模态 token 序列,不引入任何手工设计的中间场景表示(BEV/voxel/3D 高斯/占据),号称首个实现闭环(观测→描述→动作→观测→…)的生成式自动驾驶模型。
  • 证明单一模型、不做任务专属微调、仅靠改变 prompt(输入 token 组合) 就能在 VQA、动作条件视频生成、端到端规划三个任务间切换——这是从统一多模态自回归预训练(Chameleon/Lumina-mGPT 一脉)继承的涌现能力,而非模块化模型能自然具备的。
  • 具体机制贡献:把浮点数值(描述里的距离、动作里的位移/偏航)用非可学习正弦位置编码离散化,兼顾离散 token 化与数值的度量连续性;用训练-推理一致的动作 mask(只信任并使用瞬时那一步动作、其余 mask 掉)抑制多步自回归规划里的误差累积,消融证明这两点都是决定性设计。
  • 论文自陈局限:仅使用前视单相机输入,“因为环视多视角输入效率低”,而环视信息对安全驾驶至关重要,是明确留给未来工作的方向;同时其三项任务的绝对指标都不是当期 SOTA(详见评测部分),贡献在于架构统一与弱监督下的闭环能力,而非刷榜。

原始链接

一手源存档(sources/)