CN111243065B - 一种语音信号驱动的脸部动画生成方法 - Google Patents

一种语音信号驱动的脸部动画生成方法 Download PDF

Info

Publication number
CN111243065B
CN111243065B CN201911366799.5A CN201911366799A CN111243065B CN 111243065 B CN111243065 B CN 111243065B CN 201911366799 A CN201911366799 A CN 201911366799A CN 111243065 B CN111243065 B CN 111243065B
Authority
CN
China
Prior art keywords
dimension
time
frequency
freq
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911366799.5A
Other languages
English (en)
Other versions
CN111243065A (zh
Inventor
周昆
柴宇进
翁彦琳
王律迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Faceunity Technology Co ltd
Zhejiang University ZJU
Original Assignee
Faceunity Technology Co ltd
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Faceunity Technology Co ltd, Zhejiang University ZJU filed Critical Faceunity Technology Co ltd
Priority to CN201911366799.5A priority Critical patent/CN111243065B/zh
Publication of CN111243065A publication Critical patent/CN111243065A/zh
Application granted granted Critical
Publication of CN111243065B publication Critical patent/CN111243065B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种语音信号驱动的脸部动画生成方法,该方法主要分为六个步骤:提取语音特征、收集频率信息、汇总时间信息、解码动作特征、驱动脸部模型以及滑动信号窗口。本发明可以根据输入的语音音频信号,在一定延时下实时地驱动任意脸部模型,生成动画;动画质量达到当前最先进的语音动画技术水平,并且有轻量化、鲁棒性好的特点。本发明可以用于生成不同场景下的语音动画,如VR虚拟社交、虚拟语音助手以及游戏。

Description

一种语音信号驱动的脸部动画生成方法
技术领域
本发明涉及脸部动画领域,尤其涉及一种语音信号驱动的脸部动画(简称为语音动画)生成方法。
背景技术
程序式的语音动画技术(Yuyu Xu,Andrew W Feng,Stacy Marsella,and AriShapiro.A practical and configurable lip sync method for games.In Proceedingsof Motion on Games,pages 131-140.ACM,2013.)(Pif Edwards,Chris Landreth,EugeneFiume,and Karan Singh.Jali:an animator-centric viseme model for expressivelip synchronization.ACM Transactions on Graphics(TOG),35(4):127,2016.),从语音中自动识别反映发音的音素序列(例如英语中的音节、中文中的拼音),并根据人类在发音时嘴唇的形状将音素分组为视素,且为每个视素制作动画关键帧;通过一定的协同发音规则连接整个序列,得到脸部动画。这些技术通常局限于人为设定的关键帧和协同发音规则而无法生成出真实的语音动画;并且受限于音素识别结果的准确度。
基于样本的语音动画技术(Tony Ezzat,Gadi Geiger,and TomasoPoggio.Trainable video-realistic speech animation,volume 21.ACM,2002.)(SarahL Taylor,Moshe Mahler,Barry-John Theobald,and Iain Matthews.Dynamic units ofvisual speech.In Proceedings of the ACM SIGGRAPH/Eurographics Symposium onComputer Animation,pages 275-284.Eurographics Association,2012.),也进行音素序列到动画的映射,但是为了提高动画的真实性,不再使用人为设定的规则,而直接从数据样本中提取多个动画片段进行拼接。这些技术的效果通常局限于样本的数量,并且在片段拼接处往往会产生瑕疵;同样也受限于音素识别结果的准确度。
Wang等人提出一种基于隐马尔可夫链模型的技术(Lijuan Wang,Wei Han,FrankSoong,and Qiang Huo.Text-driven 3d photo-realistic talking head.InINTERSPEECH 2011.International Speech Communication Association,September2011.),从语音信号中提取梅尔倒谱系数(Me1-Frequency Cepstral Coefficients,MFCC)作为语音特征,使用二维图像中人脸标定点(Landmarks)的主成分分析(PrincipalComponent Analysis,PCA)系数作为动画特征。该技术借助隐马尔可夫链对语音特征与动画特征之间的映射关系进行建模;挖掘两种特征之间的自然规则,相比基于样本的技术提高了数据的利用率。
近年来,深度神经网络促进了语音动画领域技术进一步的提升。Fan等人(Bo Fan,Lei Xie,Shan Yang,Lijuan Wang,and Frank K Soong.A deep bidirectional lstmapproach for video-realistic talking head.Multimedia Tools and Applications,75(9):5287-5309,2016.)使用双向的长短时记忆模块(Bidirectional Long Short-TermMemory,BiLSTM)从数据中学习语音到动画的映射,尤其是学习自然的协同发音模式;但是BiLSTM需要整段语音输入,无法做到实时生成。Suwajanakorn等人在此基础上提出一种延时的单向长短时记忆模块(Supasorn Suwajanakorn,Steven M Seitz,and IraKemelmacher-Shlizerman.Synthesizing obama:learning lip sync from audio.ACMTransactions on Graphics(TOG),36(4):95,2017.),通过短暂的延时获取下文信息来帮助处理协同发音;做到在一定延时下,实时地生成高质量语音动画。此技术的局限性在于需要大量的数据,并且只能生成特定人物的脸部视频。
Talyor等人(Sarah Taylor,Taehwan Kim,Yisong Yue,Moshe Mahler,JamesKrahe,Anastasio Garcia Rodriguez,Jessica Hodgins,and Iain Matthews.A deeplearning approach for generalized speech animation.ACM Transactions onGraphics(TOG),36(4):93,2017.)提出一种滑动窗口的技术,用深度神经网络(DeepNeural Network,DNN)将一个窗口长度内的音素映射到脸部的主动外观模型(ActiveAppearance Model,AAM)系数;输入的音素窗口内包含短暂的上下文信息,能够很好地被DNN用于学习自然发音模式。Karras等人(Tero Karras,TimoAila,Samuli Laine,AnttiHerva,and Jaakko Lehtinen.Audio-driven facial animation by joint end-to-endlearning of pose and emotion.ACMTransactions on Graphics(TOG),36(4):94,2017.)进一步提升滑动窗口技术,输入为一个窗口的线性预测编码(Linear Predictive Coding,LPC)语音特征,经过两阶段卷积神经网络(对应特征维度的共振峰分析阶段、对应时间维度的发音阶段),以及两层全连接网络,输出一帧三维脸部模型的顶点位置。这两种技术的泛用性较差,尤其是当输入的语音与模型的训练语音差别很大时。Cudeiro等人(DanielCudeiro,Timo Bolkart,Cassidy Laidlaw,Anurag Ranjan,and Michael Black.Capture,learning,and synthesis of 3D speaking styles.Computer Vision and PatternRecognition(CVPR),pages 10101-10111,2019.)进一步改进,利用现有的语音识别模块来提取语音特征,提升了泛用性;但与此同时,引入的语音识别模块体积过于庞大,也使得该技术生成动画的速度缓慢。
发明内容
本发明的目的在于针对现有技术的不足,提供了一种语音信号驱动的脸部动画生成方法。本发明使用梅尔频谱来提取语音信号的频率特征;参照无表情、闭嘴的脸部模型,计算得到的形变梯度,被用于表示动画中的脸部运动。本发明通过三阶段(对应步骤(2)至(4))的深度神经网络将一个窗口的梅尔频谱特征映射为一帧形变梯度;形变梯度可以用于驱动任意脸部模型,输出的风格可以在深度神经网络中由独热向量进行显示控制。
本发明的目的是通过以下技术方案来实现的,一种语音信号驱动的脸部动画生成方法,包括以下步骤:
(1)提取语音特征:对一个窗口内的语音提取梅尔频谱(Mel Spectrogram)特征;所述特征是由特征图维度、频率维度、时间维度组成的三维张量(Tensor)。
(2)收集频率信息:对步骤(1)得到的梅尔频谱,沿着频率维度方向,使用神经网络(Neural Network),抽象、收集所有频率信息,得到频率抽象信息。
(3)汇总时间信息:对步骤(2)所得的频率抽象信息,沿着时间维度方向,使用神经网络确定时间上下文中每帧信息的重要程度,并依据重要程度进行汇总,得到时间汇总信息。
(4)解码动作特征:对步骤(3)所得的时间汇总信息,与用户输入的控制风格的独热(One-Hot)向量连接;经过两个相似的神经网络分支,分别输出缩放/剪切(Scaling/Shearing)系数与旋转(Rotation)系数,两个分支的输出系数组合起来得到表示脸部动作的形变梯度(Deformation Gradients)。
(5)驱动脸部模型:对于任意给定的脸部模型(无表情、闭嘴状态),使用步骤(4)得到的形变梯度驱动脸部模型,作出相应的脸部动作。
(6)滑动信号窗口:重复步骤(1)至步骤(5),对所有语音信号窗口进行处理,生成完整的脸部动画。
本发明的有益效果是:步骤(2)收集频率信息的方法,是依据梅尔频谱特性进行设计的,可以鲁棒地抽象语音特征;步骤(3)汇总时间信息的方法,是依据辅音、元音发音原理设计的,可以高效地学习人类自然发音模式;步骤(4)中首次提出在语音驱动的脸部动画中使用形变梯度来表示脸部动作,可以更准确地描述脸部运动的局部变化。本方法达到当前最先进的语音驱动的脸部动画技术水平,且轻量化、鲁棒、可实时(在一定延时下)。本发明可以在VR虚拟社交、虚拟语音助手与游戏等应用中使用语音信号驱动脸部动画的生成。
附图说明
图1是本发明的方法流程示意图;
图2是本发明的方法中步骤(2)中子步骤(2.3)所述记忆单元的工作流程示意图;
图3是本发明的方法中步骤(3)流程示意图;
图4是本发明用语音信号驱动脸部模型动画的实施实例,驱动人类脸部模型说出英文单词“smash”的动画帧顺序节选;
图5是本发明用语音信号驱动脸部模型动画的实施实例,驱动卡通动物脸部模型说出英文单词“smash”的动画帧顺序节选。
具体实施方式
本发明的核心技术利用频率维度的卷积与双向长短时记忆模块抽象语音特征,用时间维度的双向长短时记忆与注意力模块汇总窗口内时间上下文信息,用形变梯度来表示脸部运动。如图1所示,该方法主要分为六个步骤:提取语音特征、收集频率信息、汇总时间信息、解码动作特征、驱动脸部模型以及最后通过在一段语音序列上滑动信号窗口不断重复前五个步骤,获取完整的动画序列。
1.提取语音特征:对一个窗口内的语音提取梅尔频谱(Mel Spectrogram)特征;所述特征是由特征图维度、频率维度、时间维度组成的三维张量(Tensor)。
1.1对输入音频窗口长度为Laudio的语音信号进行短时傅里叶变换(帧长度为Lfft、帧间隔为Lhop);使用Fmel个梅尔滤波器(Mel Filters),将傅立叶变换的结果转换到梅尔频率下,得到帧长度为Lframe的梅尔频谱。
1.2将梅尔频谱关于时间的第一与第二阶导数作为辅助特征,与原始特征堆叠成3×Fmel×Lframe形状的张量(Tensor),其中第一维的3表示特征图数量,第二维的Fmel表示频率维度的长度,第三维的Lframe表示时间维度的长度。
2.收集频率信息:对步骤(1)得到的梅尔频谱,沿着频率维度方向,使用神经网络(Neural Network),抽象、收集所有频率信息,得到频率抽象信息。
2.1对步骤(1)所得的梅尔频谱,用二维卷积网络,提取梅尔频谱的局部频率特征;所述二维卷积网络依次包括:第一二维卷积层、第一二维最大池化层、第二二维卷积层、第二二维最大池化层;所述两个二维卷积层,分别通过Cfreq_conv0、Cfreq_conv1个沿着频率维度方向的卷积核(大小都为Kfreq×1,其中Kfreq表示频率维度方向大小,1表示时间维度方向大小)对输入进行卷积计算获取若干局部特征图(数量等同于卷积核数量),两个二维卷积层都使用负数倾斜率为0.2的带泄漏线性整流(Leaky ReLU,LReLU)作为激活函数;所述两个二维最大池化层,在沿着频率维度方向的一个区域内(大小都为Sfreq×1)选取局部特征最大值,完成下采样池化操作;得到的局部频率特征为一个
Figure BDA0002338631930000041
形状的张量,其中第一维的Cfreq_conv1表示特征图数量,第二维的
Figure BDA0002338631930000042
表示频率维度的长度,第三维的Lframe表示时间维度的长度。
2.2对步骤(2.1)所得的局部频率特征,用Cfreq_conv2个大小为1×1(频率维度与时间维度方向大小都等于1)的卷积核投影局部频率特征;使用负数倾斜率为0.2的带泄漏线性整流(Leaky ReLU,LReLU)作为激活函数;输出为一个
Figure BDA0002338631930000051
形状的张量,其中第一维的Cfreq_conv2表示特征图数量,第二维的
Figure BDA0002338631930000052
表示频率维度的长度,第三维的Lframe表示时间维度的长度。
2.3对步骤(2.2)所得的投影之后的局部频率特征,沿着频率维度的正反两个方向,分别用一个长短时记忆单元循环地处理频率维度上的每个特征;如图2所示,所述长短时记忆单元具有一个状态器(用于存储记忆单元的历史信息)和三个门:输入门it作用于每个频率特征xt(x表示输入,下标t表示第t个输入的时刻)与记忆单元上一步的输出ht-1(h表示输出,下标t-1表示第t-1个输入的时刻,即上一步),表示是否允许新的频率特征信息加入到记忆单元的状态器中,数值为0到1(包括两端),如果输入门数值为1(即开门)则加入新信息,如果为0(即关门)则加入零向量,如果为0到1中间数值则将新信息乘以门数值再加入;遗忘门ft作用于记忆单元的状态器,表示是否保留上一步状态器存储的历史频率信息St-1(S表示状态器的状态,下标t-1表示第t-1个输入的时刻,即上一步),数值为0到1(包括两端),如果遗忘门数值为1(即开门)则保留存储的信息,如果为0(即关门)则重置存储信息为零向量,如果为0到1中间数值则将存储信息乘以门数值再保留;输出门ot作用于记忆单元的状态器,表示是否将当前记忆单元的状态St(S表示状态器的状态,下标t表示第t个输入的时刻)作为输出,数值为0到1(包括两端),如果为1(即开门)则当前记忆单元的状态作为输出,如果为0(即关门)则输出零向量,如果为0到1中间数值则将当前记忆单元的状态乘以门数值再作为输出;三个门的具体数值由当前输入xt与该记忆单元上一步的输出ht-1连接、投影得到,其具体公式如下:
Figure BDA0002338631930000053
其中,xt为当前输入,ht-1为记忆单元上一步的输出;it为输入门数值,Wi、bi分别为输入门的权重与偏置参数;ft为输入门数值,Wf、bf分别为遗忘门的权重与偏置参数;ot为输入门数值,Wo、bo分别为输出门的权重与偏置参数;
Figure BDA0002338631930000054
为对当前输入、上一步输出的投影,Wf、bf分别为投影的权重与偏置参数;St-1、St分别为上一步与当前的记忆单元状态器的状态;ht为当前记忆单元的输出。
每个方向的长短时记忆单元的特征图数量为
Figure BDA0002338631930000061
两方向的特征图数量之和为Cfreq_LSTM,因此本步骤两方向长短时记忆单元的输出为
Figure BDA0002338631930000062
形状的张量,其中第一维的Cfreq_LSTM表示特征图数量,第二维的
Figure BDA0002338631930000063
表示频率维度的长度,第三维的Lframe表示时间维度的长度。
长短时记忆单元的状态器以及围绕状态器运行的三个门,使其可以在分析某个频率特征时充分考虑其他频率的特征,顺应人类发音时会出现共振峰的自然现象。
2.4对步骤(2.3)中沿着频率维度正反两方向长短时记忆单元的输出,全部连接成为一个向量得到
Figure BDA0002338631930000064
形状的张量,其中第一维的
Figure BDA0002338631930000065
表示特征图数量,第二维的Lframe表示时间维度的长度;并用一个特征图数量为Cfreq的全连接层进行投影,收集所有频率的信息,得到频率抽象信息zfreq为Cfreq×Lframe形状的张量,其中第一维的Cfreq表示特征图数量,第二维的Lframe表示时间维度的长度。至此,频率维度被完全收集,抽象到特征图维度中。
3.汇总时间信息:对步骤(2)所得的频率抽象信息,沿着时间维度方向,使用神经网络确定时间上下文中每帧信息的重要程度,并依据重要程度进行汇总,得到时间汇总信息;具体流程如图3所示。
3.1对步骤(2)所得的频率抽象信息,用两个隐藏层,传递时间维度的时间上下文信息;所述每个隐藏层中,沿着时间维度的正反方向,分别用一个长短时记忆单元循环地处理时间维度上的每帧,传递时间信息;所述长短时记忆单元与步骤(2.3)中所述长短时记忆单元结构原理相同,但作用于时间维度方向,具有一个状态器(用于存储记忆单元的历史信息)和三个门:输入门作用于每帧时间特征与记忆单元上一步的输出,表示是否允许新的时间帧信息加入到记忆单元的状态器中,数值为0到1(包括两端),如果输入门数值为1(即开门)则加入新信息,如果为0(即关门)则加入零向量,如果为0到1中间数值则将新信息乘以门数值再加入;遗忘门作用于记忆单元的状态器,表示是否保留上一步状态器存储的历史时间信息,数值为0到1(包括两端),如果遗忘门数值为1(即开门)则保留存储的信息,如果为0(即关门)则重置存储信息为零向量,如果为0到1中间数值则将存储信息乘以门数值再保留;输出门作用于记忆单元的状态器,表示是否将当前记忆单元的状态作为输出,数值为0到1(包括两端),如果为1(即开门)则当前记忆单元的状态作为输出,如果为0(即关门)则输出零向量,如果为0到1中间数值则将当前记忆单元的状态乘以门数值再作为输出;三个门的具体数值由当前输入时间帧(或上一个隐藏层的输出)与该单元上一步的输出连接、投影得到。
每个方向的长短时记忆单元的特征图数量都为
Figure BDA0002338631930000071
两方向的特征图数量之和为Ctime,因此本步骤所得的时间上下文信息mfreq为Ctime×Lframe形状的张量,其中第一维的Ctime表示特征图数量,第二维的Lframe表示时间维度的长度。
3.2对步骤(3.1)所得的时间上下文信息,用隐藏层权衡上下文中各帧信息的重要性权重并进行加权和汇总;所述隐藏层中,选取时间上下文信息mfreq中间的Kqry帧用Catt个一维卷积核(大小也为Kqry)投影作为询问项qatt(形状为Catt×1,其中Catt为特征图数量与卷积核数量相同,1为时间维度长度),对整个时间上下文信息mfreq进行线性投影作为键值项katt(形状为Catt×Lframe,其中Catt为特征图数量,Lframe为时间维度长度),询问项qatt与键值项katt之和通过tanh激活函数、线性投影(特征图数量从Catt投影为1)与softmax归一化,获取每一帧的权重(形状为1×Lframe),并使用该权重对时间上下文信息mfreq进行加权和汇总,得到时间汇总信息zatt(形状为Ctime,其中Ctime为特征图数量);所述隐藏层通过时间维度的权重模仿人类自然发音的模式,例如元音发音时间跨度长,辅音发音则表现为瞬时发音并且与该辅音前后的过渡元音有关。
4.解码动作特征:对步骤(3)所得的时间汇总信息,与用户输入的控制风格的独热(One-Hot)向量连接;经过两个相似的神经网络分支,分别输出缩放/剪切(Scaling/Shearing)系数与旋转(Rotation)系数,两个分支的输出系数组合起来得到表示脸部动作的形变梯度(Deformation Gradients)。
本发明首次在语音驱动的语音动画中,使用形变梯度来表示脸部动作,相比于以往的技术,能够更准确地描述脸部运动的局部变化。
4.1形变梯度
本发明采用了(Robert W Sumner and Jovan Popovic.Deformation transferfor triangle meshes.ACM Transactions on graphics(TOG),23(3):399-405,2004.)描述的方式计算脸部模型的形变梯度。脸部模型由多个三角形面片组成,用
Figure BDA0002338631930000072
Figure BDA0002338631930000073
分别表示脸部模型与形变之后的脸部模型中第i个三角形的三个顶点。为了处理垂直于三角形方向的形变,为三角形按照如下公式计算第四个顶点:
Figure BDA0002338631930000074
第i个三角形的形变梯度是一个满足如下公式的变换矩阵Ti
Figure BDA0002338631930000075
其中Vi
Figure BDA0002338631930000076
分别由参照和形变三角形的三个向量堆叠而成:
Figure BDA0002338631930000081
因此,
Figure BDA0002338631930000082
本发明进一步采用(Qianyi Wu,Juyong Zhang,Yu-Kun Lai,Jianmin Zheng,andJianfei Cai.Alive caricature from 2d to 3d.In Proceedings of the IEEEConference on Computer Vision and Pattern Recognition,pages 7336-7345,2018.)描述的方法对变换矩阵进行极分解,Ti=RiSi。其中Si表示缩放/剪切变换,为对称矩阵,可以用6个参数表示;Ri表示旋转变换,使用Rodrigues’formula可以用3个参数表示。因此每个三角形的形变梯度由9个参数表示。
本发明中的形变梯度是定义在一个模板脸部模型上的,该模板脸部模型无表情、闭嘴状态、由N个三角形组成,因此对应的形变梯度包含9N=6N+3N个参数。
4.2解码动作
将用于控制说话人风格的Cspeaker维度独热向量与步骤(3)所得的时间汇总信息zatt连接,经过一个特征图数量为Cdec0的全连接层与负数倾斜率为0.2的带泄漏线性整流(Leaky ReLU,LReLU)激活函数得到zdec(形状为Cdec0)。之后zdec分别经过两个结构相似、并行的神经网络分支,解码缩放/剪切与旋转参数。
在每个分支中,zdec会再次与Cspeaker维度独热控制向量连接,并由三个全连接层进行投影;第一个全连接层特征图数量为Cdec1,激活函数为负数斜率0.2的LReLU;第二个特征图数量为Cdec2,激活函数为tanh;第三个没有激活函数(在缩放/剪切与旋转分支中,特征图数量分别为Cpca_s与Cpca_r)。分支的最后是一个固定的线性全连接层(在缩放/剪切与旋转分支中,特征图数量分别为6N与3N),其参数由该分支对应的训练数据的主成分分析基底与均值进行初始化;主成分分析过程中保留97%的能量,缩放/剪切与旋转分支中,保留的基底数量分别为Cpca_s与Cpca_r(与前述中分支第三个全连接层的特征图数量相同)。两个分支分别解码得到表示缩放/剪切的参数s(大小为6N)与表示旋转的参数r(大小为3N)。
5.驱动脸部模型:对于任意给定的脸部模型(无表情、闭嘴状态),使用步骤(4)得到的形变梯度驱动脸部模型,作出相应的脸部动作。
5.1获取给定脸部模型(由M个三角形组成)与模板脸部模型(由N个三角形组成)的三角形对应关系(本子步骤每个给定模型只需要执行一次):
如果给定脸部模型与模板脸部模型之间拓扑结构不同,则不能直接使用步骤(4)所得的形变梯度,需要首先获取两个模型之间的三角形对应关系;如果拓扑结构相同,则可以直接使用。
本发明采用了(Robert W Sumner and Jovan Popovic.Deformation transferfor triangle meshes.ACM Transactions on graphics(TOG),23(3):399-405,2004.)描述的方法,在用户给定若干顶点对应关系的情况下自动求解不同拓扑的两个脸部模型之间的三角形对应关系。
所述自动求解方法,首先需要寻找一系列变换矩阵(包含缩放/剪切与旋转变换,不包含平移变换)Oi,i∈{1,...,M}将给定脸部模型形变到最接近模板脸部模型的状态。定义如下三个能量方程ES、EI、EC与限制条件下的能量方程之和E,最小化E可以将给定脸部模型形变到目标状态:
Figure BDA0002338631930000091
其中,ES表示约束形变平滑度的能量,M为给定脸部模型中三角形的数量,adj(i)表示第i个三角形周围邻接三角形的集合;EI表示约束形变程度的能量,I表示单位矩阵;EC表示形变之后两个模型顶点距离的能量,n为给定脸部模型中顶点的数量,
Figure BDA0002338631930000092
为形变之后的给定脸部模型第i个顶点的位置,ci
Figure BDA0002338631930000093
在模板脸部模型中最接近的顶点的位置;E为前三能量项之和,
Figure BDA0002338631930000094
表示形变之后的给定脸部模型中的n个顶点位置,ws、wI、wC分别为ES、EI、EC对应的权重,该能量方程服从于用户给定的m个顶点对应关系,
Figure BDA0002338631930000095
为第k个顶点对应关系中形变之后的给定脸部模型的顶点位置,mk为第k个顶点对应关系中顶点的目标位置。
由于最小化上述能量方程E的过程中,需要寻找
Figure BDA0002338631930000096
也就是为形变之后的给定脸部模型的每个顶点,在模板脸部模型中寻找最近顶点;而随着优化过程,顶点位置发生变化,最近顶点的关系也在发生变化;因此需要迭代寻找最近顶点、最小化上述能量方程E的过程若干步。
将给定脸部模型形变到最接近模板脸部模型的状态之后,计算模板脸部模型与形变之后的给定脸部模型中所有三角形的质心。对形变之后的给定脸部模型中每个三角形,在模板脸部模型中寻找合理对应三角形,需要满足质心距离小于一定阈值(手动调整)并且两个法向量夹角小于90°。相同地也对模板脸部模型中每个三角形,在形变之后的给定脸部模型中寻找合理对应三角形。所有的合理对应关系,组成了两个模型间的三角形对应关系。
5.2将对应模板脸部模型的形变梯度迁移到给定脸部模型上:
将步骤(4)所得的缩放/剪切参数s与旋转参数r恢复成模板脸部模型所有三角形的变换矩阵集
Figure BDA0002338631930000101
(其中N为模板脸部模型的变换矩阵数量,等于其三角形数量);根据步骤(5.1)所得的三角形对应关系构建出给定脸部模型的变换矩阵集
Figure BDA0002338631930000102
(其中M′为给定脸部模型的变换矩阵数量;给定脸部模型中的一个三角形k,如果在模板脸部模型中不拥有对应三角形,则使用单位矩阵作为k的变换矩阵;如果拥有一个对应三角形,则直接使用对应三角形的变换矩阵作为k的变换矩阵;如果拥有多个对应三角形,则将k复制若干份,每份对应其中一个;由于存在拥有多个对应三角形的情况,因此最终得到的变换矩阵数量M′≥M)。
5.3依据迁移的形变梯度,求解给定脸部模型的顶点位置:
通过最小化如下能量方程,求得对应迁移的形变梯度下,给定脸部模型顶点位置
Figure BDA0002338631930000103
Figure BDA0002338631930000104
其中c是由
Figure BDA0002338631930000105
堆叠而成,A是一个将c与
Figure BDA0002338631930000106
关联起来的大型稀疏矩阵。通过设置能量方程梯度为0,
Figure BDA0002338631930000107
可以由以下公式求解:
Figure BDA0002338631930000108
由于A只与给定脸部模型有关,A和ATA可以预先计算,且每个模型只需要一次预计算。
6.滑动信号窗口:重复步骤(1)至步骤(5),对所有语音信号窗口进行处理,生成完整的脸部动画。
在整段输入语音信号上,以
Figure BDA0002338631930000109
秒的间隔获取一系列音频窗口,对于每个窗口重复步骤(1)至步骤(5),生成完整的动画,动画的帧率为fps帧每秒。生成速度可达实时,延时为
Figure BDA00023386319300001010
(其中Laudio为步骤(1)中所述的输入音频窗口长度)。
实施实例
损失函数:发明人使用监督学习的方法训练步骤(2)至步骤(4)中涉及的神经网络参数。将语音与动画数据组织成若干数据对(xt,yt),其中xt表示第t帧数据对应的语音信号窗口,yt表示对应的形变梯度参数。按照步骤(4)中的描述,yt可以进一步分为缩放/剪切部分
Figure BDA00023386319300001011
与旋转部分
Figure BDA00023386319300001012
训练过程中,步骤(4)的输出标记为
Figure BDA00023386319300001013
Figure BDA00023386319300001014
对于两部分参数,本发明使用相似的能量项进行约束,以缩放/剪切部分为例,能量项包含考虑绝对数值的
Figure BDA00023386319300001015
与考虑数值时间导数的
Figure BDA00023386319300001016
Figure BDA00023386319300001017
对于旋转部分,
Figure BDA00023386319300001018
Figure BDA00023386319300001019
的定义方式与上述公式相似。最终的损失函数是四个能量项的加权和,权重使用Karras等人(Tero Karras,TimeAila,Samuli Laine,Antti Herva,and Jaakko Lehtinen.Audio-driven facial animation by joint end-to-endlearning of pose and emotion.ACM Transactions on Graphics(TOG),36(4):94,2017.)提出的技术进行自动动态平衡。
训练实例:发明人在一台配备Intel Core i7-8700K中央处理器(3.70GHz),NVIDIA GTX1080Ti图形处理器(11GB)的计算机上实施本发明的实例。实施过程中使用数据库VOCASET(Daniel Cudeiro,Time Bolkart,Cassidy Laidlaw,Anurag Ranjan,andMichael Black.Capture,learning,and synthesis of3D speaking styles.ComputerVision and Pattern Recognition(CVPR),pages10101-10111,2019.)对模型进行训练。
模型参数:发明人在实施本发明的实例时,步骤(1)到(6)所涉及的参数如下:
(1)提取语音特征:音频窗口长度Laudio=0.568秒;短时傅立叶变换帧长度Lfft=0.064秒,帧间隔Lhop=0.008秒;梅尔滤波器个数Fmel=128;所得梅尔频谱帧数Lframe=64。
(2)收集频率信息:卷积核的数量(也是卷积之后特征图的数量)分别为Cfreq_conv0=32,Cfreq_conv1=64,Cfreq_conv2=64;前两层卷积核大小Kfreq=3,池化区域大小Sfreq=2;频率维度的两方向长短时记忆单元的特征图数量之和为Cfreq_LSTM=64(即单一方向特征图数量为32);全连接投影特征图数量Cfreq=256。
(3)汇总时间信息:时间维度的两方向长短时记忆单元的特征图数量之和为Ctime=512(即单一方向特征图数量为256);注意力模块中Kqry=3,Catt=128。
(4)解码动作特征:模板脸部模型的三角形数量N=9976;说话人风格控制向量维度Cspeaker=8;第一个全连接层特征图数量Cdec0=512;每个分支中前两个全连接层特征图数量Cdec1=512,Cdec2=256;缩放/剪切的参数s保留的主成分分析基底数量(也是缩放/剪切分支第三个全连接层特征图数量)Cpcas=85,旋转的参数r保留的主成分分析基底数量(也是旋转分支第三个全连接层特征图数量)Cpca_r=180。
(5)驱动脸部模型:M由具体给定模型参数决定;在步骤(5.1)中迭代优化公式(5)的过程中,第一步ws=1.0、wI=0.001、wC=0,之后再迭代四步,wC由1变到5000。
(6)滑动信号窗口:重复步骤(1)至(5):动画帧率fps=60。
实例时耗:将VOCASET的脸部模型作为模板脸部模型(由9976个三角形组成),并在VOCASET的数据上训练模型50次迭代,耗时约5小时。对于输入的语音信号,每一个窗口生成一帧动画(从步骤(1)至(5),步骤(5)中直接驱动模板脸部模型)耗时约10毫秒,达到实时的速率。对于拓扑结构不同于模板脸部模型的其他给定脸部模型,需要事先按照步骤(5.1)进行模型三角形对应关系的设定,根据模型复杂度以及实施人员的熟练度,耗时大约在15~40分钟;对于任意模型此工作只需进行一次。
动画节选:发明人实施本发明实例,用语音信号驱动脸部动画。使用VOCASET的脸部模型生成语音动画,其顺序节选帧如图4所示(图中人物正在说英文单词“smash”);使用拓扑不同于模板脸部模型的卡通动物脸部模型生成语音动画,其顺序节选帧如图5所示(图中卡通动物正在说英文单词“smash”)。

Claims (6)

1.一种语音信号驱动的脸部动画生成方法,其特征在于,包括以下步骤:
(1)提取语音特征:对一个窗口内的语音提取梅尔频谱特征;所述特征是由特征图维度、频率维度、时间维度组成的三维张量;
(2)收集频率信息:对步骤(1)得到的梅尔频谱,沿着频率维度方向,使用神经网络抽象、收集所有频率信息,得到频率抽象信息;
(3)汇总时间信息:对步骤(2)所得的频率抽象信息,沿着时间维度方向,使用神经网络确定时间上下文中每帧信息的重要程度,并依据重要程度进行汇总,得到时间汇总信息;
(4)解码动作特征:对步骤(3)所得的时间汇总信息,与用户输入的控制风格的独热向量连接;经过两个神经网络分支,分别输出缩放/剪切系数与旋转系数,两个分支的输出系数组合起来得到表示脸部动作的形变梯度;
(5)驱动脸部模型:对于任意给定的无表情、闭嘴状态的脸部模型,使用步骤(4)得到的形变梯度驱动脸部模型,作出相应的脸部动作;
(6)滑动信号窗口:重复步骤(1)至步骤(5),对所有语音信号窗口进行处理,生成完整的脸部动画。
2.根据权利要求1所述的语音信号驱动的脸部动画生成方法,其特征在于,所述步骤(1)包含如下子步骤:
(1.1)对输入音频窗口长度为Laudio的语音信号进行短时傅里叶变换,帧长度为Lfft、帧间隔为Lhop;使用Fmel个梅尔滤波器,将傅立叶变换的结果转换到梅尔频率下,得到帧长度为Lframe的梅尔频谱;
(1.2)将梅尔频谱关于时间的第一与第二阶导数作为辅助特征,与原始特征堆叠成3×Fmel×Lframe形状的张量,其中第一维的3表示特征图数量,第二维的Fmel表示频率维度的长度,第三维的Lframe表示时间维度的长度。
3.根据权利要求1所述的语音信号驱动的脸部动画生成方法,其特征在于,所述步骤(2)包含如下子步骤:
(2.1)对步骤(1)所得的频率维度的长度为Fmel的梅尔频谱,用二维卷积网络,提取梅尔频谱的局部频率特征;所述二维卷积网络依次包括:第一二维卷积层、第一二维最大池化层、第二二维卷积层、第二二维最大池化层;所述两个二维卷积层,分别通过Cfreq_conv0、Cfreq_conv1个沿着频率维度方向的大小都为Kfreq×1的卷积核对输入进行卷积计算获取若干局部特征图,其中,所述局部特征图的数量等同于卷积核数量,Cfreq_conv0、Cfreq_conv1均表示卷积核数量;Kfreq表示频率维度方向大小,1表示时间维度方向大小;两个二维卷积层都使用负数倾斜率为0.2的带泄漏线性整流作为激活函数;所述两个二维最大池化层,在沿着频率维度方向的大小为Sfreq×1的区域内选取局部特征最大值,完成下采样池化操作,Sfreq表示池化区域大小;得到的局部频率特征为一个
Figure FDA0003303479260000021
形状的张量,其中第一维的Cfreq_conv1表示特征图数量,第二维的
Figure FDA0003303479260000022
表示频率维度的长度,第三维的Lframe表示时间维度的长度;
(2.2)对步骤(2.1)所得的局部频率特征,用Cfreq_conv2个大小为1×1的卷积核投影局部频率特征;使用负数倾斜率为0.2的带泄漏线性整流作为激活函数;输出为一个
Figure FDA0003303479260000023
Figure FDA0003303479260000024
形状的张量,其中第一维的Cfreq_conv2表示特征图数量,第二维的
Figure FDA0003303479260000025
表示频率维度的长度,第三维的Lframe表示时间维度的长度,所述大小为1×1表示频率维度与时间维度方向大小都等于1;
(2.3)对步骤(2.2)所得的投影之后的局部频率特征,沿着频率维度的正反两个方向,分别用一个长短时记忆单元循环地处理频率维度上的每个特征;两个方向的长短时记忆单元的特征图数量之和为Cfreq_LSTM
(2.4)对步骤(2.3)中沿着频率维度正反两方向长短时记忆单元的输出,全部连接成为一个向量得到
Figure FDA0003303479260000026
形状的张量,其中第一维的
Figure FDA0003303479260000027
表示特征图数量,第二维的Lframe表示时间维度的长度;并用一个特征图数量为Cfreq的全连接层进行投影,收集所有频率的信息,得到频率抽象信息zfreq为Cfreq×Lframe形状的张量,其中第一维的Cfreq表示特征图数量,第二维的Lframe表示时间维度的长度;至此,频率维度被完全收集,抽象到特征图维度中。
4.根据权利要求1所述的语音信号驱动的脸部动画生成方法,其特征在于,所述步骤(3)包含如下子步骤:
(3.1)对步骤(2)所得的频率抽象信息,用两个隐藏层传递时间维度的时间上下文信息mfreq;所述每个隐藏层中,沿着时间维度的正反方向,分别用一个长短时记忆单元循环地处理时间维度上的每帧,传递时间信息;每个方向的长短时记忆单元的特征图数量都为
Figure FDA0003303479260000028
两方向的特征图数量之和为Ctime,所述时间上下文信息mfreq为Ctime×Lframe形状的张量,其中第一维的Ctime表示特征图数量,第二维的Lframe表示时间维度的长度;
(3.2)对步骤(3.1)所得的时间上下文信息,用隐藏层权衡上下文中各帧信息的重要性权重并进行加权和汇总;所述隐藏层中,选取时间上下文信息mfreq中间的Kqry帧用Catt个一维的大小为Kqry的卷积核投影作为询问项qatt,对整个时间上下文信息mfreq进行线性投影作为键值项katt,询问项qatt与键值项katt之和通过tanh激活函数、线性投影与softmax归一化,获取每一帧的权重,并使用该权重对时间上下文信息mfreq进行加权和汇总,得到时间汇总信息zatt;所述询问项qatt的形状为Catt×1,其中,询问项qatt为特征图数量与卷积核数量相同,1为时间维度长度;键值项katt的形状为Catt×Lframe,其中,Catt为特征图数量,Lframe为时间维度长度;所述线性投影的特征图数量从Catt投影为1,所述权重的形状为1×Lframe;时间汇总信息zatt的形状为Ctime,其中Ctime为特征图数量。
5.根据权利要求1所述的语音信号驱动的脸部动画生成方法,其特征在于,所述步骤(4)中使用形变梯度来表示脸部动作,所述形变梯度定义在一个模板脸部模型上,该模板脸部模型为无表情、闭嘴状态,由N个三角形组成。
6.根据权利要求1所述的语音信号驱动的脸部动画生成方法,其特征在于,所述步骤(5)包含如下子步骤:
(5.1)获取给定脸部模型与模板脸部模型的三角形对应关系,所述给定脸部模型由M个三角形组成,所述模板脸部模型由N个三角形组成;
(5.2)将对应模板脸部模型的形变梯度迁移到给定脸部模型上;
(5.3)依据迁移的形变梯度,求解给定脸部模型的顶点位置。
CN201911366799.5A 2019-12-26 2019-12-26 一种语音信号驱动的脸部动画生成方法 Active CN111243065B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911366799.5A CN111243065B (zh) 2019-12-26 2019-12-26 一种语音信号驱动的脸部动画生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911366799.5A CN111243065B (zh) 2019-12-26 2019-12-26 一种语音信号驱动的脸部动画生成方法

Publications (2)

Publication Number Publication Date
CN111243065A CN111243065A (zh) 2020-06-05
CN111243065B true CN111243065B (zh) 2022-03-11

Family

ID=70863995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911366799.5A Active CN111243065B (zh) 2019-12-26 2019-12-26 一种语音信号驱动的脸部动画生成方法

Country Status (1)

Country Link
CN (1) CN111243065B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12125131B2 (en) 2021-12-07 2024-10-22 Beijing Baidu Netcom Science Technology Co., Ltd. Method of generating 3D video, method of training model, electronic device, and storage medium

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112215926A (zh) * 2020-09-28 2021-01-12 北京华严互娱科技有限公司 一种语音驱动的人脸动作实时转移方法和系统
CN113132815A (zh) * 2021-04-22 2021-07-16 北京房江湖科技有限公司 视频生成方法和装置、计算机可读存储介质、电子设备
CN113269066B (zh) * 2021-05-14 2022-10-04 网易(杭州)网络有限公司 说话视频生成方法、装置和电子设备
CN114202605B (zh) * 2021-12-07 2022-11-08 北京百度网讯科技有限公司 3d视频生成方法、模型训练方法、装置、设备和介质
CN116051692B (zh) * 2023-04-03 2023-07-07 成都索贝数码科技股份有限公司 一种基于语音驱动的三维数字人脸部动画生成方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103093490A (zh) * 2013-02-02 2013-05-08 浙江大学 基于单个视频摄像机的实时人脸动画方法
US20140360343A1 (en) * 2010-05-04 2014-12-11 Shazam Entertainment Limited Methods and Systems for Disambiguation of an Identification of a Sample of a Media Stream
CN109308731A (zh) * 2018-08-24 2019-02-05 浙江大学 级联卷积lstm的语音驱动唇形同步人脸视频合成算法
CN110009716A (zh) * 2019-03-28 2019-07-12 网易(杭州)网络有限公司 面部表情的生成方法、装置、电子设备及存储介质
CN110610534A (zh) * 2019-09-19 2019-12-24 电子科技大学 基于Actor-Critic算法的口型动画自动生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140360343A1 (en) * 2010-05-04 2014-12-11 Shazam Entertainment Limited Methods and Systems for Disambiguation of an Identification of a Sample of a Media Stream
CN103093490A (zh) * 2013-02-02 2013-05-08 浙江大学 基于单个视频摄像机的实时人脸动画方法
CN109308731A (zh) * 2018-08-24 2019-02-05 浙江大学 级联卷积lstm的语音驱动唇形同步人脸视频合成算法
CN110009716A (zh) * 2019-03-28 2019-07-12 网易(杭州)网络有限公司 面部表情的生成方法、装置、电子设备及存储介质
CN110610534A (zh) * 2019-09-19 2019-12-24 电子科技大学 基于Actor-Critic算法的口型动画自动生成方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Audio-Driven Facial Animation by Joint End-to-End Learning of Pose and Emotion;TERO KARRAS 等;《ACM Transactions on Graphics》;20170731;第36卷(第4期);第94:1-94:12页 *
Displaced Dynamic Expression Regression for Real-time Facial Tracking and Animation;Chen Cao 等;《ACM Transactions on Graphics》;20140731;第33卷(第4期);第43:1-43:10页 *
基于深度神经网络的语音驱动发音器官的运动合成;唐郅 等;《自动化学报》;20160630;第42卷(第6期);第923-930页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12125131B2 (en) 2021-12-07 2024-10-22 Beijing Baidu Netcom Science Technology Co., Ltd. Method of generating 3D video, method of training model, electronic device, and storage medium

Also Published As

Publication number Publication date
CN111243065A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
JP7299572B2 (ja) 音声信号により駆動される顔アニメーションの生成方法
CN111243065B (zh) 一种语音信号驱动的脸部动画生成方法
US11847727B2 (en) Generating facial position data based on audio data
Fan et al. Photo-real talking head with deep bidirectional LSTM
Fan et al. A deep bidirectional LSTM approach for video-realistic talking head
Pham et al. End-to-end learning for 3d facial animation from speech
Hong et al. Real-time speech-driven face animation with expressions using neural networks
Tian et al. Audio2face: Generating speech/face animation from single audio with attention-based bidirectional lstm networks
CN112581569B (zh) 自适应情感表达的说话人面部动画生成方法及电子装置
CN103279970A (zh) 一种实时的语音驱动人脸动画的方法
CN113838174A (zh) 一种音频驱动人脸动画生成方法、装置、设备与介质
Pham et al. End-to-end learning for 3d facial animation from raw waveforms of speech
Deena et al. Visual speech synthesis by modelling coarticulation dynamics using a non-parametric switching state-space model
Deena et al. Visual speech synthesis using a variable-order switching shared Gaussian process dynamical model
Tang et al. Real-time conversion from a single 2D face image to a 3D text-driven emotive audio-visual avatar
Liu et al. Emotional facial expression transfer based on temporal restricted Boltzmann machines
Deng et al. Synthesizing speech animation by learning compact speech co-articulation models
Liu et al. Real-time speech-driven animation of expressive talking faces
Jiang et al. Speech driven photo realistic facial animation based on an articulatory DBN model and AAM features
Lan et al. Low level descriptors based DBLSTM bottleneck feature for speech driven talking avatar
Deena et al. Speech-driven facial animation using a shared Gaussian process latent variable model
Li et al. A novel speech-driven lip-sync model with CNN and LSTM
Huang et al. Visual speech emotion conversion using deep learning for 3D talking head
CN114255307A (zh) 虚拟人脸的控制方法、装置、设备及存储介质
Shih et al. Speech-driven talking face using embedded confusable system for real time mobile multimedia

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant