[CVPR‘23] Rodin: A Generative Model for Sculpting 3D Digital Avatars Using Diffusion

paper: https://arxiv.org/abs/2212.06135

总结:提出一种基于扩散模型和tri-plain features的3D虚拟人像生成方法。该方法包含多个模型,需要多次训练:

  1. 使用Blender synthetic pipeline(Fake it untill you make it)生成虚拟数据。共包含100K个虚拟人像,对每个虚拟人像,额外渲染300幅多视角图片(256 x 256)
  2. 基于步骤1的数据,拟合得到表征每个虚拟人像的tri-plain features(256 x 256 x 32),并训练共享解码器;
  3. 训练基础扩散模型,学习高斯噪声到低分辨率tri-plain features(基于步骤2下采样得到)的映射。同时,会将图片编码作为条件输入;
  4. 训练扩散超分模型,学习tri-plain features低分辨率到高分辨率的映射。
  5. 训练卷积超分模型,学习渲染图片低分辨率到高分辨率的映射。

produce high-fidelity 3D avatars

use xx to orchestrate (organize) the feature generation

the xx hampers cross-plane communication

hallucinate a 3D avatar = 3D portrait from a single image

目录

摘要

引言

方法

Robust 3D Representation Fitting

Latent Conditioned 3D Diffusion Model

Diffusion Tri-plane Upsampler

实验

Unconditional Generation Results

Comparison

Analysis of the Rodin Model

Application

3D portrait from a single image

 Text-to-avatar generation

Text-based avatar customization


摘要

  • 提出一种3D生成模型:用扩散模型自动生成3D数字虚拟人,并将其表征为neural radiance fields。
  • 该任务的主要问题在:生成高质量虚拟人,需要耗费大量时间和内存;
  • 本文提出roll-out diffusion network (Rodin),该方法将neural radiance field表征为多个2D feature maps,并将这些特征层展开为一个2D特征平面,进一步在该特征平面中执行3D-aware diffusion。
    • 3D-aware convolution:通过映射关系,在2D特征上执行了3D卷积,提高效率;
    • latent conditioning:组织特征生成,使得全局连贯,可生成高保真虚拟人像,并可通过文本控制语义修改;
    • hierachical synthesis:进一步增强细节;
  • Rodin的功能:1)3D avatar generation from text;2)3D avatar generation from image;3)text-guided editability

引言

  • 为什么要做数字虚拟人:1)数字虚拟人在电影、游戏、元宇宙中有广泛应用;2)由于虚拟人制作流程繁琐,现有数字虚拟人数据少,尤其是在头发和胡须。
  • 本文提出一种用于制作数字虚拟人的扩散模型,该方法将虚拟人表示为神经辐射场,每个点描述了颜色辐射率(color radiance)和3D体素的密度(density of the 3D volume)。主要难点在于,生成高质量虚拟人需要大量的内存和计算开销。
  • 为了解决该问题,本文提出了Rodin(roll-out diffusion network),该方法将神经辐射场表征为多个2D feature maps,并将这些特征层展开为一个2D特征平面,进一步在该特征平面中执行3D-aware diffusion。具体来说,本文使用tri-plane representation(EG3D),将这些特征层展开后,执行3D-aware diffusion。Rodin由三个重要部分组成:
    • 1)3D-aware convolution,在tri-plain上执行,希望学习到3D关系;
    • 2)latent conditioning,用训练数据集中的avatars,训练一个额外的图片编码器,提取语义隐向量,作为扩散模型的条件输入。当语义编辑时,本文使用权重冻结的CLIP图片编码器,该编码器和text prompts共享隐空间。
    • 3)hierarchical synthesis,首先生成低分辨率tri-plane(64 x 64),然后使用一个diffusion-based上采样,产生高分辨率(256 x 256)。训练diffusion upsampler时,细节是惩罚图片级别的损失。
  • Rodin在100K个具有多视角图片的虚拟人像数据集上训练(Fake it untill you make it: face analysis in the wild using synthetic data alone)。

方法

Robust 3D Representation Fitting

  • 数据准备:使用Blender synthetic pipeline(Fake it untill you make it)生成虚拟数据。共包含100K个虚拟人像,对每个虚拟人像,额外渲染300幅多视角图片(256 x 256)。
  • 表征形式:通过tri-plain features(EG3D)表征虚拟人像,每个虚拟人像有一个对应的tri-plain features(3个特征平面,每个特征平面维度为256 x 256 x 32)。输入空间位置和索引特征,解码器处理后得到该点的density和view-dependent color,后两者通过volumetric rendering后可以得到RGB图像。
  • 解码器:所有虚拟人像共享一个解码器,由MLP组成。

Latent Conditioned 3D Diffusion Model

  • 扩散模型:通过扩散模型,学习高斯噪声到tri-plain features(64 x 64 x 32)的映射关系。相较于传统扩散模型,在训练时,损失还包括variational lower bound loss L_VLB [41];在推理时,采样方法时stochastic ancestral sampler [24];
  • 3D-aware convolution:使用传统2D U-Net处理tri-plain features,会破坏特征间空间关系,导致生成图片失真。因此,本文首先将tre-plain features展平(Tri-plain roll-out);其次,对特征图上一点y_uv,会将y_u和y_v和它concat在一起做卷积(3D-aware conv),y_u是指uw特征图上的u行,y_v是指vw特征图上的v列,通过重复填充,将三者维度统一为H x W x C。

  • Latent conditioning:对任意目标,将其正面超前图片送入冻结参数的CLIP图片编码器,得到512维隐码,在训练扩散模型时,将512维隐码作为扩散模型的条件输入。另外,有20%概率将latent编码置零(classifier-free gudance),在推理阶段,通过混合条件预测和非条件预测,让输出更加稳定:,后者为非条件预测。

Diffusion Tri-plane Upsampler

  • Diffusion超分模型:预测不是噪声,而是高分辨率tri-plain features。会对tri-plain features做数据增强(condition augmentation),包含random downsampling,Gaussian blurring和Gaussian noises。另外在训练过程中,会对渲染图片引入损失:perceptual loss,具体来说,会用预训练VGG的多层特征提取器计算:
  • 卷积超分模型:将渲染图片(512 x 512)超分至(1024 x 1024)

实验

Unconditional Generation Results

两个tri-plain features插值

Comparison

主要和Pi-GAN、GIRAFFE和EG3D比较

Analysis of the Rodin Model

  • 对Latent Conditioned 3D Diffusion Model中所提3个方法的消融实验:

  •  对扩散超分模型和卷积超分模型的消融实验:

Application

3D portrait from a single image

 Text-to-avatar generation

Text-based avatar customization

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值