Files
note_sync/大模型/deepseek/05-多模态/08-DreamCraft3D-2310.16818_abstract.md
T

14 KiB
Raw Blame History

DreamCraft3D:基于自举扩散先验的层次化 3D 生成

原文标题:DreamCraft3D: Hierarchical 3D Generation with Bootstrapped Diffusion Prior arXiv:2310.16818 | 发布:25 Oct 2023(最后修订 26 Oct 2023) 作者/机构:Jingxiang Sun、Bo Zhang(通讯作者)、Ruizhi Shao、Lizhen Wang、Wen Liu、Zhenda Xie、Yebin Liu(清华大学、DeepSeek AI(深度求索)、独立研究者) 原文 PDF:08-DreamCraft3D-2310.16818.pdf

说明:本文作者主要来自清华大学,论文脚注明确标注「Work partially done during the internship at DeepSeek AI」,作者单位中列入 DeepSeek AI(Wen Liu、Zhenda Xie)。DeepSeek 的参与度有限,属实习期间的早期合作成果,与 DeepSeek 主线大模型研究无直接关系;论文代码托管于 deepseek-ai/DreamCraft3D。

一、摘要(全文翻译)

我们提出 DreamCraft3D,一种层次化的 3D 内容生成方法,能够产生高保真且连贯一致的 3D 物体。我们通过利用一张 2D 参考图像来引导「几何雕塑」(geometry sculpting)与「纹理增强」(texture boosting)两个阶段,从而解决该问题。本工作的核心关注点是解决已有方法所遭遇的一致性(consistency)问题。为了雕塑出渲染结果彼此连贯的几何形状,我们通过一个视角相关的扩散模型(view-dependent diffusion model)执行分数蒸馏采样(Score Distillation Sampling, SDS)。这一 3D 先验连同若干训练策略,优先保障几何一致性,但在纹理保真度上有所妥协。我们进一步提出自举分数蒸馏(Bootstrapped Score Distillation, BSD),专门用于提升纹理质量。我们在该场景的增强渲染图像上训练一个个性化扩散模型 DreamBooth,使其获得关于正在被优化的场景的 3D 知识。由这一 3D 感知扩散先验所做的分数蒸馏,为场景提供视角一致的引导。值得注意的是,通过对扩散先验与 3D 场景表征进行交替优化,我们实现了互相促进的改进:优化后的 3D 场景有助于训练场景专属的扩散模型,而后者又为 3D 优化提供越来越视角一致的引导。于是优化过程形成自举(bootstrapped),并带来显著的纹理提升。凭借贯穿层次化生成过程的量身定制 3D 先验,DreamCraft3D 生成的 3D 物体既连贯一致,又具备照片级真实的渲染效果,推进了 3D 内容生成的最先进水平。代码发布于 https://github.com/deepseek-ai/DreamCraft3D 。

二、核心贡献

  1. 层次化流水线:把「文本→3D」拆为「文本→2D 参考图→几何雕塑→纹理增强」,各阶段用专门技术,在高复杂度资产上兼顾全局 3D 一致性与照片级纹理。
  2. 视角条件 3D 先验与混合 SDS:用 Zero-1-to-3 提供 3D 感知的分数引导,并与 2D 扩散先验的 SDS 相加($\mu=2$),在抑制 Janus 问题与保持通用图像升维质量之间取得平衡。
  3. 几何一致性训练策略:渐进扩大训练视角、扩散时间步退火、由 NeuS 隐式表面过渡到 DMTet 带纹理网格的由粗到细优化。
  4. 自举分数蒸馏(BSD):在带噪增强的多视角渲染上微调 DreamBooth 得到场景专属 3D 先验,并与 3D 网格交替优化,使扩散先验与 3D 表征互相促进。
  5. 结构感知隐变量正则化:用 ControlNet 引导的 inpainting 补全参考视角不可见区域,并以隐变量范数约束温和注入,减少不一致。
  6. 大幅领先并开源:300 样本基准上四项指标全面领先 Make-it-3D 与 Magic123,用户研究中平均 92% 偏好本方法;代码公开。

三、方法与技术要点

3.1 总体流水线与设计动机

灵感来自人工美术流程:先画 2D 草稿,再塑粗模、雕细节、最后上色。方法据此把「文本→3D」拆为三级:先用文本到图像模型生成 2D 参考图,再提升到 3D,依次经过几何雕塑与纹理增强。拆阶段是因为:几何阶段优先多视角一致性与全局结构、容忍纹理损失;纹理阶段固定几何、只专注连贯真实的纹理。关键差别在于 SDS 与 VSD 都从固定的 2D 分布蒸馏,只保证单视角「看起来合理」而非全局 3D 一致,故普遍受困于雅努斯问题(Janus issue,各视角单独看合理、整体语义与风格互相矛盾)。

3.2 几何雕塑阶段:参考视角监督损失

目标是在参考视角匹配参考图 $\hat{\bm{x}}$,同时其他视角依然合理,故对随机视角施加 SDS 损失:


\nabla_\theta \mathcal{L}_{\text{SDS}}(\phi, g(\theta)) = \mathbb{E}_{t,\bm{\epsilon}}\Big[\omega(t)\big(\bm{\epsilon}_\phi(\bm{x}_t;y,t)-\bm{\epsilon}\big)\frac{\partial \bm{x}}{\partial \theta}\Big]

即渲染图加噪后预测噪声与所加噪声的逐像素差,\omega(t) 为权重函数。为利用参考图,在参考视角 \hat{c} 上施加仅计前景的光度损失 \mathcal{L}_{\text{rgb}}=\lVert\hat{\bm{m}}\odot(\hat{\bm{x}}-g(\theta;\hat{c}))\rVert_2 与掩码损失 $\mathcal{L}_{\text{mask}}=\lVert\hat{\bm{m}}-g_m(\theta;\hat{c})\rVert_2$(后者鼓励场景稀疏),并由参考图推断深度与法向先验强制一致:


\mathcal{L}_{\text{depth}}=-\frac{\text{conv}(\bm{d},\hat{\bm{d}})}{\sigma(\bm{d})\sigma(\hat{\bm{d}})},\qquad \mathcal{L}_{\text{normal}}=-\frac{\bm{n}\cdot\hat{\bm{n}}}{\lVert\bm{n}\rVert_2\cdot\lVert\hat{\bm{n}}\rVert_2}

其中 $\hat{\bm{d}}$、\hat{\bm{n}} 由现成单视图估计器给出;深度损失取负皮尔逊相关形式以规避深度尺度不匹配。但仅此仍难保证背面语义一致,故需额外手段。

3.3 3D 感知扩散先验与混合 SDS 损失

仅靠逐视角监督的 3D 优化欠约束,因此引入在大规模 3D 资产上训练的视角条件扩散模型 Zero-1-to-3:给定参考图与相对位姿 c 即可「幻想」对应视角图像,编码更丰富的 3D 知识:


\nabla_\theta \mathcal{L}_{\text{3D-SDS}}(\phi, g(\theta)) = \mathbb{E}_{t,\bm{\epsilon}}\Big[\omega(t)\big(\bm{\epsilon}_\phi(\bm{x}_t;\hat{\bm{x}},c,y,t)-\bm{\epsilon}\big)\frac{\partial \bm{x}}{\partial \theta}\Big]

它能缓解 Janus 类缺陷,但该模型基于类别有限、渲染质量偏低的数据微调,生成能力受损,单独使用会拖坏通用图像升维质量。故采用混合 SDS 损失,同时纳入 2D 与 3D 先验:


\nabla_\theta \mathcal{L}_{\text{hybrid}}(\phi, g(\theta)) = \nabla_\theta \mathcal{L}_{\text{SDS}}(\phi, g(\theta)) + \mu \nabla_\theta \mathcal{L}_{\text{3D-SDS}}(\phi, g(\theta))

取 \mu=2 强调 3D 先验权重;\mathcal{L}_{\text{SDS}} 使用 DeepFloyd IF base 模型(64\times64 像素空间,更擅长捕捉粗粒度几何)。

3.4 渐进视角训练、时间步退火与由粗到细

渐进视角训练:直接求解 360° 自由视角会因单张参考图的固有歧义产生几何伪影,故逐步扩大训练视角,把已稳固的几何传播到 360°。扩散时间步退火:优化初期从 [0.7,0.85] 采样较大的 t 以建立全局结构,数百次迭代内线性退火到 [0.2,0.5] 再精修细节。细节结构增强:先用 NeuS 式隐式表面与体渲染建立粗结构,再用可变形四面体网格(DMTet)初始化带纹理网格以获得高分辨率细节;该表示解耦几何与纹理学习,使此后可以只精修纹理。

3.5 自举分数蒸馏(BSD)

几何阶段纹理模糊有三因:2D 先验分辨率粗($64\times64$)、3D 感知模型锐度有限、大无分类器引导(CFG)带来过平滑与过饱和。纹理阶段改用变分分数蒸馏(VSD)并切换到 Stable Diffusion 获取高分辨率梯度,固定四面体网格只优化纹理,且刻意不用 Zero-1-to-3(会损害纹理质量):


\mathcal{L}_{\text{VSD}}=D_{\text{KL}}\big(q^\mu(\bm{x}_0|y)\,\|\,p(\bm{x}_0|y)\big),\qquad \nabla_\theta \mathcal{L}_{\text{VSD}} = \mathbb{E}_{t,\bm{\epsilon}}\Big[\omega(t)\big(\bm{\epsilon}_\phi(\bm{x}_t;y,t)-\bm{\epsilon}_{\text{lora}}(\bm{x}_t;y,t,c)\big)\frac{\partial \bm{x}}{\partial \theta}\Big]

但仅用 VSD,不一致的纹理可能回归。作者观察到上一阶段的多视角渲染虽偏模糊却具备良好 3D 一致性,于是用 DreamBooth 在这些渲染 \{\bm{x}\} 上微调,让模型对「场景环绕视角」形成概念——提示词含唯一标识符与类别名(如 "A [V] astronaut"),每视角相机参数作为附加条件。关键技巧是用带噪增强渲染 $\bm{x_r}=r_{t'}(\bm{x})$:按时间步 t' 注入高斯噪声 \bm{x}_{t'}=\alpha_{t'}\bm{x}_0+\sigma_{t'}\bm{\epsilon} 再由模型恢复,t' 越大暴露的高频细节越多、但保真度越低。据此对 3D 场景与扩散先验做交替优化:初期渲染模糊就用较大的 t' 增强纹理(代价是引入一些 3D 不一致);纹理变精细后减小噪声,DreamBooth 便从更一致的渲染学习。3D 梯度由如下 BSD 损失给出:


\nabla_\theta \mathcal{L}_{\text{BSD}}(\phi, g(\theta)) = \mathbb{E}_{t,\bm{\epsilon},c}\Big[\omega(t)\big(\bm{\epsilon}_{\text{DreamBooth}}(\bm{x}_t;y,t,r_{t'}(\bm{x}),c)-\bm{\epsilon}_{\text{lora}}(\bm{x}_t;y,t,\bm{x},c)\big)\frac{\partial \bm{x}}{\partial \theta}\Big]

与从固定 2D 模型蒸馏的先前工作不同,BSD 学习一个不断演化的模型,靠正在被雕刻的 3D 模型反馈而越来越 3D 一致;交替两轮即可得到细节丰富且一致的纹理。

3.6 结构感知隐变量正则化与实现细节

结构感知隐变量正则化:为在保留 BSD 画质的同时减少不一致,另用 ControlNet 引导的 inpainting 扩散模型正则化纹理——先算出任意视角渲染图在参考视角下的可见部分(生成中的不变量),由 inpainting 补全其余区域并经 ControlNet 注入几何法向;补全图不直接作为渲染图损失,而以隐变量范数约束温和引入:$\mathcal{L}{\text{reg}}(\phi,g(\theta))=\Sigma(\lVert E(x)\rVert_2-\lVert E(x{\text{reg}})\rVert_2)^2$。

实现细节:几何阶段用 NeuS 与带纹理网格、Instant NGP(分辨率 64→384),纹理网格用 DMTet(网格 128、渲染 512);按 Magic3D 定期做密度剪枝,并冻结材质增广(不利于收敛)。粗 NeuS 阶段一半 GPU 采样随机相机距离与视场角、另一半固定默认内参(Zero-1-to-3 需固定内参)。时间退火:几何阶段 t 由 \mathcal{U}(0.7,0.85) 退火到 \mathcal{U}(0.2,0.50) 后保持,多视角数据集生成由 t=0.5 退火到 $t=0.1$。

四、主要实验结果

基准 / 任务 本模型 对比对象 说明
CLIP ↑(语义一致性) 0.896 Make-it-3D 0.872;Magic123 0.843 300 个生成样本
Contextual Distance ↓ 1.579 Make-it-3D 1.609;Magic123 1.628 像素级一致性
PSNR ↑(参考视角保真) 31.801 Magic123 22.838;Make-it-3D 18.937 参考视角
LPIPS ↓(参考视角保真) 0.005 Magic123 0.053;Make-it-3D 0.054 参考视角
用户研究偏好率 平均 92% 的用户偏好本方法 DreamFusion、Magic3D、ProlificDreamer、Make-it-3D、Magic123 15 组提示/图像,32 名参与者,共 480 份回答
消融:去掉 3D 先验 出现多面 Janus 问题、几何不规则 完整模型 说明视角感知 3D 先验对全局一致形状的关键作用
消融:纹理优化损失 BSD 在真实感与一致性之间取得平衡 SDS(过平滑、过饱和);VSD(真实但一致性明显差) 1 轮 BSD 提升一致性,2 轮 BSD 进一步增加细节

定量上四指标全面领先两个图像到 3D 基线,参考视角保真度提升最悬殊:PSNR 从 22.838 升到 31.801,LPIPS 从 0.053 降到 0.005。定性上所有文本到 3D 方法都有一致性问题:ProlificDreamer 纹理真实却难形成合理 3D 物体;Make-it-3D 正面好但几何欠佳;Magic123 借 Zero-1-to-3 改善几何正则,但两者纹理与细节都过度平滑。附录补充多样性实验与失败案例(大象鼻子几何学错)。

五、结论、局限与影响

  • 结论:几何雕塑阶段产生合理连贯的 3D 几何,自举分数蒸馏——从优化中的 3D 感知扩散先验蒸馏、并适配被优化实例的多视角渲染——显著提升纹理质量与一致性;方法生成高保真、细节丰富且多视角一致的 3D 资产,作者视之为朝向「3D 内容创作民主化」的重要一步。
  • 局限性(作者自述,附录 A.3):因深度歧义与深度先验不准确,偶尔会把正面视角的几何细节错误混入纹理(附录图 9 大象鼻子为失败案例);且未显式分离材质与光照,留待未来探索。
  • 影响:把扩散先验从静态蒸馏目标改造为随优化演化的自举先验,为 2D 先验驱动的 3D 生成提供了可复用思路;其分阶段范式与开源实现对该方向后续工作有直接参考价值。

六、关键术语对照表

English 中文
Hierarchical 3D generation 层次化 3D 生成
Score Distillation Sampling (SDS) 分数蒸馏采样
Bootstrapped Score Distillation (BSD) 自举分数蒸馏
Variational Score Distillation (VSD) 变分分数蒸馏
View-dependent diffusion model 视角相关扩散模型
3D-aware diffusion prior 3D 感知扩散先验
Classifier-Free Guidance (CFG) 无分类器引导
Janus problem 雅努斯(多面)问题
Geometry sculpting 几何雕塑
Texture boosting 纹理增强
DreamBooth 个性化扩散模型微调(DreamBooth)
DMTet (Deformable Tetrahedral Grid) 可变形四面体网格
NeuS 神经隐式表面表示
Timestep annealing 时间步退火
Photometric loss 光度损失
ControlNet-guided inpainting ControlNet 引导的图像修复