生成式 3D:Diffusion 驱动的 3D 重建与生成
生成式 3D 是一类利用 2D 生成模型先验(主要是 diffusion 模型)来生成或重建 3D 表征的方法。它的兴起源于一个非常直接的观察:互联网上的 3D 数据极度稀缺(Objaverse 也只有约一千万件资产),而 2D 图像数据近乎无限。如果能把 2D diffusion 模型已经学到的视觉先验"蒸馏"到 3D 表征里,或者训练一个能输出多视角一致图像的 diffusion,就能绕过 3D 数据稀缺的瓶颈。
这条线在 2022 年 9 月以 DreamFusion 为起点,三年内已经分裂出五大流派——从 per-scene 优化的 SDS / VSD,到端到端的多视角扩散,再到秒级出结果的前馈重建(LRM 系),最终汇聚到 2024 年的结构化 latent 模型(Trellis、Hunyuan3D 2.0)。本文系统梳理这五条路径的方法学、关键公式、彼此关系与边界。
概述
任务定义
生成式 3D 解决的问题可以统一表述为:
其中 \(\theta\) 是某种 3D 表征的参数(NeRF 权重、3D 高斯椭球集合、Mesh 顶点+纹理、Triplane 特征等),\(c\) 是条件输入(文字 prompt、单张图、几张稀疏视图)。
关键困难:\(p(\theta \mid c)\) 没有大规模数据可以直接监督。生成式 3D 的核心创新就是回答"如何用 2D diffusion 先验间接逼近这个分布"。
与相邻方向的边界
| 生成式 3D | 几何派 3D 重建 | 世界模型 | |
|---|---|---|---|
| 输入 | 单图 / 文字 / 少图 | 密集多视图(数十张) | 当前状态 + 动作 |
| 输出 | 静态 3D 资产 | 静态 3D 场景 | 时序状态预测 |
| 核心机制 | 2D diffusion 先验 | 几何 + 体渲染 | 时序建模 |
| 代表方法 | DreamFusion / LRM / Trellis | NeRF / 3DGS / SfM-MVS | Dreamer / Genie / Cosmos |
| 时间维度 | 静态 | 静态 | 动态 |
详见本文末尾的 § 9 与相邻主题的边界。
时间线全景
graph LR
A[2022.09<br/>DreamFusion<br/>SDS] --> B[2023.03<br/>Zero-1-to-3<br/>视角条件 diffusion]
B --> C[2023.05<br/>ProlificDreamer<br/>VSD]
C --> D[2023.11<br/>LRM<br/>前馈重建]
D --> E[2023.12<br/>ReconFusion<br/>稀疏视图 + diffusion]
E --> F[2024.03<br/>InstantMesh<br/>LRM + Mesh]
F --> G[2024.05<br/>SV3D / CAT3D<br/>视频扩散作 3D 先验]
G --> H[2024.12<br/>Trellis<br/>结构化 latent]
H --> I[2025.01<br/>Hunyuan3D 2.0<br/>shape + texture 双扩散]
五大流派
graph TD
Root[生成式 3D] --> P1[1. SDS 优化派<br/>per-scene]
Root --> P2[2. VSD 优化派<br/>particle distribution]
Root --> P3[3. 多视角扩散派<br/>multi-view diffusion]
Root --> P4[4. 前馈重建派<br/>feed-forward]
Root --> P5[5. 稀疏视图重建<br/>sparse-view]
P1 --> P1a[DreamFusion / SJC<br/>Magic3D / Latent-NeRF<br/>Fantasia3D]
P2 --> P2a[ProlificDreamer<br/>DreamGaussian<br/>GaussianDreamer]
P3 --> P3a[Zero-1-to-3 / MVDream<br/>SyncDreamer / Wonder3D<br/>SV3D / Zero123++]
P4 --> P4a[LRM / InstantMesh<br/>TripoSR / LGM / GRM<br/>Trellis / Hunyuan3D]
P5 --> P5a[ReconFusion / CAT3D<br/>ZeroNVS<br/>pixelSplat / MVSplat]
阅读建议
本文按"先方法学,再代表作"的顺序展开。如果你只想快速了解 SOTA,可以直接跳到 § 5.3 结构化 latent 派和 § 8 方法谱系总览。如果你想深入理解 SDS / VSD 数学本质,§ 2 和 § 3 给出了完整推导。
前置知识
阅读本文需要熟悉:
- DDPM / DDIM / Latent Diffusion(参见 Diffusion.md)
- NeRF / 3D Gaussian Splatting(参见 3D视觉.md)
- Score Matching 的基本概念(Diffusion.md § Score-Based 视角)
1. 3D 表征的选择
生成式 3D 的第一个设计决策是:用什么作为 3D 表征。这个选择直接影响优化方式、训练成本、推理速度和可编辑性。
1.1 五种主流 3D 表征
| 表征 | 数据结构 | 渲染方式 | 可微 | 内存 | 是否易于 diffusion |
|---|---|---|---|---|---|
| NeRF | MLP 隐式场 \(f_\theta(\mathbf{x}, \mathbf{d}) \to (c, \sigma)\) | 体渲染(光线行进) | ✅ | 小(网络权重) | ❌(连续函数难以离散化) |
| 3D Gaussian Splatting | 显式高斯椭球集合 \(\{\boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i, \alpha_i, \mathbf{c}_i\}\) | 可微光栅化 | ✅ | 中(10⁵-10⁶ 高斯) | ⚠️(无序集合难以 diffusion,需结构化) |
| Mesh | 顶点 + 面 + 纹理 | 光栅化 | ✅(DMTet/FlexiCubes) | 小 | ❌(拓扑不可微) |
| Triplane | 三个正交 2D 特征图 + decoder MLP | 体渲染 | ✅ | 中 | ✅(2D 特征图天然适合 diffusion) |
| Voxel | 规则 3D 网格 | 体渲染 | ✅ | 大(\(O(N^3)\)) | ✅(3D conv 自然处理) |
1.2 优化派 vs 前馈派的不同偏好
优化派(per-scene) 倾向选择渲染快、可微、参数密集的表征:
- 早期:NeRF(DreamFusion / SJC / Magic3D)
- 现代:3D Gaussian Splatting(DreamGaussian / GaussianDreamer)
3DGS 把 SDS 优化时间从 DreamFusion 的 1.5 小时降到 2-5 分钟,这是 2024 年这条线最大的工程突破。
前馈派(feed-forward) 倾向选择可被 transformer 直接预测的表征:
- LRM 系:Triplane(三个 2D 特征图,刚好适合 transformer)
- LGM / GRM:3DGS(每个高斯一个 token)
- Trellis:稀疏结构化 latent(只在物体表面附近放 token)
- Hunyuan3D 2.0:Signed Distance Field + diffusion
1.3 结构化 latent 的崛起
2024 年的关键趋势是:不再直接对 3D 表征做 diffusion,而是对一个"中间 latent"做 diffusion,再 decode 到具体 3D 表征。这与 Stable Diffusion 在 2D 上的成功如出一辙。
代表工作:
- Trellis:Sparse Structured Latent(SLAT),只在 occupancy 大于阈值的 voxel 上放 latent token
- Hunyuan3D 2.0:先 diffusion 出 SDF,再单独 diffusion 出 texture
- 3DTopia-XL:Triplane latent + diffusion
2. SDS 优化派
2.1 DreamFusion 与 SDS 的诞生
DreamFusion (Poole et al., 2022) 提出的 Score Distillation Sampling (SDS) 是这条线的奠基工作。它要解决的问题是:
我们有一个预训练的 2D text-to-image diffusion 模型 \(\epsilon_\phi\)。给定一个文字 prompt \(y\)(比如"a hamburger"),如何优化一个 3D 表征 \(\theta\)(NeRF 参数),使得从任意视角 \(\pi\) 渲染出的 2D 图像 \(\mathbf{x} = g(\theta, \pi)\) 都能"看起来像" \(\epsilon_\phi\) 会从 \(y\) 生成的图?
直接的想法:在每个视角 \(\pi\) 下采样一张 \(\hat{\mathbf{x}} \sim \epsilon_\phi(\cdot \mid y)\),然后让渲染图 \(g(\theta, \pi)\) 去拟合 \(\hat{\mathbf{x}}\)。问题:不同视角采样出的 \(\hat{\mathbf{x}}\) 互相不一致,3D 表征会被拉扯成多面怪物。
SDS 的关键洞察:不需要真的从 \(\epsilon_\phi\) 采样图像,只需要 diffusion 模型对当前渲染图的"评分梯度"。
2.2 SDS 推导
记 \(q_\phi(\mathbf{x} \mid y)\) 为 diffusion 模型隐式定义的 2D 图像分布。我们想最小化的是:
其中 \(\mathbf{x} = g(\theta, \pi)\),\(\mathbf{x}_t = \alpha_t \mathbf{x} + \sigma_t \epsilon\)。
对 \(\theta\) 求梯度(链式法则):
问题:U-Net 的 Jacobian \(\partial \epsilon_\phi / \partial \mathbf{x}_t\) 计算极昂贵且数值不稳定。
SDS 的近似:直接丢掉这一项,得到:
物理解读:把 \(\epsilon_\phi(\mathbf{x}_t; y, t) - \epsilon\) 看作"当前渲染图距离 prompt 描述的差异方向",这个方向通过渲染器 \(\partial \mathbf{x} / \partial \theta\) 反传到 3D 参数 \(\theta\) 上。
2.3 SDS 的本质:score 蒸馏
更深刻的理解:SDS 等价于对 score 函数做匹配。回顾 score-based 视角(Diffusion.md § Score-Based 视角):
代入 SDS 梯度:
这正是把 \(q_\phi(\mathbf{x} \mid y)\) 的 score 通过渲染管线"拉"到 3D 参数空间。
2.4 改进路线
Score Jacobian Chaining (SJC, Wang et al. 2022)
与 SDS 几乎同期提出,从 score-based SDE 视角推导出几乎相同的更新规则,但显式处理了 Perturb-and-Average Scoring (PAAS),缓解 SDS 的数值噪声问题。
Latent-NeRF (Metzer et al. 2022)
把 NeRF 渲染到 Stable Diffusion 的 latent 空间而不是 RGB 空间,避免了每次 SDS 步骤的 VAE encode 开销。代价:渲染图质量受 SD VAE decoder 限制。
Magic3D (Lin et al. 2023)
两阶段 coarse-to-fine:
- Stage 1:低分辨率 NeRF + SDS,用 64×64 渲染快速优化几何(约 25 分钟)
- Stage 2:从 NeRF 提取出 mesh(DMTet),切换到高分辨率(512×512)+ SDS 做纹理细化(约 15 分钟)
总耗时 ≈ 40 分钟,质量显著优于 DreamFusion,是 SDS 派的工程化范本。
Fantasia3D (Chen et al. 2023)
把几何与外观解耦:先用 DMTet + SDS 优化几何形状(只用 normal map 渲染),再固定几何用 PBR 材质 + SDS 优化外观。这种分离让生成结果几何更干净,材质更真实。
2.5 SDS 的固有问题
Janus problem(多面 / 多头)
最著名的失败模式:生成的 3D 物体从不同角度看都有正脸(比如一只多面狮子)。
成因:
- 2D diffusion 训练数据中正面视角占主导,前向先验 \(p(\mathbf{x} \mid y)\) 对正面视角的概率显著高于侧面/背面
- SDS 的 mode-seeking 性质:在每个视角上都"贪心地"逼近最高概率 mode → 每个视角都被拉向正面
缓解方案:
- View-conditioned prompting:根据相机方位拼接前缀("a photo of X, front view" / "back view")
- Progressive view sampling:先训练正面,再扩展到侧面背面
- Debiased SDS (Hong et al. 2023):对方位角做重要性采样
- Perp-Neg (Armandpour et al. 2023):在反方向视角加 negative prompt
- 3D-aware diffusion priors:从根上换成多视角扩散(见 § 4)
过饱和与过平滑
SDS 倾向于产生饱和度过高、纹理过平滑的结果。
成因:mode-seeking 让生成结果集中在 prior 的最高概率区域,丢失多样性。这正是 § 3 VSD 要解决的核心问题。
计算昂贵
per-scene 优化 1.5-2 小时(DreamFusion 原版 V100 上)。即使是 Magic3D 也要 40 分钟。这驱动了 § 3.2 SDS+3DGS 加速方案以及 § 5 前馈重建派的兴起。
3. VSD 优化派
3.1 ProlificDreamer 与 VSD
ProlificDreamer (Wang et al. 2023) 提出 Variational Score Distillation (VSD),从根本上重新审视 SDS 的目标函数。
核心论点:SDS 把 3D 参数 \(\theta\) 当作确定性变量优化(朝着 prior 的最高概率走),这是 mode-seeking 的根源。VSD 把 \(\theta\) 当作分布 \(\mu(\theta \mid y)\) 来优化——目标不是找到一个 \(\theta^*\),而是找到一个 \(\theta\) 上的分布 \(\mu\)。
3.2 VSD 推导
VSD 优化的目标:让 \(\mu\) 渲染出的图像分布 \(q^\mu_t(\mathbf{x}_t \mid y)\) 与 diffusion 先验 \(p_t(\mathbf{x}_t \mid y)\) 在所有 \(t\) 上 KL 最小。具体:
对 \(\mu\) 求 Wasserstein 梯度,得到 VSD 更新规则:
与 SDS 对比:
| SDS | VSD | |
|---|---|---|
| 减去的"基线" | 随机噪声 \(\epsilon\) | 当前粒子分布的 score \(\epsilon_{\phi'}\) |
| 目标 | mode-seeking | mode-coverage |
| 多样性 | 低(饱和、平均化) | 高 |
| CFG 权重 | 通常需 100+ | 7.5 即可(与 2D 生成一致) |
| 训练成本 | 中 | 高(需在线训 LoRA) |
3.3 LoRA 估计当前粒子分布的 score
VSD 的关键工程实现:用一个在线训练的 LoRA(在预训练 \(\epsilon_\phi\) 之上)来估计 \(\epsilon_{\phi'}\)。
具体流程:每次 SDS 步骤的同时,用当前渲染图作为 LoRA 的训练样本做一步 diffusion 训练:
- 渲染当前 \(\theta\) 在视角 \(\pi\) 下的图像 \(\mathbf{x}\)
- 加噪:\(\mathbf{x}_t = \alpha_t \mathbf{x} + \sigma_t \epsilon\)
- LoRA 训练:用 \(\mathbf{x}_t \to \epsilon\) 训练 \(\epsilon_{\phi'}\) 一步
- VSD 更新:用 \(\epsilon_\phi(\mathbf{x}_t) - \epsilon_{\phi'}(\mathbf{x}_t)\) 更新 \(\theta\)
LoRA 始终在追赶当前粒子分布,两者形成动态平衡。
3.4 VSD 的效果
ProlificDreamer 在文本到 3D 上:
- 几何细节显著超过 DreamFusion / Magic3D
- 纹理饱和度自然,不再过曝
- 同一 prompt 多次运行可生成多样化的结果(mode-coverage 的直接体现)
代价:训练时间从 SDS 的小时级增加到约 2-4 小时。
3.5 SDS + 3DGS 加速派
VSD 的质量好但慢。同期出现的另一条路是:保持 SDS,换更高效的 3D 表征。
DreamGaussian (Tang et al. 2023)
第一篇把 3D Gaussian Splatting 引入 SDS 优化的工作。两阶段:
- Stage 1(约 2 分钟):3DGS + SDS,从噪声中优化几何
- Stage 2(约 1 分钟):从 3DGS 提取 mesh + UV,再用 SDS 做纹理优化
总时间 3-5 分钟,比 DreamFusion 快 20 倍以上。
为什么 3DGS 让 SDS 这么快?
- 3DGS 渲染速度比 NeRF 快 10-100 倍(光栅化 vs 光线行进)
- 3DGS 的"自适应密度控制"(克隆/分裂/修剪)让优化更稳定
- 3DGS 的显式表示让"添加更多容量"很简单(直接加高斯)
GaussianDreamer (Yi et al. 2023)
用 Shap-E(OpenAI 的 3D diffusion 模型)的输出初始化 3DGS,再做 SDS 优化。Shap-E 提供了粗几何先验,避免 SDS 从噪声开始时陷入局部最优。
LucidDreamer / DreamCraft3D
进一步把 SDS / VSD 与 3DGS / mesh 组合,引入额外的几何正则项(normal smoothness、occupancy 一致性)解决高频伪影。
4. 多视角扩散派
SDS / VSD 的根本困境:单张 2D diffusion 模型不知道"3D 是什么"。多视角扩散派的思路是:直接训练一个能输出多视角一致图像的 diffusion 模型,从源头注入 3D 一致性。
4.1 Zero-1-to-3:视角条件化
Zero-1-to-3 (Liu et al. 2023) 是这条线的开创性工作。它把 Stable Diffusion 微调成:
其中 \(y_{\text{ref}}\) 是参考视角的图像 embedding(CLIP),\(\Delta\pi = (\Delta\theta, \Delta\phi, \Delta r)\) 是相对相机位姿(俯仰、方位、距离)。模型学习给定参考图 + 相机相对位姿生成新视角图。
训练数据:Objaverse(约 80 万 3D 资产)每个渲染 12 个均匀分布视角,构造成 \((\mathbf{x}_{\text{ref}}, \mathbf{x}_{\text{tgt}}, \Delta\pi)\) 三元组。
推理:给定单张图,可以"幻想"出任意新视角。这第一次让 Stable Diffusion 具备了 3D 概念。
但 Zero-1-to-3 仍然逐视角独立采样,不同视角之间没有显式一致性约束 → 拼起来重建 3D 时会有缝隙。这驱动了下一代多视角联合扩散。
4.2 多视角一致性的实现路径
Cross-view self-attention(MVDream)
MVDream (Shi et al. 2023) 把 4 个视角同时输入 U-Net,把所有视角的 token 拼起来做 self-attention:
原始 SD: U-Net 处理单图 [B, C, H, W]
MVDream: U-Net 处理 4 视图 batch [B, 4, C, H, W]
self-attn 跨 4 视图的所有空间位置
效果:4 个视角在 attention 层内互相看见,自然产生一致性。
Epipolar attention(SyncDreamer)
SyncDreamer (Liu et al. 2023) 引入对极几何约束的 attention:每个像素只 attend 到其他视图中对极线上的点。这是更强的几何先验,但需要相机内外参已知。
Video diffusion 当 3D prior(SV3D / CAT3D)
最新趋势:把视频扩散模型当 3D 先验。视频扩散天然学到"相邻帧应一致",把"连续视角"当成"连续帧",就能复用。
- SV3D (Voleti et al. 2024):基于 Stable Video Diffusion,输入单图,输出 21 个连续轨道视角
- CAT3D (Gao et al. 2024):视频扩散作为新视图合成的强先验,少视图也能重建
架构对比
graph TD
A[多视角扩散一致性] --> B[Cross-view self-attn<br/>MVDream]
A --> C[Epipolar attn<br/>SyncDreamer]
A --> D[Video diffusion<br/>SV3D / CAT3D]
B --> B1[简单<br/>无需相机参数<br/>视图数固定]
C --> C1[严格几何先验<br/>需要相机内外参<br/>泛化好]
D --> D1[利用视频预训练<br/>视图密集<br/>计算昂贵]
4.3 代表作汇总
| 方法 | 输出 | 一致性机制 | 输入条件 |
|---|---|---|---|
| Zero-1-to-3 (2023) | 单张新视角 | 隐式(共享权重) | 单图 + 相对位姿 |
| Zero123++ (2023) | 6 个固定视角 | 拼贴 + cross-attn | 单图 |
| MVDream (2023) | 4 个固定视角 | Cross-view self-attn | 文字 |
| SyncDreamer (2023) | 16 个视角 | Epipolar attn | 单图 |
| Wonder3D (2023) | RGB + Normal × N 视角 | Cross-domain attn | 单图 |
| ImageDream (2023) | 4 视角 | Cross-view self-attn | 单图 |
| SV3D (2024) | 21 帧轨道视角 | Video diffusion | 单图 |
| CAT3D (2024) | N 个新视图 | Video diffusion | 1-N 张图 + 目标位姿 |
4.4 多视角扩散 → 3D 的下游
多视角扩散本身不直接输出 3D,需要后续重建步骤:
- 多视角扩散生成 N 张一致图
- 用 NeRF / 3DGS / 学习式 MVS 从这 N 张图重建 3D
- (可选)SDS 微调
这个 pipeline 的瓶颈是步骤 2 仍然慢。这驱动了 § 5 前馈式直接出 3D 的范式。
5. 前馈重建派
前馈派的目标:几秒到几十秒直接出 3D,无需 per-scene 优化。
5.1 LRM:奠基之作
LRM (Large Reconstruction Model, Hong et al. 2023) 是这条线的开创工作,思路非常直接:
Transformer 既然能从文字预测图像(DALL-E、Imagen),那也能从图像预测 3D 表征。
架构:
输入:单张图 (256×256)
↓
DINO ViT encoder → image tokens
↓
Cross-attention transformer (10+ 层)
↓
预测 Triplane 特征 (3 × 32×32×80)
↓
+ 小 MLP decoder(共享)
↓
NeRF 渲染:体渲染采样 → RGB
训练:在 Objaverse + MVImgNet 上做端到端监督——给定单图,直接预测能渲染出多视角 ground truth 的 Triplane。损失就是渲染图与 GT 多视角的 L2 + LPIPS。
结果:单张图 5 秒生成 3D,质量相当于早期 SDS 的 1 小时优化。是这条线的范式转折点。
5.2 LRM 后裔
InstantMesh (Xu et al. 2024)
LRM 的输出是 NeRF(隐式),不利于游戏/AR 等下游应用。InstantMesh 的改进:
- 第一阶段:用 Zero123++ 生成 6 个视角图
- 第二阶段:LRM 风格 transformer 预测 FlexiCubes 表示(可微的 mesh 表征)
- 第三阶段:从 FlexiCubes 提取 mesh + 烘焙纹理
总耗时约 10 秒,输出标准 mesh,是开源社区最常用的 image-to-mesh pipeline 之一。
TripoSR (TripoAI + Stability 2024)
LRM 的开源 SOTA 复现版,模型参数 0.5B,单 RTX 3090 上 0.5 秒出结果。代码、权重、训练数据全部公开。
LGM / GRM:3DGS 输出版
LRM 的 Triplane → NeRF 渲染速度仍受体渲染限制。LGM (Tang et al. 2024) 和 GRM (Xu et al. 2024) 改成:
- 输入:4 个视角图(Zero123++ 或 MVDream 生成)
- Transformer 输出:每个像素对应一个 3D Gaussian(所以 4 视图 × H × W 个高斯)
- 直接 3DGS 渲染
效果:100ms 级别推理,渲染速度也是 3DGS 级别,质量与 LRM 相当。
TriplaneGaussian (Zou et al. 2023)
混合表征:transformer 输出 Triplane(用作 spatial feature),再通过 MLP 解码成 3DGS 参数。结合了 Triplane 的归纳偏置和 3DGS 的渲染速度。
5.3 结构化 latent 派
2024 年下半年的关键转折:先 diffusion 出一个结构化 latent,再 decode 到具体 3D 表征。这是 Stable Diffusion 范式的 3D 版。
Trellis (Microsoft, 2024)
Trellis 提出 Sparse Structured Latent (SLAT):
- Encoder:把 3D 资产编码成稀疏 voxel 网格上的 latent,每个 token 同时携带 occupancy 和 feature
- Diffusion:在这个稀疏 latent 上做 flow matching
- Decoder:同一个 latent 可 decode 到 3DGS / Mesh / NeRF / Radiance Field 任一表征
关键创新:单一 latent,多种输出。同一次 diffusion 出的 latent 可以同时给游戏(mesh)和 AR(3DGS)使用。
Hunyuan3D 1.0 / 2.0 (腾讯, 2024-2025)
Hunyuan3D 2.0 把 3D 生成拆分为两个独立的 diffusion:
- Shape Diffusion:在 Signed Distance Field (SDF) 的 latent 上 diffusion,生成几何
- Texture Diffusion:固定几何后,在 UV 空间或多视角图上 diffusion,生成纹理
这种解耦让两个子任务可以分别用最适合的表征——SDF 利于几何 diffusion,多视角图利于纹理高频细节。质量在 2025 年初 image-to-3D 测评中名列前茅。
3DTopia / 3DTopia-XL
3DTopia (Hong et al. 2024) 用 Triplane latent + diffusion;3DTopia-XL (Chen et al. 2024) 把规模扩大到 1B 参数,是首个完全 diffusion-based 的 text-to-3D 大模型。
5.4 前馈派与多视角扩散派的关系
值得注意的是,5.2-5.3 的多数方法实际上是两阶段:
graph LR
A[输入图/文字] --> B[多视角扩散<br/>Zero123++ / MVDream]
B --> C[N 张一致视角图]
C --> D[前馈重建<br/>LRM / LGM / InstantMesh]
D --> E[3D 表征]
第 4 章的多视角扩散和第 5 章的前馈重建在工程上是串联使用的,不是相互替代。结构化 latent 派(Trellis / Hunyuan3D)是首次有方法完全跳过中间多视角图,直接 image → latent → 3D。
6. 稀疏视图重建
前面 § 5 处理的是单图输入。现实场景中常有 2-10 张稀疏视图(手机拍摄、监控、街景),这是一个介于"几何派密集多视图"和"生成派单图"之间的灰色地带。稀疏视图重建用 diffusion 先验补全缺失视角,让传统 NeRF / 3DGS 能从少量视图工作。
6.1 Diffusion-prior 补全派
ReconFusion (Wu et al. 2023)
核心想法:NeRF 训练时用 diffusion 先验补 loss。
- 对当前 NeRF 渲染未见视角 \(\mathbf{x}_{\text{novel}}\)
- 用一个 diffusion 模型 \(\epsilon_\phi\) 评估 \(\mathbf{x}_{\text{novel}}\) 是否"看起来真实"
- 把 SDS 风格的梯度作为额外监督加到 NeRF 训练上
效果:3 张视图就能重建出接近 50 张视图的质量。
CAT3D (Gao et al. 2024)
更前沿的思路:用视频扩散一次性生成几百个目标视角,再让 NeRF / 3DGS 从这些"幻觉视角"训练。
输入:1-3 张图 + 几百个目标相机轨迹
↓
视频扩散(cross-view + cross-time attn)
↓
输出:几百张密集视角图(一致性由 video model 保证)
↓
普通 3DGS 训练
↓
重建好的场景
CAT3D 把"稀疏视图"问题转化为"先生成密集视图,再用经典几何派方法",质量在 1 张图设置下也接近 ground truth。
ZeroNVS (Sargent et al. 2023)
把 Zero-1-to-3 扩展到场景级(不只是物体)。在大规模场景数据集(CO3D + RealEstate10K + ACID)上训练,处理户外/室内任意场景。
6.2 前馈式稀疏视图 → 3DGS
这是另一条路:给定 2-3 张视图,前馈直接出 3DGS,完全跳过 per-scene 优化。
pixelSplat (Charatan et al. 2023)
输入两张图,transformer 直接预测每个像素对应的 3D Gaussian 参数(位置由 epipolar 约束估计深度,其他参数 transformer 预测)。100 ms 推理。
MVSplat (Chen et al. 2024)
pixelSplat 的多视图扩展,引入 cost volume 估计深度。在稀疏视图新视图合成上是 2024 年 SOTA。
Splatter Image (Szymanowicz et al. 2023)
最简单:单图 → U-Net → "splatter image"(每像素一个 Gaussian)→ 3DGS。1 秒推理,物体级 3D 资产生成。
6.3 与 LRM 系的区别
| 维度 | LRM 系(§ 5) | pixelSplat / MVSplat(§ 6.2) |
|---|---|---|
| 输入 | 单图(+ 多视角扩散辅助) | 2-3 张稀疏视图(带相机参数) |
| 训练数据 | Objaverse 物体级 | RealEstate10K / ACID 场景级 |
| 用途 | 3D 资产生成 | 场景新视图合成 |
值得注意:World Labs 的 Marble 据公开信息使用了类似 CAT3D / MVSplat 的 scene-level 稀疏视图重建技术(详见 § 9 边界讨论)。
7. 数据集与评估
7.1 数据集生态
Objaverse 系列:物体级 3D 数据基石
- Objaverse 1.0 (Deitke et al. 2022):80 万物体级 3D 资产,从 Sketchfab 抓取
- Objaverse-XL (Deitke et al. 2023):1000 万 3D 资产,扩展到 GitHub、Thingiverse、Smithsonian 等
几乎所有 image-to-3D / text-to-3D 训练都用 Objaverse 的渲染对(每个资产渲染 12-32 个视角)。
数据质量问题
Objaverse 中相当比例的资产是 watermark/二维 sticker/低质量模型。实际训练前通常会做严格过滤(aesthetic score、几何质量、CLIP score 阈值),最终可用约 30-50%。
场景级数据集
| 数据集 | 内容 | 规模 | 用途 |
|---|---|---|---|
| RealEstate10K | YouTube 房产 vlog | 80K 视频 | 场景级新视图合成 |
| ACID | YouTube 航拍 | 13K 视频 | 户外场景 |
| CO3D (Reizenstein 2021) | 真实物体 | 19K 物体,1.5M 帧 | 物体级新视图合成 |
| MVImgNet (Yu 2023) | 真实物体 | 220K 物体 | LRM 训练补充 |
评估基准
- GSO (Google Scanned Objects):1000 个真实扫描物体,image-to-3D 的标准 benchmark
- DTU / NeRF Synthetic:传统 NVS benchmark,常用于稀疏视图设置
7.2 评估指标
几何质量
- Chamfer Distance (CD):点云间的双向最近邻距离平均,越小越好 $$ \text{CD}(P, Q) = \frac{1}{|P|} \sum_{p \in P} \min_{q \in Q} |p - q|^2 + \frac{1}{|Q|} \sum_{q \in Q} \min_{p \in P} |q - p|^2 $$
- F-score:在固定阈值 \(\tau\) 下的 precision/recall 调和平均
- IoU (Intersection over Union):体素级重叠
视觉质量
- LPIPS (Zhang 2018):感知相似度
- PSNR / SSIM:传统像素级指标(对生成式 3D 不太敏感)
- CLIP score:渲染图与 prompt 的 CLIP embedding 余弦相似度(仅适用 text-to-3D)
- FID:渲染分布与真实分布的距离
多视角一致性
- MV-CLIP:渲染多个视角后取 CLIP embedding 方差,越小越一致
- Reprojection error:基于 depth 的几何一致性
- 用户研究:多视角失败模式(Janus)很难被自动指标检测,至今用户研究仍是必要的
7.3 Janus problem 专题
Janus(双面神)问题在评估中经常被忽视——CLIP score 高的结果可能仍是多面怪物。
量化检测
- 渲染前/后/左/右四个视角,计算 pairwise CLIP similarity
- 如果四个视角的 prompt similarity 都很高且互相也很高(说明几乎是同一张图)→ 可能 Janus
- 配合人类标注 ground truth Janus / non-Janus 训练分类器
缓解方案的效果
| 方案 | Janus 缓解 | 计算成本 | 适用范围 |
|---|---|---|---|
| View-conditioned prompt | 中 | 0 | 任何 SDS 方法 |
| Progressive view sampling | 中 | 低 | SDS 优化 |
| Debiased SDS / Perp-Neg | 中-高 | 低 | SDS 优化 |
| 多视角扩散先验(MVDream 等) | 高 | 高(重新训练 prior) | 一切下游 |
| 前馈重建(LRM 系) | 高(监督学习从根本绕过) | 高(一次性训练) | 物体级 |
趋势是从"事后修补"(view prompt)走向"先验内置一致性"(MVDream / LRM)。
8. 方法谱系总览
8.1 全方法对比表
| 方法 | 年份 | 流派 | 输入 | 表征 | 训练成本 | 推理时间 | Janus | 开源 |
|---|---|---|---|---|---|---|---|---|
| DreamFusion | 2022.09 | SDS | text | NeRF | 0 | 1.5 h | 重 | ❌(Imagen 闭源) |
| SJC | 2022.12 | SDS | text | NeRF | 0 | 1 h | 重 | ✅ |
| Magic3D | 2023.02 | SDS 两阶段 | text | NeRF→Mesh | 0 | 40 min | 重 | ❌ |
| Latent-NeRF | 2022.11 | SDS | text | latent NeRF | 0 | 30 min | 重 | ✅ |
| Fantasia3D | 2023.03 | SDS 解耦 | text | DMTet | 0 | 1 h | 中 | ✅ |
| Zero-1-to-3 | 2023.03 | 多视角扩散 | image | NA | $$$ | 30 s | 中 | ✅ |
| ProlificDreamer | 2023.05 | VSD | text | NeRF | 0(在线 LoRA) | 2-4 h | 中 | ✅ |
| MVDream | 2023.08 | 多视角扩散 + SDS | text | NeRF | $$$ | 30 min | 轻 | ✅ |
| SyncDreamer | 2023.09 | 多视角扩散 | image | NeRF | $$$ | 5 min | 轻 | ✅ |
| DreamGaussian | 2023.09 | SDS + 3DGS | image/text | 3DGS→Mesh | 0 | 3-5 min | 中 | ✅ |
| Wonder3D | 2023.10 | RGB+Normal 多视角扩散 | image | Mesh | $$$ | 3 min | 轻 | ✅ |
| LRM | 2023.11 | 前馈 | image | Triplane→NeRF | $$$$ | 5 s | 轻 | 部分 |
| ReconFusion | 2023.12 | 稀疏视图 + diffusion | 3 images | NeRF | $$$ | 10 min | NA | ❌ |
| Zero123++ | 2023.10 | 多视角扩散 | image | NA | $$$ | 30 s | 轻 | ✅ |
| InstantMesh | 2024.03 | 多视角扩散 + 前馈 | image | Mesh | $$$$ | 10 s | 轻 | ✅ |
| TripoSR | 2024.03 | 前馈 | image | Triplane→NeRF | $$$$ | 0.5 s | 轻 | ✅ |
| LGM | 2024.02 | 多视角扩散 + 前馈 | image | 3DGS | $$$$ | 5 s | 轻 | ✅ |
| GRM | 2024.03 | 多视角扩散 + 前馈 | image | 3DGS | $$$$ | 0.1 s | 轻 | ✅ |
| pixelSplat | 2023.12 | 稀疏视图前馈 | 2 images | 3DGS | $$$$ | 0.1 s | NA | ✅ |
| MVSplat | 2024.03 | 稀疏视图前馈 | 2-N images | 3DGS | $$$$ | 0.1 s | NA | ✅ |
| SV3D | 2024.03 | 视频扩散先验 | image | NA | $$$$ | 5 min | 轻 | 部分 |
| CAT3D | 2024.05 | 视频扩散 + 重建 | 1-N images | NeRF/3DGS | $$$$ | 1 min | 轻 | ❌ |
| Trellis | 2024.12 | 结构化 latent | image/text | SLAT→多种 | $$$$$ | 30 s | 轻 | ✅ |
| Hunyuan3D 2.0 | 2025.01 | shape + texture 双扩散 | image | Mesh | $$$$$ | 1 min | 轻 | ✅ |
注:训练成本 $$ 表示 prior 训练成本(per-scene 优化派为 0),$$$$ 大约 $10K-100K GPU-hour 量级。
8.2 趋势演化
graph LR
Era1[2022-2023 H1<br/>SDS 优化派<br/>per-scene 慢] --> Era2[2023 H2<br/>多视角扩散<br/>一致性内置]
Era2 --> Era3[2023 末-2024<br/>前馈重建<br/>秒级出 3D]
Era3 --> Era4[2024-2025<br/>结构化 latent<br/>统一框架]
核心规律:
- 从优化到学习:per-scene 优化(小时级)→ 一次性训练 + 前馈推理(秒级)
- 从隐式到结构化:纯 SDS(无 3D 先验)→ 多视角扩散(隐式 3D 先验)→ Triplane / SLAT(显式结构化先验)
- 从单一表征到多输出:方法早期绑定一种 3D 表征(NeRF),现在 latent diffusion 可统一 decode 到 mesh / 3DGS / NeRF
- 从物体到场景:早期只能做物体级(Objaverse 训练),现在 CAT3D / ZeroNVS 已扩展到场景级
8.3 选型建议
| 你的需求 | 推荐方法 |
|---|---|
| Text-to-3D,质量优先,可以等 | ProlificDreamer (VSD) |
| Text-to-3D,速度优先 | DreamGaussian / MVDream + DreamFusion |
| Image-to-3D,工程化部署 | InstantMesh / TripoSR / Trellis |
| Image-to-3D,开源最强 SOTA | Hunyuan3D 2.0 |
| 稀疏视图(2-3 张)→ 3D | MVSplat / CAT3D |
| 单图 → 可漫游场景 | CAT3D / ZeroNVS |
| 研究 SDS 改进 | DreamFusion + 多视角扩散 prior(如 MVDream) |
| 研究新表征 | Trellis(结构化 latent 是 2024-2025 主流方向) |
9. 与相邻主题的边界
生成式 3D 与多个相邻方向技术上相通、定位不同。明确边界有助于在不同笔记之间正确导航。
9.1 与几何派 3D 重建
参见 3D视觉.md。
| 维度 | 生成式 3D(本文) | 几何派 3D(3D视觉.md) |
|---|---|---|
| 数据假设 | 单图 / 文字 / 少量视图 | 密集多视角(数十张校准过的图) |
| 核心机制 | 2D diffusion 先验 + 渲染 | 几何约束 + 体渲染 |
| 不需要 | 相机标定(多数情况) | / |
| 必须有 | 大规模 2D 训练数据 | 大量视图 + 标定 |
| 代表方法 | DreamFusion / LRM / Trellis | NeRF / 3DGS / SfM-MVS |
技术重叠:3D Gaussian Splatting 同时在两边出现——几何派把它当重建结果,生成派把它当输出表征。
9.2 与 Diffusion 方法学
参见 Diffusion.md。
生成式 3D 的核心方法(SDS / VSD / 多视角扩散)都建立在 DDPM / DDIM / Score-Based 框架之上。本文只讲应用层;方法学请回到 Diffusion.md。
特别相关的 § 在 Diffusion.md 中:
- § Score-Based 视角:理解 SDS 等价于 score 蒸馏的关键
- § Classifier-Free Guidance:SDS 实践中 CFG 权重选择
- § Latent Diffusion:理解 Latent-NeRF / Trellis 的 latent 路径
9.3 与世界模型
参见 世界模型与视频生成.md(具身视角)和 空间智能与学习式仿真.md(路径论)。
关键区分:
- 生成式 3D 输出静态 3D 表征,没有时间维度,不接受动作输入
- 世界模型预测 \(f(s_t, a_t) \to s_{t+1}\),本质是时序模型
- 两者维度正交:生成式 3D 是"空间维度的 inverse problem",世界模型是"时间维度的 forward prediction"
9.4 与"空间智能"路径论
参见 空间智能与学习式仿真.md。
李飞飞 World Labs / Marble 的"持久可漫游 3D 世界"在工程上使用了本文 § 6 稀疏视图重建(CAT3D / MVSplat 类技术)+ § 5 大规模前馈重建。但其定位是对 AGI 路径的论点——"3D 比 2D / 语言更接近人类认知"——而非具体方法。两个文件互为补充:
- 本文:方法手册(how to do 3D generation/reconstruction with diffusion)
- 空间智能:路径论 / 流派比较(why spatial intelligence matters)
- 世界模型与视频生成:在机器人里怎么用(how to use for embodied AI)
9.5 与生成式基座模型
参见 Generative_Foundation_Model.md § 文本到 3D。
那篇笔记是多模态生成基座的综览(T2I / T2V / T2A / T2-3D 各一节)。其中 § 文本到 3D 是本文的浓缩版(约 20 行),适合快速查阅。本文是该方向的完整展开。
参考文献
按时间顺序列出关键论文:
SDS / VSD 优化派
- Poole et al., "DreamFusion: Text-to-3D using 2D Diffusion," ICLR 2023.
- Wang et al., "Score Jacobian Chaining: Lifting Pretrained 2D Diffusion Models for 3D Generation," CVPR 2023.
- Metzer et al., "Latent-NeRF for Shape-Guided Generation of 3D Shapes and Textures," CVPR 2023.
- Lin et al., "Magic3D: High-Resolution Text-to-3D Content Creation," CVPR 2023.
- Chen et al., "Fantasia3D: Disentangling Geometry and Appearance for High-quality Text-to-3D Content Creation," ICCV 2023.
- Wang et al., "ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation," NeurIPS 2023.
- Tang et al., "DreamGaussian: Generative Gaussian Splatting for Efficient 3D Content Creation," ICLR 2024.
- Yi et al., "GaussianDreamer: Fast Generation from Text to 3D Gaussians by Bridging 2D and 3D Diffusion Models," CVPR 2024.
多视角扩散派
- Liu et al., "Zero-1-to-3: Zero-shot One Image to 3D Object," ICCV 2023.
- Shi et al., "MVDream: Multi-view Diffusion for 3D Generation," ICLR 2024.
- Liu et al., "SyncDreamer: Generating Multiview-consistent Images from a Single-view Image," ICLR 2024.
- Long et al., "Wonder3D: Single Image to 3D using Cross-Domain Diffusion," CVPR 2024.
- Shi et al., "Zero123++: a Single Image to Consistent Multi-view Diffusion Base Model," 2023.
- Voleti et al., "SV3D: Novel Multi-view Synthesis and 3D Generation from a Single Image using Latent Video Diffusion," ECCV 2024.
前馈重建派
- Hong et al., "LRM: Large Reconstruction Model for Single Image to 3D," ICLR 2024.
- Xu et al., "InstantMesh: Efficient 3D Mesh Generation from a Single Image with Sparse-view Large Reconstruction Models," 2024.
- TripoSR (Stability AI + Tripo, 2024). Technical report.
- Tang et al., "LGM: Large Multi-View Gaussian Model for High-Resolution 3D Content Creation," ECCV 2024.
- Xu et al., "GRM: Large Gaussian Reconstruction Model for Efficient 3D Reconstruction and Generation," ECCV 2024.
- Zou et al., "TriplaneGaussian: Fast and Generalizable Single-View 3D Reconstruction with Transformers," CVPR 2024.
结构化 latent 派
- Xiang et al., "Structured 3D Latents for Scalable and Versatile 3D Generation (Trellis)," 2024.
- Hunyuan3D Team, "Hunyuan3D 2.0: Scaling Diffusion Models for High Resolution Textured 3D Assets Generation," 2025.
- Hong et al., "3DTopia: Large Text-to-3D Generation Model with Hybrid Diffusion Priors," 2024.
稀疏视图重建
- Wu et al., "ReconFusion: 3D Reconstruction with Diffusion Priors," CVPR 2024.
- Gao et al., "CAT3D: Create Anything in 3D with Multi-View Diffusion Models," NeurIPS 2024.
- Sargent et al., "ZeroNVS: Zero-Shot 360-Degree View Synthesis from a Single Image," CVPR 2024.
- Charatan et al., "pixelSplat: 3D Gaussian Splats from Image Pairs for Scalable Generalizable 3D Reconstruction," CVPR 2024.
- Chen et al., "MVSplat: Efficient 3D Gaussian Splatting from Sparse Multi-View Images," ECCV 2024.
- Szymanowicz et al., "Splatter Image: Ultra-Fast Single-View 3D Reconstruction," CVPR 2024.
数据集
- Deitke et al., "Objaverse: A Universe of Annotated 3D Objects," CVPR 2023.
- Deitke et al., "Objaverse-XL: A Universe of 10M+ 3D Objects," NeurIPS 2023.
- Reizenstein et al., "Common Objects in 3D: Large-Scale Learning and Evaluation of Real-life 3D Category Reconstruction," ICCV 2021.