ECCV2024,清华百度提出ReSyncer:可实现音频同步嘴唇动作视频生成。
清华&百度等联合提出了ReSyncer,可以实现更高稳定性和质量的口型同步,而且还支持创建虚拟表演者所必需的各种有趣属性,包括快速个性化微调、视频驱动的口型同步、说话风格的转换,甚至换脸。
ReSyncer的工作原理可以简单理解为:首先,它接收你要处理的音频。然后,它使用一个特别的程序来分析这个声音,并根据声音的特点生成一个3D面部模型。这部分被称为Style-SyncFormer。接下来,ReSyncer会用生成的3D面部模型和目标视频中的脸部图像相结合,制作出一个嘴唇动作同步、表情丰富的高质量视频。这样,创造出肌肉动态与音频配合得天衣无缝的虚拟人物便成为可能。

上面为ReSyncer生成的假唱/说话风格转换/换脸结果。该方法不仅可以产生高保真的口型视频 但音频可以进一步转移任何目标人的说话风格和身份。
亮点直击
-
提出了ReSyncer框架,该框架通过涉及具有简单重新配置的3D面部网格,展示了基于Style 的生成器在同步视听面部信息方面的强大功能。
-
我们提出了 Style-SyncFormer,它使用简单的 Transformer 块学习风格化的 3D 面部动态,从而实现广义的 3D 面部动画。
-
ReSyncer不仅可以实现更高稳定性和质量的口型同步,而且还支持创建虚拟表演者所必需的各种有趣属性,包括快速个性化微调、视频驱动的口型同步、说话风格的转换,甚至换脸。
相关链接
论文地址:http://arxiv.org/abs/2408.03284v1
项目地址:https://guanjz20.github.io/projects/ReSyncer
论文阅读

ReSyncer:基于风格重新布线的统一视听同步面部表演者生成器
摘要
使用给定的音频对口型视频是各种应用的基础,包括创建虚拟主持人或表演者。虽然最近的研究探索了使用不同技术的高保真口型同步,但它们的任务导向模型要么需要长期视频进行特定片段的训练,要么保留可见的伪影。
在本文中,我们提出了一个统一有效的框架 ReSyncer,它可以同步广义的视听面部信息。关键设计是重新审视和重新连接基于风格的生成器,以有效采用由原则性风格注入的 Transformer 预测的 3D 面部动态。通过简单地重新配置噪声和风格空间内的信息插入机制,我们的框架将运动和外观与统一的训练融合在一起。
大量实验表明,ReSyncer 不仅可以根据音频制作高保真的口型同步视频,而且还支持多种适合创建虚拟主持人和表演者的吸引人的属性,包括快速个性化微调、视频驱动的口型同步、说话风格的转换,甚至换脸。
方法

ReSyncer框架主要包括两个阶段:
-
第一阶段是风格注入唇同步变换器(Style-SyncFormer),其负责从音频输入预测3D面部动态;
-
第二阶段是重新配置的基于风格的生成器,用以将3D动态渲染成高保真的面部图像。
具体实现中,Style-SyncFormer利用音频特征,通过简单的Transformer结构预测与说话风格相关的3D面部网格位移。在模型训练过程中,注入的3D面部网格严重影响生成的质量。此外,在基于风格的生成器中,通过简单插入机制与高质量的3D面部信息融合来生成最终图像,从而大幅提升了嘴唇同步的质量和稳定性。

换脸的Pipeline。 通过重新配置输入数据和额外的训练损失,可以同时实现口型同步和换脸。
效果

定性交叉同步结果。 顶行显示驾驶音频的口型同步视频。基于“模板”行的生成结果应具有与第一行“口型同步视频”相同的唇形。

HDTF 和 VoxCeleb2 的定量结果。对于 LMD 和 ∆Sync,越低越好,对于其他则越高越好。

换脸的定性结果。 身份交换的结果应该保留模板的表情和唇动。

换脸口型同步的结果。ID 交换结果由给定的音频驱动。我们将其与口型同步和换脸中的两种 SOTA 方法的组合进行了比较。我们的方法生成的结果以更好的保真度保留了细节,同时保持了与源相似的说话风格。
消融实验

消融实验。(a)3D 面部网格提供详细的空间引导,实现卓越的口型同步。(b)具有面部器官形状的网格也增强了换脸中的身份传输。
结论
本文重点介绍了 ReSyncer 框架的几个重要特性:
-
易于重新配置的特性进一步揭示了广泛研究的结构的潜力,从而可以实现具有网格表示的高质量广义口型同步结果。
-
我们的框架旨在采用外部身份信息,因此我们实现了与现有技术相当的换脸能力,同时将口型同步能力保持在一个统一的模型内。
-
网络支持说话风格转换、视频驱动的面部动画,并可应用于实时直播。这些特性互补地满足了不同情况下虚拟表演者创作的各种需求。
相关文章:
ECCV2024,清华百度提出ReSyncer:可实现音频同步嘴唇动作视频生成。
清华&百度等联合提出了ReSyncer,可以实现更高稳定性和质量的口型同步,而且还支持创建虚拟表演者所必需的各种有趣属性,包括快速个性化微调、视频驱动的口型同步、说话风格的转换,甚至换脸。 ReSyncer的工作原理可以简单理解为…...
论文笔记:YOLOv8-QSD 自动驾驶场景小目标检测算法
摘要 YOLOv8-QSD网络是一种新型的无锚点驾驶场景检测网络,建立在YOLOv8的基础上,在保证检测精度的同时保持效率。该网络的骨干网采用结构重参数化技术来转换基于多样化分支块 (DBB) 的模型。 为了准确检测小目标,它集…...
Vue.js状态管理:Vuex与Pinia的比较
在 Vue.js 生态系统中,状态管理是构建复杂应用时的重要组成部分。Vue.js 提供了两种流行的状态管理库:Vuex 和 Pinia。虽然两者都旨在简化状态管理,但它们在设计哲学、API、性能和易用性方面有所不同。本文将深入探讨 Vuex 和 Pinia 的异同&a…...
OJ题目【栈和队列】
目录 有效的括号 有效的括号【代码】 用队列实现栈 用队列实现栈【代码】 用栈实现队列 用栈实现队列【代码】 设计循环队列 有效的括号 https://leetcode.cn/problems/valid-parentheses/submissions/551394950/ 思路:把左括号放到栈里,取出来栈…...
[shell][git]git将当前分支的HEAD指针重置到最后一次提交的状态
在Git中,git reset --hard HEAD 命令用于将当前分支的HEAD指针重置到最后一次提交的状态,并且会丢弃当前工作目录中的所有更改。这个命令的意思是: git reset:重置命令,用于将HEAD指针移动到指定的状态。--hard&#…...
高翔【自动驾驶与机器人中的SLAM技术】学习笔记(六)卡尔曼滤波器二:图解卡尔曼滤波器;卡尔曼滤波器公式理解;面试答法;
上一篇卡尔曼滤波器一中,从整体上认识了,卡尔曼滤波器整体是在做一件什么事。 知道了,协方差就可以理解为偏差,或者误差。 这一篇主要讲卡尔曼滤波器中的公式,理解公式,就能知道如何实现卡尔曼滤波器。 上一篇:卡尔曼滤波器在做一件什么事,这一篇,卡尔曼滤波器怎么…...
高性能日志系统 日志输出模块逻辑
概述 该模块主要实现了一个日志系统的输出模块,通过多态、工厂模式等设计模式,构建灵活的日志输出架构。 功能:格式化完成的标准日志消息,输出到指定为止拓展:支持同时将日志落地到不同的位置,也就是输出日…...
haproxy基础
目录 1 HAProxy介绍 1.1 版本对比 1.2 HAProxy功能 2 参数介绍与实践 2.1 global参数说明 2.2 真实代码格式实例 2.3 常用全局参数 2.3.1 nbproc -- 开启几个进程 2.3.2 cpu-map(CUP绑定) 2.3.3 nbthread 2 --开启2个线程 3 Proxies配置 3.1 Proxies配置-defaults 3.2 Proxi…...
C++ 面试题常用总结 详解(满足c++ 岗位必备,不定时更新)
📚 本文主要总结了一些常见的C面试题,主要涉及到语法基础、STL标准库、内存相关、类相关和其他辅助技能,掌握这些内容,基本上就满足C的岗位技能(红色标记为重点内容),欢迎大家前来学习指正&…...
LVS实验——部署DR模式集群
目录 一、实验环境 二、配置 1、LVS 2、router 3、client 4、RS 三、配置策略 四、测试 1.Director服务器采用双IP桥接网络,一个是VPP,一个DIP 2.Web服务器采用和DIP相同的网段和Director连接 3.每个Web服务器配置VIP 4.每个web服务器可以出外网…...
pythonUI自动化008::allure测试报告(安装及应用)
allure报告预览 1 下载jdk,配置jdk Path变量: https://www.cnblogs.com/FBGG/p/15103119.html(这里不作阐述,请看该偏文章配置即可) 2 下载allure驱动,配置allure Path变量: 下载allure驱动&a…...
常用的 git 和 linux 命令有哪些?
对于 Git 命令: 1. git init:初始化一个新的 Git 仓库。 2. git clone:克隆一个远程仓库到本地。 3. git add:将文件添加到暂存区。 4. git commit:提交暂存区的更改。 5. git status:查看工作区和暂存…...
MYSQL 删除一个字段前,判断字段是否存在
开发过程中经常需要提交可以重复执行的sql,当设计到需要增加字段时,可以参考如下办法: 1.如果是mysql 版本高于5.7.5 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 2.通用方法 写一个存储过程,然后用存储过程取…...
vulnstack-5
环境搭建 靶场虚拟机共用两个,一个外网一个内网,用来练习红队相关内容和方向,主要包括常规信息收集、Web攻防、代码审计、漏洞利用、内网渗透以及域渗透等相关内容学习。 虚拟机密码 win7 sun\heart 123.com sun\Administrator dc123.com # …...
回归预测|基于灰狼优化GWO-Transformer-BiLSTM组合模型的数据回归预测Matlab程序 多特征输入单输出
回归预测|基于灰狼优化GWO-Transformer-LSTM组合模型的数据回归预测Matlab程序 多特征输入单输出 文章目录 前言回归预测|基于灰狼优化GWO-Transformer-BiLSTM组合模型的数据回归预测Matlab程序 多特征输入单输出GWO-Transformer-BiLSTM 一、GWO-Transformer-BiLSTM模型二、实验…...
STM32的USB接口介绍
STM32 USB接口是STM32微控制器系列中集成的一种通信接口,它允许STM32微控制器与外部设备或计算机进行高速的数据传输和通信。以下是STM32 USB接口的简要介绍: 1. 接口类型 STM32的USB接口通常支持USB 2.0标准,部分高端型号可能还支持USB 3.…...
【中等】 猿人学web第一届 第2题 js混淆 动态cookie 1
目录 调试干扰Hook Function 加密参数定位hook Cookie AST 解混淆字符串解密还原解密函数AST 配合解密函数还原字符串 ASCII 编码字符串还原字符串相加花指令(对象)剔除无用代码虚假 if剔除无引用代码剔除无引用的对象数值还原 switch 还原完整的 AST 代码代码注意 还原加密 请…...
ubuntu 22.04 安装 docker(服务器从毛胚到精装)
1、用户操作 阿里云默认是 root 用户,我们一般要自己创建一个用户,然后给该用户 sudo 权限 添加用户 sudo adduser newUserName赋予sudo权限 sudo usermod -aG sudo newUserName删除用户 sudo deluser --remove-home --remove-all-files newUserNam…...
Vue3从零开始——如何巧妙使用setup语法糖、computed函数和watch函数
文章目录 一、setup语法糖二、computed函数2.1 computed的基本用法2.2 computed vs methods2.3 注意事项 三、watch函数3.1 watch的基本用法3.2 immediate和deep选项 四、综合小Demo五、总结 一、setup语法糖 之前我们在编写代码时每次都要编写setup() ,默认导出配置&#x…...
【C++】 特殊类设计:从构思到实现,引领设计新潮流
🌈 个人主页:Zfox_ 🔥 系列专栏:C从入门到精通 目录 🚀 前言 一: 🔥 不能被拷贝的类 二: 🔥 只能在堆上创建对象的类 三: 🔥 只能在栈上创建对象的…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
