一句话定位

magicdrive 的可控街景生成从”扩散 UNet + 2D VAE 单帧图像”搬到”DiT + 3D 时空压缩 VAE”,为此重新设计了帧对齐的时空条件编码(MVDiT block + 时空框/图编码器)与渐进式混合分辨率训练,在 nuScenes 上把可控多视角视频生成推到 848×1600、241 帧(20 秒 @12fps)单次前向生成,论文原名 MagicDriveDiT,2025 年 ICCV 收录后更名 MagicDrive-V2。

背景与定位

2D VAE 时代,几何条件(3D 框、BEV 路网图、相机位姿、自车轨迹)天然逐帧对齐:$T$ 帧图像编码成 $T$ 个空间 latent,几何描述符 ${S_t}, t\in{1,…,T}$ 直接按帧一一对应,magicdrive 一类方法可以把视频可控生成简单退化为逐帧图像可控生成。但要做高分辨率长视频,模型必须换成 DiT + 3D(时空联合压缩)VAE 才能承受序列长度——cosmos-predict、CogVideoX、Open-Sora 等文本到视频工作已证明这条路线的可扩展性。问题是 3D VAE 沿时间轴做 $f$ 倍压缩后只剩 $T/f$ 个 latent,几何条件与 latent 的逐帧对齐关系被打破,magicdrive、Panacea、Drive-WM、DriveDreamer-2 这类专为空间 latent 设计的控制方法直接失效。

MagicDrive-V2(原名 MagicDriveDiT)的定位就是补上这一环:把 magicdrive 的三路几何编码器(scene/box/map)重新设计成时空对齐版本,配合 DiT 骨干和 flow matching 训练范式,同时验证”不依赖预训练文生视频扩散模型、完全从零训练”也能在驾驶视频任务上做到高分辨率长视频可控生成。与同期/相关工作的坐标:

  • magicdrive(ICLR 2024,同一作者组)是本文的直接前身,两者共享三路几何编码思路,但 MagicDrive 是 2D VAE + UNet + Stable Diffusion 单帧图像生成,MagicDrive-V2 是 3D VAE + DiT + 视频生成,Table 1/2/3 里仍把 MagicDrive(16f/60f) 和 MagicDrive3D 作为主要基线对比。
  • Vista(driving world model,单视角、rollout 式长视频生成)与本文形成直接对照:Appendix K 用 9 秒视频对比显示 Vista 4 次 rollout(作者论文自称支持 6 次)画质明显退化,而 MagicDrive-V2 靠”混合分辨率/帧数训练 + 长度外推”做单次前向生成,同等长度画质无衰减。
  • DiVE、Delphi、DriveDreamer-2 等同期多视角驾驶视频生成工作分辨率/帧数均明显低于本文(Table 1 汇总:DiVE 480p×16帧、Delphi 512×512×10帧,本文 848×1600×241帧)。
  • 3D VAE 选型对照 Open-Sora 1.2 的 VAE:作者曾尝试直接微调 Open-Sora 1.2 的预训练扩散模型 + VAE,但生成质量和可控性都不如 MagicDrive,归因于 Open-Sora VAE 重建能力弱于 CogVideoX 的 CogVAE(Appendix I 的 PSNR 对比实锤),因此转向”借用 CogVAE 但从零训练扩散模型”的路线(Appendix J 详细解释,认为 CogVideoX 本身的 DiT 层耦合了视频/文本条件、且未针对驾驶场景训练,直接微调反而增加几何条件设计的复杂度)。
  • 后续扩展:官方在 Waymo Open Dataset 上做了 fine-tune 验证跨数据集泛化(见”评测 benchmark”)。

模型架构

Backbone:DiT,基于 Open-Sora(Zheng et al. 2024)的 STDiT-3 block(时空分离注意力模块)搭建,采用 flow matching 目标(非 DDPM $\epsilon$-prediction)。

3D VAE / tokenizer:复用 CogVideoX(THUDM)的 CogVAE,时间维 4× 压缩、空间维沿用 2D VAE 常规的 8×8(约 64×)压缩,合计约 256× 压缩比。作者对比了 CogVAE / Open-Sora 1.2 VAE / SD 2D VAE 三者在街景视频上的重建 PSNR(Appendix I,Table IV),CogVAE 在三档分辨率(224×400 / 424×800 / 848×1600)上全面胜出(如 848×1600 单帧 PSNR:CogVAE 41.50 > Open-Sora 37.06 ≈ SD-VAE 37.05),故选用 CogVAE 但从零训练扩散模型本体(不复用 CogVideoX 的预训练扩散权重)。

两项架构改动(相对 STDiT-3)

  1. MVDiT block:在 STDiT-3 基础上插入跨视角注意力层(沿用 magicdrive 的 cross-view attention 设计),实现多摄像头一致性;Appendix G 的消融图(Figure III)显示去掉 MVDiT block 会明显破坏多视角一致性(仅定性可视化对比,未给出量化指标)。
  2. 多路条件注入:文本 / 3D 框 / 相机位姿 / 自车轨迹走 cross-attention 注入;路网图沿用 ControlNet 式 additive branch 注入(这一路的条件建模方式与 magicdrive 一致,区别在于要额外对齐时间维)。

时空条件编码(Spatial-Temporal Control on 3D VAE,核心创新点)

  • 动机:3D VAE 把 $T$ 帧压成 $T/f$ 个 latent,如果直接沿用”把几何条件的时间维整体归约到 1 再 repeat 回 $T/f”(类比文本条件的处理方式,因为文本本身对整段视频只有 1 份描述)后,实验发现会产生轨迹拖影伪影(Figure 10 中的 “Box Reduce” 基线)。
  • 方案:为路网图和 3D 框/轨迹分别设计与 3D VAE 时间下采样比例对齐的下采样模块——路网图走扩展版 ControlNet(新增可训练参数做时间维下采样,对齐 3D VAE 的时间压缩);框/轨迹走一个带 RoPE 的时间 Transformer 下采样模块捕捉帧间相关性,再生成与视频 latent 对齐的时空 embedding。所有下采样比例严格对齐 3D VAE 的输入输出关系($8n$ 或 $8n{+}1$ 输入帧 → $2n$ 或 $2n{+}1$ 输出 latent 帧)。
  • 消融验证(16 样本过拟合实验,Figure 9/10):本文的 “4× down” 方案相比 “全局归约(Reduce)” 和 “时间插值(Interp.)” 两个基线,验证 loss 收敛最快最低,且视觉上消除了框编码导致的轨迹拖影伪影。

文本条件增强(Enrich Text Control by Image Caption,v2 相对 v1 arXiv 新增的贡献点):nuScenes 原生文本标注只有粗粒度天气(sunny/rain)和时段(day/night),缺少道路类型(高速/城区)、背景元素(建筑/树木)等语境信息。作者用一个 MLLM(GPT-4o,Hurst et al. 2024)重新生成视频字幕,且只喂入视频中间一帧(而非逐帧或多帧):一是避免让 MLLM 描述动态内容(动态已由框/轨迹条件负责,避免多路条件互相打架),二是提升生成效率与一致性。

几何条件建模(沿用 magicdrive 的场景描述范式):帧描述符 $S_t={C,M_t,B_t,L,Tr_t^0}$——相机位姿 $C$、BEV 路网栅格图 $M_t$(8 类语义:可行驶区域/人行横道/人行道/停止线/停车位/车道分隔线/车道分隔带/道路挡块)、3D 框集合 $B_t$(10 类物体:car/bus/truck/trailer/motorcycle/bicycle/construction vehicle/pedestrian/barrier/traffic cone,每框 8 角点 $\in\mathbb{R}^{8\times3}$)、全局文本 $L$、自车轨迹 $Tr_t^0$(LiDAR 坐标到首帧的变换)。3D 框做 padding 对齐跨帧跨视角的框序列长度。

数据

  • 主数据集:nuScenes,官方划分 700 训练 / 150 验证多视角视频(6 摄像头环视)。原始标注 2Hz,作者沿用 magicdrive 的做法用 ASAP 插值到 12Hz(高帧率对生成模型学习更有利,插值本身不完全精确但不影响视频生成训练)。数据集最长视频对应 241 帧(约 20 秒 @12fps),848×1600 为 nuScenes 原始最高分辨率。
  • 训练混合配置(Appendix B, Table I,三阶段渐进式课程,均是 img/video 混合):
    • Stage 1(80,000 步):仅 224×400 图像。
    • Stage 2(40,000 步):224×400 分辨率下 Img/9/17/33/65 帧 + 424×800 分辨率下 Img/9/17/33 帧混合。
    • Stage 3(30,000 步,开启 sequence parallel=4):224×400 下 Img/17/full 帧 + 424×800 下 Img/17/33/65/129 帧 + 848×1600 下 Img/9/17/33 帧混合。
    • 混合策略:每个 GPU 进程(或 SP 通信组)只加载一种数据类型,按”batch size=1 时最长迭代耗时的数据格式”为基准调整其余格式的 batch size,使各类型数据吞吐大致对齐(bucket 策略,沿用 Open-Sora);Stage 3 因完整长视频片段数量有限,同一 epoch 内对其重复采样以对齐各类型数据的 batch 数量级。
  • 二次数据集(跨数据集泛化验证):Waymo Open Dataset,官方划分 798 训练 / 202 验证片段,10Hz 标注。原始 5 视角中左右侧视角尺寸更小、视场角受限,故只保留 3 个前向视角用于训练验证。物体语义精简为 pedestrian/car/cyclist,路网语义精简为可行驶区域/人行横道/车道线(黄/白)。
  • caption 数据:仅取每段视频中间帧喂给 GPT-4o 生成语境描述,补充 weather/time 之外的道路类型、背景元素信息(无逐帧标注,一段视频一份 caption)。
  • 全程真实数据驱动(无仿真数据、无额外爬取数据混合)。

训练方法

目标函数:Rectified/simulation-free flow matching(Esser et al. 2024,SD3 同款),$z_t = t z_1 + (1-t)\epsilon$,损失 $\mathcal{L}{CFM}=\mathbb{E}{\epsilon\sim\mathcal{N}(0,I)}|v_\Theta(z_t,t)-(z_1-\epsilon)|_2^2$,$t\sim\text{lognorm}(0,1)$。

优化器:Adam,恒定学习率 $8\times10^{-5}$,后两个 stage 各带 3000 步线性 warm-up。

渐进式训练动机(两点经验观察):(1) 可控生成模型会先学会提升内容质量、再学会可控性,和 magicdrive 系列观察一致,从零训练需要大量迭代收敛,渐进式过渡能更快获得可控性;(2) 模型对提高分辨率的适应速度快于对拉长视频的适应速度,所以早期阶段更侧重短视频而非图像训练。三阶段:低分辨率图像 → 高分辨率短视频 → 高分辨率长视频,逐步引入时间模块(Stage 1 只有空间 block,Stage 2 起加入时间 block 形成完整架构)。

分类器自由引导(CFG):推理默认 30 步 Rectified Flow 采样、CFG scale=2.0;训练时以 15% 概率随机丢弃各类条件嵌入(文本/相机/自车轨迹/框),沿用 magicdrive 用全 0 作为路网图的 null 条件。

变长/变分辨率训练消融(Table 4,加载 9×424×800 短视频预训练权重、同 GPU 时长对比):仅用 17×224×400 低分辨率训练 FVD 97.21/mAP 10.17/mIoU 12.42;混入长视频(1–65 帧)小幅改善可控性但轻微伤 FVD;混入高分辨率(224×440–424×800)大幅改善三项指标(FVD 96.34/mAP 14.91/mIoU 17.53);同时混合分辨率+帧数则在可控性上最优(FVD 99.66/mAP 15.44/mIoU 18.26),代价是 FVD 略逊于纯高分辨率混合,换来”支持任意分辨率/帧数生成 + 长度外推”的能力。

Infra(训练 / 推理工程)

  • 训练硬件:主力配置 32×NVIDIA A800(80G)(GitHub 给出 --nnode=4 --nproc-per-node=8 即 4 节点×8 卡=32 卡);论文并验证了在 Ascend 910B(64G) 上可训练,Stage 2 用了 64×Ascend 910B
  • 序列并行(Sequence Parallel,Appendix A):沿用 Open-Sora 的序列并行方案,在空间维度上把输入切分到多个 GPU,大部分算子单卡内完成,仅 attention 模块需要通信(all-to-all,把切分维度从序列维切换到注意力头维),从而在保持负载大致均衡的同时用点对点通信突破单卡显存限制。VAE 编解码则按 batch 和摄像头视角数切分,多卡并行加速。Stage 3 实际使用 SP=4
  • 训练速度(Appendix C, Table II,A800 实测):Stage 1(无 SP)4.32 秒/迭代,4 天可跑 80k 步;Stage 2(无 SP)39.84 秒/迭代,4 天约 8.7k 步;Stage 3(SP=4,单卡等效 66.24 秒/迭代,4-GPU 组等效 264.96 秒/迭代)4 天约 1.3k 步——三阶段迭代速度比约 60:7:1,印证渐进式课程对收敛效率的价值。
  • 推理速度(Appendix D, Table III,8×H20 GPU 实测)
    • 848×1600、3 视角、193 帧(Waymo 配置):扩散采样 18.03 秒/迭代,VAE 解码 82.83 秒(单卡解码需 248.24 秒,并行解码带来约 3× 加速),总耗时 11.68 分钟
    • 848×1600、6 视角、241 帧(nuScenes 满长满分辨率):18.03→53.74 秒/迭代,解码 103.36 秒,总耗时 28.92 分钟
    • 848×1600、6 视角、121 帧:28.18 秒/迭代,解码 51.94 秒,总耗时 8.27 分钟
    • 对比 NVIDIA Cosmos-transfer1(704×1280,单视角实测 3.48 秒/迭代 / 解码 9 秒 / 总 3.32 分钟;6 视角行为估算值,用单视角耗时×6 得 20.88 秒/迭代 / 解码 54 秒 / 总 19.92 分钟,在 A100-SXM4 上测):作者称 MagicDrive-V2 推理速度与 Cosmos-transfer1 “相当”。
  • 单 GPU 上限之外的推理:GitHub README 给出用 cpu_offload=true + scheduler.type=rflow-slice 可在显存不足时进一步降低单卡占用(生成 848×1600、full 长度视频推荐 8×H20/A800)。
  • 论文未披露:具体显存占用数值、端到端 wall-clock 训练总时长(只给出”4 天”举例场景下的迭代数对比)、边缘端可行性(作者在结论/Note 中明确指出 848×1600×241 帧配置推理成本仍然很高,主表未采用该最大配置,留待未来工作降低推理成本)。

评测 benchmark

以下均为论文一手实验结果(nuScenes 验证集,除特别说明外)。

Table 1(分辨率×帧数横向对比,仅统计单次前向推理,因为 rollout 明显降质)

类型方法单帧总分辨率帧数
前视单目GAIA-1288×512×126
前视单目DriveDreamer128×192×132
前视单目Vista576×1024×125
多视角MagicDrive224×400×660
多视角Drive-WM192×384×68
多视角Panacea256×512×68
多视角DriveDreamer2256×448×68
多视角Delphi512×512×610
多视角DiVE480p×616
多视角MagicDrive-V2848×1600×6241

Table 2(可控视频生成,与 MagicDrive/MagicDrive3D 对比,仅评测前 16 帧,BEVFormer 做 mAP/mIoU 评测)

方法FVD↓mAP↑mIoU↑
MagicDrive (16f)218.1211.8618.34
MagicDrive (60f)217.9411.4918.27
MagicDrive3D210.4012.0518.27
MagicDrive-V294.8418.1720.40

Table 3(可控图像生成,BEVFusion 做 mAP、CVT 做 road mIoU)

方法FID↓Road mIoU↑Vehicle mIoU↑mAP↑
BEVControl24.8560.8026.80N/A
MagicDrive (Img)16.2061.0527.0112.30
MagicDrive-V220.9159.7932.7317.65

Table 5(长度外推质量,随机采样 10 段验证集视频,首 16 帧 FVD vs. 每 16 帧平均 FVD):424×800(训练最大帧数 129)——首 16 帧 FVD 530.65,外推 2× 帧数(258 帧)后每 16 帧平均 FVD 562.99,3×/4× 因超出 nuScenes 数据集最大帧数(241)未测;848×1600(训练最大帧数 33)——首 16 帧 FVD 559.70,外推 2×/3×/4×(66/99/132 帧)后每 16 帧平均 FVD 分别为 573.46/583.50/585.89——同一分辨率下 FVD 随外推倍数缓慢上升但未崩溃,支撑外推到 129×848×1600×6(非上限)仍保持可用质量的结论。

人类评估(Appendix G/H,无量化基线对比表,仅示意图/混淆矩阵):(1) 多帧/多视角一致性对比:专家评审对 MagicDrive-V2 与 MagicDrive 生成视频做胜率盲选,MagicDrive-V2 一致性显著更优(具体胜率数字见论文 Figure II,图中未随文字给出精确百分比);(2) MVDiT block 消融:去掉该模块会明显破坏多视角一致性(定性对比,Figure III);(3) 文本控制:6 种天气条件下生成视频,人工判断文本-视频对齐,混淆矩阵识别准确率 >70%

VAE 重建质量对比(Appendix I,Table IV,PSNR,六视角平均):CogVAE 在三档分辨率全面领先 Open-Sora 1.2 VAE 与 SD 2D VAE,例如 848×1600 单帧 PSNR 41.50 vs 37.06/37.05;且 CogVAE 随视频变长(image→17帧→33帧)性能衰减最小,更适合长视频任务。

Waymo Open Dataset 泛化(Sec 6,应用实验):Stage 3 模型在 Waymo 上 fine-tune,1 天(1000+ 步)即可生成强可控性的 3 视角视频;进一步用 Waymo + nuScenes 混合训练,最终模型 FVD 在 Waymo 上 105.17,在 nuScenes 上 74.30(优于 Table 2 中单数据集训练的 94.84)。

创新点与影响

  • 首个(作者称)在 3D VAE 时空压缩 latent 上做逐帧几何控制的驾驶视频生成方法:把 magicdrive 的三路几何编码从”空间 latent 专用”重构为”时空对齐”,解决了 DiT+3D VAE 范式落地到多视角可控驾驶视频生成的核心障碍。
  • MVDiT block:STDiT-3 基础上加跨视角注意力,是多视角一致性的关键(消融验证)。
  • 时空框/图编码器:用与 3D VAE 时间压缩比对齐的下采样(而非简单归约或插值)消除轨迹拖影伪影,这是本文区别于”把文本式条件处理直接套用到几何条件”的关键设计决策。
  • contextual caption 增强文本控制(v2 相对 v1 的新增贡献):用 MLLM 只读中间帧生成语境描述,补足 nuScenes/Waymo 原生标注在道路类型、背景元素上的空白,而不引入与几何条件冲突的动态描述。
  • 渐进式课程 + 混合分辨率/帧数训练:验证了”完全从零训练”(不复用任何预训练文生视频扩散权重)也能在单一驾驶数据集规模下(700 段训练视频)训练出高分辨率长视频生成能力,且可外推到训练时未见过的分辨率/帧数组合(241 帧×848×1600,约为 33 帧×848×1600 训练配置的 8×,论文原话)。
  • 跨数据集快速泛化:Waymo fine-tune 只需 1 天/1000+ 步,证明该框架的条件编码设计不与 nuScenes 强绑定,可迁移到不同相机布局(3 视角 vs 6 视角)的数据集。
  • 论文自述局限:(1) 848×1600×241 帧(满分辨率满长度)推理成本仍然很高,主表未采用该配置作为标准报告设置,只作为附录可视化展示;(2) VAE 选型明确放弃了复用预训练视频扩散模型的路线,虽验证了可行性但增加了从零训练的算力开销,作者称这不是论文重点,相关问题留给未来工作;(3) 人类评估部分(一致性胜率、文本控制混淆矩阵)样本规模、评审人数等实验细节未在正文详细披露。
  • 论文摘要自述:“multi-view driving video synthesis with 3.3× resolution and 4× frame count (compared to current SOTA)“——该倍数为作者自行给出的横向对比结论,未在正文展开具体计算口径,此处照录不做二次推导。
  • 已被 ICCV 2025 接收,原名 MagicDriveDiT 于接收后更名为 MagicDrive-V2 以与论文标题统一。

原始链接

一手源存档(sources/)