CN111598979B - 虚拟角色的面部动画生成方法、装置、设备及存储介质 - Google Patents
虚拟角色的面部动画生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111598979B CN111598979B CN202010361579.XA CN202010361579A CN111598979B CN 111598979 B CN111598979 B CN 111598979B CN 202010361579 A CN202010361579 A CN 202010361579A CN 111598979 B CN111598979 B CN 111598979B
- Authority
- CN
- China
- Prior art keywords
- sample
- animation data
- facial animation
- facial
- expression
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟角色的面部动画生成方法、装置、设备及存储介质,涉及人工智能领域。该方法包括:获取第一面部动画数据和第二面部动画数据,第一面部动画数据对应的说话内容为目标说话内容,第二面部动画数据对应的面部表情为目标面部表情;通过自编码器对第一面部动画数据和第二面部动画数据进行自编码,得到目标面部动画数据,目标面部动画数据对应的说话内容为目标说话内容,且目标面部动画数据对应的面部表情为目标面部表情;根据目标面部动画数据生成目标面部动画。借助预训练的自编码器,输入期待虚拟角色表述的说话内容以及表述时的面部表情,即可自动生成面部动画数据,无需动画师逐帧调整面部动画数据,提高了面部动画的生成效率。
Description
技术领域
本申请实施例涉及人工智能领域,特别涉及一种虚拟角色的面部动画生成方法、装置、设备及存储介质。
背景技术
三维虚拟角色是一种通过三维建模技术在三维虚拟世界中构建的角色,被广泛应用于动画、虚拟现实(Virtual Reality,VR)以及游戏应用中。
对于具备说话能力的三维虚拟角色,为了提高三维虚拟角色说话时的真实性,三维虚拟角色会在说话过程中呈现出带表情的面部动画。相关技术中,该面部动画需要由专业动画师通过手动调整面部动画数据得到。其中,动画师需要通过软件对每一帧动画中面部的面部动画数据进行调整,使面部动画的嘴型与所说内容一致,并带有相应的表情。
对于具有丰富面部表情以及大量台词的三维虚拟角色,通过动画师手动调整面部动画数据需要耗费大量时间,导致三维虚拟角色的面部动画生成效率较低。
发明内容
本申请实施例提供了一种虚拟角色的面部动画生成方法、装置、设备及存储介质,可以避免由动画师手动对每一帧动画的面部动画数据进行调整,从而提高虚拟角色的面部动画生成效率。所述技术方案如下:
一方面,本申请实施例提供了一种虚拟角色的面部动画生成方法,所述方法包括:
从样本数据库中获取第一样本面部动画数据和第二样本面部动画数据,所述第一样本面部动画数据对应第一样本说话内容和第一样本面部表情,所述第二样本面部动画数据对应第二样本说话内容和第二样本面部表情;
通过自编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行自编码,得到预测面部动画数据;
根据所述预测面部动画数据、所述第一样本面部动画数据以及所述第二样本面部动画数据,确定目标损失;
根据所述目标损失训练所述自编码器,其中,训练完成后所述自编码器输出的面部动画数据用于生成虚拟角色的面部动画。
另一方面,本申请实施例提供了一种虚拟角色的面部动画生成方法,所述方法包括:
获取第一面部动画数据和第二面部动画数据,所述第一面部动画数据对应的说话内容为目标说话内容,所述第二面部动画数据对应的面部表情为目标面部表情;
通过自编码器对所述第一面部动画数据和所述第二面部动画数据进行自编码,得到目标面部动画数据,所述目标面部动画数据对应的说话内容为所述目标说话内容,且所述目标面部动画数据对应的面部表情为所述目标面部表情;
根据所述目标面部动画数据生成目标面部动画。
另一方面,本申请实施例提供了一种虚拟角色的面部动画生成装置,所述装置包括:
第一获取模块,用于从样本数据库中获取第一样本面部动画数据和第二样本面部动画数据,所述第一样本面部动画数据对应第一样本说话内容和第一样本面部表情,所述第二样本面部动画数据对应第二样本说话内容和第二样本面部表情;
第一自编码模块,用于通过自编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行自编码,得到预测面部动画数据;
损失确定模块,用于根据所述预测面部动画数据、所述第一样本面部动画数据以及所述第二样本面部动画数据,确定目标损失;
训练模块,用于根据所述目标损失训练所述自编码器,其中,训练完成后所述自编码器输出的面部动画数据用于生成虚拟角色的面部动画。
另一方面,本申请实施例提供了一种虚拟角色的面部动画生成装置,所述装置包括:
第二获取模块,用于获取第一面部动画数据和第二面部动画数据,所述第一面部动画数据对应的说话内容为目标说话内容,所述第二面部动画数据对应的面部表情为目标面部表情;
第二自编码模块,用于通过自编码器对所述第一面部动画数据和所述第二面部动画数据进行自编码,得到目标面部动画数据,所述目标面部动画数据对应的说话内容为所述目标说话内容,且所述目标面部动画数据对应的面部表情为所述目标面部表情;
生成模块,用于根据所述目标面部动画数据生成目标面部动画。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的虚拟角色的面部动画生成方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的虚拟角色的面部动画生成方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述方面所述的虚拟角色的面部动画生成方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例中,当需要生成虚拟角色的面部动画时,获取目标说话内容对应的第一面部动画数据,以及目标面部表情的第二面部动画数据,并通过预先训练的自编码器分别对第一面部动画数据和第二面部动画数据进行自编码,得到虚拟角色以目标面部表情表述目标说话内容时的目标面部动画数据,从而根据目标面部动画数据生成目标面部动画。借助预训练的自编码器,输入期待虚拟角色表述的说话内容以及表述时的面部表情,即可自动生成面部动画数据,无需动画师逐帧调整面部动画数据,简化了虚拟角色面部动画的生成流程,提高了面部动画的生成效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一个示例性实施例提供的Rig控制面板的示意图;
图2是本申请一个示例性实施例提供的虚拟角色的面部动画生成方法实施过程的实施示意图;
图3示出了本申请一个示例性实施例提供的实施环境的示意图;
图4示出了本申请一个示例性实施例提供的虚拟角色的面部动画生成方法的流程图;
图5示出了本申请另一个示例性实施例提供的虚拟角色的面部动画生成方法的流程图;
图6是图5所示虚拟角色的面部动画生成方法实施过程的实施示意图;
图7示出了本申请另一个示例性实施例提供的虚拟角色的面部动画生成方法的流程图;
图8是图7所示虚拟角色的面部动画生成方法实施过程的实施示意图;
图9示出了本申请一个示例性实施例提供的虚拟角色的面部动画生成方法的流程图;
图10示出了本申请另一个示例性实施例提供的虚拟角色的面部动画生成方法的流程图;
图11是本申请一个示例性实施例提供的虚拟角色的面部动画生成装置的结构框图;
图12是本申请另一个示例性实施例提供的虚拟角色的面部动画生成装置的结构框图;
图13示出了本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了方便理解,下面对本申请实施例中涉及的名词进行说明。
面部动画数据:指用于控制虚拟角色的面部呈现出特定表情或特定动作的数据。在一个示例性的实施例中,该面部动画数据为Rig系统中,由动画师手动调整Rig控制面板上控制组件后得到的Rig控制点序列,Rig控制点序列中包含各帧动画帧中虚拟角色面部的Rig控制点数据(对应各个控制组件设置的数值)。
示意性的,如图1所示,当调整Rig控制面板12上的控制组件121时,虚拟角色面部11中控件组件121对应的控制点将会发生变化,比如嘴角上扬、眉毛下弯、嘴巴开闭、眼睛开闭等等。
对于时长为1秒的动画,若该动画中包含60帧动画帧,且虚拟角色的面部设置有80个Rig控制点(即每帧动画帧包含80个Rig控制点对应的Rig控制点数据),则该动画对应的面部动画数据为4800个Rig控制点数据构成的Rig控制点序列。
自编码器(Auto Encoder):一种特殊的神经网络,能够以无监督方式学习数据特征编码的机器学习模型。自编码器由编码器(encoder)和解码器(decoder)构成,编码器用于对输入的原始数据进行特征提取,而解码器则用于对编码器输出的特征进行特征还原,以得到自编码数据,训练自编码器的过程即调整编码器和解码器的模型参数,使自编码数据趋向于原始数据。
生成式对抗神经网络(Generative Adversarial Network,GAN):一种采用博弈训练方式训练得到的神经网络,由生成器(Generator)和判别器(Discriminator)构成。在训练过程中,生成器的目的即尽可能生成真实数据去欺骗判别器,而判别器的目的则是尽可能区分真实数据和生成器输出的生成数据。本申请实施例中的自编码器即为GAN中的生成器。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
本申请实施例提供的方法,即利用机器学习技术模拟动画师对动画中虚拟角色的面部动画数据进行调整的过程。采用本申请实施例提供的方法,如图2所示,当需要生成虚拟角色以目标面部表情(比如微笑表情)表述目标说话内容的面部动画时,首先从样本数据库中获取虚拟角色表述目标说话内容时的第一面部动画数据21(呈现的面部表情不同于目标面部表情),并获取虚拟角色呈现目标面部表情时的第二面部动画数据22(呈现目标面部表情时表述的说话内容不同于目标说话内容),然后将第一面部动画数据21和第二面部动画数据22输入(预训练的)自编码器23中,由自编码器23中的内容编码器231对第一面部动画数据21进行编码,得到虚拟角色表述目标说话内容时的第一面部特征232,并由自编码器23中的表情编码器233对第二面部动画数据22进行编码(特征提取过程),得到虚拟角色呈现目标面部表情时的第二面部特征234。进一步的,自编码器23中的解码器235根据第一面部特征232和第二面部特征234进行解码(特征还原过程),最终输出虚拟角色以目标面部表情表述目标说话内容时的目标面部动画数据24。
显然,采用本申请实施例提供的虚拟角色的面部动画生成方法,借助预先构建样本数据库以及预训练自编码器,动画师只需要输入期望虚拟角色表述的说话内容以及表述时的面部表情,计算机设备即可通过自编码器自动生成相应的面部动画数据,无需动画师逐帧手动设置面部动画数据,降低了虚拟角色面部动画的生成难度,提高了面部动画的生成效率。
本申请实施例提供的虚拟角色的面部动画生成方法所涉及的一种应用场景为动画制作场景。该场景下,上述方法可以实现成为动画制作应用程序的全部或者一部分。比如,该方法可以实现成为面部动画生成插件,并应用于各类动画制作应用程序中。应用过程中,动画师在应用程序中输入期望虚拟角色表述的说话内容,以及表述时的目标表情,由应用程序从样本数据库中,查找说话内容对应的内容动画数据,以及目标表情对应的表情动画数据,并将内容动画数据和表情动画数据输入自编码器中,最终获取自编码器输出的目标动画数据。
进一步的,应用程序可以根据将该目标动画数据生成面部动画。若生成的面部动画中部分动画帧不符合要求,动画师可以对相应动画帧对应的面部动画数据进行微调,最终得到符合动画师要求的面部动画。
当然,上述仅以动画制作场景为例进行说明,在其他可能的应用场景下,上述方法还可以应用于智能虚拟角色(一种具有虚拟形象,且能够对用户提问进行解答的虚拟角色)的面部控制、游戏中虚拟对象的面部控制等场景,本申请实施例并不对具体应用场景构成限定。
本申请实施例提供的方法可以应用于终端或者服务器等计算机设备中。在一种可能的实施方式中,本申请实施例提供的方法可以实现成为应用程序或应用程序的一部分,并被安装到终端中,使终端具备根据说话内容和表情自动生成面部动画的功能;或者,可以应用于应用程序的后台服务器中,从而由服务器为终端中的应用程序提供面部动画自动生成服务。
请参考图3,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括终端310和服务器320,其中,终端310与服务器320之间通过通信网络进行数据通信,可选地,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种。
终端310中安装有面部动画生成需求的应用程序,该应用程序可以是动画制作应用程序、智能管家应用程序、游戏应用程序或特效应用程序等等,本申请实施例对此不作限定。
可选的,终端310可以是平板电脑、膝上便携式笔记本电脑等移动终端,也可以是个人计算机、工作站等终端,本申请实施例对此不做限定。
服务器320可以实现为一台服务器,也可以实现为一组服务器构成的服务器集群,其可以是物理服务器,也可以实现为云服务器。在一种可能的实施方式中,服务器320是终端310中应用程序的后台服务器。
在一种可能的实施方式中,当终端310借助服务器320自动生成面部动画时,如图3所示,终端310显示动画自动生成界面,并接收界面中输入的目标说话内容311以及选择的目标面部表情312。除此之外,用户还可以根据需求设置生成动画的时长(比如图3中,动画时长被设置为3s)。当用户点击提交时,终端310将目标说话内容和目标面部表情发送至服务器320。
服务器320首先根据目标说话内容和目标面部表情从样本数据库321中查询动画数据,得到目标说话内容对应的内容动画数据322以及目标面部表情对应的表情动画数据323。进一步的,服务器320将内容动画数据322和表情动画数据323输入自编码器324中,得到自编码器324输出的目标面部动画数据325,并反馈给终端310,由终端310根据目标面部动画数据325生成面部动画序列313,并进行展示。
在其他可能的实施方式中,上述生成目标面部动画数据的过程也可以在本地完成(即由终端310实现),而无需借助服务器320,本实施例对此不作限定。
为了方便表述,下述各个实施例以虚拟角色的面部动画生成方法由计算机设备执行为例进行说明。
自编码器作为生成面部送动画的核心需要预先训练,下面首先对自编码器的训练过程进行说明。
请参考图4,其示出了本申请一个示例性实施例提供的虚拟角色的面部动画方法的流程图。本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
步骤401,从样本数据库中获取第一样本面部动画数据和第二样本面部动画数据,第一样本面部动画数据对应第一样本说话内容和第一样本面部表情,第二样本面部动画数据对应第二样本说话内容和第二样本面部表情。
可选的,样本数据库中包括虚拟角色以样本面部表情表述样本说话内容时的样本面部动画数据。其中,该样本面部动画数据可以由动画师手动逐帧调整面部动画数据得到,也可以由解算器对采集到的真实面部数据(真人以不同面部表情表述不同说话内容过程中,通过面部捕捉工具采集得到)进行解算得到。
在一种可能的实施方式中,样本面部表情包括高兴、难过、愤怒、惊恐、普通中的至少一种,样本说话内容中文字的发音具有泛化性,以便样本面部动画数据对应的口型能够覆盖各种发音口型。
在一种可能的实施方式中,计算机设备从样本数据库中选取两段不同样本面部动画数据,分别为第一样本面部动画数据和第二样本面部动画数据。
可选的,第一样本说话内容和第二样本说话内容不同,且第一样本面部表情与第二样本面部表情不同。比如,第一样本面部动画数据是以高兴表情表述台词A时虚拟角色的面部动画数据,第二样本面部动画数据是以难过表情表述台词B时虚拟角色的面部动画数据。
步骤402,通过自编码器对第一样本面部动画数据和第二样本面部动画数据进行自编码,得到预测面部动画数据。
在一种可能的实施方式中,计算机设备通过自编码器中的编码器,分别对第一样本面部动画数据和第二样本面部动画数据进行编码(即特征提取过程),并对编码结果进行拼接,进而通过自编码器中的解码器,对拼接后的编码结果进行解码(即特征还原过程),得到预测面部动画数据。
为了使训练得到的自编码器具备表情迁移能力,比如将以难过表情表述台词时的面部动画数据,转换为以高兴表情标识该台词时的面部动画数据,可选的,该预测面部动画数据包括如下至少一种:虚拟角色以第一样本面部表情表述第二样本说话内容时的面部动画数据,以及虚拟角色以第二样本面部表情表述第一样本说话内容时的面部动画数据。
步骤403,根据预测面部动画数据、第一样本面部动画数据以及第二样本面部动画数据,确定目标损失。
在一种可能的实施方式中,计算机设备以第一样本面部动画数据以及第二样本面部动画数据作为监督,计算训练过程中的目标损失。
可选的,该目标损失至少包括自编码器的自编码损失,该自编码损失用于表征自编码得到的预测面部动画数据与真实面部动画数据之间的差异。
除了自编码损失外,为了进一步提高自编码器的训练质量,计算机设备还可以构建其它维度的损失函数,并作为目标损失中的一部分,下述实施例将对确定目标损失的过程进行进一步阐述。
步骤404,根据目标损失训练自编码器,其中,训练完成后自编码器输出的面部动画数据用于生成虚拟角色的面部动画。
可选的,确定出目标损失后,计算机设备根据目标损失对自编码器中的编码器和解码器进行训练,直至目标损失满足收敛条件时,完成自编码器训练。其中,计算机设备可以采用梯度下降或反向传播等算法进行自编码器训练,本实施例对此不作限定。
综上所述,采用本申请实施例提供的方法训练得到自编码器后,当需要生成虚拟角色的面部动画时,获取目标说话内容对应的第一面部动画数据,以及目标面部表情的第二面部动画数据,并通过自编码器分别对第一面部动画数据和第二面部动画数据进行自编码,得到虚拟角色以目标面部表情表述目标说话内容时的目标面部动画数据,从而根据目标面部动画数据生成目标面部动画。借助预训练的自编码器,输入期待虚拟角色表述的说话内容以及表述时的面部表情,即可自动生成面部动画数据,无需动画师逐帧调整面部动画数据,简化了虚拟角色面部动画的生成流程,提高了面部动画的生成效率。
利用训练得到的自编码器进行表情迁移的过程中,对于输入的不同动画数据,通过编码器对面部动画数据进行编码时的编码侧重点不同,其中,对于表情动画数据,编码器侧重编码得到其中的表情特征,而对于内容动画数据,编码器则侧重编码得到其中的内容特征。因此为了提高编码质量,进而提高后续基于编码结果进行解码时的解码质量,本申请实施例中的自编码器包括内容编码器、表情编码器和解码器。
其中,内容编码器用于提取动画数据中的内容特征,而表情编码器用于提取动画数据中的表情特征,而解码器则用于融合内容特征和表情特征,并根据融合后的特征进行动画数据还原。
此外,本申请实施例中的自编码器作为生成式对抗神经网络中的生成器,用于将解码得到的预测面部动画数据输入判别器,由判别器对预测面部动画数据做出判别(输入数据为真实数据还是生成数据)。相应的,在训练自编码器的过程中,计算机设备即将生成式对抗神经网络的对抗损失作为目标损失,对自编码器进行训练。下面采用示例性的实施例进行说明。
请参考图5,其示出了本申请另一个示例性实施例提供的虚拟角色的面部动画方法的流程图。本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
步骤501,从样本数据库中获取第一样本面部动画数据和第二样本面部动画数据,第一样本面部动画数据对应第一样本说话内容和第一样本面部表情,第二样本面部动画数据对应第二样本说话内容和第二样本面部表情。
本步骤的实施方式可以参考上述步骤401,本实施例在此不再赘述。
获取到样本面部动画数据后,计算机设备通过下述步骤502和503进行内容以及表情特征提取。其中,步骤502和503之间并不存在严格先后时序,本实施例中以502和503同步执行为例进行说明,但并不对此构成限定。
步骤502,通过内容编码器对第一样本面部动画数据和第二样本面部动画数据进行编码,得到第一样本内容特征和第二样本内容特征。
本申请实施例中,内容编码器用于提取对面部动画数据中的内容特征,该内容特征可以包括虚拟角色说话过程中嘴部以及嘴部周侧区域动画数据的特征。
其中,内容编码器对第一样本面部动画数据进行编码,得到第一样本内容特征,并对第二样本面部动画数据进行编码,得到第二样本内容特征。
示意性的,如图6所示,第一样本面部动画数据601输入内容编码器603后,得到第一样本内容特征605,第二样本面部动画数据602输入内容编码器603后,得到第二样本内容特征606。
关于内容编码器的网络结构,在一种可能的实施方式中,内容编码网络采用卷积神经网络结构,其网络结构示意性如表一所示。
表一
网络层类型 | 核尺寸 | 步长 | 输出尺寸 | 激活函数 |
输入层 | - | - | 84×32 | - |
卷积层 | 1×5 | 1×2 | 84×16 | ReLU(线性整流) |
卷积层 | 1×5 | 1×2 | 84×8 | ReLU |
卷积层 | 1×5 | 1×2 | 84×4 | ReLU |
当然,除了采用上述网络结构的内容编码器外,还可以采用其他神经网络结构的内容编码器进行内容特征提取,本申请实施例并不对此构成限定。
步骤503,通过表情编码器对第一样本面部动画数据和第二样本面部动画数据进行编码,得到第一样本表情特征和第二样本表情特征。
本申请实施例中,内容编码器用于提取对面部动画数据中的表情特征,该表情特征可以包括虚拟角色呈现表情过程中各个面部区域的动画数据特征。
其中,表情编码器对第一样本面部动画数据进行编码,得到第一样本表情特征,并对第二样本面部动画数据进行编码,得到第二样本表情特征。
示意性的,如图6所示,第一样本面部动画数据601输入表情编码器604后,得到第一样本表情特征607,第二样本面部动画数据602输入表情编码器604后,得到第二样本表情特征608。
关于表情编码器的网络结构,由于表情变化过程中具有前后动画帧之间表情特征具备连续性,因此表情编码器采用递归神经网络(Recurrent Neutral Network,RNN)结构。在一种可能的实施方式中,表情编码网络采用长短期记忆(Long Short-term Memory,LSTM)神经网络,其网络结构示意性如表二所示。
表二
网络层类型 | 输出 | 激活函数 |
输入层 | B×10×16 | - |
LSTM层 | B×10×8 | Tanh(双曲正切) |
LSTM层 | B×10×4 | Tanh(双曲正切) |
全连接层 | B×64 | ReLU |
其中,B为batch_size(批尺寸)。
当然,除了采用上述网络结构的表情编码器外,还可以采用其他神经网络结构的表情编码器进行表情特征提取,本申请实施例并不对此构成限定。
步骤504,对样本内容特征和样本表情特征进行组合,得到样本组合特征。
通过上述步骤,计算机设备得到不同样本面部表情对应的表情特征,以及不同样本说话内容对应的内容特征。本申请实施例中,由于训练自编码期的最终目的是使其具备表情迁移能力,因此计算机设备对样本表情特征和样本内容特征进行两两组合,得到样本组合特征,其中,每组样本组合特征中包含一条样本表情特征和一条样本内容特征。比如,计算机设备可以通过组合得到4组样本组合特征。
可选的,对样本表情特征和样本内容特征进行组合的过程即为特征拼接(concat)过程,本实施例在此不再赘述。
进一步的,计算机设备通过解码器对样本组合特征进行解码,得到预测面部动画数据(下述步骤505)。
在一种可能的实施方式中,为了实现第一样本面部表情和第二样本面部表情之间的相互迁移,计算机设备对第一样本内容特征和第二样本表情特征进行组合,得到第一样本组合特征,对第二样本内容特征和第一样本表情特征进行组合,得到第二样本组合特征。
示意性的,如图6所示,计算机设备将第一样本内容特征605与第二样本表情特征608组合,将第二样本内容特征606与第一样本表情特征607组合。
步骤505,通过解码器,分别对第一样本组合特征和第二样本组合特征进行解码,得到第一预测面部动画数据和第二预测面部动画数据。
得到表情迁移后的样本组合特征后,计算机设备通过解码器对第一样本组合特征进行解码,得到第一预测面部动画数据,通过解码器对第二样本组合特征进行解码,得到第二预测面部动画数据。
其中,第一预测面部动画数据即预测虚拟角色以第二样本表情表述第一样本内容时的面部动画数据,第二预测面部动画数据即预测虚拟角色以第一样本表情表述第二样本内容时的面部动画数据。
示意性的,如图6所示,计算机设备通过解码器609对第一样本组合特征进行解码,得到第一预测面部动画数据610,通过解码器609对第二样本组合特征进行解码,得到第二预测面部动画数据611。
步骤506,将第一预测面部动画数据、第二预测面部动画数据、第一样本面部动画数据和第二样本面部动画数据分别输入判别器,得到判别结果,判别结果用于表征输入面部动画数据为样本动画数据的概率。
由于样本数据库中可能并不存在虚拟角色以第二样本表情表述第一样本内容时的样本面部动画数据,以及虚拟角色以第一样本表情表述第二样本内容时的样本面部动画数据,因此无法利用样本面部动画数据对预测面部动画数据进行监督训练。
为了简化训练流程,本申请实施例中,在训练自编码器的同时还训练判别器,从而利用自编码器与判别器进行博弈式训练。
在一种可能的实施方式中,计算机设备分别将第一预测面部动画数据、第二预测面部动画数据、第一样本面部动画数据和第二样本面部动画数据输入判别器,得到判别器输出的判别结果,其中,该判别结果用于指示输入的面部动画数据为真实面部动画数据或生成面部动画数据的概率。
在训练自编码器的过程中,即调整自编码器的参数,使生成的预测面部动画数据趋向于样本面部动画数据(即生成数据趋向于真实数据),进而使判别器输出的概率趋向于0.5;相对应的,训练判别器的过程中,即调整判别器的参数,使判别器能够区别预测面部动画数据和样本面部动画数据(即准确判别生成数据和真实数据),即判别器的输出趋向于0或1。
在一种可能的实施方式中,判别器采用RNN结构,其网络结构示意性如表三所示。
表三
当然,判别器还可以采用其他可能的神经网络结构,本实施例对此并不进行限定。
示意性的,如图6所示,计算机设备分别将第一预测面部动画数据610和第二预测面部动画数据611输入判别器612,得到判别结果。
步骤507,根据判别结果确定对抗损失。
根据判别器输出的判别结果,计算机设备根据对抗损失函数确定生成器(即自编码器)和判别器的对抗损失。在一个示意性的例子中,该对抗损失函数如下:
minDmaxGV(D,G)=Ex~p(x)[logD(x)]+Ez~p(z)[log(1-D(G(z)))]
其中,D表示判别器,G表示生成器,x表示样本面部动画数据(即真实数据),G(z)表示生成的预测面部动画数据,z为随机向量。
步骤508,将对抗损失确定为目标损失。
进一步,计算机设备将上述对抗损失确定为目标损失,以便后续基于目标损失进行训练。采用上述生成式对抗网络进行自编码器训练,无需动画师根据样本面部动画数据手动生成表情迁移后的面部动画数据,降低了训练过程中所需样本的数量,并提高了自编码器的训练效率。
示意性的,如图6所示,计算机设备根据判别器612的输出结果,确定出对抗损失613,进而将对抗损失613确定为目标损失。
步骤509,根据目标损失训练自编码器。
可选的,计算机设备根据目标损失对自编码器和判别器进行博弈式训练,直至对抗损失满足收敛条件时,完成自编码器训练。
需要说明的是,后续应用过程中,只需要使用训练得到的自编码器,而无需使用判别器。
本实施例中,自编码器利用表情编码器和内容编码器分别对样本面部动画数据进行编码,并对编码得到的内容特征和表情特征组合,从而利用解码器对组合特征进行解码,实现了样本动画数据中的表情迁移。同时,基于表情迁移结果进行自编码器训练时,采用生成式对抗网络的训练思路进行自编码器训练,在保证自编码器训练质量的前提下,有助于降低对样本数据的需求量,简化了训练流程,并提高了训练效率。
从上述训练过程中可以看出,表情编码器和内容编码器的编码质量将直接影响到最终得到的预测面部动画数据的准确性,因此可以为编码器设计相应的损失函数,从而对编码器进行训练,以提高编码质量。
此外,除了能够通过特征组合得到第一、第二样本组合特征之外,还可以得到对应的第一样本说话内容和第一样本面部表情的第三样本组合特征,以及对应第二样本说话内容和第二样本面部表情的第四样本组合特征,相应的,可以通过对第三样本组合特征和第四样本组合特征进行特征还原,并根据特征还原结果对解码器进行训练,以提高解码质量。
在一种可能的实施方式中,在图5的基础上,如图7所示,上述步骤504之后,还可以包括步骤510,步骤509之前还可以包括步骤511至513。
步骤510,通过解码器,分别对第三样本组合特征和第四样本组合特征进行解码,得到第三预测面部动画数据和第四预测面部动画数据。
其中,第三样本组合特征由第一样本内容特征和第一样本表情特征组合得到,第四样本组合特征由第二样本内容特征和第二样本表情特征组合得到。
示意性的,如图8所示,计算机设备将第一样本内容特征605和第一样本表情特征607组合后,输入解码器609,解码得到第三预测面部动画数据614;将第二样本内容特征606和第二样本表情特征608组合后,输入解码器609,解码得到第四预测面部动画数据615。
步骤511,根据第一样本面部动画数据和第三预测面部动画数据,确定第一重构损失。
由于第三预测面部动画数据和第一样本面部动画数据对应相同的面部表情和说话内容,因此可以将第三预测面部动画数据视作第一样本面部动画数据的重构数据。若解码器的解码质量越高,第三预测面部动画数据与第一样本面部动画数据将越接近。因此,计算机设备可以基于第一样本面部动画数据和第三预测面部动画数据衡量解码器的解码质量。
在一种可能的实施方式中,计算机设备将第一样本面部动画数据和第三预测面部动画数据之间的第二范数确定为第一重构损失,该重构损失可以表示为:
其中,x为第一样本面部动画数据,y为第三预测面部动画数据。
示意性的,如图8所示,计算机设备根据第一样本面部动画数据601和第三预测面部动画数据614计算得到第一重构损失616。
步骤512,根据第二样本面部动画数据和第四预测面部动画数据,确定第二重构损失。
类似的,第四预测面部动画数据视作第二样本面部动画数据的重构数据。若解码器的解码质量越高,第四预测面部动画数据与第二样本面部动画数据将越接近。因此,计算机设备可以基于第二样本面部动画数据和第四预测面部动画数据衡量解码器的解码质量。
在一种可能的实施方式中,计算机设备将第二样本面部动画数据和第四预测面部动画数据之间的第二范数确定为第二重构损失。
需要说明的是,上述步骤511和512之间并不存在严格的先后时序,本实施例以两者同步执行为例进行说明。
步骤513,将第一重构损失和第二重构损失确定为目标损失。
进一步的,计算机设备将第一重构损失和第二重构损失作为目标损失的一部分,用作后续自编码器的训练。
本实施例中,计算机设备对样本内容特征和样本表情特征进行组合后,进一步利用解码器对样本组合特征进行特征还原,得到重构数据,进而基于重构数据和样本数据之间的重构损失作为目标损失的一部分,有助于提高后续训练得到的解码器的解码质量。
在一种可能的实施方式中,如图7所示,上述步骤503之后,还可以包括步骤514至517。
步骤514,通过表情分类器,分别对第一样本表情特征和第二样本表情特征进行表情分类,得到第一表情分类结果和第二表情分类结果。
在一种可能的实施方式中,计算机设备在训练自编码器的过程中,额外设置表情分类器,该表情分类器的输入即为表情编码器输出的样本表情特征,输出即为表情分类结果。
通过上述步骤编码得到第一样本表情特征和第二样本表情特征后,计算机设备即利用表情分类器对样本表情特征进行分类,从而根据分类结果衡量表情编码器的编码质量(即特征提取质量)。
在一种可能的实施方式中,该表情分类器采用RNN结构,其网络结构示意性如表四所示。
表四
网络层类型 | 输出 | 激活函数 |
输入层 | B×10×16 | - |
LSTM层 | B×10×8 | Tanh |
LSTM层 | B×10×4 | Tanh |
全连接层 | 3(预设表情类型的数量) | ReLU |
示意性的,如图8所示,计算机设备将第一样本表情特征607输入表情分类器618,得到第一表情分类结果,将第二样本表情特征608输入表情分类器618,得到第二表情分类结果。
步骤515,根据第一表情分类结果和第一样本面部表情,确定第一分类损失。
在一种可能的实施方式中,样本数据库中的样本面部动画数据包含表情标签,计算机设备即根据第一表情分类结果与第一表情标签(对应第一样本面部表情),确定第一分类损失。其中,该分类损失可可以表示为:
其中,Xi为样本表情特征,f(Xi)为表情分类器输出的分类结果,yi为表情标签。
步骤516,根据第二表情分类结果和第二样本面部表情,确定第二分类损失。
示意性的,如图8所示,计算机设备根据表情分类器618输出的分类结果和表情标签,确定出分类损失。
需要说明的是,上述步骤515和516之间并不存在严格的先后时序,本实施例以两者同步执行为例进行说明。
步骤517,将第一分类损失和第二分类损失确定为目标损失。
进一步的,计算机设备将第一分类损失和第二分类损失作为目标损失的一部分,用作后续自编码器的训练。
在一种可能的实施方式中,将对抗损失、分类损失和重构损失作为目标损失训练自编码器时,学习率(Learning Rate,LR)对模型收敛以及收敛速度的影响较大。其中,当LR均为1e-5或1e-6时,分类误差曲线和重构误差曲线波动较大,模型不收敛;当LR均为1e-7,分类误差曲线和重构误差曲线波动较小,模型收敛但收敛速度较慢;而当LR分别为1e-5、1e-6和1e-6(分别对应三种损失)时,分类误差曲线和重构误差曲线波动较小,模型收敛且收敛速度较快。
本实施例中,计算机设备通过表情分类器,对表情编码器编码得到的样本表情特征进行表情分类,并基于分类结果和样本动画数据对应的表情标签计算分类损失,从而将分类损失作为目标损失的一部分,有助于提高后续训练得到表情编码器的编码质量。
下面采用示例性的实施例对应用自编码器自动生成面部动画表情的过程进行说明。
请参考图9,其示出了本申请一个示例性实施例提供的虚拟角色的面部动画方法的流程图。本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
步骤901,获取第一面部动画数据和第二面部动画数据,第一面部动画数据对应的说话内容为目标说话内容,第二面部动画数据对应的面部表情为目标面部表情。
在一种可能的实施方式中,计算机设备接收到的动画生成指令中包含目标说话内容和目标面部表情,计算机设备即根据目标说话内容,从样本数据库中获取包含该目标说话内容的第一面部动画数据,并获取对该目标面部表情的第二面部动画数据。
其中,该样本数据库可以复用自编码器训练过程中使用的数据库。
可选的,由于样本数据库中仅包含表述指定台词的面部动画数据,而指定台词可能与目标说话内容并不完全一致,因此计算机设备可以对多段面部动画数据进行裁剪拼接,得到第一面部动画数据。
步骤902,通过自编码器对第一面部动画数据和第二面部动画数据进行自编码,得到目标面部动画数据,目标面部动画数据对应的说话内容为目标说话内容,且目标面部动画数据对应的面部表情为目标面部表情。
在一种可能的实施方式中,计算机设备将第一面部动画数据和第二面部动画数据分别输入编码器进行编码,并对编码结果进行拼接,进而通过解码器对拼接后的编码结果进行解码,得到目标面部动画数据。
由于需要实现指定表情迁移,因此本实施例中,计算机设备通过内容编码器对第一面部动画数据进行编码,通过表情编码器对第二面部动画数据进行编码。
步骤903,根据目标面部动画数据生成目标面部动画。
对于生成的目标面部动画数据,计算机设备根据该目标面部动画数据对各帧动画帧中的面部进行调整,从而得到由若干连续动画帧构成的目标面部动画。
可选的,为了进一步提高自编码器的自编码质量,若接收到对目标面部动画数据的调整操作,且调整量达到阈值(比如超过数据总量的5%),计算机设备将调整后的目标面部动画数据作为样本数据,对自编码器进行更新训练。其中,更新训练自编码器的过程可以参考上述自编码器的训练过程,本实施例在此不再赘述。
综上所述,本申请实施例中,当需要生成虚拟角色的面部动画时,获取目标说话内容对应的第一面部动画数据,以及目标面部表情的第二面部动画数据,并通过预先训练的自编码器分别对第一面部动画数据和第二面部动画数据进行自编码,得到虚拟角色以目标面部表情表述目标说话内容时的目标面部动画数据,从而根据目标面部动画数据生成目标面部动画。借助预训练的自编码器,输入期待虚拟角色表述的说话内容以及表述时的面部表情,即可自动生成面部动画数据,无需动画师逐帧调整面部动画数据,简化了虚拟角色面部动画的生成流程,提高了面部动画的生成效率。
请参考图10,其示出了本申请另一个示例性实施例提供的虚拟角色的面部动画方法的流程图。本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
步骤1001,接收动画生成指令,动画生成指令中包含目标说话内容和目标面部表情。
其中,该目标说话内容可以为文字内容或者由语音转换得到的文字,且目标面部表情属于预设面部表情。
在一种可能的实施方式中,该动画生成指令中还可以包括动画时长。若未设置动画时长,则最终生成目标面部动画的时长即为第一面部动画数据对应的时长;若设置了动画时长,则最终生成目标面部动画的时长即为该动画时长。
步骤1002,根据目标说话内容,从样本数据库中获取至少一条样本面部动画数据,并根据至少一条样本面部动画数据生成第一面部动画数据,其中,至少一条样本面部动画数据对应的说话内容与目标说话内容存在交集。
在一种可能的实施方式中,样本数据库中每一条样本面部动画数据包含对应的样本说话内容。当接收到动画生成指令时,计算机设备对目标说话内容进行分词,得到包含目标分词的分词集合,并获取样本说话内容中包含目标分词的样本面部动画数据。
进一步的,计算机设备从样本面部动画数据中提取该目标分词对应的面部动画数据片段,进而对若干面部动画数据片段进行拼接,得到第一面部动画数据。
在一个示例性的例子中,当目标说话内容为“我不知道怎么回答这个问题”时,计算机设备从样本数据库中获取样本面部动画数据A(对应样本说话内容“我不知道”)、样本面部动画数据B(对应样本说话内容“我来告诉你怎么回答”)以及样本面部动画数据C(对应样本说话内容“这个问题我们需要讨论一下”),并从样本面部动画数据A中提取“我不知道”对应的面部动画数据片段,从样本面部动画数据B中提取“怎么回答”对应的面部动画数据片段,从样本面部动画数据C中提取“这个问题”对应的面部动画数据片段,从而对三个面部动画数据片段进行拼接,生成第一面部动画数据。
当然,计算机设备还可以通过其他方式从样本数据库中获取第一面部动画数据,本实施例并不对此构成限定。
步骤1003,将样本数据库中与目标面部表情匹配的样本面部动画数据确定为第二面部动画数据。
在一种可能的实施方式中,样本数据库中每一条样本面部动画数据包含对应的表情标签。当接收到动画生成指令时,计算机设备即获取表情标签与目标面部表情匹配的样本面部动画数据,作为第二面部动画数据。
步骤1004,通过内容编码器对第一面部动画数据进行编码,得到目标内容特征。
本实施例中,由于是将第二面部动画数据对应的面部表情迁移至第一面部动画数据中,因此计算机设备只需要通过内容编码器对第一面部动画数据进行内容特征提取,得到目标内容特征。
其中,内容编码器的网络结构以及内容编码方式可以参考上述实施例,本实施例在此不再赘述。
步骤1005,通过表情编码器对第二面部动画数据进行编码,得到目标表情特征。
类似的,计算机设备只需要通过表情编码器对第二面部动画数据进行表情特征提取,得到目标表情特征。
其中,表情编码器的网络结构以及表明编码方式可以参考上述实施例,本实施例在此不再赘述。
步骤1006,对目标内容特征和目标表情特征进行组合,得到目标组合特征。
在一种可能的实施方式中,计算机设备对目标内容特征和目标表情特征进行特征拼接,得到目标组合特征,该目标组合特征即融合了表述目标说话内容时的动画特征,以及呈现目标面部表情时的动画特征。
步骤1007,通过解码器对目标组合特征进行解码,得到目标面部动画数据。
进一步的,计算机设备通过解码器对目标组合特征进行特征还原,得到目标面部动画数据。
步骤1008,根据目标面部动画数据生成目标面部动画。
本步骤的实施方式可以参考上述步骤903,本实施例在此不再赘述。
需要说明的是,上述应用自编码器生成目标面部动画数据的步骤中,与自编码器相关的步骤可以参考上述自编码器训练过程所涉及的相关步骤,本实施例在此不再赘述。
图11是本申请一个示例性实施例提供的虚拟角色的面部动画生成装置的结构框图,如图11所示,该装置包括:
第一获取模块1101,用于从样本数据库中获取第一样本面部动画数据和第二样本面部动画数据,所述第一样本面部动画数据对应第一样本说话内容和第一样本面部表情,所述第二样本面部动画数据对应第二样本说话内容和第二样本面部表情;
第一自编码模块1102,用于通过自编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行自编码,得到预测面部动画数据;
损失确定模块1103,用于根据所述预测面部动画数据、所述第一样本面部动画数据以及所述第二样本面部动画数据,确定目标损失;
训练模块1104,用于根据所述目标损失训练所述自编码器,其中,训练完成后所述自编码器输出的面部动画数据用于生成虚拟角色的面部动画。
可选的,所述自编码器包括内容编码器、表情编码器和解码器;
所述第一自编码模块1102,包括:
第一编码单元,用于通过所述内容编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行编码,得到第一样本内容特征和第二样本内容特征;
第二编码单元,用于通过所述表情编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行编码,得到第一样本表情特征和第二样本表情特征;
第一组合单元,用于对样本内容特征和样本表情特征进行组合,得到样本组合特征;
第一解码单元,用于通过所述解码器对所述样本组合特征进行解码,得到所述预测面部动画数据。
可选的,所述第一解码单元,用于:
通过所述解码器,分别对第一样本组合特征和第二样本组合特征进行解码,得到第一预测面部动画数据和第二预测面部动画数据;
其中,所述第一样本组合特征由所述第一样本内容特征和所述第二样本表情特征组合得到,所述第二样本组合特征由所述第二样本内容特征和所述第一样本表情特征组合得到;
所述损失确定模块1103,包括:
判别单元,用于将所述第一预测面部动画数据、所述第二预测面部动画数据、所述第一样本面部动画数据和所述第二样本面部动画数据分别输入判别器,得到判别结果,所述判别结果用于表征输入面部动画数据为样本动画数据的概率;
第一损失确定单元,用于根据所述判别结果确定对抗损失;将所述对抗损失确定为所述目标损失。
可选的,所述第一解码单元,还用于:
通过所述解码器,分别对第三样本组合特征和第四样本组合特征进行解码,得到第三预测面部动画数据和第四预测面部动画数据;
其中,所述第三样本组合特征由所述第一样本内容特征和所述第一样本表情特征组合得到,所述第四样本组合特征由所述第二样本内容特征和所述第二样本表情特征组合得到;
所述损失确定模块1103,包括:
重构单元,用于根据所述第一样本面部动画数据和所述第三预测面部动画数据,确定第一重构损失;根据所述第二样本面部动画数据和所述第四预测面部动画数据,确定第二重构损失;
第二损失确定单元,用于将所述第一重构损失和所述第二重构损失确定为所述目标损失。
可选的,所述装置还包括:
分类模块,用于通过表情分类器,分别对所述第一样本表情特征和所述第二样本表情特征进行表情分类,得到第一表情分类结果和第二表情分类结果;
第三损失确定单元,用于根据所述第一表情分类结果和所述第一样本面部表情,确定第一分类损失;根据所述第二表情分类结果和所述第二样本面部表情,确定第二分类损失;将所述第一分类损失和所述第二分类损失确定为所述目标损失。
可选的,所述内容编码器采用卷积神经网络;所述表情编码器采用长短期记忆LSTM网络。
综上所述,采用本申请实施例提供的装置训练得到自编码器后,当需要生成虚拟角色的面部动画时,获取目标说话内容对应的第一面部动画数据,以及目标面部表情的第二面部动画数据,并通过自编码器分别对第一面部动画数据和第二面部动画数据进行自编码,得到虚拟角色以目标面部表情表述目标说话内容时的目标面部动画数据,从而根据目标面部动画数据生成目标面部动画。借助预训练的自编码器,输入期待虚拟角色表述的说话内容以及表述时的面部表情,即可自动生成面部动画数据,无需动画师逐帧调整面部动画数据,简化了虚拟角色面部动画的生成流程,提高了面部动画的生成效率。
图12是本申请另一个示例性实施例提供的虚拟角色的面部动画生成装置的结构框图,如图12所示,该装置包括:
第二获取模块1201,用于获取第一面部动画数据和第二面部动画数据,所述第一面部动画数据对应的说话内容为目标说话内容,所述第二面部动画数据对应的面部表情为目标面部表情;
第二自编码模块1202,用于通过自编码器对所述第一面部动画数据和所述第二面部动画数据进行自编码,得到目标面部动画数据,所述目标面部动画数据对应的说话内容为所述目标说话内容,且所述目标面部动画数据对应的面部表情为所述目标面部表情;
生成模块1203,用于根据所述目标面部动画数据生成目标面部动画。
可选的,所述自编码器包括内容编码器、表情编码器和解码器;
所述第二自编码模块1202,包括:
内容编码单元,用于通过所述内容编码器对所述第一面部动画数据进行编码,得到目标内容特征;
表情编码单元,用于通过所述表情编码器对所述第二面部动画数据进行编码,得到目标表情特征;
第二组合单元,用于对所述目标内容特征和所述目标表情特征进行组合,得到目标组合特征;
第二解码单元,用于通过所述解码器对所述目标组合特征进行解码,得到所述目标面部动画数据。
可选的,所述内容编码器采用卷积神经网络;所述表情编码器采用长短期记忆LSTM网络。
可选的,所述第二获取模块1201,包括:
接收单元,用于接收动画生成指令,所述动画生成指令中包含所述目标说话内容和所述目标面部表情;
第一获取单元,用于根据所述目标说话内容,从样本数据库中获取至少一条样本面部动画数据,所述至少一条样本面部动画数据对应的说话内容与所述目标说话内容存在交集;根据至少一条所述样本面部动画数据生成所述第一面部动画数据;
第二获取单元,用于将所述样本数据库中与所述目标面部表情匹配的样本面部动画数据确定为所述第二面部动画数据。
综上所述,本申请实施例中,当需要生成虚拟角色的面部动画时,获取目标说话内容对应的第一面部动画数据,以及目标面部表情的第二面部动画数据,并通过预先训练的自编码器分别对第一面部动画数据和第二面部动画数据进行自编码,得到虚拟角色以目标面部表情表述目标说话内容时的目标面部动画数据,从而根据目标面部动画数据生成目标面部动画。借助预训练的自编码器,输入期待虚拟角色表述的说话内容以及表述时的面部表情,即可自动生成面部动画数据,无需动画师逐帧调整面部动画数据,简化了虚拟角色面部动画的生成流程,提高了面部动画的生成效率。
需要说明的是:上述实施例提供的虚拟角色的面部动画生成装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟角色的面部动画生成装置与虚拟角色的面部动画生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图13,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。具体来讲:所述计算机设备1300包括中央处理单元(Central Processing Unit,CPU)1301、包括随机存取存储器1302和只读存储器1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(RAM,Random Access Memory)、只读存储器(ROM,Read Only Memory)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read-Only Memory,CD-ROM)、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1301执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元1301执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由计算机设备所执行的步骤。
本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述任一实施例所述的虚拟角色的面部动画生成方法。
本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的虚拟角色的面部动画生成方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任一方法实施例所述的虚拟角色的面部动画生成方法。
可选地,该计算机可读存储介质可以包括:ROM、RAM、固态硬盘(SSD,Solid StateDrives)或光盘等。其中,RAM可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种虚拟角色的面部动画生成方法,其特征在于,所述方法包括:
从样本数据库中获取第一样本面部动画数据和第二样本面部动画数据,所述第一样本面部动画数据对应第一样本说话内容和第一样本面部表情,所述第二样本面部动画数据对应第二样本说话内容和第二样本面部表情;
通过自编码器的内容编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行编码,得到第一样本内容特征和第二样本内容特征;
通过所述自编码器的表情编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行编码,得到第一样本表情特征和第二样本表情特征;
对样本内容特征和样本表情特征进行组合,得到样本组合特征;
通过所述自编码器的解码器对所述样本组合特征进行解码,得到预测面部动画数据;
根据所述预测面部动画数据、所述第一样本面部动画数据以及所述第二样本面部动画数据,确定目标损失;
根据所述目标损失训练所述自编码器,其中,训练完成后所述自编码器输出的面部动画数据用于生成虚拟角色的面部动画。
2.根据权利要求1所述的方法,其特征在于,所述通过所述自编码器的解码器对所述样本组合特征进行解码,得到所述预测面部动画数据,包括:
通过所述解码器,分别对第一样本组合特征和第二样本组合特征进行解码,得到第一预测面部动画数据和第二预测面部动画数据;
其中,所述第一样本组合特征由所述第一样本内容特征和所述第二样本表情特征组合得到,所述第二样本组合特征由所述第二样本内容特征和所述第一样本表情特征组合得到;
所述根据所述预测面部动画数据、所述第一样本面部动画数据以及所述第二样本面部动画数据,确定目标损失,包括:
将所述第一预测面部动画数据、所述第二预测面部动画数据、所述第一样本面部动画数据和所述第二样本面部动画数据分别输入判别器,得到判别结果,所述判别结果用于表征输入面部动画数据为样本动画数据的概率;
根据所述判别结果确定对抗损失;
将所述对抗损失确定为所述目标损失。
3.根据权利要求1所述的方法,其特征在于,所述通过所述自编码器的解码器对所述样本组合特征进行解码,得到所述预测面部动画数据,还包括:
通过所述解码器,分别对第三样本组合特征和第四样本组合特征进行解码,得到第三预测面部动画数据和第四预测面部动画数据;
其中,所述第三样本组合特征由所述第一样本内容特征和所述第一样本表情特征组合得到,所述第四样本组合特征由所述第二样本内容特征和所述第二样本表情特征组合得到;
所述根据所述预测面部动画数据、所述第一样本面部动画数据以及所述第二样本面部动画数据,确定目标损失,包括:
根据所述第一样本面部动画数据和所述第三预测面部动画数据,确定第一重构损失;
根据所述第二样本面部动画数据和所述第四预测面部动画数据,确定第二重构损失;
将所述第一重构损失和所述第二重构损失确定为所述目标损失。
4.根据权利要求1所述的方法,其特征在于,所述通过所述自编码器的表情编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行编码,得到第一样本表情特征和第二样本表情特征之后,所述方法还包括:
通过表情分类器,分别对所述第一样本表情特征和所述第二样本表情特征进行表情分类,得到第一表情分类结果和第二表情分类结果;
根据所述第一表情分类结果和所述第一样本面部表情,确定第一分类损失;
根据所述第二表情分类结果和所述第二样本面部表情,确定第二分类损失;
将所述第一分类损失和所述第二分类损失确定为所述目标损失。
5.根据权利要求1至4任一所述的方法,其特征在于,所述内容编码器采用卷积神经网络;所述表情编码器采用长短期记忆LSTM网络。
6.一种虚拟角色的面部动画生成方法,其特征在于,所述方法包括:
获取第一面部动画数据和第二面部动画数据,所述第一面部动画数据对应的说话内容为目标说话内容,所述第二面部动画数据对应的面部表情为目标面部表情;
通过自编码器的内容编码器对所述第一面部动画数据进行编码,得到目标内容特征;
通过所述自编码器的表情编码器对所述第二面部动画数据进行编码,得到目标表情特征;
对所述目标内容特征和所述目标表情特征进行组合,得到目标组合特征;
通过所述自编码器的解码器对所述目标组合特征进行解码,得到目标面部动画数据,所述目标面部动画数据对应的说话内容为所述目标说话内容,且所述目标面部动画数据对应的面部表情为所述目标面部表情;
根据所述目标面部动画数据生成目标面部动画。
7.根据权利要求6所述的方法,其特征在于,所述内容编码器采用卷积神经网络;所述表情编码器采用长短期记忆LSTM网络。
8.根据权利要求6或7所述的方法,其特征在于,所述获取第一面部动画数据和第二面部动画数据,包括:
接收动画生成指令,所述动画生成指令中包含所述目标说话内容和所述目标面部表情;
根据所述目标说话内容,从样本数据库中获取至少一条样本面部动画数据,所述至少一条样本面部动画数据对应的说话内容与所述目标说话内容存在交集;根据至少一条所述样本面部动画数据生成所述第一面部动画数据;
将所述样本数据库中与所述目标面部表情匹配的样本面部动画数据确定为所述第二面部动画数据。
9.一种虚拟角色的面部动画生成装置,其特征在于,所述装置包括:
第一获取模块,用于从样本数据库中获取第一样本面部动画数据和第二样本面部动画数据,所述第一样本面部动画数据对应第一样本说话内容和第一样本面部表情,所述第二样本面部动画数据对应第二样本说话内容和第二样本面部表情;
第一自编码模块,用于通过自编码器的内容编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行编码,得到第一样本内容特征和第二样本内容特征;通过所述自编码器的表情编码器对所述第一样本面部动画数据和所述第二样本面部动画数据进行编码,得到第一样本表情特征和第二样本表情特征;对样本内容特征和样本表情特征进行组合,得到样本组合特征;通过所述自编码器的解码器对所述样本组合特征进行解码,得到预测面部动画数据;
损失确定模块,用于根据所述预测面部动画数据、所述第一样本面部动画数据以及所述第二样本面部动画数据,确定目标损失;
训练模块,用于根据所述目标损失训练所述自编码器,其中,训练完成后所述自编码器输出的面部动画数据用于生成虚拟角色的面部动画。
10.一种虚拟角色的面部动画生成装置,其特征在于,所述装置包括:
第二获取模块,用于获取第一面部动画数据和第二面部动画数据,所述第一面部动画数据对应的说话内容为目标说话内容,所述第二面部动画数据对应的面部表情为目标面部表情;
第二自编码模块,用于通过自编码器的内容编码器对所述第一面部动画数据进行编码,得到目标内容特征;通过所述自编码器的表情编码器对所述第二面部动画数据进行编码,得到目标表情特征;对所述目标内容特征和所述目标表情特征进行组合,得到目标组合特征;通过所述自编码器的解码器对所述目标组合特征进行解码,得到目标面部动画数据,所述目标面部动画数据对应的说话内容为所述目标说话内容,且所述目标面部动画数据对应的面部表情为所述目标面部表情;
生成模块,用于根据所述目标面部动画数据生成目标面部动画。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一所述的虚拟角色的面部动画生成方法,或,实现如权利要求6至8任一所述的虚拟角色的面部动画生成方法。
12.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一所述的虚拟角色的面部动画生成方法,或,实现如权利要求6至8任一所述的虚拟角色的面部动画生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010361579.XA CN111598979B (zh) | 2020-04-30 | 2020-04-30 | 虚拟角色的面部动画生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010361579.XA CN111598979B (zh) | 2020-04-30 | 2020-04-30 | 虚拟角色的面部动画生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111598979A CN111598979A (zh) | 2020-08-28 |
CN111598979B true CN111598979B (zh) | 2023-03-31 |
Family
ID=72192041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010361579.XA Active CN111598979B (zh) | 2020-04-30 | 2020-04-30 | 虚拟角色的面部动画生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111598979B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330780A (zh) * | 2020-11-04 | 2021-02-05 | 北京慧夜科技有限公司 | 一种生成目标角色的动画表情的方法和系统 |
CN112396182B (zh) * | 2021-01-19 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 脸部驱动模型的训练和脸部口型动画的生成方法 |
CN112700524B (zh) * | 2021-03-25 | 2021-07-02 | 江苏原力数字科技股份有限公司 | 一种基于深度学习的3d角色面部表情动画实时生成方法 |
CN113112580B (zh) * | 2021-04-20 | 2022-03-25 | 北京字跳网络技术有限公司 | 一种虚拟形象的生成方法、装置、设备及介质 |
CN114898020B (zh) * | 2022-05-26 | 2024-10-18 | 唯物(杭州)科技有限公司 | 一种3d角色实时面部驱动方法、装置、电子设备及存储介质 |
CN116485959B (zh) * | 2023-04-17 | 2024-07-23 | 北京优酷科技有限公司 | 动画模型的控制方法、表情的添加方法及装置 |
CN117540789B (zh) * | 2024-01-09 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 模型训练方法、面部表情迁移方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109523616A (zh) * | 2018-12-04 | 2019-03-26 | 科大讯飞股份有限公司 | 一种面部动画生成方法、装置、设备及可读存储介质 |
CN110413841A (zh) * | 2019-06-13 | 2019-11-05 | 深圳追一科技有限公司 | 多态交互方法、装置、系统、电子设备及存储介质 |
CN110517337A (zh) * | 2019-08-29 | 2019-11-29 | 成都数字天空科技有限公司 | 动画角色表情生成方法、动画制作方法及电子设备 |
CN110874869A (zh) * | 2018-08-31 | 2020-03-10 | 百度在线网络技术(北京)有限公司 | 生成虚拟动画表情的方法和装置 |
CN110889381A (zh) * | 2019-11-29 | 2020-03-17 | 广州华多网络科技有限公司 | 换脸方法、装置、电子设备及存储介质 |
-
2020
- 2020-04-30 CN CN202010361579.XA patent/CN111598979B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874869A (zh) * | 2018-08-31 | 2020-03-10 | 百度在线网络技术(北京)有限公司 | 生成虚拟动画表情的方法和装置 |
CN109523616A (zh) * | 2018-12-04 | 2019-03-26 | 科大讯飞股份有限公司 | 一种面部动画生成方法、装置、设备及可读存储介质 |
CN110413841A (zh) * | 2019-06-13 | 2019-11-05 | 深圳追一科技有限公司 | 多态交互方法、装置、系统、电子设备及存储介质 |
CN110517337A (zh) * | 2019-08-29 | 2019-11-29 | 成都数字天空科技有限公司 | 动画角色表情生成方法、动画制作方法及电子设备 |
CN110889381A (zh) * | 2019-11-29 | 2020-03-17 | 广州华多网络科技有限公司 | 换脸方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Speech Emotion Recognition using Convolutional Neural Network with Audio Word-based Embedding;Kun-Yi Huang等;《2018 11th International Symposium on Chinese Spoken Language Processing (ISCSLP)》;20190506;265-269 * |
结合有监督联合一致性自编码器的跨音视频说话人标注;柳欣 等;《电子与信息学报》;20180731;第40卷(第7期);1635-1642 * |
Also Published As
Publication number | Publication date |
---|---|
CN111598979A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598979B (zh) | 虚拟角色的面部动画生成方法、装置、设备及存储介质 | |
CN107979764B (zh) | 基于语义分割和多层注意力框架的视频字幕生成方法 | |
CN111897933B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
EP3617946A1 (en) | Context acquisition method and device based on voice interaction | |
CN110234018B (zh) | 多媒体内容描述生成方法、训练方法、装置、设备及介质 | |
CN112069302A (zh) | 会话意图识别模型的训练方法、会话意图识别方法及装置 | |
CN110555896B (zh) | 一种图像生成方法、装置以及存储介质 | |
CN108228576B (zh) | 文本翻译方法及装置 | |
CN112533051A (zh) | 弹幕信息显示方法、装置、计算机设备和存储介质 | |
CN113870395A (zh) | 动画视频生成方法、装置、设备及存储介质 | |
CN116363261B (zh) | 图像编辑模型的训练方法、图像编辑方法和装置 | |
CN113096242A (zh) | 虚拟主播生成方法、装置、电子设备及存储介质 | |
EP4390725A1 (en) | Video retrieval method and apparatus, device, and storage medium | |
CN112804558B (zh) | 视频拆分方法、装置及设备 | |
CN113704419A (zh) | 对话处理方法及装置 | |
CN116564338B (zh) | 语音动画生成方法、装置、电子设备和介质 | |
CN112632244A (zh) | 一种人机通话的优化方法、装置、计算机设备及存储介质 | |
CN115050354B (zh) | 数字人驱动方法和装置 | |
CN115690276A (zh) | 虚拟形象的视频生成方法、装置、计算机设备和存储介质 | |
CN115187704A (zh) | 虚拟主播生成方法、装置、设备及存储介质 | |
CN112199502A (zh) | 基于情感的诗句生成方法及装置、电子设备和存储介质 | |
CN113704393A (zh) | 关键词提取方法、装置、设备及介质 | |
CN113570689A (zh) | 人像卡通化方法、装置、介质和计算设备 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027954 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |