[CVPR-23-Highlight] Magic3D: High-Resolution Text-to-3D Content Creation

目录

Abstract

Background: DreamFusion

High-Resolution 3D Generation

Coarse-to-fine Diffusion Priors

Scene Models

Coarse-to-fine Optimization

NeRF optimization

Mesh optimization

Experiments

Controllable 3D Generation

Personalized text-to-3D

Prompt-based editing through fine-tuning


Abstract

  • DreamFusion是目前基于文本的3D生成任务的主流方法,但它有两个重要缺陷:1)NeRF收敛速度慢;2)用于监督NeRF训练的图片质量较差,导致生成的3D目标质量较差。
  • 对于上述两个问题,本文提出:1)用Instant-NGP替换DreamFusion中的NeRF;2)提出一中两阶段Coarse-to-fine的优化方法,第一步:基于Instant NGP表示低分辨率的3D物体,通过eDiff-I计算L_SDS,更新NeRF;第二步:用DMTet提取初始3D mesh,其次采样和渲染高分辨率图片,并和第一步类似,更新3D mesh。
  • 相较于DreamFusion,Magic3D速度从1.5h较低到40m;同时在User Studies中,61.7%的用户认为Magic3D的生成效果更好。

Background: DreamFusion

DreamFusion是一种text-to-3D的生成方法,由两个关键部分组成:1)目标的神经场表示;2)预训练text-to-image扩散生成模型。通常,神经场是一个参数化函数:x = g($\theta$),给定相机位姿,渲染对应的图片x,其中,g是体渲染,theta是coordinate-based MLP。

扩散模型\phi,包含去噪函数\epsilon(x_t; y, t),其中有预测噪声\epsilon,噪声图像x_t,噪声等级t和文本编码y。扩散模型提供了更新\theta的梯度方向:所有的渲染图像均被推到文本相关的高概率密度区域(all rendered images are pushed to the high probability density regions conditioned on the text embedding under the diffusion prior)。具体来说,DramFusion提出了Score Distillation Sampling (SDS):

其中,w(t)是权重函数。在实际应用时,常用classifier-free guidance,可以控制text conditioning的强度。

DreamFusion使用Mip-NeRF 360和Imagen。这有两个关键限制:1)无法获得高分辨率几何和纹理;2)现有的Mip-NeRF计算开销很大。

High-Resolution 3D Generation

  • Magic3D是一个两阶段coarse-to-fine框架。

Coarse-to-fine Diffusion Priors

  • Magic3D在coarse-to-fine中,有两个不同的扩散先验。在第一阶段,本文使用eDiff-I,可以在64 x 64低分辨率情况下,计算场景模型梯度;在第二阶段,本文使用Stable Diffusion,可以在高分辨率情况下反传梯度。尽管生成了高分辨率图像,SD的计算开销是可控的,因为扩散先验是作用在z_t上,而z_t的分辨率只有64 x 64。

Scene Models

  • 在粗场景中,使用Instant NGP,NeRF可以平滑连续地处理拓扑学上的改变。
  • 在细场景中,为减少计算开销,本文使用textured 3D meshes。使用NeRF作为mesh几何的初始化,可以有效避免mesh中大拓扑变化较难学习的问题。

Coarse-to-fine Optimization

NeRF optimization

  • 与Instant NGP类似,本文用20初始化分辨率为256^3的occupancy grid,鼓励形状变化。每10 iter更新一次grid,并为可跳过的空白区域建立八叉树。在每次更新中,occupy grid降低0.6。
  • 与Instant NGP不同,本文用MLP预测normals。
  • 与DreamFusion类似,本文用MLP建模背景,输入为射线方向,预测RGB颜色。

Mesh optimization

  • 将coarse density field减去一个非零整数,产生初始SDF s_i。同时,本文海基于粗阶段的color field直接初始化了volume texture field。
  • 在优化阶段,本文用可导的光栅器将提取的surface mesh渲染为高分辨图片。对每个vertex,本文基于SDS梯度,同时优化s_i和delta_v_i。当渲染mesh为图片时,本文同时跟踪每个投影像素的3D坐标,用于在texture field中查询对应颜色,使梯度回传时同时优化texture field。
  • 当渲染mesh时,本文增加focal length,聚焦于目标细节。使用粗阶段中学习的environment map产生背景,使用可导的抗锯齿方法(antialiasing)合成前景与背景。
  • 为了鼓励表面平滑,本文对mesh上的不同相邻面的角度进行约束。

Experiments

本文在397个文本提示词上和DreamFusion进行比较。

Speed evaluation. 在8块A100上,coarse stage训练5000 iter,大概训练15分钟;fine stage训练3000 iter,大概训练25分钟。

Qualiatative comparisons

User studies. 在Amazon MTurk平台上,每个prompt由3个不同的users比较,共1191对比较。

 

Can single-stage optimization work with LDM prior?  

Coarse models vs. fine models.

Controllable 3D Generation

Personalized text-to-3D

基于Dreambooth fine-tune eDiff-I和LDM,将目标与[V]绑定。随后在计算SDS时,将[V]加入到文本提示词中。

Prompt-based editing through fine-tuning

(a)基于base prompt训练粗模型;

(b)修改base prompt,使用LDM fine-tune粗模型;

(3)基于修改的文本提示词,优化mesh。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值