【AI论文与新生技术】Follow-Your-Emoji:精细可控且富有表现力的自由式人像动画技术

我们提出了 Follow-Your-Emoji,这是一种基于扩散的肖像动画框架,它使用目标地标序列对参考肖像进行动画处理。肖像动画的主要挑战是保留参考肖像的身份并将目标表情转移到该肖像,同时保持时间一致性和保真度。为了应对这些挑战,Follow-Your-Emoji 为强大的稳定扩散模型配备了两项精心设计的技术。

喜好儿网

具体来说,我们首先采用一种新的显式运动信号,即表情感知地标,来指导动画过程。我们发现这个地标不仅可以确保推理过程中参考肖像和目标运动之间的准确运动对齐,而且还可以提高描绘夸张表情(即大瞳孔运动)并避免身份泄漏的能力。然后,我们提出了面部细粒度损失,以通过使用表情和面部掩模来提高模型的微妙表情感知和参考肖像外观重建的能力。因此,我们的方法在控制自由式肖像的表达方面表现出了显着的性能,包括真人、卡通、雕塑,甚至动物。

通过利用简单有效的渐进生成策略,我们将模型扩展到稳定的长期动画,从而增加其潜在的应用价值。为了解决该领域缺乏基准的问题,我们推出了 EmojiBench,这是一个包含各种肖像图像、驾驶视频和地标的综合基准。我们在 EmojiBench 上进行了广泛的评估,以验证 Follow-Your-Emoji 的优越性。

一个名为"Follow-Your-Emoji"的新技术,它是一个基于扩散模型的头像动画框架。这个框架能够将目标表情和动作序列应用到参考头像上,无论是真人、卡通、雕塑甚至动物的头像。这项技术的主要挑战在于,在动画过程中保持参考头像的身份特征,同时传递目标表情,并确保时间上的连贯性和逼真度。

为了应对这些挑战,"Follow-Your-Emoji"采用了两种关键技术:首先,它使用一种新的显式动作信号——表情感知的关键点,来指导动画过程。这种关键点可以确保在推理过程中参考头像与目标动作之间的准确对齐,并且增强了表现夸张表情(例如,瞳孔的大幅度运动)的能力,同时避免了身份信息的泄露。其次,论文提出了一种面部细粒度损失函数,通过使用表情和面部掩码来提高模型对微妙表情变化和参考头像外观重建的能力。

此外,为了训练模型,研究者构建了一个包含18种夸张表情和115名受试者20分钟真实视频的高质量表情训练数据集。通过简单有效的渐进式生成策略,他们将模型扩展到稳定的长期动画,从而增加了其潜在的应用价值。为了解决该领域缺乏基准的问题,他们还引入了一个名为EmojiBench的综合基准,包含多种风格的头像图像、驱动视频和关键点。

最后,通过在EmojiBench上的广泛评估,验证了"Follow-Your-Emoji"的优越性,特别是在控制自由风格头像表情方面的表现,包括真实人类、卡通、雕塑甚至动物。与现有的基线方法相比,"Follow-Your-Emoji"在视觉逼真度、身份忠实度和动作渲染的精确度方面都有显著提升。
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++11 列表初始化(initializer_list),pair

1. {} 初始化 C98 中,允许使用 {} 对数组进行初始化。 int arr[3] { 0, 1, 2 };C11 扩大了 {} 初始化 的使用范围,使其可用于所有内置类型和自定义类型。 struct Date {int _year;int _month;int _day;Date(int year, int month, int day):_year(year…

梯度下降: 02. 批量梯度下降BGD,随机梯度下降SGD,小批量梯度下降MBGD

简介 本文从原理上介绍了三种梯度下降的方法,相同点,异同点,优缺点。 内容包含了数学公式的推导与说明 1. 梯度下降的3种方法 梯度下降分三类,原理基本相同,操作方式略有区别 批量梯度下降BGD(BatchGradient Descent):使用全量数据进行特征抽取,模型训练小批量梯度下降…

tkinter颜色选择器

tkinter颜色选择器 颜色选择器效果代码 颜色选择器 Tkinter 提供了一个简单易用的颜色选择器模块 colorchooser,通过调用 colorchooser.askcolor() 方法,我们可以轻松实现颜色选择功能。 效果 代码 import tkinter as tk from tkinter import colorch…

启动xv6遇坑记录

我是在VMware上的Ubuntu22.04.4搭建的,启动xv6遇到超多bug,搞了好几天,所以记录一下。 目录 git push的时候报错 make qemu缺少包 运行make qemu时卡住 可能有影响的主机设置 git push的时候报错 remote: Support for password authent…

Soildworks学习笔记(二)

放样凸台基体: 自动生成连接两个物体两个面的基体: 2.旋转切除: 3.剪切实体: 4.转换实体引用: 将实体的轮廓线转换至当前草图使其成为当前草图的图元,主要用于在同一平面或另一个坐标中制作草图实体或其尺寸的副本。 …

【Redis学习笔记05】Jedis客户端(string、list、set)

Jedis客户端 1. 命令 1.1 String类型 1.1.1 常见命令 SET命令 语法:SET key value [EX seconds | PX milliseconds] [NX|XX] 说明:将string类型的value值设置到指定key中,如果之前该key存在,则会覆盖原先的值,原先…

MyBatis二级缓存开启条件

MyBatis缓存为俩层体系。分为一级缓存和二级缓存。 一级缓存: 一级缓存默认开启,一级缓存的作用域是SqlSession级别的,这意味着当你更换SqlSession之后就不能再利用原来的SqlSession的一级缓存了。不同的SqlSession之间的一级缓存是隔离的。…

如何确保redis缓存中的数据与数据库一致

一、双写模式: 在写入数据库时,也写入缓存。 二:失效模式: 在写入新数据后,删除缓存中数据,下次请求时查询数据库,并把查到的最新数据写入缓存。 不管是双写模式还是失效模式,缓…

网页中生成ZIP文件,Zip 压缩、解压技术在 HTML5 浏览器中的应用

JSZip 是一款可以创建、读取、修改 .zip 文件的 javaScript 工具。在 web 应用中,免不了需要从 web 服务器中获取资源,如果可以将所有的资源都合并到一个 .zip 文件中,这时候只需要做一次请求,这样既减少了服务器的压力&#xff0…

每日题库:Huawe数通HCIA——15(30道)

注:由于限制原因,今后资料仅提供给粉丝 所有资料均来源自网络,但个人亲测有效,特来分享,希望各位能拿到好成绩! PS:别忘了一件三连哈! 今日题库: 231. 如下图所示的网…

OceanBase 4.3 特性解析:列存技术

在涉及大规模数据的复杂分析或即时查询时,列式存储是支撑业务负载的关键技术之一。相较于传统的行式存储,列式存储采用了不同的数据文件组织方式,它将表中的数据以列为单位进行物理排列。这种存储模式允许在分析过程中,查询计算仅…

Vitis HLS 学习笔记--接口存储器布局模型

目录 1. 简介 2. 详解 2.1 数据对齐 2.2 数据结构填充 3. 总结 1. 简介 软件开发者写的程序会在 CPU 处理器上运行,而硬件开发者设计的“内核”则会在 FPGA 上运行。这两部分需要通过一个精心设计的接口来沟通,就像两个人用对讲机来交流一样。为了…

GDPU unity游戏开发 寻路与导航

学会寻路,出门在外,身份不是他给的,他做不了你一直的导航。 角色寻路 角色控制器替换为普通的角色控制器,给实验九的地形增加NavMesh Surface组件,然后给角色增加NavMesh Agent组件,并选择合适的参数。通过…

mac安装brew遇到的一些问题

mac终端执行命令/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”,无法建立连接或连接超时错误,错误信息如下: curl: (28) Failed to connect to raw.githubusercontent.com port 443 af…

高性能MySQL(第3版)电子书笔记

Mysql官方文档:https://dev.mysql.com/doc/refman/5.7/en/ 高性能MySQL(第3版):百度网盘,基于Mysql5.1和Mysql5.5 本机版本 mysql> select version(); ------------ | version() | ------------ | 5.7.32-log |…

Numba 的 CUDA 示例(4/4):原子和互斥

本教程为 Numba CUDA 示例 第 4 部分。 本系列第 4 部分总结了使用 Python 从头开始学习 CUDA 编程的旅程 介绍 在本系列的前三部分(第 1 部分,第 2 部分,第 3 部分)中,我们介绍了 CUDA 开发的大部分基础知识&#xf…

第十一届蓝桥杯C++青少年组中/高级组国赛2020年10月真题解析

一、单选题 第1题 在数组中,数组名表示( ). A:数组第1个元素的首地址 B:数组第2个元素的首地址 C:数组所有元素的首地址, D:数组最后1个元素的首地址 答案:A 数组名是一个地址,指向第一个元素 第2题 …

locale本地化库学习

std::locale 类型的对象(本地环境对象)是不可变刻面的一个不可变索引集。C 输入/输出库的每个流对象都与一个 std::locale 对象关联,并用它的各刻面来分析及格式化所有数据。另外,每个 std::basic_regex 对象也都与一个本地环境对…

如何用群晖当异地组网服务器?

在当今信息化时代,远程通信成为了企业和个人之间不可或缺的一部分。特别是对于跨地区的通信需求,一个可靠的异地组网服务器是必不可少的。而群晖(Synology)作为一款功能强大的网络存储设备,可以被用作办公室或家庭的异…

【小白专用24.6.8】C#Lambda表达式

Lambda表达式可以采用以下任意一种形式的表达式&#xff1a; 1.表达式Lambda&#xff0c;表达式为其主体&#xff1a; (input-parameters) > expression 1 2.语句Lambda&#xff0c;语句块作为其主体&#xff1a; (input-parameters) > {<sequence-of-statements>…