3D Generation · 交互式可视化 · #142

3D 生成
可视化实验室

从 Text-to-3D 到 DreamFusion,从 SDS 损失到 3D Gaussian Splatting。8 个交互式模块拆解"如何用文字生成可旋转的 3D 物体"——分数蒸馏、NeRF 编辑与形状表示的全景。

模块 8风格 Linear Dark依赖 零渲染 SVG分类 AI/ML
01Text-to-3D 流程图

经典两阶段管线:先用 2D 扩散模型生成参考图,再用 SDS 损失把 2D 图像"提升"为 3D 表示。点击各阶段查看细节。

02SDS 损失函数可视化

Score Distillation Sampling 用 2D 扩散模型的分数函数 ∇log p 作为梯度,指导 3D 表示优化。无需 3D 数据,只用预训练 2D 先验。调节引导强度观察梯度场。

引导强度 w 8 · 噪声步 t 5
# SDS 损失(DreamFusion) # 不需要 3D 真值,用 2D 扩散分数作梯度 ∇θ L_sds = E[ w(t) · (ε_φ(x_t;t) − ε) · ∂x/∂θ ] # ε_φ = 预训练扩散模型预测的噪声 # x = 可微渲染的 3D 视图 # θ = 3D 表示参数 (NeRF/Gaussian)
03DreamFusion 架构

DreamFusion = NeRF(可微渲染)+ Imagic(2D 扩散先验)+ SDS 损失。从随机球优化出一致的多视图 3D 物体。点击高亮各组件数据流。

关键洞察:无需任何 3D 训练数据。2D 扩散模型的分数函数充当"3D 监督信号",让 NeRF 从所有视角都符合文本描述。
043D Gaussian Splatting 生成

3DGS 用百万个各向异性高斯椭球显式表示场景,渲染快(实时)、可编辑。点击"添加高斯"观察 splatting 到 2D 的过程。

高斯数0
高斯椭球splat 像素
每个高斯 = (位置 μ, 协方差 Σ, 不透明度 α, 球谐系数 SH)。相比 NeRF 隐式场,显式表示支持直接编辑(移动/缩放/着色)。
05NeRF 编辑

NeRF 编辑:在 2D 视图上画笔刷,编辑信号通过密度/颜色场反传到 3D。选择编辑类型,点击"应用编辑"观察切片变化。

挑战:NeRF 是隐式全局函数,局部编辑会意外影响其他区域。3DGS 因显式结构,编辑更可控——这是它流行的关键原因之一。
06分数蒸馏采样过程

SDS 优化是迭代过程:每步渲染新视角 → 加噪 → 扩散模型去噪求梯度 → 更新 3D 参数。点击 Play 观察物体从噪声逐步成形。

迭代0 / 12
当前 3D 视图噪声/初始梯度方向
早期迭代渲染模糊(低分辨率加速),后期逐步细化。这正是 SDS 慢的根源——每个 3D 步都要完整前向渲染+扩散推理。
073D 形状表示对比

5 种主流 3D 表示:Voxel / Mesh / Point Cloud / Implicit(NeRF) / 3D Gaussian。切换查看同一物体的不同表示与权衡。

08生成质量评估

3D 生成质量多维评估:CLIP Score(文本一致性)、FID(视觉真实度)、IoU(几何精度)、多视图一致性、用户偏好。切换模型对比雷达图。

Magic3D 两阶段(粗 NeRF + 细 Mesh)几何更精细;ProlificDreamer 用 VSD 减少Janus 问题(多脸效应);3DGS-Gen 渲染最快但训练数据依赖重。