CN117237521A - 语音驱动人脸生成模型构建方法、目标人说话视频生成方法 - Google Patents
语音驱动人脸生成模型构建方法、目标人说话视频生成方法 Download PDFInfo
- Publication number
- CN117237521A CN117237521A CN202310172081.2A CN202310172081A CN117237521A CN 117237521 A CN117237521 A CN 117237521A CN 202310172081 A CN202310172081 A CN 202310172081A CN 117237521 A CN117237521 A CN 117237521A
- Authority
- CN
- China
- Prior art keywords
- frame
- loss
- network
- rendering
- model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000010276 construction Methods 0.000 title description 11
- 238000009877 rendering Methods 0.000 claims abstract description 71
- 239000013598 vector Substances 0.000 claims abstract description 63
- 230000014509 gene expression Effects 0.000 claims abstract description 50
- 238000012549 training Methods 0.000 claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 37
- 238000009432 framing Methods 0.000 claims abstract description 5
- 238000003860 storage Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 claims description 2
- 230000009471 action Effects 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000001815 facial effect Effects 0.000 description 5
- 230000008921 facial expression Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 4
- 239000002131 composite material Substances 0.000 description 4
- 230000004886 head movement Effects 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 229940060587 alpha e Drugs 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000036548 skin texture Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种语音驱动人脸生成模型构建方法、目标人说话视频生成方法,其中模型构建方法包括:获取目标人视频数据和音频数据;将视频数据进行分帧,确定每一帧的3DMM系数;分别提取3DMM系数中关联表情和姿态的系数,构建表情特征向量和姿态特征向量;构建基于LSTM网络的语音‑系数映射模型;利用微分渲染器得到初步渲染图序列;构建基于GAN网络的真实感渲染网络;先后对语音‑系数映射模型和真实感渲染网络进行训练,得到最终的语音驱动人脸生成模型。给定目标人驱动音频数据,该模型可以生成具有真实感的目标人人脸渲染帧图像序列,结合驱动音频数据,即可合成高清且具有自然头部动作的目标人说话视频。
Description
技术领域
本发明涉及计算机信息技术领域,尤其涉及一种语音驱动人脸生成模型构建方法、目标人说话视频生成方法。
背景技术
语音驱动人脸视频生成的研究工作具有广泛应用。输入一段语音和目标人物的形象,即可生成一段目标人物具有自然的头部运动的语音与口型同步说话视频,可广泛应用于人机交互、视频制作和电影制作等领域。现有的生成方法主流是端到端方法,但大部分只能做到生成固定头部姿态的面部视频。Chung等人学习了人脸和音频信号的联合嵌入,并使用编解码器CNN模型生成对话人脸视频。Chen等人首先将音频映射到面部标志,然后根据标志生成视频帧。Song等人提出了一种条件循环对抗网络,该网络在循环单元中集成了音频和图像特征。然而,这些2D方法生成的对话人脸视频中头部姿态在对话过程中几乎是不可变的。这是由于基于2D方法固有的缺陷造成的,仅使用2D信息来模拟自然对话的姿态是相当困难的。尽管Song等人提到他们的方法可以做到一种特殊情况下的说话姿态,但并未给出这种做法的全部细节。
相比2D方法,将3D几何信息引入人脸生成算法,同时建模头部姿态、表情(包括唇形)是更好的做法。Qian等人提出了AutoVC方法,将语音分离为语音内容和身份信息的少量样本语音转换方法。Zhou等人提出分离语音的内容信息和目标人身份信息,内容信息控制嘴唇和周围面部的移动,而目标人身份信息则决定面部表情的细节和目标头部的其他动态。Nian等人提出面部特征与嘴部特征关键点方法,分别利用人脸的面部轮廓关键点和唇部关键点表示目标人的头部运动信息和唇部运动信息。虽然现有方法取得了不错的效果,但大多方法主要关注面部表情和口唇形态,忽略头部动作,生成的目标人说话视频基本上只有面部动作和少量的头部动作,或存在头部动作不自然等问题。
发明内容
本发明提供了一种语音驱动人脸生成模型构建方法、目标人说话视频生成方法、设备及存储介质,以解决现有的语音驱动人脸视频生成方法主要关注面部表情和口唇形态,忽略头部动作,生成的目标人说话视频基本上只有面部动作和少量的头部动作,或存在头部动作不自然的问题。
第一方面,提供了一种语音驱动人脸生成模型构建方法,包括:
获取目标人音视频数据,并从中提取视频数据和音频数据;
将视频数据进行分帧,并对每一帧进行3D人脸重建,得到每一帧的3DMM系数;
分别提取3DMM系数中关联表情和姿态的系数,构建表情特征向量和姿态特征向量;
以音频数据的梅尔频谱图特征为输入,以表情特征向量和姿态特征向量为输出,构建基于LSTM网络的语音-系数映射模型;
基于3DMM系数、语音-系数映射模型预测的表情特征向量和姿态特征向量,利用微分渲染器进行渲染,并进行背景匹配,得到初步渲染图像序列;
构建基于GAN网络的真实感渲染网络,生成器以初步渲染图序列为输入,以优化后的目标人人脸渲染帧为输出,鉴别器对生成器输出的目标人人脸渲染帧进行鉴别;
先后对基于LSTM网络的语音-系数映射模型和基于GAN网络的真实感渲染网络进行训练,得到最终的输入视频数据和音频数据,输出优化后的目标人人脸渲染帧图像序列的语音驱动人脸生成模型。
进一步地,训练基于LSTM网络的语音-系数映射模型时,包括如下步骤:
从视频数据的每一帧图像的3DMM系数中提取表情特征向量和姿态特征向量;
获取每一帧图像对应的音频数据并提取其梅尔频谱图特征;
根据每一帧图像对应的梅尔频谱图特征、表情特征向量、姿态特征向量构建训练样本集;
以一帧图像对应的梅尔频谱图特征为模型输入,以该帧图像对应的表情特征向量和姿态特征向量作为模型输出,基于训练样本集对LSTM网络进行训练,得到语音-系数映射模型。
进一步地,训练基于LSTM网络的语音-系数映射模型时,其损失函数表示如下:
其中,Es,β[(β-Φ1(s))2]为表情损失,β表示真实表情特征向量序列,Φ1(s)表示预测的表情特征向量序列;Es,p[(p-Φ2(s))2]为姿态损失,p表示真实姿态特征向量序列,Φ2(s)表示预测的姿态特征向量序列;为姿态的帧间连续性损失,t为帧数,T表示总帧数;/>为表情的帧间连续性损失;为音像间同步损失,Φ3(β)为初步渲染帧的SyncNet卷积特征向量,Φ4(s)表示语音梅尔频谱图特征的SyncNet卷积特征向量,∈为用于防止出现分母异常的常量;λ1、λ2、λ3、λ4均为权重系数。
进一步地,基于GAN网络的真实感渲染网络还包括身份特征存储网络,存储成对的真实身份特征和空间特征,通过空间特征查询检索最佳匹配的真实身份特征;
生成器采用三个相邻帧的初步渲染帧窗口序列和来自身份特征存储网络得到的身份特征作为输入,使用U-Net模型接收初步渲染帧窗口序列,并在U-Net模型瓶颈特征处采用AdaIN模型融合身份特征存储网络检索到的真实身份特征来渲染合成帧,得到优化后的目标人人脸渲染帧。
进一步地,生成器采用注意力来对渲染帧进行优化,给定一个初步渲染帧窗口序列和真实身份特征,生成器合成颜色遮罩Ct和注意力遮罩At,并输出精细帧ot,该精细帧ot是渲染帧和颜色遮罩的加权平均值,表示如下:
ot=Atrt+(1-At)Ct
其中,ot表示精细帧,即为优化后的目标人人脸渲染帧,rt表示第t帧初步渲染帧;
生成器的U-Net模型将标准U-Net模型的最后一个卷积块修改为两个并行卷积块,两个并行卷积块分别用于生成颜色遮罩Ct和注意力遮罩At。
进一步地,鉴别器包括全卷积神经网络构成的特征提取网络,特征提取网络后面接两条路径处理特征提取网络提取的卷积特征;第一条路径为全局路径,该路径下仅输出对于整个图像真实度的鉴别值,输出形式为二进制[0,1],决定整个图像是否真实;第二条路径评估多尺度特征的局部纹理细节,在第二条路径的末尾添加全连接层,揭示网格中对应卷积特征视野范围内的图像真实度以反映多尺度的局部特征细节,该路径下输出矩阵,该矩阵中的每一个值代表相对位置下的局部图像真实度鉴别值。
进一步地,训练基于GAN网络的真实感渲染网络时,通过优化损失函数G*来进行训练:
其中,为鉴别器第一条路径的损失,/>为鉴别器第二条路径的损失,/>为鉴别器的特征提取网络的损失,λG、λL分别为鉴别器第一条路径和第二条路径的损失函数的权重系数;
为生成器的联合损失;Er,g[||g-G(r,f)||1]为平均绝对误差L1损失;Er[||A||2]为注意力损失的L2正则项,用于避免注意力图中的注意力系数收敛于1导致模型失效;/>为注意力损失的全差分损失项;为音像同步损失;g表示真实帧,r表示初步渲染帧,f表示真实身份特征;G(r,f)表示生成器生成的渲染帧;A表示注意力矩阵,Ai,j表示注意力矩阵A中(i,j)处的值,H,W分别表示注意力矩阵的长和宽;Φ3(G(r,f))表示生成器生成的渲染帧的SyncNet卷积特征向量,Φ4(s)表示语音梅尔频谱图特征的SyncNet卷积特征向量,n表示当前处理的渲染帧与语音梅尔频谱图特征的序号,N表示总序列长度;Er,g[logDG(r,g)]表示第一条路径下鉴别器二元交叉熵损失包含的第一项,DG(r,g)表示第一条路径的鉴别器对真实帧输入的输出值,Er[log(1-DG(r,G(r,f)))]表示第一条路径下鉴别器二元交叉熵损失包含的第二项,DG(r,G(r,f))表示第一条路径的鉴别器对渲染帧输入的输出值;Er,g[logDL(r,g)]表示为第二条路径下鉴别器二元交叉熵损失的第一项,DL(r,g)表示第二条路径的鉴别器对真实帧输入的输出值,Er[log(1-DL(r,G(r,f)))]表示为第二条路径下鉴别器二元交叉熵损失的第二项,DL(r,G(r,f))表示第二条路径的鉴别器对渲染帧输入的输出值,λa、λb、λc、λd均为权重系数。
第二方面,提供了一种语音驱动目标人说话视频生成方法,包括:
S1:获取连续多张目标人上半身正面图像和驱动音频数据;
S2:将步骤S1获取的数据输入利用如上所述的语音驱动人脸生成模型构建方法构建语音驱动人脸生成模型,输出目标人人脸渲染帧图像序列;
S3:拼接目标人人脸渲染帧图像序列与输入的驱动音频数据,合成得到语音驱动目标人脸说话视频。
第三方面,提供了一种电子设备,包括:
存储器,其存储有计算机程序;
处理器,用于加载并执行所述计算机程序实现如上所述的语音驱动人脸生成模型构建方法或语音驱动目标人说话视频生成方法的步骤。
第四方面,提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的语音驱动人脸生成模型构建方法或语音驱动目标人说话视频生成方法的步骤。
本发明提出了一种语音驱动人脸生成模型构建方法、目标人说话视频生成方法、设备及存储介质,基于3DMM系数构建表情特征向量和姿态特征向量,通过对基于LSTM网络的语音-系数映射模型进行训练,语音-系数映射模型可以根据音频数据预测表情特征向量和姿态特征向量序列,用其替代3DMM系数中的相关系数,然后就可以利用微分渲染器生成初步渲染图像序列,最后利用GAN(生成式对抗网络)来对初步渲染图序列进行优化,得到优化后的目标人人脸渲染帧图像序列,然后结合音频数据,就可以生成高清且具有自然头部动作的目标人说话视频。在对基于LSTM网络的语音-系数映射模型和基于GAN网络的真实感渲染网络进行训练时,均引入了音像同步损失约束,结合真实感渲染GAN网络,可以输出平滑背景的真实帧,有效提高了生成图像的真实感,提高了生成视频中头部动作的自然感。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的语音驱动人脸生成模型框架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
本发明实施例提供了一种语音驱动人脸生成模型构建方法,包括:
获取目标人音视频数据,并从中提取视频数据和音频数据;
将视频数据进行分帧,并对每一帧进行3D人脸重建,得到每一帧的3DMM系数;
分别提取3DMM系数中关联表情和姿态的系数,构建表情特征向量和姿态特征向量;
以音频数据的梅尔频谱图特征为输入,以表情特征向量和姿态特征向量为输出,构建基于LSTM网络的语音-系数映射模型;
基于3DMM系数、语音-系数映射模型预测的表情特征向量和姿态特征向量,利用微分渲染器进行渲染,并进行背景匹配,得到初步渲染图像序列;
构建基于GAN网络的真实感渲染网络,生成器以初步渲染图序列为输入,以优化后的目标人人脸渲染帧为输出,鉴别器对生成器输出的目标人人脸渲染帧进行鉴别;
先后对基于LSTM网络的语音-系数映射模型和基于GAN网络的真实感渲染网络进行训练,得到最终的输入视频数据和音频数据,输出优化后的目标人人脸渲染帧图像序列的语音驱动人脸生成模型,语音驱动人脸生成模型的框架如图1所示。
下面以利用CMLR数据集来构建语音驱动人脸生成模型为例进行具体说明。
1、选择数据集并设定参数
1.1数据集
CMLR数据集由浙江大学视觉智能与模式分析(VIPA)组采集。该数据集由11位演讲者的102072句口语句子组成,这些句子记录于2009年6月至2018年6月之间,语音与画面由国家新闻节目″新闻联播″录制。每句话不含英文字母、阿拉伯数字和罕见的标点符号。句子中还包括每个单词(秒内)的对齐边界。将该数据集分成90%、5%、5%三份,分别进行训练、验证和测试。模型无法直接处理视频数据,因此需要将CMLR视频数据集进行分帧,使用工具包FFMPEG分离音频与视频,将所有视频转为25fps,音频波形在16K Hz频率下采样。再将所有视频每一帧保存为图像。
1.2训练参数
模型训练时使用PyTorch框架,Adam优化器,训练基于LSTM网络的语音-系数映射模型的学习率设置为0.001,权重衰减为0.1。在Nvidia 3090GPU上训练需要约36小时。基于GAN网络的真实感渲染网络也使用Adam优化器进行训练,学习率为O.001,批量大小为16,该网络包含3070万个参数,并在Nvidia 3090GPU上训练20小时。
2、音像特征参数映射
2.1三维人脸重建
3D人脸重建旨在从2D图像重建人脸的3D形状和外观。采用基于深度学习的3DMM人脸重建方法(Deep3DfaceReconstruction),人脸形状S和纹理T可以通过下面公式表示:
其中和/>是平均形状和纹理,Bid、Bexp和Btex分别是人脸身份、表情和纹理(经过标准差缩放)的PCA基,α,β,δ是对应的PCA系数。/>Bid和Btex采用巴塞尔面部模型中的参数,Bexp采用人脸数据库中的参数,其中α∈R80,β∈R64,δ∈R80。使用朗伯函数计算的表面,使用球谐函数(Spherical Harmonics,SH)估计场景光照。法线向量为ni、皮肤纹理为ti的顶点的辐射度(Radiosity)为
其中Φb:R3→R是SH基函数,γb是对应的SH系数,B=3。单色光参数为:Y∈R16。姿态由旋转角度和平移表示,使用透视投影,并使用经验性选择的焦距。最后将3D人脸姿态、光照、成像和身份等参数化模型拟合到输入人脸照片。该方法重建3DMM系数有个80+64+80+16+6=241。
2.2语音-系数映射模型
自然的说话人拥有上半张脸的动作和头部姿态动作,采用音频信息和人脸3D信息,从输入视频中提取面部表情和头部姿态,虽然一个人可能会通过不同的头部姿态说同一个词,但是短时间内的说话风格通常是一致的,不会对身份特征产生较大影响。音频部分需提取输入音频的梅尔频谱图特征(MFCC特征,Mel Frequency Cepstrum Coefficient),并利用3DMM系数对面部表情和头部姿势进行建模,即提取3DMM系数中关联表情和姿态的系数,构建表情特征向量和姿态特征向量。设计一个LSTM网络建立中间的映射,训练基于LSTM网络的语音-系数映射模型时,包括如下步骤:
1)从视频数据的每一帧图像的3DMM系数中提取表情特征向量和姿态特征向量;
2)通过python用librosa库来读取音频文件,通过python_speech_features方法提取每一帧图像对应的音频数据的梅尔频谱图特征;
3)根据每一帧图像对应的梅尔频谱图特征、表情特征向量、姿态特征向量构建训练样本集;
4)以一帧图像对应的梅尔频谱图特征为模型输入,以该帧图像对应的表情特征向量和姿态特征向量作为模型输出,基于训练样本集对LSTM网络进行训练,得到语音-系数映射模型。
2.3损失函数设计
此部分介绍语音-系数映射模型的损失函数设计,使用包含五个损失项的损失函数优化网络:表情的均方误差(MSE)损失,姿势的MSE损失,姿态的帧间连续性MSE损失,表情的帧间连续性MSE损失和音像间同步损失。
语音-系数映射模型的损失函数表示如下:
其中,Es,β[(β-Φ1(s))2]为表情损失,β表示真实表情特征向量序列,Φ1(s)表示预测的表情特征向量序列;Es,p[(p-Φ2(s))2]为姿态损失,p表示真实姿态特征向量序列,Φ2(s)表示预测的姿态特征向量序列;为姿态的帧间连续性损失,t为帧数,T表示总帧数;/>为表情的帧间连续性损失;为音像间同步损失,Φ3(β)为初步渲染帧的SyncNet卷积特征向量,Φ4(s)表示语音梅尔频谱图特征的SyncNet卷积特征向量,∈为用于防止出现分母异常的常量;λ1、λ2、λ3、λ4分别为表情损失、姿态损失、姿态的帧间连续性损失、表情的帧间连续性损失和音像间同步损失的权重系数。同步损失的计算方法来自SyncNet网络,这是一种用于判断口型与画面同步率的网络,可以通过该网络输出的同步率惩罚不准确的生成结果,映射模型不断学习更准确的语音-系数映射尝试获得更好的同步率,以减少SyncNet网络判断为不同步口型的情况,通过损失函数的惩罚约束模型产生准确的口型。
3、初步渲染
3DMM可以通过3DMM系数重建目标人物的3D面部,可以通过LSTM得到与音频语音同步的3DMM系数序列,其中身份、纹理和光照系数来自目标人像,表情和姿态系数(对应表情特征向量和姿态特征向量)来自音频的映射。3DMM系数使用微分渲染引擎渲染人脸图像序列。采用光栅化器在每个像素处生成包含三角形ID和重心坐标的屏幕空间缓冲区。光栅化之后每个顶点的属性(例如颜色和法线)使用重心坐标和ID在像素处进行插值。这种方法允许以全视角开展渲染,并且可以在屏幕空间中计算光照模型,从而防止图像质量成为准确训练的瓶颈。光栅化导数是针对重心坐标计算的,不使用三角形ID。可将重心坐标关于顶点位置的导数的定义扩展为包括位于三角形边界之外的负重心坐标。负重心坐标和省略三角形ID可以有效地将形状视为局部平面,这是远离遮挡边界可接受的近似值。这种方法生成的人脸基本上是光滑的形状,几乎没有遮挡边界。
初步渲染存在许多问题。生成出来的合成帧只有面部部分,没有头发、脖子等背景区域,由于3D模型反照率的原因无法与输入图像的背景平滑匹配,但背景对于真实的人脸视频来说也是必不可少的。直观的解决方案是通过匹配头部姿态来匹配输入视频中的背景,然而,这种做法被视为可能的高维姿态空间中非常稀疏的点。实验还表明,这种直观的解决方案无法生成良好的视频帧。由于直观的解决方案生成的帧真实性欠佳,提高真实性的传统算法通常难以设计且十分复杂。故本实施例采用深度学习GAN模型进一步拟合合成帧与真实帧的差异。
4、基于同步损失约束的真实感渲染GAN网络
由上述初步渲染的合成帧通常与真实帧相差甚远,观感上明显带有计算机生成痕迹。为了将这些合成帧细化为真实的帧,采用提出的基于同步损失约束与GAN网络的真实感渲染网络改善生成帧的真实感。同步损失来自SyncNet网络的预测结果,可作为约束GAN网络生成器输出画面口型准确性的损失函数项。生成器以合成帧的窗口和一个身份特征作为输入,并基于注意力机制生成一个精细帧。判别器判断一个帧是否真实,并根据不同位置的真实度引导模型强化对应部分。引入身份特征存储网络以在训练期间记住代表性身份并在测试期间检索最佳匹配身份特征。在训练过程中,身份特征存储网络通过成对的空间特征和真实身份特征进行更新。在测试期间,存储网络使用空间特征作为查询来检索最佳匹配的身份特征。
4.1身份特征存储网络
身份特征存储网络是一种利用外部存储扩充神经网络的方案,与现有的人脸再现(Face Reenactment,FR)方法之间的区别在于FR使用数干帧来训练网络才能获得一个目标人的人脸身份特征。而在一般的映射学习中,每个身份只会使用对应人的几个帧学习通用的映射关系,在通用的映射基础上,希望使用少量目标人输入视频的面部帧对网络进行微调得到目标人的拟合网络。但FR仅对单个目标人脸身份的帧进行细化,不能处理各种人脸的个性身份信息。为了实现给定目标人脸的不同身份特征,在相同的GAN模型下输出不同的帧细化效果,额外在GAN模型中增加了身份特征存储网络,用于将渲染帧细化为带有目标人身份特性的真实帧。
GAN网络生成器以渲染帧窗口和真实身份特征作为输入,并基于注意力机制生成细化帧。鉴别器判断帧是否真实。身份特征存储网络在训练过程中存储具有代表性的身份,并在测试过程中通过空间特征检索最佳匹配的真实身份特征。在训练过程中,通过成对的空间特征和真实身份特征更新身份特征存储网络,空间特征和真实身份特征由ResNet18与全连接层训练得到,ResNet18以生成器下采样生成的特征为输入。在测试过程中,身份特征存储网络使用空间特征作为查询检索最佳匹配的真实身份特征。身份特征存储网络存储成对特征,即空间特征-真实身份特征对,空间特征通过ArcFace与余弦相似度找到映射空间夹角最小的真实身份特征,这一过程在训练过程中不断更新。它的作用是记住包括罕见情况在内的训练集中目标人身份特点,并在测试阶段检索出空间特征对应的最佳身份特征匹配。直接将此特征输入生成器可能会导致生成画面抖动的帧,可通过插值对多个相邻帧中检索到的身份特征进行平滑,并将平滑后的特征输入生成器的瓶颈特征部位。
4.2基于注意力的生成器
生成器采用3个相邻帧rt-2,rt-1,rt的初步渲染帧窗口序列和来自身份特征存储网络得到的真实身份特征作为输入,使用U-Net模型接收初步渲染帧窗口序列,并在U-Net瓶颈特征处采用AdaIN模型融合身份特征存储网络检索到的真实身份特征来渲染合成帧,进一步强化其真实感。生成器采用注意力来优化渲染帧,给定一个渲染帧窗口(帧rt-2,rt-1,rt)和身份特征ft,生成器合成颜色遮罩Ct和注意力遮罩At,并输出精细帧ot(即优化后的目标人人脸渲染帧),该精细帧ot是渲染帧和颜色遮罩的加权平均值:
ot=Atrt+(1-At)Ct
注意力遮罩反映了生成的颜色遮罩中每个像素对生成帧最终细化的贡献程度。生成器架构基于U-Net结构,相较于标准U-Net有两处不同。其一,为了生成颜色和注意力遮罩两个输出,将最后一个卷积块修改为两个并行卷积块,两个并行卷积块分别生成颜色遮罩Ct和注意力遮罩At。其二,为了将初步渲染帧窗口和真实身份特征作为输入,采用AdaIN模型将真实身份特征纳入本网络,其中AdaIN参数由输入真实身份特征生成,真实身份特征作用于U-Net的瓶颈特征上。渲染后的生成结果表明,基于注意力的生成器可以为各种身份生成精细的目标人物和背景平滑纹理。
4.3多尺度的鉴别器
多尺度的鉴别器将渲染帧窗口和检查帧(优化帧或真实帧)作为输入,并判别检查帧是否为真实帧。鉴别器D获取生成或真实图像并想要区分出它们,而生成器G需要产生足够真实的渲染帧欺骗鉴别器D。如果D成功对输入帧进行分类,则G就会从D网络的判断结果中产生对抗性损失惩罚生成器G,若D未能成功分类,则通过损失优化训练判别器D。
多尺度的鉴别器在前几层共享架构和权重(对应特征提取网络),以便在分类前保证判别依据为一致的低级视觉特征。特征提取网络选用类FCN的全卷积神经网络,在卷积特征提取网络到达某一层之后,网络分成两条路径来处理这些卷积特征。第一条路径称为全局路径,该路径下仅输出对于整个图像真实度的鉴别值,输出形式为二进制[0,1],决定整个图像是否真实,该值可以衡量整个图像的真实度。第二条路径评估多尺度特征的局部纹理细节,在鉴别器第二条路径的末尾添加全连接层,以揭示网格中对应卷积特征视野范围内的图像真实度,该路径下处理64×64维度的输出矩阵,该矩阵中的每一个值代表相对位置下的局部图像真实度鉴别值,该值反映了多尺度的局部特征细节。因此,多尺度的鉴别器提供了对整个图像的自然度以及局部纹理的连贯性的客观评估。
4.4GAN网络损失函数
在训练阶段,GAN模型的损失函数有四个部分:鉴别器损失、L1损失、注意力损失和音像同步损失,以防止注意力遮罩A饱和,加强了注意力遮罩的平滑度,也保障了生成器输出画面的唇形准确。训练基于GAN网络的真实感渲染网络时,通过优化损失函数G*来进行训练:
其中,为鉴别器第一条路径的损失,/>为鉴别器第二条路径的损失,/>为鉴别器的特征提取网络的损失,λG、λL分别为鉴别器第一条路径和第二条路径的损失函数的权重系数;
为生成器的联合损失;Er,g[||g-G(r,f)||1]为平均绝对误差L1损失,Er[||A||2]为注意力损失的L2正则项,用于避免注意力图中的注意力系数收敛于1导致模型失效;/>为注意力损失的全差分损失项;为音像同步损失;g表示真实帧,r表示初步渲染帧,f表示真实身份特征;G(r,f)表示生成器生成的渲染帧;A表示注意力矩阵,Ai,j表示注意力矩阵A中(i,j)处的值,H,W分别表示注意力矩阵的长和宽;Φ3(G(r,f))表示生成器生成的渲染帧的SyncNet卷积特征向量,Φ4(s)表示语音梅尔频谱图特征的SyncNet卷积特征向量,n表示当前处理的渲染帧与语音梅尔频谱图特征的序号,N表示总序列长度;Er,g[logDG(r,g)]表示第一条路径下鉴别器二元交叉熵损失包含的第一项,DG(r,g)表示第一条路径的鉴别器对真实帧输入的输出值,Er[log(1-DG(r,G(r,f)))]表示第一条路径下鉴别器二元交叉熵损失包含的第二项,DG(r,G(r,f))表示第一条路径的鉴别器对渲染帧输入的输出值;Er,g[logDL(r,g)]表示为第二条路径下鉴别器二元交叉熵损失的第一项,DL(r,g)表示第二条路径的鉴别器对真实帧输入的输出值,Er[log(1-DL(r,G(r,f)))]表示为第二条路径下鉴别器二元交叉熵损失的第二项,DL(r,G(r,f))表示第二条路径的鉴别器对渲染帧输入的输出值;λa、λb、λc、λd均为权重系数。
基于上述实施例提供的一种语音驱动人脸生成模型构建方法,本发明实施例还提供了一种语音驱动目标人说话视频生成方法,包括:
S1:获取连续多张目标人上半身正面图像和驱动音频数据;
S2:将步骤S1获取的数据输入利用如上述实施例所述的语音驱动人脸生成模型构建方法构建语音驱动人脸生成模型,输出目标人人脸渲染帧图像序列;
S3:采用ffmpeg方法拼接目标人人脸渲染帧图像序列与输入的驱动音频数据,帧数设置为25,音频波形设置为16K Hz频率,合成得到语音驱动目标人脸说话视频。
需要说明的是,实施时,可以事先基于CMLR数据集训练一个通用的语音驱动人脸生成模型,对于新给定人物的驱动语音信号和短视频,可以利用短视频部分逐帧重建3D人脸,并结合短视频的音频微调通用映射,将微调后的通用映射模型训练5-20个轮次得到新给定人物的定制模型,然后就可以用得到的定制模型和驱动语音信号生成新给定人物的人脸说话视频。对于生成了目标人定制模型的情况下,也可直接利用连续多张目标人上半身正面图像和驱动音频数据来生成目标人人脸说话视频。
本发明实施例还提供了一种电子设备,包括:
存储器,其存储有计算机程序;
处理器,用于加载并执行所述计算机程序实现上述实施例所述的语音驱动人脸生成模型构建方法或语音驱动目标人说话视频生成方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的语音驱动人脸生成模型构建方法或语音驱动目标人说话视频生成方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种语音驱动人脸生成模型构建方法,其特征在于,包括:
获取目标人音视频数据,并从中提取视频数据和音频数据;
将视频数据进行分帧,并对每一帧进行3D人脸重建,得到每一帧的3DMM系数;
分别提取3DMM系数中关联表情和姿态的系数,构建表情特征向量和姿态特征向量;
以音频数据的梅尔频谱图特征为输入,以表情特征向量和姿态特征向量为输出,构建基于LSTM网络的语音-系数映射模型;
基于3DMM系数、语音-系数映射模型预测的表情特征向量和姿态特征向量,利用微分渲染器进行渲染,并进行背景匹配,得到初步渲染图像序列;
构建基于GAN网络的真实感渲染网络,生成器以初步渲染图序列为输入,以优化后的目标人人脸渲染帧为输出,鉴别器对生成器输出的目标人人脸渲染帧进行鉴别;
先后对基于LSTM网络的语音-系数映射模型和基于GAN网络的真实感渲染网络进行训练,得到最终的输入视频数据和音频数据,输出优化后的目标人人脸渲染帧图像序列的语音驱动人脸生成模型。
2.根据权利要求1所述的语音驱动人脸生成模型构建方法,其特征在于,训练基于LSTM网络的语音-系数映射模型时,包括如下步骤:
从视频数据的每一帧图像的3DMM系数中提取表情特征向量和姿态特征向量;
获取每一帧图像对应的音频数据并提取其梅尔频谱图特征;
根据每一帧图像对应的梅尔频谱图特征、表情特征向量、姿态特征向量构建训练样本集;
以一帧图像对应的梅尔频谱图特征为模型输入,以该帧图像对应的表情特征向量和姿态特征向量作为模型输出,基于训练样本集对LSTM网络进行训练,得到语音-系数映射模型。
3.根据权利要求2所述的语音驱动人脸生成模型构建方法,其特征在于,训练基于LSTM网络的语音-系数映射模型时,其损失函数表示如下:
其中,Es,β[(β-Φ1(s))2]为表情损失,β表示真实表情特征向量序列,Φ1(s)表示预测的表情特征向量序列;Es,p[(p-Φ2(s))2]为姿态损失,p表示真实姿态特征向量序列,Φ2(s)表示预测的姿态特征向量序列;为姿态的帧间连续性损失,t为帧数,T表示总帧数;/>为表情的帧间连续性损失;为音像间同步损失,Φ3(β)为初步渲染帧的SyncNet卷积特征向量,Φ4(s)表示语音梅尔频谱图特征的SyncNet卷积特征向量,∈为用于防止出现分母异常的常量;λ1、λ2、λ3、λ4均为权重系数。
4.根据权利要求1所述的语音驱动人脸生成模型构建方法,其特征在于,基于GAN网络的真实感渲染网络还包括身份特征存储网络,存储成对的真实身份特征和空间特征,通过空间特征查询检索最佳匹配的真实身份特征;
生成器采用三个相邻帧的初步渲染帧窗口序列和来自身份特征存储网络得到的身份特征作为输入,使用U-Net模型接收初步渲染帧窗口序列,并在U-Net模型瓶颈特征处采用AdaIN模型融合身份特征存储网络检索到的真实身份特征来渲染合成帧,得到优化后的目标人人脸渲染帧。
5.根据权利要求4所述的语音驱动人脸生成模型构建方法,其特征在于,生成器采用注意力来对渲染帧进行优化,给定一个初步渲染帧窗口序列和真实身份特征,生成器合成颜色遮罩Ct和注意力遮罩At,并输出精细帧ot,该精细帧ot是渲染帧和颜色遮罩的加权平均值,表示如下:
ot=Atrt+(1-At)Ct
其中,ot表示精细帧,即为优化后的目标人人脸渲染帧,rt表示第t帧初步渲染帧;
生成器的U-Net模型将标准U-Net模型的最后一个卷积块修改为两个并行卷积块,两个并行卷积块分别用于生成颜色遮罩Ct和注意力遮罩At。
6.根据权利要求5所述的语音驱动人脸生成模型构建方法,其特征在于,鉴别器包括全卷积神经网络构成的特征提取网络,特征提取网络后面接两条路径处理特征提取网络提取的卷积特征;第一条路径为全局路径,输出形式为二进制[0,1],决定整个图像是否真实;第二条路径评估多尺度特征的局部纹理细节,在第二条路径的末尾添加全连接层,揭示网格中对应卷积特征视野范围内的图像真实度以反映多尺度的局部特征细节。
7.根据权利要求6所述的语音驱动人脸生成模型构建方法,其特征在于,训练基于GAN网络的真实感渲染网络时,通过优化损失函数G*来进行训练:
其中,为鉴别器第一条路径的损失,/>为鉴别器第二条路径的损失,/>为鉴别器的特征提取网络的损失,λG、λL分别为鉴别器第一条路径和第二条路径的损失函数的权重系数;
为生成器的联合损失,Er,g[||g-G(r,f)||1]为平均绝对误差L1损失,Er[||A||2]为注意力损失的L2正则项,用于避免注意力图中的注意力系数收敛于1导致模型失效,为注意力损失的全差分损失项,为音像同步损失;g表示真实帧,r表示初步渲染帧,f表示真实身份特征;G(r,f)表示生成器生成的渲染帧;A表示注意力矩阵,Ai,j表示注意力矩阵A中(i,j)处的值,H,W分别表示注意力矩阵的长和宽,Φ3(G(r,f))表示生成器生成的渲染帧的SyncNet卷积特征向量,Φ4(s)表示语音梅尔频谱图特征的SyncNet卷积特征向量,n表示当前处理的渲染帧与语音梅尔频谱图特征的序号,N表示总序列长度,Er,g[logDG(r,g)]表示,第一条路径下鉴别器二元交叉熵损失包含的第一项,DG(r,g)表示第一条路径的鉴别器对真实帧输入的输出值,Er[log(1-DG(r,G(r,f)))]表示第一条路径下鉴别器二元交叉熵损失包含的第二项,DG(r,G(r,f))表示,第一条路径的鉴别器对渲染帧输入的输出值,Er,g[logDL(r,g)]表示为第二条路径下鉴别器二元交叉熵损失的第一项,DL(r,g)表示第二条路径的鉴别器对真实帧输入的输出值,Er[log(1-DL(r,G(r,f)))]表示为第二条路径下鉴别器二元交叉熵损失的第二项,DL(r,G(r,f))表示第二条路径的鉴别器对渲染帧输入的输出值,λa、λb、λc、λd均为权重系数。
8.一种语音驱动目标人说话视频生成方法,其特征在于,包括:
S1:获取连续多张目标人上半身正面图像和驱动音频数据;
S2:将步骤S1获取的数据输入利用如权利要求1至7任一项所述的方法构建的语音驱动人脸生成模型,输出目标人人脸渲染帧图像序列;
S3:拼接目标人人脸渲染帧图像序列与输入的驱动音频数据,合成得到语音驱动目标人脸说话视频。
9.一种电子设备,其特征在于,包括:
存储器,其存储有计算机程序;
处理器,用于加载并执行所述计算机程序实现如权利要求1至8任一项所述的方法的步骤。
10.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310172081.2A CN117237521A (zh) | 2023-02-27 | 2023-02-27 | 语音驱动人脸生成模型构建方法、目标人说话视频生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310172081.2A CN117237521A (zh) | 2023-02-27 | 2023-02-27 | 语音驱动人脸生成模型构建方法、目标人说话视频生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117237521A true CN117237521A (zh) | 2023-12-15 |
Family
ID=89089941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310172081.2A Pending CN117237521A (zh) | 2023-02-27 | 2023-02-27 | 语音驱动人脸生成模型构建方法、目标人说话视频生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117237521A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117456063A (zh) * | 2023-12-22 | 2024-01-26 | 四川封面传媒科技有限责任公司 | 基于语音的人脸驱动方法、装置、电子设备及存储介质 |
CN118154830A (zh) * | 2024-03-19 | 2024-06-07 | 浙江大学 | 一种基于单视角视频的2d数字人重光照方法和系统 |
CN118229891A (zh) * | 2024-05-23 | 2024-06-21 | 广州紫为云科技有限公司 | 一种语音驱动三维人脸生成方法、系统及设备 |
CN118250529A (zh) * | 2024-05-27 | 2024-06-25 | 暗物智能科技(广州)有限公司 | 一种语音驱动的2d数字人视频生成方法及可读存储介质 |
CN118379401A (zh) * | 2024-06-25 | 2024-07-23 | 中国科学技术大学 | 说话人视频合成方法、系统、设备及存储介质 |
CN118471250A (zh) * | 2024-06-20 | 2024-08-09 | 北京林业大学 | 一种输入语音自动生成口型和表情的方法 |
-
2023
- 2023-02-27 CN CN202310172081.2A patent/CN117237521A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117456063A (zh) * | 2023-12-22 | 2024-01-26 | 四川封面传媒科技有限责任公司 | 基于语音的人脸驱动方法、装置、电子设备及存储介质 |
CN117456063B (zh) * | 2023-12-22 | 2024-04-16 | 四川封面传媒科技有限责任公司 | 基于语音的人脸驱动方法、装置、电子设备及存储介质 |
CN118154830A (zh) * | 2024-03-19 | 2024-06-07 | 浙江大学 | 一种基于单视角视频的2d数字人重光照方法和系统 |
CN118229891A (zh) * | 2024-05-23 | 2024-06-21 | 广州紫为云科技有限公司 | 一种语音驱动三维人脸生成方法、系统及设备 |
CN118229891B (zh) * | 2024-05-23 | 2024-07-16 | 广州紫为云科技有限公司 | 一种语音驱动三维人脸生成方法、系统及设备 |
CN118250529A (zh) * | 2024-05-27 | 2024-06-25 | 暗物智能科技(广州)有限公司 | 一种语音驱动的2d数字人视频生成方法及可读存储介质 |
CN118471250A (zh) * | 2024-06-20 | 2024-08-09 | 北京林业大学 | 一种输入语音自动生成口型和表情的方法 |
CN118379401A (zh) * | 2024-06-25 | 2024-07-23 | 中国科学技术大学 | 说话人视频合成方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | One-shot talking face generation from single-speaker audio-visual correlation learning | |
US11670024B2 (en) | Methods and systems for image and voice processing | |
Park et al. | Synctalkface: Talking face generation with precise lip-syncing via audio-lip memory | |
US10671838B1 (en) | Methods and systems for image and voice processing | |
CN117237521A (zh) | 语音驱动人脸生成模型构建方法、目标人说话视频生成方法 | |
US11514634B2 (en) | Personalized speech-to-video with three-dimensional (3D) skeleton regularization and expressive body poses | |
Zhou et al. | An image-based visual speech animation system | |
CN113077537A (zh) | 一种视频生成方法、存储介质及设备 | |
WO2021034463A1 (en) | Methods and systems for image and voice processing | |
CN111275778B (zh) | 人脸简笔画生成方法及装置 | |
Ye et al. | Real3d-portrait: One-shot realistic 3d talking portrait synthesis | |
CN117409121A (zh) | 基于音频和单幅图像驱动的细粒度情感控制说话人脸视频生成方法、系统、设备及介质 | |
Sun et al. | Vividtalk: One-shot audio-driven talking head generation based on 3d hybrid prior | |
Paier et al. | Example-based facial animation of virtual reality avatars using auto-regressive neural networks | |
Zeng et al. | Expression-tailored talking face generation with adaptive cross-modal weighting | |
He et al. | Speech4mesh: Speech-assisted monocular 3d facial reconstruction for speech-driven 3d facial animation | |
Paier et al. | Neural face models for example-based visual speech synthesis | |
Gowda et al. | From pixels to portraits: A comprehensive survey of talking head generation techniques and applications | |
Li et al. | TalkingGaussian: Structure-Persistent 3D Talking Head Synthesis via Gaussian Splatting | |
Wang et al. | StyleTalk++: A Unified Framework for Controlling the Speaking Styles of Talking Heads | |
Chen et al. | Expressive Speech-driven Facial Animation with controllable emotions | |
CN117557695A (zh) | 一种音频驱动单张照片生成视频的方法及装置 | |
CN116825127A (zh) | 基于神经场的语音驱动数字人生成方法 | |
Yu et al. | GaussianTalker: Speaker-specific Talking Head Synthesis via 3D Gaussian Splatting | |
Ji et al. | RealTalk: Real-time and Realistic Audio-driven Face Generation with 3D Facial Prior-guided Identity Alignment Network |
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 |