一句话定位

用可控多视角视频生成(沿用 magicdrive 的图像/视频生成骨架)先把街景数据”拍成”静态场景的多视角视频,再对生成内容做容错高斯溅射(Fault-Tolerant Gaussian Splatting)重建,从而只用 nuScenes 这类标准 6 环视相机数据集就能训练出支持任意视角渲染的可控 3D 街景生成模型。

背景与定位

3D 场景生成此前分两条路线:一类是 GSN、GAUDI、NF-LDM 这样的几何为中心(geometry-focused)方法,直接对 NeRF/体素等 3D 表示做生成,但需要密集、多姿态覆盖的静态场景数据采集,这与 nuScenes 这类仅有固定 6 相机环视、场景本身有动态物体的驾驶数据集不兼容;另一类是 magicdrivedrivedreamerpanacea-driving-videodrive-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):
    1. 用 SfM 点云初步估计每视角尺度/偏移 (s_{c,t}, b_{c,t});
    2. 随机初始化外观嵌入 {e_i};
    3. 深度优化阶段(s_D 步):随机采样视角,用 L_AEGS 联合优化 (s,b)、e_i、协方差 Σ、球谐系数 SH;
    4. 优化完成后,用 (s,b) 与深度 D 重置初始化高斯中心 μ;
    5. 主循环(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,主结果)

MethodsFVD↓FID(seen)↓FID(novel)↓
MagicDrive(T=16 扩展基线)177.2620.92N/A
MagicDrive3D(视频生成部分)164.7220.67N/A
3DGS(基线重建)N/A45.07145.72
MagicDrive3D(场景生成,FTGS)N/A23.9934.45

视频生成的单帧 FID 相比 MagicDrive 只有小幅提升,但 FVD 明显更好,验证相对位姿嵌入提升了时序一致性;场景级 FID 上 FTGS 相比朴素 3DGS 在 seen 和 novel 视角上都大幅领先,novel 视角优势尤其明显(34.45 vs 145.72)。

重建质量(Table 3,以生成视频为 GT)

场景划分方法L1↓PSNR↑SSIM↑LPIPS↓
train viewvary-t3DGS0.018930.11910.92610.1259
train viewvary-t3DGS+cc0.018630.24980.92530.1258
train viewvary-tOurs(FTGS)0.016732.60010.95440.0673
train view360°3DGS0.020229.49430.91870.1365
train view360°3DGS+cc0.019929.63270.91780.1366
train view360°Ours(FTGS)0.017432.21040.95300.0693
test viewvary-t3DGS0.089017.98790.43780.4648
test viewvary-t3DGS+cc0.079919.13870.48140.4697
test viewvary-tOurs(FTGS)0.073819.70630.51450.4115
test view360°3DGS0.091017.83220.43180.4756
test view360°3DGS+cc0.080419.07730.47770.4796
test view360°Ours(FTGS)0.062221.03510.57540.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 rigdepth+0.5mpitch-5°yaw+5°yaw-5°
vehicle IoUonly real data17.1416.6315.5016.9915.94
vehicle IoUw/ 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 IoUw/ random aug. of 4 rigs21.05(+3.91)20.46(+3.83)19.75(+4.25)19.81(+2.82)19.83(+3.89)
road IoUonly real data54.9454.5653.8254.2053.67
road IoUw/ 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 IoUw/ random aug. of 4 rigs60.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↓
3DGS0.073319.75140.52100.4496
Features offset0.062420.98820.59400.3463
Cov. offset0.063220.81330.58540.3626
Opacity offset0.065620.53320.57330.3845
Ours(xyz offset)0.054621.94280.62880.2759

附录:与 4DGS 基线对比

方法L1↓PSNR↑SSIM↑LPIPS↓
3DGS0.073319.75140.52100.4496
4DGS0.060121.11950.58920.4475
Ours(FTGS)0.054621.94280.62880.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 仓库明确说明作者无暇维护、仅提供邮件索取的重建部分草稿代码且不提供支持,这限制了外部复现与验证的可能性。

原始链接

一手源存档(sources/)