ECCV 2024 | 南洋理工三维数字人生成新范式:结构扩散模型
该论文作者均来自于新加坡南洋理工大学 S-Lab 团队,包括博士后胡涛,博士生洪方舟,以及计算与数据学院刘子纬教授(《麻省理工科技评论》亚太地区 35 岁以下创新者)。S-Lab 近年来在顶级会议如 CVPR, ICCV, ECCV, NeurIPS, ICLR 上发表多篇 CV/CG/AIGC 相关的研究工作,和国内外知名高校、科研机构广泛开展合作。
三维数字人生成和编辑在数字孪生、元宇宙、游戏、全息通讯等领域有广泛应用。传统三维数字人制作往往费时耗力,近年来研究者提出基于三维生成对抗网络(3D GAN)从 2D 图像中学习三维数字人,极大提高了数字人制作效率。
这些方法往往在一维隐向量空间建模数字人,而一维隐向量无法表征人体的几何结构和语义信息,因此限制了其生成质量和编辑能力。
为了解决这一问题,来自新加坡南洋理工大学 S-Lab 团队提出结构化隐空间扩散模型(Structured Latent Diffusion Model)的三维数字人生成新范式 StructLDM。该范式包括三个关键设计:结构化的高维人体表征、结构化的自动解码器以及结构化的隐空间扩散模型。
StructLDM 是一个从图像、视频中学习的前馈三维生成模型(Feedforward 3D Generative Model),相比于已有 3D GAN 方法可生成高质量、多样化且视角一致的三维数字人,并支持不同层级的可控生成与编辑功能,如局部服装编辑、三维虚拟试衣等部位感知的编辑任务,且不依赖于特定的服装类型或遮罩条件,具有较高的适用性。
-
论文标题:StructLDM: Structured Latent Diffusion for 3D Human Generation
-
论文地址:https://arxiv.org/pdf/2404.01241
-
项目主页:https://taohuumd.github.io/projects/StructLDM
-
实验室主页:https://www.ntu.edu.sg/s-lab
,时长00:35
方法概览
StructLDM 训练过程的包含两个阶段:
-
结构化自动解码:给定人体姿态信息 SMPL 和相机参数,自动解码器对训练集中每个人物个体拟合出一个结构化 UV latent。该过程的难点在于如何把不同姿态、不同相机视角、不同着装的人物图像拟合到统一的 UV latent 中,为此 StructLDM 提出了结构化局部 NeRF 对身体每个部位分别建模,并通过全局风格混合器把身体各部分合并在一起,学习整体的人物外观。此外,为解决姿态估计误差问题,自动解码器训练过程中引入了对抗式学习。在这一阶段,自动解码器把训练集中每个人物个体转化为一系列 UV latent。
-
结构扩散模型:该扩散模型学习第一阶段得到的 UV latent 空间,以此学习人体三维先验。
在推理阶段,StructLDM 可随机生成三维数字人:随机采样噪声并去噪得到 UV latent,该 latent 可被自动解码器渲染为人体图像。
实验结果
该研究在 4 个数据集上进行了实验评估:单视角图像数据集 DeepFashion [Liu et al. 2016],视频数据集 UBCFashion [Zablotskaia et al. 2019],真实三维人体数据集 THUman 2.0 [Yu et al. 2021], 及虚拟三维人体数据集 RenderPeople。
3.1 定性结果比较
StructLDM 在 UBCFashion 数据集上与已有 3D GAN 方法做了对比,如 EVA3D、 AG3D 及 StyleSDF。相比于已有方法,StructLDM 可生成高质量、多样化、视角一致的三维数字人,如不同肤色、不同发型,以及服饰细节(如高跟鞋)。
StructLDM 在 RenderPeople 数据集上与已有 3D GAN 方法(如 EG3D, StyleSDF, 及 EVA3D)及扩散模型 PrimDiff 对比。相比于已有方法,StructLDM 可生成不同姿态、不同外观的高质量三维数字人,并生成高质量面部细节。
,时长00:24
3.2 定量结果比较
研究者在 UBCFashion, RenderPeople,及 THUman 2.0 上与已知方法做了定量结果比较,在每个数据集上随机选取 5 万张图像计算 FID ,StructLDM 可大幅降低 FID。此外,User Study 显示大约 73% 的用户认为 StructLDM 生成的结果在面部细节和全身图像质量上比 AG3D 更有优势。
3.3 应用
3.3.1 可控性生成
StructLDM 支持可控性生成,如相机视角、姿态、体型控制,以及三维虚拟试衣,并可在二维隐空间插值。
3.3.2 组合式生成
StructLDM 支持组合式生成,如把①②③④⑤部分组合起来可生成新的数字人,并支持不同的编辑任务,如身份编辑、衣袖(4)、裙子(5)、三维虚拟试衣(6)以及全身风格化(7)。
,时长00:25
3.3.3 编辑互联网图片
StructLDM 可对互联网图片进行编辑,首先通过 Inversion 技术得到对应的 UV latent,然后通过 UV latent 编辑可对生成的数字人进行编辑,如编辑鞋、上衣、裤子等。
3.4 消融实验
3.4.1 隐空间扩散
StructLDM 提出的隐空间扩散模型可用于不同编辑任务,如组合式生成。下图探究了扩散模型参数(如扩散步数和噪声尺度)对生成结果的影响。StructLDM 可通过控制扩散模型参数来提高生成效果。
3.4.2 一维与二维人体表征
研究者对比了一维与二维 latent 人体表征效果,发现二维 latent 可生成高频细节(如衣服纹理及面部表情),加入对抗式学习可同时提高图片质量和保真度。
3.4.3 结构感知的归一化
为提高扩散模型学习效率,StructLDM 提出了结构感知的 latent 归一化技术 (structure-aligned normalization),即对每个 latent 做逐像素归一化。研究发现,归一化后的 latent 分布更接近于高斯分布,以此更利于扩散模型的学习。
点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com
相关文章:

ECCV 2024 | 南洋理工三维数字人生成新范式:结构扩散模型
该论文作者均来自于新加坡南洋理工大学 S-Lab 团队,包括博士后胡涛,博士生洪方舟,以及计算与数据学院刘子纬教授(《麻省理工科技评论》亚太地区 35 岁以下创新者)。S-Lab 近年来在顶级会议如 CVPR, ICCV, ECCV, NeurIP…...

2024.8.13-算法学习(原创+转载)
一、什么是张量并行(Tensor Parallelism) ? 张量并行(Tensor Parallelism) 是一种分布式矩阵算法。 随着模型越来越大,模型内的矩阵也越来越大。一个大矩阵的乘法可以拆分成多个小矩阵的运算,…...

beautifulsoup的简单使用
文章目录 beautifulsoup一. beautifulsoup的简单使用1、安装2、如何使用3、对象的种类 二、beautifulsoup的遍历文档树2.1 子节点.contents 和 .children descendants2.2 节点内容.string.text 2.3 多个内容.strings**.stripped_strings** 2.4 父节点.parent.parents 三、beaut…...
【Python】Jupyter Notebook的安装及简单使用
Jupyter Notebook的安装及简单使用1、安装2、language设置为中文3、Jupyter Notebook启动4、Jupyter Notebook的常用快捷方式5、将Notebook笔记转为其他文件格式保存 Jupyter Notebook的安装及简单使用 不安装AnaCoda,但需要使用Jupyter Notebook 1、安装 pip inst…...

中国自动驾驶出租车冲击网约车市场
近年来,中国的自动驾驶技术迅速发展,对传统网约车市场构成了越来越大的冲击。随着科技巨头百度旗下的萝卜快跑等公司加速推广无人驾驶出租车,这一趋势引发了广泛的讨论和担忧。 自动驾驶技术的迅猛发展 中国自动驾驶行业正处于快速发展阶段&…...

解决浏览器书签同步问题,极空间部署开源免费的跨平台书签同步工具『xBrowserSync』
解决浏览器书签同步问题,极空间部署开源免费的跨平台书签同步工具『xBrowserSync』 哈喽小伙伴们好,我是Stark-C~ 作为一个喜欢折腾的数码党,我平时上网冲浪使用的浏览器绝不会只限于一种,就比如说我在上班的地方只会用到Edge浏…...
14个SpringBoot优化小妙招
今天我们来分享一下平时用SpringBoot开发时候的一些优化小妙招,用好这些优化小妙招让我们开发的系统架构、系统代码、开发流程、测试流程、运维监控看起来就跟写诗一样优雅,让我们每个人手头负责的代码和工程都要很漂亮~~~ 这里的优化小妙招很多不是说直…...
Elasticsearch 度量(Metric)聚合详解及示例
Elasticsearch 提供了强大的聚合功能,允许用户对数据进行深入的统计分析。度量(Metric)聚合是其中一种,它用于对数值型数据进行计算,如求和、平均值、最大值、最小值等。本文将详细介绍 Elasticsearch 的度量聚合&…...

基于 jsp 的健身俱乐部会员系统设计与实现
点击下载源码 基于 jsp 的健身俱乐部会员系统设计与实现 摘 要 目前我国虽然己经开发出了应用计算机操作的健身俱乐部管理系统,但管理软件,管理方法和管理思想三者往往相脱节。造成我国健身俱乐部信息管理系统极端化的缺陷。在国外健身俱乐部已经有了一…...

苍穹外卖项目DAY01
苍穹外卖项目Day01 1、软件开发整体介绍 1.1、软件开发流程 1.2、角色分工 项目经理:对整个项目负责,任务分配、把控进度产品经理:进行需求调研,输出需求调研文档、产品原型等UI设计师:根据产品原型输出界面效果图架…...

SpringBoot(Ⅰ)——HelloWorld和基本打包部署+Pom依赖概述+@SpringBootApplication注解+自动装配原理+约定大于配置
前言 如果SSM学的比较好,那么SpringBoot说白了就两件事:约定大于配置和自动装配 SpringBoot不会提供任何的功能拓展,完全依赖我们手动添加 所以SpringBoot的本质是一个依赖脚手架,可以快速集成配置各种依赖 1.1 SpringBoot相关依赖 创建…...
[Unity]关闭URP的SRP,开启GPU Instancing。
1. 对应材质的gpu instancing勾选上。 2. 游戏初始化时动态关闭SRP,或者在Graphics里全局关闭。动态关闭的代码如下: GraphicsSettings.useScriptableRenderPipelineBatching false; 模型合批的一些规则: 1. 模型一致。 2. 材质一致。 …...

04创建型设计模式——建造者模式
一、建造者模式简介 建造者模式(Builder Pattern)又被称为生成器模式。它旨在构建一个复杂对象的各个部分,而不需要指定该对象的具体类。该模式特别适用于对象的构建过程复杂且需要多个步骤的情况。建造者模式是一种对象创建型模式之一&…...
前端开发中的代码规范
引言 在前端开发中,遵循良好的代码规范是非常重要的。这不仅能提高代码的可读性和可维护性,还能帮助团队成员更好地协作。本文将介绍一些前端开发中常用的代码规范,并探讨它们的重要性。 1. 代码规范的重要性 1.1 可读性 良好的代码规范可…...
WHAT - 远程控制机制
目录 1. 客户端-服务器架构2. 连接建立3. 数据传输4. 通信协议5. 安全性6. 远程控制软件示例7. 操作流程示例 远程控制别人的电脑涉及到技术和安全多个方面。其基本机制通常包括以下几个方面: 1. 客户端-服务器架构 远程控制软件通常采用客户端-服务器架构&#x…...

苹果手机录音功能在哪里?3招轻松打开手机录音
无论是记录重要的会议内容、捕捉生活中的美好瞬间,还是进行语言学习,苹果手机的录音功能都能提供极大的便利。那么,苹果手机录音功能在哪里呢?本文将为您揭示苹果手机录音功能的藏身之处,并通过3个简单步骤,…...

RCE之突破长度限制
我们在写webshell时通常会遇到过滤,但除了过滤之外还可能会有长度限制,这里就简单说一下关于RCE突破长度限制的技巧 突破16位 例如:PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell? <?php $param …...

Arduino控制带编码器的直流电机速度
Arduino DC Motor Speed Control with Encoder, Arduino DC Motor Encoder 作者 How to control dc motor with encoder:DC Motor with Encoder Arduino, Circuit Diagram:Driving the Motor with Encoder and Arduino:Control DC motor using Encoder feedback loop: How …...

LangChain与Elasticsearch向量数据库的完美结合
在过去的一年中,生成式 AI (Generative AI) 领域取得了显著的进展。许多新的服务和工具应运而生。其中,LangChain 已成为构建大语言模型 (LLM) 应用程序(例如检索增强生成 (RAG) 系统)最受欢迎的框架之一。该框架极大地简化了原型…...

element时间段选择器或时间选择器 只设置默认起始时间或者结束时间,不显示问题
element时间段选择器或时间选择器 只设置默认起始时间或者结束时间,不显示问题 <div v-for"(item,index) in [a,b]":key"item"><el-date-pickerv-if"b"v-model"value1[item]"type"datetimerange"value-…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...

Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...

二叉树-144.二叉树的前序遍历-力扣(LeetCode)
一、题目解析 对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧,而非…...