【数字人】7、GeneFace++ | 使用声音驱动的面部运动系数作为 condition 来指导 NeRF 重建说话头

在这里插入图片描述

文章目录

    • 一、背景
    • 二、相关工作
      • 2.1 唇形同步的 audio-to-motion
      • 2.2 真实人像渲染
    • 三、方法
      • 3.1 对 GeneFace 的继承
      • 3.2 GeneFace++ 的结构
      • 3.2.1 Pitch-Aware Audio-to-Motion Transform
      • 3.2.2 Landmark Locally Linear Embedding
      • 3.2.3 Instant Motion-to-Video Rendering
    • 四、效果

论文:GeneFace++: Generalized and Stable Real-Time Audio-Driven 3D Talking Face Generation

代码:https://genefaceplusplus.github.io/ [未开源]

出处:浙大 | 字节

时间:2023.10

论文:GENEFACE: GENERALIZED AND HIGH-FIDELITY AUDIO-DRIVEN 3D TALKING FACE SYNTHESIS

代码:https://github.com/yerfor/GeneFace

出处:ICLR2023 | 浙大、字节

时间:2023.01

一、背景

talking face 生成任务期望能够实现对于任意的输入音频生成高质量高保真的说话视频

最近,NeRF 在这个领域受到了很大的关注,其只需要几分钟的训练视频,就可以渲染出高保真的 3D 说话视频

但是,基于 NeRF 的方法有以下几个挑战:

  • 在唇形同步方面,很难生成具有高时间一致性和音频-唇形准确度的长时间面部运动序列。
  • 在视频质量方面,由于用于训练渲染器的数据有限,它容易受到域外输入条件的影响,并偶尔产生不良的渲染结果
  • 在系统效率方面,原始NeRF(神经辐射场)的慢速训练和推理速度严重阻碍了其在实际应用中的使用。

所以,GeneFace++ 做出了如下改进:

  • 利用音调轮廓作为辅助特征,并在面部运动预测过程中引入时间损失
  • 提出了一种 landmark locally linear embedding 方法,用于调节预测运动序列中的异常值
  • 设计了一种基于NeRF(神经辐射场)的高效运动到视频渲染器,实现快速训练和实时推理。

有了这些改进,GeneFace++ 成为首个实现稳定且实时的具有泛化音频-唇形同步功能的说话脸部生成的基于 NeRF 的方法

二、相关工作

2.1 唇形同步的 audio-to-motion

在唇部同步运动预测中,主要有两个挑战:

  • 第一个挑战是所谓的一对多映射问题,这意味着同样的输入音频可能有几个合理的对应面部运动。早期的工作 [49, 47, 6] 直接使用回归损失(例如,L2)学习确定性模型,并因此导致过度平滑的唇部结果。Wav2Lip [30] 第一次利用判别同步专家实现更为清晰和准确的唇部运动,后续工作[48, 45, 22, 19, 34]也采用了这种方法。MemFace[36]引入音频到运动中的记忆检索以缓解一对多问题。

  • 第二个挑战是在给定长时间输入音频时生成时间一致且稳定的运动序列。[24]采用自回归结构来模拟时间序列,但受限于慢速推理和误差累积。其他工作[41,12]使用并行结构(如1D卷积)与滑动窗口,这在一定程度上解决了自回归方法的不足。Transformer-s2a [7] 和 GeneFace [42] 使用前馈结构(自我注意力和卷积)来并行处理整个音频序列。这种框架具有高效率和建模长期信息能力,但在保持生成运动序列中时间连贯性和稳定性方面不太好。

2.2 真实人像渲染

动态人像合成的技术可以分为三类:

  • 基于2D的方法:[39, 35, 30, 49, 46, 48],他们采用GANs [10]或图像到图像转换[17]作为图像渲染器。虽然这些方法达到了良好的图像质量,但由于缺乏3D几何建模,它们无法生成可控制姿态的视频。
  • 基于3D Morphable Model [29] (3DMM)的方法:基于3DMM的方法[41,38,44]通过使用3DMM系数作为辅助条件注入了对三维先验知识,但使用3DMM作为中间处理已知会导致信息丢失,并降低性能。
  • 神经渲染法:神经渲染法[3、9、31、15、50] 采用 NeRF [25] 或其变种来对人像进行三维建模。AD-NeRF 是第一个基于NeRF进行面部语音合成的方法,它提出了一种端到端音频至视频 NeRF 渲染器来生成依赖于音频特征的人像,GeneFace[42] 引入 audio-to-motion 模块来改善NeRF基础上渲染器同步效果,AD-NeRF 采用离散可学习网格在 AD-NeRF 中进行训练和推理加速。

因此,GeneFace++ 使用了三部分来实现:

  • audio-to-motion 阶段:引入了 pitch information 和时间平滑损失来实现合成的说话头的长时间一致性
  • motion 系数鲁棒:引入了一个 projection-based 后处理来提高系统的鲁棒性
  • motion-to-video 阶段:使用 grid encoder 和 deformable slicing surfaces 来实现高效和高质量的人像渲染

三、方法

3.1 对 GeneFace 的继承

GeneFace++ 延续了 GeneFace 两阶段的形式,所以,直接引用了 GeneFace 的 audio-to-motion 和 motio-to-video 阶段

1、Audio-to-Motion

在该阶段,首先使用大量的 lip-reading 数据来学习一个条件 VAE 模型,以实现根据给定的语音来生成准确且具有泛化能力的 facial landmark

VAE 的 loss 如下:

在这里插入图片描述

为了弥补 lip-reading dataset 和 target person video 之间的 domain gap,还使用了 domain adaptative(DA) Postnet ,主要是为了将预测的 facial motion 映射到 target person domain

DA Postnet 的 loss 如下:

在这里插入图片描述

这两步结束后,就可以得到 input audio 的 嘴唇同步且 personalized 的 facial landmark 了

在这里插入图片描述

2、Motion-to-Video

在该阶段,使用 landmark-conditioned dynamic NeRF network 来渲染出人像

在这里插入图片描述

3.2 GeneFace++ 的结构

GeneFace++ 其实主要是为了提升 GeneFace 的效果,达到更自然的音唇同步,更鲁棒的高质量,更快的训练速度

如图 1a,GeneFace++ 有三个阶段:

  • pitch-aware audio-to-motion module:将 audio feature 转换成 facial motion
  • landmark locally linear embedding method:对预测的 motion 进行后处理
  • instant motion-to-video module:将预测的 motion 系数渲染成真实人像

在这里插入图片描述

3.2.1 Pitch-Aware Audio-to-Motion Transform

在这里插入图片描述

在这里插入图片描述

3.2.2 Landmark Locally Linear Embedding

在这里插入图片描述

在这里插入图片描述

3.2.3 Instant Motion-to-Video Rendering

在这里插入图片描述

四、效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

《循环双向链表》(带哨兵位的头节点)

目录 ​编辑 前言: 关于双向循环带头链表: 模拟实现双向循环带头链表: 1.typedef数据类型 2.打印链表 3.初始化链表: 4.创建节点 5.尾插 6.头插 7.尾删 8.头删 9.寻找节点 10.在节点前插入 11.删除指定节点 单链表和双链表的区别…

【实用技巧】更改ArduinoIDE默认库文件位置,解放C盘,将Arduino15中的库文件移动到其他磁盘

本文主要介绍更改Arduino IDE (含2.0以上版本)默认库文件位置的方法。 原创文章,转载请注明出处: 【实用技巧】解放系统盘,更改ArduinoIDE默认库文件位置,将Arduino15中的库文件移动到其他磁盘-CSDN博客文…

2D槽道流

之前看槽道流时,一直无法在二维槽道流里计算出湍流状态,后来了解到二维槽道流需要额外添加随机扰动,但是这个体积力的植入方式一直不知道。而且看稳定性分析中的OS方程的推导,也是基于2d的NS方程,至今还是很疑惑这个问…

保姆级 | Nginx编译安装

0x00 前言 Nginx 是一个 HTTP 和反向代理服务器, 邮件代理服务器, 和通用 TCP/UDP 代理服务器, 最初由伊戈尔西索耶夫(Igor Sysoev)撰写。采用编译安装可以根据自身需要自定义配置,让服务器有更高的安全性和…

智能配电系统解决方案

智能配电系统解决方案是一种集成了先进技术和智能化功能的配电系统,它能够提高电力系统的效率、可靠性和安全性。力安科技智能配电系统解决方案依托电易云-智慧电力物联网,具体实施的方案如下: 智能化设备和传感器:采用智能化的开…

基于PI+重复控制的并网逆变系统谐波抑制策略模型

微❤关注“电气仔推送”获得资料(专享优惠) PI重复控制简介: 重复控制这一新型控制理论最早于出现日本学术界,其目的是为了用于解决质子加速器跟踪精度的问题。Yamamoto Y 等人提出了重复控制数学基础的内模原理,在控…

PS学习笔记——图层

文章目录 图层面板图层类型新建图层新建方式图层颜色 操作图层修改图层名称选中图层隐藏图层调整图层顺序复制图层 图层面板 按F7可打开/关闭图层面板 该面板就是图层面板了 对所有图层进行筛选的按钮,第一个搜索框可以选择按什么方式进行筛选,支持&am…

x程无忧sign逆向分析

x程无忧sign逆向分析: 详情页sign: 详情页网站: import base64 # 解码 result base64.b64decode(aHR0cHM6Ly9qb2JzLjUxam9iLmNvbS9ndWFuZ3pob3UvMTUxODU1MTYyLmh0bWw/cz1zb3Vfc291X3NvdWxiJnQ9MF8wJnJlcT0zODQ4NGQxMzc2Zjc4MDY2M2Y1MGY2Y…

ZHUTI主提2024春夏 聆听「宁静的声音」

将自然艺术触达生活 生活与艺术实践活动 ZHUTI主提2024春夏艺术活动「宁静的声音」,将自然艺术真实的触达生活为核心,将原野聚会、黑胶音乐、插花、咖啡、食物、舞蹈、服装等艺术与生活的元素组合在这场芦苇荡中,用一场兼具无穷畅想和独特审…

如何快速本地搭建悟空CRM结合内网穿透工具高效远程办公

🌈个人主页:聆风吟 🔥系列专栏:数据结构、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 无需公网IP,使用cpolar实现悟空CRM远程访问二. 通过公网来访问公司…

【Java】ArrayList和LinkedList使用不当,性能差距会如此之大!

文章目录 前言源码分析ArrayList基本属性初始化新增元素删除元素遍历元素 LinkedList实现类基本属性节点查询新增元素删除元素遍历元素 分析测试 前言 在面试的时候,经常会被问到几个问题: ArrayList和LinkedList的区别,相信大部分朋友都能回…

Intellij Idea屏蔽日志/过滤日志

一、安装插件 Grep Console 二、设置关键词,过滤日志 关键词的前后加上 .* 符号,类似: .*关键词.*设置后 ,点击 Apply 即可过滤日志。

LeetCode704.二分查找及二分法

每日一题:LeetCode704.二分查找 LeetCode704.二分查找知识点:二分法解题代码 LeetCode704.二分查找 问题描述:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中…

VSG-001

VulkanSceneGraph (VSG), is a modern, cross platform, high performance scene graph library built upon Vulkan VSG 是一个基于vulkan的现代的、跨平台的高性能场景管理库 VSg特性: 使用C17作为c规范编码,支持 CppCoreGuidelines支持 FOSS Best P…

大师学SwiftUI第16章 - UIKit框架集成

其它相关内容请见​​虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记​​ SwiftUI是一套新框架,因此并没有包含我们构建专业应用所需的所有工具。这意味着我们会需要求助于UIKit(移动设备)和AppKit(Mac电脑)等原…

optee4.0.0 qemu_v8的环境搭建篇(ubuntu20.10)

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】:【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈文章目录 前提条件1、拉取代码2、下载工具链3、编译4、运行

Unity在Windows选项下没有Auto Streaming

Unity在Windows选项下没有Auto Streaming Unity Auto Streaming插件按网上说的不太好使最终解决方案 Unity Auto Streaming插件 我用的版本是个人版免费版,版本号是:2021.2.5f1c1,我的里边Windows下看不到Auto Streaming选项,就像下边这张图…

一起Talk Android吧(第五百五十三回:解析Retrofit返回的数据)

文章目录 1. 知识回顾2. 解析方法2.1 解析有效数据2.2 解析错误数据3. 示例代码4. 经验与总结4.1 经验分享4.2 内容总结各位看官们大家好,上一回中咱们说的例子是"Retrofit的基本用法",本章回中介绍的例子是" 如何解析Retrofit返回的数据"。闲话休提,言…

【南京】最新ChatGPT/GPT4科研技术应用与AI绘图及论文高效写作

2023年我们进入了AI2.0时代。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车,就有可能被淘汰在这个数字化时代,如何能高效地处理文本、文献查阅、PPT…

深入了解Java 8 新特性:lambda表达式基础

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概000多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#xf…