[22] Rodin: A Generative Model for Sculpting 3D Digital Avatars Using Diffusion

news2024/9/29 5:27:25

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

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode-257. 二叉树的所有路径

目录题目分析递归法题目来源 257. 二叉树的所有路径 题目分析 前序遍历以及回溯的过程如图: 递归法 1.递归函数参数以及返回值 要传入根节点,记录每一条路径的path,和存放结果集的result,这里递归不需要返回值,代…

时间序列预测--基于CNN的股价预测(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 时间序列预测有很多方法,如传统的时序建模方法ARIMA、周期因子法、深度学习网络等,本次实验采用最简单的…

趣味三角——第11章——一个著名的公式

目录 1. 著名无限积公式简述及证明 2. Jules Lissajous 和他的图形(Jules Lissajous and His Figures) 11章 一个著名的公式 The prototype of all infinite processes is repetition. . . . Our very concept of the infinite derives from the notion that what has bee…

umap 速度测试

今天终于把umap的速度给测了一下,结果如下 预处理文件(83万的数据量) # import scanpy as sc # adatasc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_raw.h5ad") # print(adata) # sc.pp.normalize_…

HTTP协议---详细讲解

目录 一、HTTP协议 1.http 2.url url的组成: url的保留字符: 3.http协议格式​编辑 ①http request ②http response 4.对request做出响应 5.GET与POST方法 ①GET ②POST 7.HTTP常见Header ①Content-Type:: 数据类型(text/html等)在上文…

H5/APP客服端源码/uniapp在线客服系统源码开源了,全源码代码解读及发行安装教程...

前言 目前,即时通讯在线咨询在网站、APP、小程序中已经是不可获取的功能,尤其是专注于线上营销的商家,迫切需要一套可以随时与访客交流的即时通讯工具。 如果使用市面上的SaaS客服系统,会在功能上受限制,需要开通高级V…

AWS Control Tower

Hello大家好,在本课时我们将讨论AWS Control Tower。 **AWS Control Tower是AWS organizations的一个功能延伸,**它是设置在organizations的上层,并为您提供一些额外的控制。 通过Control Tower可以创建一个Landing zone,Landing…

linux安装jenkins

1. 官网寻找安装方式 进入到jenkins官网,找到对应的下载页面:https://www.jenkins.io/download/ 根据自己系统还有想要使用的版本,进行选择即可。这里我们使用CentOS作为示例,版本选择长期支持版(LTS) 2.…

DaVinci:色彩扭曲器

调色页面:色彩扭曲器 Color:Color Warper色彩扭曲器 Color Warper是一个非常强大的调色工具,它基于网格的形式,能将控制点从一个位置“扭曲”到另一位置,从而可同时调整两个颜色属性:“色相 - 饱和度”&…

最简单的物体识别例子

第一步下载百度EASYDL工具。 网址EasyDL 图像 然后下载本地训练工具包: 本地下载,运行。 首先创建数据集, 完成,创建目标任务。 选择物体检测创建任务 选择训练,将数据集引入 通用型小型设备SDK 选择这个可以本地直…

Lesson 7.2 Mini Batch K-Means与DBSCAN密度聚类

文章目录一、Mini Batch K-Means 算法原理与实现二、DBSCAN 密度聚类基本原理与实践1. K-Means 聚类算法的算法特性2. DBSCAN 密度聚类基本原理3. DBSCAN 密度聚类的 sklearn 实现除了 K-Means 快速聚类意外,还有两种常用的聚类算法。(1) 是能…

在国内优雅地使用Rancher部署k8s集群

Background 作为一款开源的企业级Kubernetes管理平台,Rancher进入中国已经5年了,在国内使用会有从Github上下载资源慢、拉镜像十分耗时、无法使用library和system-library等问题。通过配置也是可以解决的,即使用阿里云镜像仓库搭建Rancher。记…

2022浙江省“信息安全管理与评估“--应急响应日志分析解析(高职组)

2022浙江省“信息安全管理与评估”(高职组)任务书2022浙江省“信息安全管理与评估”任务书第一阶段竞赛项目试题第二阶段竞赛项目试题任务1:应急响应第三阶段竞赛项目试题2022浙江省“信息安全管理与评估”任务书 第一阶段竞赛项目试题 先略…

21岁,华科博士在读,我的赛事Top经验

Datawhale干货 作者:vaew,华中科技大学,博士二年级在读简介笔者vaew,21岁,现为华中科技大学机械科学与工程学院陶波教授课题组博士二年级学生。主要研究方向是基于视触融合的机器人灵巧操作。学业之余的研究兴趣包括图…

ChatGPT怎么样?

一、先说几个注意的地方1、chat.openai.com发现是中国网络的用户也会访问不了,或提示你此网站在此国家访问不了。2、短信接码平台要先充值,才能加购物车。3、印度、马来西亚、印尼的号不行可以换美国的很快就能收到(找个便宜的)。…

刷题25-重排链表

重排链表 解题思路:通过观察链表可以发现,把链表一分为二,后半段链表反转,然后两个链表穿插连接,当链表的节点总数是奇数时,要保证链表的前半段比后半段多一个节点。 关于把链表一分为二,可以…

CSS中的BFC详细讲解(易懂)

带你用最简单的方式理解最全面的BFC~~~1.先了解最常见定位方案普通流元素按照其在 HTML 中的先后位置至上而下布局行内元素水平排列,直到当行被占满然后换行,块级元素则会被渲染为完整的一个新行所有元素默认都是普通流定位浮动元素首先按照普通流的位置…

通过中断控制KUKA机器人暂停与再启动的具体方法示例

通过中断控制KUKA机器人暂停与再启动的具体方法示例 中断程序的基本介绍:  当出现例如输入信号变化等事先定义的事件时,机器人控制器中断当前程序,并处理一个已定义好的子程序  由中断而调用的子程序称为中断程序  最多允许同时声明32个中断  同一时间最多允许有16个…

Linux网络技术学习(六)—— 网络设备初始化(II)

文章目录初始化选项模块选项设备处理层初始化:net_dev_init用户空间辅助程序kmod解析热插拔虚拟设备虚拟设备范例通过/proc文件系统调整初始化选项 内核内建的组件以及模块加载的组件都能输入参数,使用户调整组件所实现的功能、重写默认值等 模块选项&…

Java微服务安全丨雪崩问题及解决方案

1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时&…