一句话定位
用可控多视角视频生成(沿用 magicdrive 的图像/视频生成骨架)先把街景数据”拍成”静态场景的多视角视频,再对生成内容做容错高斯溅射(Fault-Tolerant Gaussian Splatting)重建,从而只用 nuScenes 这类标准 6 环视相机数据集就能训练出支持任意视角渲染的可控 3D 街景生成模型。
背景与定位
3D 场景生成此前分两条路线:一类是 GSN、GAUDI、NF-LDM 这样的几何为中心(geometry-focused)方法,直接对 NeRF/体素等 3D 表示做生成,但需要密集、多姿态覆盖的静态场景数据采集,这与 nuScenes 这类仅有固定 6 相机环视、场景本身有动态物体的驾驶数据集不兼容;另一类是 magicdrive、drivedreamer、panacea-driving-video、drive-wm-driving-into-the-future 这样的几何无关(geometry-free)视图/视频生成方法,能在给定相机位姿和标注条件下生成逼真图像/视频,但缺乏 3D 一致性,无法渲染训练集姿态之外的新视角。
MagicDrive3D 的定位是把两条路线接起来:先用几何无关的可控视频生成模型把动态、稀疏覆盖的真实驾驶数据”转换”成静态场景的多视角视频(更适合重建),再用增强过的 3d-gaussian-splatting(3DGS)从这些生成的视图中恢复出真正的 3D 表示,以获得几何一致性和任意视角渲染能力。论文强调这是”生成在前、重建在后”的顺序,与此前 GAUDI/NF-LDM”先建 3D 表示再训生成模型”的顺序相反。该工作由 CUHK、HKUST 与 Huawei Noah’s Ark Lab 合作完成,2024 年 5 月挂 arXiv v1,后续经多次修订(v2/v3/v4),GitHub README 显示已被 WACV 2026 接收。
模型架构
两阶段流水线:① 可控多视角视频生成 → ② 增强 3DGS(Fault-Tolerant GS,FTGS)重建。
阶段一:相对位姿控制的视频生成
- 直接基于 magicdrive(Gao et al. 2024)预训练的街景图像生成模型继续训练,条件包括道路地图 BEV(10 类物体、8 类道路语义,与 MagicDrive 一致)、3D 物体框、文本描述、相机位姿。
- 关键改动:原始 MagicDrive 的相机位姿 P_{c,t} 是相对于每帧自身 LiDAR 坐标系的,缺乏精确的自车轨迹信息。MagicDrive3D 额外引入”每帧相对首帧的变换” T_t^0,用 Fourier embedding + MLP 编码后与原始位姿 embedding 拼接,使所有帧的相机位姿可统一到同一坐标系 [R_{c,t}^0, t_{c,t}^0] = T_t^0 [R_{c,t}, t_{c,t}],为后续重建提供精确一致的位姿。
- 沿用 MagicDrive 的 7 帧视频设置,扩展到 T=16 帧,每视角分辨率 224×400,6 路环视相机。
阶段二:Fault-Tolerant Gaussian Splatting(FTGS) 在标准 3DGS(μ_p 位置、各向异性协方差 Σ_p、不透明度 α_p、球谐系数 c_p,损失 L_GS=(1−λ)L1+λL_D-SSIM)基础上,从先验、建模、损失三个角度做增强:
- 先验(深度):用预训练单目深度模型 ZoeDepth 推断各视角深度,但需要估计逐视角、逐帧的尺度 s_{c,t} 与偏移 b_{c,t} 才能对齐到统一场景坐标。先用 SfM(Structure-from-Motion)得到的稀疏点云粗略估计,再用 GS 损失进一步优化 (s_{c,t}, b_{c,t})(把原本对高斯中心 μ_i 的优化换成对 (s,b) 的优化),优化完成后再用深度值重置初始化 μ_i。
- 建模(容错高斯/FTGS):选定中心帧 t=t_C 作为 canonical 空间,所有高斯锚定在该空间;为每个高斯分配随时间变化的位置偏移 μ_p^o(t)∈R³(t∈[1,…,T],μ_p^o(t_C)≡0,同一 t 的不同相机视角共享该偏移),并用 L2 正则 L_{reg_o}=‖μ^o(t)‖₂ 约束偏移量保持局部。此外借助相机 SE(3) 位姿的解析梯度,在 GS 迭代的最后若干步允许相机位姿本身也参与优化,以吸收由相机位姿误差引入的局部不一致。
- 损失(曝光对齐/外观建模):假设不同视角间的差异可用仿射变换 A_i(·) 表示,为每个相机视角分配一个外观嵌入(Appearance Embedding,AE)图 e_i∈R^{w_e×h_e×c_e},用 CNN 逼近该仿射变换矩阵 w_A∈R^{w×h×3}(AE 图比输入图小 32 倍,先下采样 32 倍,再用 3×3 卷积 + pixel shuffle 上采样,每层 ReLU 激活,细节见附录 H),最终用变换后图像计算像素级 L1 损失。
- 最终重建损失:L_FTGS = L_AEGS + λ_{reg_o} L_{reg_o} = (1−λ)L1(A_i(I_i^r), I_i) + λ L_D-SSIM(I_i^r, I_i) + λ_{reg_o} L_{reg_o},其中 λ_{reg_o}=1.0。
关键配置数字:视频生成训练 4 epoch(77040 步),学习率 8e-5;canonical 帧取 t=8;FTGS 优化前 500 步专门优化深度尺度/偏移 (s_{c,t}, b_{c,t}),其余设置与标准 3DGS 一致。
数据
- 数据集:nuScenes,官方划分 700 段训练视频片段(每段约 20 秒)+ 150 段验证片段,与 magicdrive 等前序工作一致的 10 类物体、8 类道路语义标注。
- 无需额外真实 3D 数据采集:这是论文强调的核心卖点——不像 GAUDI/NF-LDM 那样要求密集多姿态覆盖或静态场景的专门采集,MagicDrive3D 直接用标准 nuScenes 的 6 路环视相机数据即可训练/生成。
- 消融/评测所用的两种测试布局(见附录表 I):“360°“设置(t=9 时刻的全部 6 个视角均作为测试视图,90 个视角作训练)与”vary-t”设置(不同 t 时刻各随机采样 1 个视角作测试,共 12 个测试视角、84 个训练视角),用于评估长程重建能力。
- FTGS 的 xyz-offset 消融(附录表 II)从 nuScenes 验证集中随机抽取 10 个场景做实验。
- 数据引擎应用:用生成的场景渲染附加视角(4 种不同 FRONT 相机 rig:无 rig / depth+0.5m / pitch−5° / yaw+5° / yaw−5°)以增强 CVT 的 BEV 分割训练数据,提升视角鲁棒性。
- 项目页展示了额外在 Waymo 数据集上训练高分辨率视频生成器的 3D 场景生成演示,但论文正文的定量实验只在 nuScenes 上进行,Waymo 结果未给出定量指标。
- 代码未开源(GitHub README 明确”作者们都在忙其他工作,没时间放出代码”,仅可邮件索取重建部分的 DRAFT 代码,不提供使用支持),因此数据处理管线细节主要依赖论文与附录描述,无法通过代码交叉验证。
训练方法
- 两阶段、非端到端联合训练:视频生成模型与 FTGS 重建分开优化,视频生成是一次性训练好的网络,FTGS 则是逐场景(per-scene)优化,类似原始 3DGS 的每场景优化范式,而非训练一个共享的重建网络。
- 视频生成训练:在 MagicDrive 预训练权重基础上继续训练,新增相对位姿控制分支,4 epoch(77040 步),学习率 8e-5,输入 224×400、16 帧视频。
- FTGS 逐场景优化流程(Algorithm 1):
- 用 SfM 点云初步估计每视角尺度/偏移 (s_{c,t}, b_{c,t});
- 随机初始化外观嵌入 {e_i};
- 深度优化阶段(s_D 步):随机采样视角,用 L_AEGS 联合优化 (s,b)、e_i、协方差 Σ、球谐系数 SH;
- 优化完成后,用 (s,b) 与深度 D 重置初始化高斯中心 μ;
- 主循环(s_D→s_GS 步):随机采样视角及其时刻 t,用 L_FTGS 联合优化 μ、时序偏移 μ^o(t)、e_i、Σ、SH;当步数超过 s_C 后,同时对相机位姿 P_i^0 求梯度并更新。
- 偏移量消融:论文额外验证了”该给高斯的哪个属性加时序偏移”——除了 xyz 中心坐标,还尝试了对特征(球谐系数)、协方差、不透明度加偏移,结果 xyz 偏移效果最好(见评测部分数据),原因是生成视图间的局部不一致主要体现在物体形状上。
- 与 4DGS 的对比:把 FTGS 换成面向动态场景的 4DGS 作为另一种重建基线,4DGS 优于原始 3DGS,但仍不如本文的 FTGS——作者推测这是因为该任务只需要解决由内容不一致引起的局部误差,4DGS 引入的过多自由度反而不利于收敛。
Infra(训练 / 推理工程)
- 硬件:全部实验使用 NVIDIA V100 32GB GPU(论文仅披露这一项,未给出具体 GPU 数量或总 GPU-hours,视频生成训练的 GPU 数量/耗时未披露)。
- 逐场景生成耗时:单个场景视频生成约需 2 分钟,FTGS 重建约需 30 分钟;作为对比,同等规模场景下标准 3DGS 重建约需 23 分钟——即 FTGS 比朴素 3DGS 慢约 30%,但换来显著更好的渲染质量。
- 渲染阶段:论文声明相比标准 3DGS “没有额外计算量”(即渲染速度与 3DGS 相当),但未给出具体 FPS/延迟数字。
- 训练精度、并行策略等均未披露。
评测 benchmark
生成质量(Table 2,主结果)
| Methods | FVD↓ | FID(seen)↓ | FID(novel)↓ |
|---|---|---|---|
| MagicDrive(T=16 扩展基线) | 177.26 | 20.92 | N/A |
| MagicDrive3D(视频生成部分) | 164.72 | 20.67 | N/A |
| 3DGS(基线重建) | N/A | 45.07 | 145.72 |
| MagicDrive3D(场景生成,FTGS) | N/A | 23.99 | 34.45 |
视频生成的单帧 FID 相比 MagicDrive 只有小幅提升,但 FVD 明显更好,验证相对位姿嵌入提升了时序一致性;场景级 FID 上 FTGS 相比朴素 3DGS 在 seen 和 novel 视角上都大幅领先,novel 视角优势尤其明显(34.45 vs 145.72)。
重建质量(Table 3,以生成视频为 GT)
| 场景 | 划分 | 方法 | L1↓ | PSNR↑ | SSIM↑ | LPIPS↓ |
|---|---|---|---|---|---|---|
| train view | vary-t | 3DGS | 0.0189 | 30.1191 | 0.9261 | 0.1259 |
| train view | vary-t | 3DGS+cc | 0.0186 | 30.2498 | 0.9253 | 0.1258 |
| train view | vary-t | Ours(FTGS) | 0.0167 | 32.6001 | 0.9544 | 0.0673 |
| train view | 360° | 3DGS | 0.0202 | 29.4943 | 0.9187 | 0.1365 |
| train view | 360° | 3DGS+cc | 0.0199 | 29.6327 | 0.9178 | 0.1366 |
| train view | 360° | Ours(FTGS) | 0.0174 | 32.2104 | 0.9530 | 0.0693 |
| test view | vary-t | 3DGS | 0.0890 | 17.9879 | 0.4378 | 0.4648 |
| test view | vary-t | 3DGS+cc | 0.0799 | 19.1387 | 0.4814 | 0.4697 |
| test view | vary-t | Ours(FTGS) | 0.0738 | 19.7063 | 0.5145 | 0.4115 |
| test view | 360° | 3DGS | 0.0910 | 17.8322 | 0.4318 | 0.4756 |
| test view | 360° | 3DGS+cc | 0.0804 | 19.0773 | 0.4777 | 0.4796 |
| test view | 360° | Ours(FTGS) | 0.0622 | 21.0351 | 0.5754 | 0.3207 |
在训练视角与测试(泛化)视角上 FTGS 均全面优于 3DGS / 3DGS+相机位姿优化(cc),测试视角提升尤为显著。
FTGS 组件消融(Table 5):去掉 AE(外观嵌入)、去掉深度尺度优化、去掉深度优化、去掉 xyz 偏移+相机位姿优化,每去掉一项性能都下降,其中”w/o depth opt”(直接用单目深度原始输出)在部分指标上甚至差于 3DGS 基线,说明深度对齐是最关键的先验;去掉 AE 在 vary-t 设置下 PSNR 下降但 LPIPS 反而变好,作者解释为 AE 会放松逐像素颜色约束。
下游 BEV 分割任务(Table,CVT + 4 种相机 rig 扰动)
| 指标 | 设置 | no rig | depth+0.5m | pitch-5° | yaw+5° | yaw-5° |
|---|---|---|---|---|---|---|
| vehicle IoU | only real data | 17.14 | 16.63 | 15.50 | 16.99 | 15.94 |
| vehicle IoU | w/ render view(no rig) | 20.67(+3.53) | 20.13(+3.50) | 17.03(+1.53) | 19.40(+2.41) | 19.30(+3.36) |
| vehicle IoU | w/ random aug. of 4 rigs | 21.05(+3.91) | 20.46(+3.83) | 19.75(+4.25) | 19.81(+2.82) | 19.83(+3.89) |
| road IoU | only real data | 54.94 | 54.56 | 53.82 | 54.20 | 53.67 |
| road IoU | w/ render view(no rig) | 60.31(+5.37) | 59.93(+5.37) | 58.46(+4.64) | 59.16(+4.96) | 59.32(+5.65) |
| road IoU | w/ random aug. of 4 rigs | 60.59(+5.65) | 60.38(+5.82) | 59.95(+6.13) | 60.21(+6.01) | 60.29(+6.62) |
加入生成视角训练数据后,车辆与道路 IoU 在所有相机扰动设置下均一致提升,视角变化越剧烈(如 pitch-5°)提升幅度越大,证明生成场景对提升视角鲁棒性有实际帮助。
附录消融(xyz 偏移选择,10 个随机验证场景)
| 方法 | L1↓ | PSNR↑ | SSIM↑ | LPIPS↓ |
|---|---|---|---|---|
| 3DGS | 0.0733 | 19.7514 | 0.5210 | 0.4496 |
| Features offset | 0.0624 | 20.9882 | 0.5940 | 0.3463 |
| Cov. offset | 0.0632 | 20.8133 | 0.5854 | 0.3626 |
| Opacity offset | 0.0656 | 20.5332 | 0.5733 | 0.3845 |
| Ours(xyz offset) | 0.0546 | 21.9428 | 0.6288 | 0.2759 |
附录:与 4DGS 基线对比
| 方法 | L1↓ | PSNR↑ | SSIM↑ | LPIPS↓ |
|---|---|---|---|---|
| 3DGS | 0.0733 | 19.7514 | 0.5210 | 0.4496 |
| 4DGS | 0.0601 | 21.1195 | 0.5892 | 0.4475 |
| Ours(FTGS) | 0.0546 | 21.9428 | 0.6288 | 0.2759 |
此外论文与项目页还与 LucidDreamer、WonderJourney 及”直接拼接真实数据做全景”两个简单基线做了定性对比(附录 G):两者均因缺乏可控性或跨视角重叠不足而效果差,MagicDrive3D 能渲染连续全景且保持可控性。
创新点与影响
- 首次把”几何无关的可控视频生成”与”几何为中心的 3DGS 重建”结合成生成-重建两阶段管线,用生成模型解决 3D 生成对密集姿态覆盖/静态场景数据的强依赖,使得只用标准 nuScenes 6 环视相机数据即可训练可控 3D 街景生成模型(此前 GAUDI/NF-LDM 类工作做不到)。
- 提出的相对(自车轨迹)位姿嵌入让视频生成的多帧相机位姿统一到同一坐标系,为下游重建提供精确、无需重新估计的位姿,是视频生成与 3D 重建能够衔接的关键设计。
- 提出 Fault-Tolerant Gaussian Splatting(FTGS,论文早期版本称 Deformable GS/DGS),通过 canonical-frame + 时序偏移 + 外观嵌入 + 相机位姿细化,让 3DGS 能够容忍生成内容(而非真实多视角实拍)中不可避免的像素级不一致,避免了浮游物伪影的放大。
- 验证了生成的 3D 场景可作为感知任务(BEV 分割)的数据引擎,在多种相机 rig 扰动下一致提升视角鲁棒性。
- 论文自述的局限:作为数据驱动方法,对复杂物体(如行人)、高纹理细节区域(如护栏)或细小结构(如灯杆)的生成/重建质量仍然较差,受限于 3DGS 表示本身的能力;方法依赖于视频生成模型的先验质量,且逐场景优化(FTGS 重建单场景约 30 分钟)成本高于直接渲染。
- 需要指出的工程现实:代码从未正式开源,GitHub 仓库明确说明作者无暇维护、仅提供邮件索取的重建部分草稿代码且不提供支持,这限制了外部复现与验证的可能性。
原始链接
- arXiv: https://arxiv.org/abs/2405.14475
- PDF: https://arxiv.org/pdf/2405.14475
- GitHub: https://github.com/flymin/MagicDrive3D
- 项目主页: https://gaoruiyuan.com/magicdrive3d/
- HF Papers: https://huggingface.co/papers/2405.14475
一手源存档(sources/)
- magicdrive3d—github-readme — GitHub README 快照(代码未开源说明、BibTeX),来源 https://github.com/flymin/MagicDrive3D
- magicdrive3d—project-page — 项目主页快照(Waymo 高分辨率演示、数据引擎与 bullet-time 消融的补充描述),来源 https://gaoruiyuan.com/magicdrive3d/
- 论文全文:arXiv:2405.14475(arXiv 原文 PDF/HTML,v1 初版 + v4 WACV 2026 定稿版,不入 git;正文数字均取自此)