更加逼真的3D面部动画现在可以从音频中生成了!
三个要点
✔️ 提出了一种新的音频驱动的面部动画方法,将输入分为语音和表情信号。
✔️ 创建一个新的损失函数,即跨模式损失,它考虑到了两个输入。
✔️ 与现有的方法相比,成功地生成了更可信的上脸动画
MeshTalk: 3D Face Animation from Speech using Cross-Modality Disentanglement
written by Alexander Richard, Michale Zollhofer, Yandong Wen, Femando de la Torre, Yaser Sheikh
(Submitted on 16 Apr 2021)
Comments: ICCV 2021
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍
音频驱动的面部动画是一项需要语音的任务。它是一项任务,将语音和模板脸部的3D网格作为输入,并在说内容的同时输出整个脸部运动的3D动画。这是一个备受关注的研究领域,因为它可以用于各种领域,如计算机游戏和虚拟化身。
迄今为止,这一领域已经开发了各种方法,但现有研究中一个尚未解决的主要问题是难以生成与语音信息不相关的面部运动,如眨眼和眉毛运动。
这样一来,正在说的内容和说话人的眨眼时间之间就没有关联了。这些上脸动作很难学习,而且以前的研究也无法产生可信的上脸动作。
本文介绍的MeshTalk模型通过将输入信号分为语音信号和表情信号两部分,可以输出可信的上面部动作,与现有研究相比,成功地生成了更真实的整个面部的三维动画。与现有的研究相比,该模型更加现实。
MeshTalk概述。
MeshTalk的网络结构如下图所示。
该 模型使用三个输入: 语音信号,它是一个 由T个语音组成的序列;模板网,它由V个顶点表示表达信号,一连串的T字形网格这三个输入是模板网格,它是生成动画的基础。
音频编码器
音频编码器将语音信号,即言语声音,转换为熔融谱图,即言语特征,并每10毫秒产生一个新的特征向量。
该网络是一个一维卷积,每层之间有跳过的连接。(见下图)
表达式编码器
表达式编码器将一个T x V x 3(维度)的输入网格序列平铺到T x V 3,并使用所有耦合层将其映射到128维。
一个单一的LSTM层被用来沿着动画输入网格学习时间信息,最后的输出是LSTM层输出的线性投影(线性投影)到128维。
融合模式
来自音频编码器和表达式编码器的输出通过融合模型在所有三个耦合层中被串联起来。
最终的输出大小为T x H x C,其中T是序列长度,H是潜在的分类头,C是类别的数量。
解码器
解码器通过三个全耦合层fc将模板网格映射到128维,如下图所示。模板网格被映射为128维,然后与融合模型得到的潜伏嵌入相连接,并由所有耦合层重新映射为128维。
两个LSTM层被用来模拟由潜伏嵌入引起的时间依赖性,每个完全耦合的层有一个跳过连接。
最终的输出被重新投射到一个V x 3(维度)的空间,以产生学习后的面部动画。
跨模态损失
该模型与现有研究的主要区别在于,它使用两个特征作为输入:语音信号,即一串语音,和表情信号,即一串面部表情。
然而,如果这里使用现有的损失函数L2 重构损失,语音信号就会被忽略,因为表达信号已经包含了重构动画所需的所有信息。这导致了语音和嘴唇动作之间的同步问题。
为了解决这个问题,本研究提出了一个新的损失函数,称为跨模态损失。
语音信号是输入语音的序列,用a1:T表示,而x1:T 表情信号,是对应的脸部网格的序列。输出的三维动画表示如下。
其中,在公式中。x~1:T和a~1:T是从数据集中随机抽出的语音和面部表情数据,所以上面的方程表示给定正确语音输入和随机面部表情的输出,而下面的方程表示给定正确面部表情和随机语音输入的输出。
那么,跨模式损失被定义为
其中M(上限) 是一个面具,它将较高的权重分配给脸的上部,较低的权重分配给嘴周围的区域,并且M(口)是一个面具,它将较高的权重分配给嘴周围的区域,较低的权重分配给脸的上部。
这种跨模式的损失能够准确地重建独立于语音输入的面部上部,并准确地重建与语音有关的嘴部区域。
除了面部运动外,语音输入对眨眼的影响也很小,所以在训练中加入了眼角运动的LOSS。
因此,最终的优化损失将是LxMod +Leyelid。
感知性评价。
使用这种方法和现有的方法VOCA和地面真实数据,在以下条件下共调查了100名参与者。
- 在三个区域进行比较:全脸、下巴到鼻子(嘴唇同步)和鼻子到上脸(上脸)。
- 在每次比较中,都对测试集的说话者所讲的400对短片进行了评估
- 参与者在VOCA更好(竞争者)、同样好(EQUAL)和这种方法更好(ORS)之间选择。
这项调查的结果显示在下面的表格中。
因此,发现超过大多数的参与者表示这种方法优于现有的VOCA方法,而当与地面真实数据相比较时,约有一半的参与者表示这种方法是相等或更好。
定性的例子。
然后让我们看一下这个方法产生的动画样本。
可以看出,这种方法产生了非常逼真的面部动画,具有准确的语音和嘴部同步以及上面部动作,如眨眼和扬眉。
同样值得注意的是,嘴部动作与音频数据的语音部分相匹配,但上面部动作,如眉毛上扬和眨眼,是为每个序列单独生成的。
摘要
情况如何?在这篇文章中。MeshTalk,一个通过将输入分成两部分:语音信号和表情信号,成功输出合理的上脸动作的模型。MeshTalk,一个通过将输入分离为语音和表情信号而成功输出可信的上脸动作的模型。
尽管与现有的方法相比,这种方法能够生成更逼真的面部动画,但其巨大的计算复杂性使其无法在低成本的硬件上实时运行,如笔记本电脑的CPU和VR设备,而且如果面部网格的眉毛和眼睛被头发遮住的话诸如与音频同步的困难等限制,因此未来的研究将受到密切关注。
本文介绍的MeshTalk架构和生成的视频的细节可以在本文中找到,感兴趣的朋友可以参考一下。
与本文相关的类别