- 题目:One-shot Talking Face Generation from Single-speaker Audio-Visual Correlation Learning
- 作者团队:
1 任务定义
该文章针对的任务是one-shot的说话人物生成,与传统的方法的区别之处在于,该文章先使用同一个人的语料进行训练,随后使用他人的人脸进行生成。
2 动机/创新点
- 提出了一个全新的想法,即使用一个特定的人物进行训练,建立audio-visual的联系
- 提出了一个audio-visual correlation transformer(AVCT),可以完成音频特征到motion field 特征的映射
3 方法
3.1 Audio-visual Correlation Transformer(AVCT)
整体而言,AVCT完成了跨模态的映射工作,这一模块的输出是FOMM中使用的驱动表达,即dense motion field。这一模块的输入则是多种聚合的特征,包括源图像的结构特征(采用FOMM的E_kd预测的关键点和雅克比矩阵)、音频特征(音素序列以及音频特征)以及人脸姿态特征(使用OpenFace预测的欧拉角)。
3.2 编码器
采用了音素标签作为输入,削弱了不同人的音色之间差异所带来的影响。
作者将音素标签映射为word embedding,将姿态特征映射为二值图像,拼接到一起后送入trm结构的编码器中。
3.3 解码器
人说话的嘴部运动是跟声音的大小(loudness)有关系的,所以在解码器阶段要将音频特征输入其中。
此外为了降低模型训练时对于身份信息的依赖程度,将人脸的结构信息特征(使用E_kd提取的)作为源人脸信息的表达,输入到解码器中。
上述二者特征信息,作为query,融入到基于trm的解码器中。
3.4 Batched Sequential Training
每个batch里面的图像是一个视频的连续帧。
可以对数据施加时序上的约束以及音唇一致性的约束。
3.5 判别器
D_seq使用了PatchGAN的结构,将T个连续帧的图像在通道层面进行拼接,使用D_seq判别真假。
D_sync采样音频窗和视频窗,提取中间音频的特征和视频的特征,计算余弦相似度作为判别器打分。
3.6 损失函数
整体的损失函数如下
音唇一致性损失舍掉了边缘部分的帧。vgg损失即不同帧之间的感知损失。
L_eq则是fomm中使用的equivariance constraint loss。
3.7 相对姿态变换
本文仿照了fomm的变换方法,使用了相对姿态变换,这种方法降低了训练身份之间和one-shot源人脸之间的gap。
保证源人脸的姿态和驱动序列第一帧的姿态相同。
将相对姿态变换施加到参考人脸上,如下式所示。
4 实验结果
4.1 数据集
作者收集了Obama Weekly Address的视频当作第一阶段训练的数据集。
随后的数据训练使用了HDTF数据集和VoxCeleb2数据集。
4.2 定性实验
Wav2Lip和PC-VS看着机械化,不自然
PC-AVS身份不匹配
Audio2Head音唇不一致
FGTF嘴型畸变
4.3 定量实验
Wav2Lip只修改嘴部,所以CPBD高一些。
FID:Fr´echet Inception Distance
CPBD:Cumulative Probability of Blur Detection
LMD:嘴部关键点的距离
AVOff和AVConf:SyncNet判断的音唇一致性
4.4 消融实验
w/o Pho:编码器中不使用音素的输入 BST
w/o Aud:解码器中不使用音频特征
w/o Dec_kp:解码器中不使用关键点特征
w/o K_p:直接输入源人脸,而不是用关键点作为源的输入
w/o BST:移除两个判别器
w/o D_sync:仅移除音唇一致性判别器
缺少源信息输入显著影响效果。
缺少时序判别器影响音唇一致性。
5 总结
提供了一个说话人生成的新视角,即从同一人物的大量数据中学习audio-visual的关系,随后泛化到不同人物上。