NUS、清华提出STAR:一句话生成高质量4D Avatar,代码已开源

a2f515546142083c3dc9380b1623f4d3.gif

©PaperWeekly 原创 · 作者 | Chai Zenghao

单位 | 新加坡国立大学博士生

研究方向 | 3D生成


a767c958d3e896c8f1c83095af09898e.png

背景

在计算机图形学和数字虚拟人领域,从简单的文本提示生成更真实、可交互的虚拟人物是是目前广受关注的研究课题。然而,先前的 3D Avatar 生成方法存在一些问题,如生成的人物在动作和细节上往往不够真实。

新加坡国立大学和清华大学的研究团队提出了“STAR: Skeleton-aware Text-based 4D Avatar Generation with in-network motion Retargeting”。该算法通过引入角色相关的骨骼感知技术,能够从文本描述生成高质量的 4D Avatar,显著提升了虚拟人物外观和动作的真实性和自然性。本文将简要介绍 STAR 算法的核心创新及其在文本到 Avatar 生成领域的贡献。

a8cdfff05ae106f6c509f7d7035e03dd.png

论文链接:

https://arxiv.org/abs/2406.04629

项目主页:

https://star-avatar.github.io/

代码链接:

https://github.com/czh-98/STAR

31fb8409060c86a305a7aa2cc253b66f.png

本文动机

近年来,基于扩散模型的文本到图像生成(T2I generation)领域取得了显著的进展。通过利用 T2I Diffusion 先验,从文本描述生成 3D 内容(特别是类人角色)在计算机视觉和图形学社区引起了广泛关注。进一步地,4D 角色的创建(即合成具有真实人类动作的可动画角色)也在电影和游戏行业中引起了极大关注。

然而,目前主流的基于文本的 4D Avatar 生成通常采用先优化后驱动的策略。即,首先通过基于 T2I 的 Score Distillation Sampling(SDS)优化 Canonical 3D 表示,生成特定的 3D Avatar;然后再通过给定的动作进行人物驱动。这种典型的生成流程面临以下主要挑战,导致现有模型难以生成具有丰富几何和纹理多样性以及准确动作的生动 4D Avatar:

  1. 多面问题(Janus-Problem):一些先前的方法仅仅使用T2I扩散模型作为先验,并依赖于视角相关的文本提示来提供T2I模型稀疏的监督信号。因此,生成的结果往往不够精确,并可能出现不同视角下多个人脸的问题。

  2. 域间隙(Domain Gap):由于扩散模型是使用自然姿态下的人脸或人体图像进行训练的,而当前的文本到 3D 方法则是通过训练固定姿态的渲染图像来进行训练的。因此,存在渲染的 2D 图像与真实图像之间的姿态分布差异。这种基于标准姿态(Canonical Pose)的优化存在潜在的域间隙问题,不利于生成具有多样体型的 3D Avatar。

  3. 动画穿模(Animation Artifact):当简单地将文本到动作模型中的源动作应用于目标角色时,由于源模板(如 SMPL 模板)和目标角色之间的骨架和几何差异,可能会导致错误的驱动结果,例如手臂与身体相交等穿模问题。

8c502df9e51aecf1ef12cee87ca467c1.png

STAR简介

为了解决上述挑战,本文提出了 STAR(如图所示)。相比于先前的 4D Avatar 生成方法,STAR 的核心在于通过在优化过程中考虑骨架(Skeleton)、几何(Geometry)以及姿势(Pose)的影响,利用运动重定向(motion retarget)技术获得更准确的骨架控制信号,用于 SDS 的优化。这一方法显著提升了 4D Avatar 的生成质量。

a0b73ca5a7410949dcb79e942fc258c6.png

▲ 图1:文本驱动的 4D Avatar 生成:典型的优化-驱动流程(上)与本文的方法(下)比较。

优化结束后,借助 mesh 的表示,STAR 能够灵活地与来自文本、音频或视频的任意生成的运动结合,并兼容当前的图形软件(如 Blender)。给定人物和动作的文本描述,训练 4D Avatar 的整体算法流程如下:

674f35ea372603283bdbd13fe34c0e01.png

▲ 图2:STAR的训练算法伪代码表示

STAR 的主要流程如下图所示,其核心包括以下几个方面:

d4017190d7eaef95e3dc18f2b2af8419.png

▲ 图3:STAR 整体框架图。左:给定文本描述,我们使用预训练的文本到动作模型初始化人体动作。需要注意的是,典型的优化-驱动范式在 4D Avatar 生成中往往会导致不合理的结构和动画穿模等问题。右:STAR 通过集成重定向的动作来消除基于 SDS 优化中的潜在姿态分布偏差。利用角色相关和遮挡感知的骨架结构,并结合混合的 T2I 和 T2V 扩散模型,提供一致的 3D 先验。这一流程逐步优化几何、纹理和动作,以端到端的方式生成 4D Avatar。

  • Skeleton-aware, geometry-aware, motion-aware 的训练过程:在训练过程中,STAR 通过骨架感知、几何感知和动作感知来更新几何和纹理,同时同步调整源动作以匹配个性化 Avatar 的骨架和几何特征。这一方法有效提升了 Avatar 的外观多样性和动作真实性,显著减少了最终生成的 4D Avatar 中的穿模问题。

  • 优化中的 motion retarget:通过及时更新运动,STAR 能够获得更准确的渲染图像,并为 ControlNet 提供骨架条件时提供更精确的结构信息。这使得渲染的 3D Avatar 与扩散模型中自然姿势分布更一致,有助于减少扩散模型先验与渲染图像之间的域间隙问题。更新的运动和骨架确保具有目标 3D 角色的精确结构信息,同时保持文本描述的语义一致。

  • 混合 SDS 方法:为了消除时间不一致和视角无关的干扰,STAR 在 T2I 先验的基础上,引入了免训练的 T2V 模型,以提供不同时间和视角下的一致性先验。同时,STAR 提出了结合了骨架感知、遮挡感知和掩模感知的混合 SDS 方法,以强化视角一致性的监督信号,从而提高生成质量。

  • 分层 Regularization:为了稳定混合 SDS 的优化过程,STAR 提出了分层的正则化方法,通过不同粒度的约束项对全局体型、顶点偏移和五官结构进行约束。这些约束项有助于提升角色在几何结构上的合理性,从而改善生成结果的几何质量和整体外观。

606f4c23ad7b0275e430b8b9dbb935d5.png

实验结果

定性结果表明,STAR 能够生成具有多样体型特征的角色,并通过 3D mesh 表示,在不同视角下展现更真实的动画效果。每个示例中展示了脸部和身体的纹理(左侧)以及法线贴图(右侧)的结果。

4d49602973da0f155cbaa1588a1def91.png

▲ 图4:STAR 生成的 4D Avatar 示例

在定量评估方面,本文利用 CLIP-Score、VQA-Score 和 User Study 验证了 STAR 相较于先前的一些方法能够生成更加真实的结果。

b32022db7c622adb9c62fd1577e77248.png

▲ 表1:Canonical 3D Avatar 和 4D Avatar 的定量比较。我们使用 CLIP-Score 和 VQA-Score 指标,得分越高表示生成结果与文本描述的一致性越好。

b28423f2d091cbc082881183c9a1740c.png

▲ 表2:User Study 结果。我们展示了不同方法在三个方面被选为“最佳”的平均百分比:Q1.几何质量,Q2.外观质量,以及 Q3.动作质量。

155ff8bfad58a7bd48245b715f1510c4.png

结论

本文提出了 STAR,一种能够从文本描述中生成高质量 4D Avatar 的方法。STAR 的关键创新在于充分考虑了动作多样性和真实性对于基于文本生成 4D Avatar 的重要性。与传统的先优化后驱动方法不同,STAR 引入了 Motion Retarget 和 Hybrid SDS 技术,显著改善了生成的 Avatar 的质量和一致性。通过逐步优化几何、纹理和动作,特别是在解决源模板与目标 Avatar 之间的骨架和几何差异方面,STAR 展示了在提升虚拟人物生成技术方面的潜力和优越性。

有关更多信息和细节,欢迎查阅本文、项目主页以及相关的代码。

更多阅读

9a87db32c91e83b66c23f24fd1a4db9d.png

ff7f121ae4a54209ab8b72116a590086.png

16ec08d5fbe8e6278cfe6f43747b89e9.png

bc1536e0e3553ed97849d2c01c295803.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

5516b2cec5eb0f4290fe11fc25313411.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

deac3023e6b153bd453909de9a5f6ff3.jpeg

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值