基于BLSTM-RNN的语音驱动逼真面部动画合成
阳珊 1 , 樊博 1 , 谢磊 1 , 王丽娟 2 , 宋謌平 2     
1. 西北工业大学 计算机学院, 陕西省语音与图像处理重点实验室, 西安 710072;
2. 微软亚洲研究院, 北京 100080
摘要:双向长短时记忆(bidirectional lorg short term memory,BLSTM)是一种特殊的递归神经网络(recurrent neural network,RNN),能够有效地对语音的长时上下文进行建模。该文提出一种基于深度BLSTM的语音驱动面部动画合成方法,利用说话人的音视频双模态信息训练BLSTM-RNN神经网络,采用主动外观模型(active appearance model,AAM)对人脸图像进行建模,将AAM模型参数作为网络输出,研究网络结构和不同语音特征输入对动画合成效果的影响。基于LIPS2008标准评测库的实验结果表明:具有BLSTM层的网络效果明显优于前向网络的,基于BLSTM-前向-BLSTM 256节点(BFB256)的三层模型结构的效果最佳,FBank、基频和能量组合可以进一步提升动画合成效果。
关键词虚拟说话人    面部动画    双向长短时记忆 (BLSTM)    递归神经网络 (RNN)    主动外观模型 (AAM)    
Speech-driven video-realistic talking head synthesis using BLSTM-RNN
YANG Shan1, FAN Bo1, XIE Lei1, WANG Lijuan2, SONG Geping2     
1. Shaanxi Provincial Key Laboratory of Speech and Image Information Processing, School of Computer Science, Northwestern Polytechnical University, Xi'an 710072, China;
2. Microsoft Research Asia, Beijing 100080, China
Abstract: This paper describes a deep bidirectional long short term memory (BLSTM) approach for speech-driven photo-realistic talking head animations. Long short-term memory (LSTM) is a recurrent neural network (RNN) architecture that is designed to model temporal sequences and their long-range dependencies more accurately than conventional RNNs. The deep BLSTM-RNN model is applied using a speaker's audio-visual bimodal data. The active appearance model (AAM) is used to model the facial movements with AAM parameters as the prediction targets of the neural network. This paper studies the impacts of different network architectures and acoustic features. Tests on the LIPS2008 audio-visual corpus show that networks with BLSTM layer (s) consistently outperform those having only feed-forward layers. The results show that the best network has a feed-forward layer inserted into two BLSTM layers with 256 nodes (BFB256) in the dataset. The combination of FBank, pitch and energy gives the best performance feature set for the speech-driven talking head animation task.
Key words: talking avatar     facial animation     bidirectional long short term memory (BLSTM)     recurrent neural network (RNN)     active appearance model (AAM)    

虚拟说话人是指由计算机生成能开口说话的面部动画形象的一种技术[1-2]。在人机交互中,视觉和听觉是最便捷的交流方式,因此虚拟说话人技术在智能助手、虚拟现实、游戏娱乐、语言学习等方面具有广泛的应用。一个生动、逼真的虚拟说话人能够吸引用户的注意,而构造一个逼真的虚拟说话人不仅仅需要美观的静态外观,还应该具有与语音真实同步的嘴部动作、面部表情以及肢体动作等[3]。考虑到在人的说话过程中,面部动作和语音最相关的区域为人脸的下半部分,故本文主要关注虚拟说话人嘴部区域运动的合成。

根据输入信息的不同,面部动画合成的方法可以分为文本驱动和语音驱动。文本驱动的面部动画合成主要是通过分析面部动作与文本特征之间的关系,建立面部动作和文本间的对应规则。与语音合成类似,文本特征主要包括词面、词性、韵律标注和位置信息等。而语音驱动的方法是考虑语音的产生过程和面部动作的潜在联系,提取语音中的能量、基频等特征来探寻语音特征和面部动作的映射关系,从而建立关联模型。

国内外的研究者在面部动画合成方面做了大量的研究工作。Bregler等[4]通过提取音素最可能对应的面部图像来进行面部动画合成。而基于单元选择的方法是从面部图像库中选择最接近的图像[5-6]。Tao等[7]通过计算训练集和目标单元间的音、视频距离来建立动态串级模型来建立面部动画合成系统。Jia等[8]利用愉悦度—激活度—优势度 (pleasure-displeasure, arousal-nonarousal, dominance-submissiveness, PAD) 三维模型来分析文本和情感对面部运动的影响。吴志勇等[9]基于MPEG-4标准,结合动态视素的策略建立了生动的面部动画系统。从基于统计参数的语音合成中得到启发,隐Markov模型 (hidden Markov model, HMM) 在面部动画合成中得到成功应用,能较好地还原人脸的面部动画[10-11]。此后,Wang等[12]提出基于轨迹指导的单元选择方法,实现了逼真的动画效果。但HMM训练时会将输入特征空间分开用不同的参数向量表示,并基于决策树聚类计算概率密度,这导致它不能有效地对复杂的上下文信息进行建模,并且也会因决策树过于复杂而产生过拟合的现象[13]

近年随着深层神经网络 (deep neural network,DNN) 在语音识别上的成功应用[14],很多学者将其运用到语音合成领域[13, 15-16]。神经网络能够建立输入和输出间的非线性映射,主要包括前馈神经网络、卷积神经网络和递归神经网络3类。其中,递归神经网络可以实现对序列信息的建模,但递归神经网络只能够学习到前文的信息。Schuster等[17]提出了双向递归神经网络 (bidirectional recurrent neural network, BRNN),能同时学到上下文的信息。之后,Hochreiter等[18]为了解决传统神经网络无法对大跨度的上下文联系进行建模的问题,提出了长短时记忆 (long short-term memory, LSTM) 的策略。结合这两个方面,深度BLSTM-RNN模型能够对输入特征上下文的大跨度关联信息进行建模。

最近,Fan等[19]将深度神经网络应用于文本驱动面部动画中,并证实了BLSTM-RNN的动画合成效果明显优于前向DNN和基于HMM的方法的。

本文基于前期研究基础,尝试将BLSTM-RNN应用于语音驱动的面部动画任务中。由文本输入变为语音输入,需要考虑几个关键问题。首先是网络结构的选择,研究不同网络结构对合成效果的影响;其次是语音特征的选取,研究不同语音特征对合成效果的影响。本文利用主动外观模型 (active appearance model,AAM)[20]对人脸图像特征进行特征表示,以最小化该特征的误差平方和 (sum of square errors, SSE) 作为优化目标,使用BPTT算法[21-22]进行神经网络模型训练。基于LIPS2008标准评测的实验表明:深度BLSTM-RNN能够将语音输入合成为真实的面部动画,并且在BLSTM-前向-BLSTM 256节点 (BFB256) 网络结构下以FBank、基频和能量特征联合作为输入建立的模型的合成效果最好。

1 系统概述

基于深度神经网络的面部动画合成框架如图 1所示。在模型训练过程中,首先对说话人的下半部脸区域进行标定,然后根据标定的数据提取图像的形状和纹理特征,并转化为AAM特征向量,作为网络模型的输出即模型的监督信号。同时,将图像序列对应的语音特征作为训练模型的输入。联合输入输出特征,采用SSE的策略对神经网络模型进行训练迭代。在面部动画视频合成时,根据任意的语音输入,只要提取出语音特征,就可以利用训练好的神经网络模型生成面部动作的AAM参数向量序列。最后将AAM参数向量还原成人脸下半部分图像,再结合预先设定的背景图像序列,利用Poisson拼接[23]来生成最终的面部动作,合成面部动画视频。

图 1 基于深度神经网络的面部动画合成系统框架

2 基于AAM的人脸建模 2.1 面部特征提取

说话人在说话过程中身体和头部有自然的摆动现象,这些摆动带来的面部点坐标的变化会影响面部特征提取的效果。为了消除这类非形状因素的干扰,本文利用头部运动跟踪算法[24]图 2中的人脸位置进行归一化,将图像序列中的人脸通过适当的旋转、平移、缩放等变换对齐到同一个人脸模型上。

图 2 面部特征点与三角剖分

在面部动画合成中,面部与发音最相关的区域为下半部脸,故本文对标准化后的人脸下部区域标记了48个特征点,并利用这些点进行三角剖分提取图像的形状与纹理特征,如图 2所示。

2.2 AAM建模

AAM通过结合人脸的形状模型和纹理模型来建立统计外观模型[20]。由于人脸图像的形状与纹理特征维度很高,很难直接使用进行模型训练,故使用AAM的方法对这些特征进行处理。

对于图 2a中第i张人脸图像,本文用标定的v个点的坐标来表示该样本的形状特征向量si,则有

$ {\mathit{\boldsymbol{S}}_i} = \left\{ {{x_{i1}},{x_{i2}}, \cdots ,{x_{iv}},{y_{i1}},{y_{i2}}, \cdots ,{y_{iv}}} \right\}. $

这样,对于样本数据集中的所有形状特征向量S={s1, s2, …, sn},平均形状向量s0可表示为

$ {\mathit{\boldsymbol{s}}_0} = \sum\limits_{i = 1}^n {{\mathit{\boldsymbol{s}}_i}/n} . $

对训练数据集中的n个形状特征向量进行主成分分析 (principal component analysis,PCA)[25],则任意形状特征向量si可表示为平均特征向量s0与PCA后得到的Ms个形状特征向量的线性组合,即

${\mathit{\boldsymbol{s}}_i} = {\mathit{\boldsymbol{s}}_0} + \sum\limits_{m = 1}^{{M_s}} {{w_{im}}{{\mathit{\boldsymbol{\hat s}}}_m} = {\mathit{\boldsymbol{s}}_0} + {\mathit{\boldsymbol{W}}_i}{\mathit{\boldsymbol{P}}_s}.} $ (1)

其中:wim为第i个样本在第m个分量的权重,Wi为第i个样本的连接权重矩阵,Ps为主成分空间的单位矩阵。

本文采用基于像素密度的统计纹理模型对人脸纹理进行建模[26]。该模型通过提取一个基础网格中的所有u个像素点的红绿蓝 (red green blue, RGB) 颜色信息得到纹理密度矩阵A。用aj=(rj, gj, bj)T表示第j个点的像素值,则第i张人脸的纹理密度矩阵为

$ {\mathit{\boldsymbol{A}}_i} = \left[ {{\mathit{\boldsymbol{a}}_1},{\mathit{\boldsymbol{a}}_2}, \cdots ,{\mathit{\boldsymbol{a}}_u}} \right]. $

考虑到该矩阵的维度很高,本文使用最大化期望的主成分分析 (expectation-maximization principal component analysis, EMPCA) 算法[27]n个样本进行降维。则类似地可以将第i个纹理特征向量表示平均纹理向量A0与EMPCA后得到的Ml个纹理特征向量的线性组合,即

${{\mathit{\boldsymbol{A}}}_{i}}={{\mathit{\boldsymbol{A}}}_{0}}+\sum\limits_{m=1}^{{{M}_{l}}}{{{t}_{im}}{{\overset{\gg }{\mathop{\mathit{\boldsymbol{A}}}}\,}_{m}}={{\mathit{\boldsymbol{A}}}_{0}}\mathit{\boldsymbol{+}}{{\mathit{\boldsymbol{T}}}_{i}}{{\mathit{\boldsymbol{P}}}_{t}}.}$ (2)

其中:tim为第i个样本在第m个成分的权重,Ti为第i个样本的连接权重矩阵,Pt为EMPCA后样本空间各个方向上的单位矩阵。

为了同时表征人脸的形状和纹理模型,本文联合形状和纹理模型建立外观模型[28]。考虑到人脸的形状和纹理具有相关性,本文假定第i个样本的形状权值矩阵Wi和纹理权值矩阵Ti对同一个参数向量ci具有线性相关性,即

${\mathit{\boldsymbol{W}}_i} = {\mathit{\boldsymbol{c}}_i}{\mathit{\boldsymbol{C}}_s},$ (3)
${\mathit{\boldsymbol{T}}_i} = {\mathit{\boldsymbol{c}}_i}{\mathit{\boldsymbol{C}}_t}.$ (4)

由式 (1)—(4) 可得

$ \begin{gathered} {\mathit{\boldsymbol{S}}_i} = {\mathit{\boldsymbol{S}}_0} + {\mathit{\boldsymbol{c}}_i}{\mathit{\boldsymbol{C}}_t}{\mathit{\boldsymbol{P}}_s} = {\mathit{\boldsymbol{S}}_0} + {\mathit{\boldsymbol{c}}_i}{\mathit{\boldsymbol{Q}}_s}, \hfill \\ {\mathit{\boldsymbol{A}}_i} = {\mathit{\boldsymbol{A}}_0} + {\mathit{\boldsymbol{c}}_i}{\mathit{\boldsymbol{C}}_t}{\mathit{\boldsymbol{P}}_t} = {\mathit{\boldsymbol{S}}_0} + {\mathit{\boldsymbol{c}}_i}{\mathit{\boldsymbol{Q}}_t}. \hfill \\ \end{gathered} $

其中:Cs是和Wi线性相关的矩阵,Ct是和Ti线性相关的矩阵,具有同样的线性变换系数ciQsCs和形状空间单位矩阵Ps的积;QtCt和纹理空间单位矩阵Pt的积。这样,只需要一个参数向量ci代表第i张人脸来进行深度神经网络模型的训练。

3 基于深度BLSTM的面部动画模型 3.1 深度BLSTM递归神经网络

对一个给定的输入序列x=(x1, x2, …, xT),标准的递归神经网络[29]通过从t=1到T迭代计算隐层的状态向量序列h=(h1, h2, …, hT) 和输出向量序列y=(y1, y2, …, yT),即

${\mathit{\boldsymbol{h}}_t} = \mathit{\boldsymbol{H}}\left( {{\mathit{\boldsymbol{W}}_{xh}}{x_t} + {\mathit{\boldsymbol{W}}_{hh}}{\mathit{\boldsymbol{h}}_{t - 1}} + {\mathit{\boldsymbol{b}}_h}} \right),$ (5)
${\mathit{\boldsymbol{y}}_t} = {\mathit{\boldsymbol{W}}_{hy}}{\mathit{\boldsymbol{h}}_t} + {\mathit{\boldsymbol{b}}_y}.$ (6)

其中:W代表各层间的权值矩阵;bhby分别为隐层和输出层的偏置向量;H为输出层的激活函数。传统RNN由于梯度消失问题对长序列特征建模的效果并不好。而长短时记忆 (long short-term memory, LSTM) 通过构建内存单元对序列信息进行建模[30],解决了梯度消失的问题。单个内存单元结构如图 3所示。

图 3 LSTM内存单元

在上述LSTM内存单元中,激活函数H通过下列公式实现:

$ \begin{gathered} {\mathit{\boldsymbol{i}}_t} = \sigma \left( {{\mathit{\boldsymbol{W}}_{xi}}{x_t} + {\mathit{\boldsymbol{W}}_{hi}}{\mathit{\boldsymbol{h}}_{t - 1}} + {\mathit{\boldsymbol{W}}_{ci}}{\mathit{\boldsymbol{c}}_{t - 1}} + {\mathit{\boldsymbol{b}}_i}} \right), \hfill \\ {\mathit{\boldsymbol{f}}_t} = \sigma \left( {{\mathit{\boldsymbol{W}}_{xf}}{x_t} + {\mathit{\boldsymbol{W}}_{hf}}{\mathit{\boldsymbol{h}}_{t - 1}} + {\mathit{\boldsymbol{W}}_{cf}}{\mathit{\boldsymbol{c}}_{t - 1}} + {\mathit{\boldsymbol{b}}_f}} \right), \hfill \\ {\mathit{\boldsymbol{c}}_t}{\rm{ = }}{\mathit{\boldsymbol{f}}_t}{\mathit{\boldsymbol{c}}_{t - 1}} + {\mathit{\boldsymbol{i}}_t}\tanh \left( {{\mathit{\boldsymbol{W}}_{xc}}{x_t} + {\mathit{\boldsymbol{W}}_{hc}}{\mathit{\boldsymbol{h}}_{t - 1}} + {\mathit{\boldsymbol{b}}_c}} \right), \hfill \\ {\mathit{\boldsymbol{o}}_t} = \sigma \left( {{\mathit{\boldsymbol{W}}_{xo}}{x_t} + {\mathit{\boldsymbol{W}}_{ho}}{\mathit{\boldsymbol{h}}_{t - 1}} + {\mathit{\boldsymbol{W}}_{co}}{\mathit{\boldsymbol{c}}_t} + {\mathit{\boldsymbol{b}}_o}} \right), \hfill \\ {\mathit{\boldsymbol{h}}_t} = {\mathit{\boldsymbol{o}}_t}\tanh \left( {{\mathit{\boldsymbol{c}}_t}} \right). \hfill \\ \end{gathered} $

其中:σ为标准sigmoid函数;ifoc分别为输入门、遗忘门、输出门和内存单元;bibfbcbo分别为输入门、遗忘门、输出门和内存单元的偏置向量;Wxi为网络输入和输入门之间的权重矩阵;Whi为网络输入和隐层节点的权重矩阵;Wci为网络输入和cell间的权重矩阵;Wxf为网络输入和遗忘门间的权重矩阵;Whf为隐层节点和遗忘门间的权重矩阵;Wcf为cell和遗忘门间的权重矩阵;而Wxc连接网络输入和cell;Whc连接cell和隐层节点;Wxo为网络输入和输出门间的权重矩阵;Who连接输出门和隐层节点;Wco为cell与输出门连接的权重矩阵。

传统RNN只能记录前向的上下文信息,但说话时当前帧的AAM参数同时与前向和后向的信息有关。双向递归神经网络能够记录特征序列前后双向的上下文信息[31],该网络将隐层分为前向序列和后向序列,迭代过程如下:

$ \begin{align} &{{\overrightarrow{\mathit{\boldsymbol{h}}}}_{t}}=\mathit{\boldsymbol{H}}\left( {{\mathit{\boldsymbol{W}}}_{\overrightarrow{xh}}}{{x}_{t}}+{{\mathit{\boldsymbol{W}}}_{\overrightarrow{h}\overrightarrow{h}}}{{\overrightarrow{\mathit{\boldsymbol{h}}}}_{t-1}}+{{\mathit{\boldsymbol{b}}}_{\overrightarrow{h}}} \right), \\ &{{\overleftarrow{\mathit{\boldsymbol{h}}}}_{t}}=\mathit{\boldsymbol{H}}\left( {{\mathit{\boldsymbol{W}}}_{x\overleftarrow{h}}}{{x}_{t}}+{{\mathit{\boldsymbol{W}}}_{\overleftrightarrow{h}\overleftarrow{h}}}{{\overleftarrow{\mathit{\boldsymbol{h}}}}_{t-1}}+{{\mathit{\boldsymbol{b}}}_{\overleftarrow{h}}} \right), \\ &{{\mathit{\boldsymbol{y}}}_{t}}={{\mathit{\boldsymbol{W}}}_{\overrightarrow{h}y}}{{\overrightarrow{\mathit{\boldsymbol{h}}}}_{t}}+{{\mathit{\boldsymbol{W}}}_{\overleftarrow{h}y}}{{\overleftarrow{\mathit{\boldsymbol{h}}}}_{t}}+{{\mathit{\boldsymbol{b}}}_{y}}. \\ \end{align} $

考虑到这2个方面,本文中基于深度BLSTM递归神经网络的结构如图 4所示。

图 4 面部动画合成的DBLSTM-RNN模型

3.2 模型训练

在构造基于深度BLSTM-RNN的面部动画合成模型过程中,本文通过最小化模型输出AAM参数与真实AAM参数间误差平方和 (SSE) 的方法进行模型训练。对于帧数为Ml的输入序列l,其误差函数为

$ {E_l}\left( \omega \right) = \frac{1}{2}\sum\limits_{m = 1}^{{M_l}} {{\mathit{\boldsymbol{E}}_{lm}}{{\left\| {\mathit{\boldsymbol{o}}_m^l - \mathit{\boldsymbol{\hat o}}_m^l} \right\|}^2}} . $

则在第x迭代中,误差梯度为

$ \Delta \omega \left( x \right) = m\Delta \omega \left( {x - 1} \right) - \alpha \frac{{\partial E\left( {\omega \left( x \right)} \right)}}{{\partial \omega \left( x \right)}}. $

其中:α为网络的学习速率,m为冲量因子。

4 实验 4.1 实验设置

本文采用LIPS2008标准评测[32]所提供的278句英文音视频语料数据作为研究对象。库的每一句话都是由同一个女性说话人不带任何情感地进行朗读。本文使用HTK工具[33]提取数据库中每一句音频的Mel频率倒谱系数 (Mel-frequency cepstral coefficient, MFCC) 参数作为模型的输入特征,并设置窗长为20 ms,窗移为5 ms。对于视频数据,该评测库的采样频率为50帧/s,共采集了61 244张人脸图像。对于每一张标准化的人脸图像,本文利用AAM对下半部分进行建模,最终用91维的AAM参数表示,并保存了原始图像85.7%的累积方差。由于提取MFCC特征的频率为200 Hz,为保持输入和输出特征有相同的帧率,对AAM参数插值到200帧/s。从278句话中随机抽取223句作为训练集,再随机抽取28句作为交叉验证集,剩下的27句作为测试集。在模型训练过程中,本文设置神经网络学习速率为10-6,冲量因子为0.9,并用Gauss随机分布将权值矩阵初始化。

为了衡量合成的AAM参数与原始AAM参数之间的关系,本文采用均方根误差 (root mean-square error,RMSE)、Pearson积矩相关系数 (Pearson product-moment correlation coefficient,PCC) 和典型相关性分析参数 (canonical correlation analysis,CCA) 作为客观评价指标。均方根误差反映了预测值和真实值间的误差,取值越小越好;而采用典型相关性分析参数来观察真实值和模型预测值间的最大相关性,该指标从两组变量间分别提取最具代表性的综合变量并计算其相关性来代表整体的相关性,其值越大表明相关性越大。

4.2 实验结果

本文使用不同神经网络拓扑结构以及节点数进行模型训练,随后用训练好的模型针对相同的测试集输入进行测试并计算客观指标。实验中各个模型合成AAM参数向量的客观指标如表 1所示,其中F代表一层前馈神经网络,B代表一层BLSTM网络。

表 1 各种网络拓扑结构的客观测评结果
结构 节点
64 128 256 512
RMSE PCC CCA RMSE PCC CCA RMSE PCC CCA RMSE PCC CCA
B 72.129 0.508 0.915 71.103 0.523 0.914 69.73 0.548 0.921 70.167 0.545 0.920
F 82.275 0.261 0.800 81.756 0.280 0.813 81.810 0.275 0.818 81.843 0.276 0.820
BBB 68.292 0.575 0.924 68.576 0.570 0.928 68.555 0.571 0.928 69.396 0.558 0.923
BBF 68.924 0.566 0.924 67.946 0.580 0.932 68.675 0.568 0.929 68.246 0.578 0.932
BFB 68.301 0.577 0.922 68.625 0.566 0.928 67.708 0.584 0.931 69.485 0.557 0.933
BFF 71.108 0.524 0.921 69.519 0.555 0.930 69.960 0.548 0.926 70.232 0.542 0.925
FBB 70.602 0.532 0.925 70.081 0.542 0.922 68.769 0.569 0.931 68.968 0.562 0.935
FBF 69.916 0.547 0.922 69.530 0.551 0.930 69.226 0.558 0.927 68.862 0.565 0.933
FFB 71.619 0.521 0.915 71.345 0.522 0.916 70.940 0.530 0.923 69.015 0.560 0.926
FFF 79.576 0.338 0.845 79.458 0.340 0.846 79.534 0.336 0.843 79.199 0.350 0.841

表 1的结果中可以看出,加入了BLSTM层的网络结构比单一的前馈神经网络的效果要好,并且前馈网络和BLSTM网络的混合模型性能也要优于单一BLSTM网络模型。在本文的实验中,综合考虑文中的3个客观指标,利用网络BFB256训练的统计参数模型的效果最好。

为了观察模型BLSTM对参数轨迹的建模能力,选取客观指标最好的BLSTM-RNN网络模型BFB256以及同一网络节点数下客观指标最好的前馈网络模型FFF256,进行了合成AAM参数曲线的效果分析。图 5展示了从测试集中随机选取的一句话的第一维AAM参数变化曲线。从合成效果上看,BFB256网络合成的曲线与真实曲线更加接近。

图 5 第一维预测AAM参数和真实AAM参数

4.3 语音特征比较

在节4.2的实验中,使用语音的MFCC特征作为输入来进行基于BLSTM-RNN的语音驱动面部动画合成,并且从客观上证明该方法是有效的。而考虑到表征语音信号的特征有很多种如音频的线谱对 (line spectral pair,LSP) 特征、对数谱FBank特征和基频特征等。为了找到合成效果最佳的语音特征,本文在客观指标最好的BFB256网络结构下,尝试使用FBank、LSP、基频和能量等特征及其组合进行面部动画合成,结果如表 2所示。

表 2 BFB256网络下各种特征的客观测评结果
指标 RMSE PCC CCA 特征维数
MFCC 67.708 0.584 0.931 39
FBank 67.476 0.592 0.937 120
LSP 67.961 0.583 0.931 40
MFCC+基频+能量 68.452 0.570 0.931 44
FBank+基频+能量 67.409 0.595 0.937 125
LSP+基频+能量 67.165 0.593 0.932 45

可以看出:在单一特征类型下,语音的FBank特征合成效果最好;而加入了基频和能量特征后,RMSE和PCC指标均有所下降,而CCA指标大体保持不变。考虑到CCA指标是2组变量中抽取的综合变量间的相关性,而RMSE和PCC考虑了全局的相关性,且AAM建模利用了主成分分析的方法,说明加入了基频和能量特征后对合成的AAM参数效果有一些提升,但是提升可能体现在AAM参数的较靠后的维度值中。

4.4 主观实验

本文选取BFB256和FFF512这2种模型结构生成的测试集面部动画视频,进行主观测试,其中输入的音频特征为MFCC。将生成的面部动画视频和原始视频随机播放给20个受测试者,请受测试者根据面部动画合成效果进行打分 (满分5分),FFF512、BFB256和原始主观平均意见打分 (mean opinion score,MOS) 分别为2.40、3.95和4.45。

加入了BLSTM的神经网络的合成效果明显优于前馈神经网络的。大多数受试者表示,基于BLSTM-RNN方法所生成的面部动画自然逼真,更接近原始视频。本文中主观测评所使用的测试集合成的面部动画视频可以下载 (网址为http://www.npu-aslp.org/lips2008/index.html)。

5 结论

本文研究了基于深度BLSTM-RNN的语音驱动面部动画合成的方法,并尝试了不同神经网络结构和不同语音特征的的合成效果。实验结果表明,深层神经网络模型能够有效地利用语音特征进行面部动画合成,并且在BFB256网络结构下以语音的FBank、基频和能量特征组合作为输入而建立的模型的合成效果最好。但是,由于在参数化的合成方法中,本文使用了PCA对参数进行降维,导致合成出的面部图像在细节方面表现不够。在今后的工作中,拟尝试基于BLSTM的输出参数,使用轨迹指导的拼接方法来合成更加逼真的面部动画。

参考文献
[1] XIE Lei, SUN Naicai, FAN Bo. A statistical parametric approach to video-realistic text-driven talking avatar[J]. Multimedia Tools and Applications, 2014, 73(1): 377–396. DOI:10.1007/s11042-013-1633-3
[2] Berger M A, Hofer G, Shimodaira H. Carnival-combining speech technology and computer animation[J]. Computer Graphics and Applications, IEEE, 2011, 31(5): 80–89. DOI:10.1109/MCG.2011.71
[3] YANG Minghao, TAO Jianhua, MU Kaihui, et al. A multimodal approach of generating 3D human-like talking agent[J]. Journal on Multimodal User Interfaces, 2012, 5(1-2): 61–68. DOI:10.1007/s12193-011-0073-5
[4] Bregler C, Covell M, Slaney M. Video rewrite:Driving visual speech with audio[C]//Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques. Los Angeles, CA, USA:ACM Press, 1997:353-360.
[5] Huang F J, Cosatto E, Graf H P. Triphone based unit selection for concatenative visual speech synthesis[C]//Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing. Orlando, FL, USA:IEEE, 2002:2037-2040.
[6] Ezzat T, Geiger G, Poggio T. Trainable videorealistic speech animation[J]. Acm Transactions on Graphics, 2004, 3(3): 57–64.
[7] TAO Jianhua, YIN Panrong. Speech driven face animation based on dynamic concatenation model[J]. J Inf Computat Sci, 2007, 4(1): 271–280.
[8] JIA Jia, WU Zhiyong, ZHANG Shen, et al. Head and facial gestures synthesis using PAD model for an expressive talking avatar[J]. Multimedia Tools and Applications, 2014, 73(1): 439–461. DOI:10.1007/s11042-013-1604-8
[9] ZHAO Kai, WU Zhiyong, JIA Jia, et al. An online speech driven talking head system[C]//Proceedings of the Global High Tech Congress on Electronics. Shenzhen, China:IEEE Press, 2012:186-187.
[10] Sako S, Tokuda K, Masuko T, et al. HMM-based text-to-audio-visual speech synthesis[C]//Proceedings of the International Conference on Spoken Language Processing. Beijing, China:IEEE Press, 2000:25-28
[11] Eddy S R. Hidden markov models[J]. Current Opinion in Structural Biology, 1996, 6(3): 361–365. DOI:10.1016/S0959-440X(96)80056-X
[12] WANG Lijuan, QIAN Xiaojun, HAN Wei et al. Synthesizing photo-real talking head via trajectory-guided sample selection[C]//Proceedings of the International Speech Communication Association. Makuhari, Japan:IEEE Press, 2010:446-449.
[13] Ze H, Senior A, Schuster M. Statistical parametric speech synthesis using deep neural networks[C]//Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing. Vancouver, Canada:IEEE Press, 2013:7962-7966.
[14] Hinton G, DENG Li, YU Dong, et al. Deep neural networks for acoustic modeling in speech recognition:The shared views of four research groups[J]. Signal Processing Magazine, IEEE, 2012, 29(6): 82–97. DOI:10.1109/MSP.2012.2205597
[15] FAN Yuchen, QIAN Yao, XIE Fenglong, et al. TTS synthesis with bidirectional LSTM based recurrent neural networks[C]//Proceedings of the International Speech Communication Association. Singapore:IEEE Press, 2014:1964-1968.
[16] Kang S Y, Qian X J, Meng H. Multi-distribution deep belief network for speech synthesis[C]//Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing. Vancouver, Canada:IEEE Press, 2013:8012-8016.
[17] Schuster M, Paliwal K K. Bidirectional recurrent neural networks[J]. IEEE Transactions on Signal Processing, 1997, 45(11): 2673–2681. DOI:10.1109/78.650093
[18] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural computation, 1997, 9(8): 1735–1780. DOI:10.1162/neco.1997.9.8.1735
[19] FAN Bo, WANG Lijuan, Song F K, et al. Photo-real talking head with deep bidirectional LSTM[C]//Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing. Brisbane, Australia:IEEE Press, 2015:4884-4888.
[20] Cootes T F, Edwards G J, Taylor C J. Active appearance models[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001, 23(6): 681–685. DOI:10.1109/34.927467
[21] Werbos P J. Backpropagation through time:What it does and how to do it[J]. Proceedings of the IEEE, 1990, 78(10): 1550–1560. DOI:10.1109/5.58337
[22] Williams R J, Zipser D. Gradient-based learning algorithms for recurrent networks and their computational complexity[J]. Back-propagation:Theory, Architectures and Applications, 1995: 433–486.
[23] Pérez P, Gangnet M, Blake A. Poisson image editing[C]//Proceedings of the ACM Transactions on Graphics. New York, NY, USA:ACM, 2003:313-318.
[24] WANG Qiang, ZHANG Weiwei, TANG Xiaoou, et al. Real-time bayesian 3-D pose tracking[J]. Circuits and Systems for Video Technology, IEEE Transactions on, 2006, 16(12): 1533–1541. DOI:10.1109/TCSVT.2006.885727
[25] Jolliffe I T. Principal component analysis[J]. Springer Berlin, 1986, 87(100): 41–64.
[26] Stegmann M B. Active appearance models:Theory extensions and cases[J]. Informatics & Mathematical Modelling, 2000, 1(6): 748–754.
[27] Roweis S. EM algorithms for PCA and SPCA[J]. Advances in Neural Information Processing Systems, 1999, 10: 626–632.
[28] Cootes T F, Kittipanya-ngam P. Comparing variations on the active appearance model algorithm[C]//Proceedings of the 13th British Machine Vision Conference. Cardiff, Wales, UK:BMVA, 2002:1-10.
[29] Graves A, Mohamed A R, Hinton G. Speech recognition with deep recurrent neural networks[C]//Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing. Vancouver, Canada:IEEE Press, 2013:6645-6649.
[30] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735–1780. DOI:10.1162/neco.1997.9.8.1735
[31] Schuster M, Paliwal K K. Bidirectional recurrent neural networks[J]. Signal Processing, IEEE Transactions on, 1997, 45(11): 2673–2681. DOI:10.1109/78.650093
[32] Theobald B J, Fagel S, Bailly G, et al. LIPS2008:Visual speech synthesis challenge[C]//Proceedings of the International Speech Communication Association. Brisbane, Australia:IEEE Press, 2008:2310-2313.
[33] Young S, Evermann G, Gales M, et al. The HTK book[M]. Cambridge: Cambridge University Engineering Department, 2002.