面部动作视频生成方法及装置、可读介质和电子设备与流程



1.本公开涉及人工智能技术领域,具体涉及一种面部动作视频生成方法、面部动作视频生成装置、计算机可读介质和电子设备。


背景技术:



2.伴随着科学技术的飞速发展,人工智能(artificial intelligence,ai)得到人们越来越广泛的关注。数字化虚拟人技术,如虚拟主播、虚拟偶像,以及元宇宙(metaverse)的提出,各企业纷纷推出各自的虚拟形象。为了保证虚拟形象的真实性,需要实现虚拟形象说话时的面部表情贴合实际。
3.目前,相关的虚拟形象面部表情驱动方案中,是创建不同的语音元素与面部驱动参数的映射关系,然后根据该映射关系确定面部驱动参数,但是,这种依赖多个音素与面部模板的参数映射关系,只能驱动虚拟人的嘴部运动,得到的面部运动视频不仅真实性较低、准确性较低,并且由于多个音素与面部模板的参数映射关系不具有连续性,导致面部运动视频中面部动作的变化可能存在突变,面部动作的平滑性较低。


技术实现要素:



4.本公开的目的在于提供一种面部动作视频生成方法、面部动作视频生成装置、计算机可读介质和电子设备,进而至少在一定程度上提高面部动作视频中面部动作的准确性以及真实性,保证面部动作的平滑性。
5.根据本公开的第一方面,提供一种面部动作视频生成方法,包括:
6.获取驱动语音数据;
7.将所述驱动语音数据输入到面部动作预测模型中,得到面部动作驱动参数,所述面部动作预测模型是通过预训练过程训练得到的;
8.根据所述面部动作驱动参数驱动预设虚拟对象的面部模型,生成所述驱动语音数据对应的面部动作视频。
9.根据本公开的第二方面,提供一种面部动作视频生成装置,包括:
10.语音数据获取模块,用于获取驱动语音数据;
11.面部动作驱动参数预测模块,用于将所述驱动语音数据输入到面部动作预测模型中,得到面部动作驱动参数,所述面部动作预测模型是通过预训练过程训练得到的;
12.面部动作视频生成模块,用于根据所述面部动作驱动参数驱动预设虚拟对象的面部模型,生成所述驱动语音数据对应的面部动作视频。
13.根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
14.根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
15.处理器;以及
16.存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行
时,使得一个或多个处理器实现上述的方法。
17.本公开的一种实施例所提供的面部动作视频生成方法,可以获取驱动语音数据,然后可以将驱动语音数据输入到预训练过程训练得到的面部动作预测模型中,得到面部动作驱动参数,进而可以根据面部动作驱动参数驱动预设虚拟对象的面部模型,生成驱动语音数据对应的面部动作视频。可以将驱动语音数据输入到面部动作预测模型就能够得到面部动作驱动参数,不仅操作简单,相比于相关技术中通过多个音素与面部模板的参数映射关系确定面部驱动参数的方式,通过面部动作预测模型预测得到的面部动作驱动参数,连续性较好,能够保证面部动作视频中面部动作的平滑性,而且能够得到整体面部的动作,不仅是唇部动作,提升面部动作的准确性以及真实性。
18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
20.图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
21.图2示意性示出本公开示例性实施例中一种面部动作视频生成方法的流程示意图;
22.图3示意性示出本公开示例性实施例中一种面部动作预测模型对应的预训练过程的流程示意图;
23.图4示意性示出本公开示例性实施例中一种构建音频特征的流程示意图;
24.图5示意性示出本公开示例性实施例中一种面部动作预测模型的网络结构示意图;
25.图6示意性示出本公开示例性实施例中面部动作视频生成装置的组成示意图;
26.图7示出了可以应用本公开实施例的一种电子设备的示意图。
具体实施方式
27.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
28.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
29.图1示出了可以应用本公开实施例的一种面部动作视频生成方法及装置的示例性
应用环境的系统架构的示意图。
30.如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集等。
31.本公开实施例所提供的面部动作视频生成方法一般由终端设备101、102、103中执行,相应地,面部动作视频生成装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的面部动作视频生成方法也可以由服务器105执行,相应的,面部动作视频生成装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103接收或者采集驱动语音数据,然后将驱动语音数据上传至服务器105,服务器通过本公开实施例所提供的面部动作视频生成方法生成面部动作视频后,将面部动作视频给终端设备101、102、103等。
32.在相关的一种技术方案中,可以使用2d视频,利用deca 3d人脸重建方法得到人脸表情与形状的3d模型(faces learned with an articulated model and expressions,flame)的头部建模的混合表情系数(blendshape,bs),搭建神经网络学习语音数据到flame的blendshape系数的映射关系。但是,这种方案中,得到是flame的bs值,而在虚幻引擎(unreal engine,ue)等渲染引擎中驱动数字虚拟人,blendshape多采用arkit中的定义(与flame中bs的定义有差距);而如果采用flame的bs值,还需要利用pytorch3d得到一帧帧渲染后的图片,扩展性差。
33.在相关的另一种技术方案中,可以基于开源工具openface,提取2d视频中每一帧人脸图像的面部动作编码系统(facial action code system,facs)的运动单元(action unit,au)的强度值,同样利用神经网络学习语音数据到au值的映射关系,然后通过虚幻引擎如ue4将au值转换到混合表情形状参数bs值。但是,先预测au值,在通过au值转换到bs值,需要搭建每一帧人脸图像的面部动作编码系统,操作复杂,并且在转换过程中存在信息损失,导致生成的面部动作的准确性较低。
34.在相关的再一种技术方案中,可以获取输入语音信息所对应的语音元素,然后根据预设的语音元素与面部驱动参数的映射关系,最后将面部驱动参数与预定的虚拟人面部模板结合,在虚幻引擎中渲染虚拟人的面部运动视频。但是,该方案单靠多个音素与面部模板的参数映射关系,只能驱动虚拟人的嘴部运动,得到的面部动作准确性低、平滑性低、真实性低。
35.基于相关技术中的一个或者多个问题,本公开首先提供了一种面部动作视频生成方法,下面以设置有面部动作视频生成装置的终端设备执行该方法为例,对本公开示例性实施方式的面部动作视频生成方法进行具体说明。
36.图2示出了本示例性实施方式中一种面部动作视频生成方法的流程,包括以下步骤s210至步骤s230:
37.在步骤s210中,获取驱动语音数据。
38.在一示例性实施例中,驱动语音数据是指用于驱动预设虚拟对象的面部动作的语音数据,例如,驱动语音数据可以是直接通过音频采集工具直接采集得到的,也可以是根据文本数据进行语音合成得到的,当然,还可以是从视频中提取出来的,或者通过通信方式从其他设备获取的,本示例实施例对于驱动语音数据的来源不做任何特殊限定。
39.在步骤s220中,将所述驱动语音数据输入到面部动作预测模型中,得到面部动作驱动参数,所述面部动作预测模型是通过预训练过程训练得到的。
40.在一示例性实施例中,面部动作预测模型是指能够根据语音数据预测该语音数据发音时对应的面部动作的深度学习模型,例如,面部动作预测模型可以是基于卷积神经网络(convolutional neural networks,cnn)构建的深度学习模型,也可以是基于循环神经网络(recurrent neural network,rnn)构建的深度学习模型,本示例实施例对于面部动作预测模型的网络类型不做特殊限定。
41.面部动作驱动参数是指用于驱动面部模型实现面部动作与语音数据相匹配的驱动参数,例如,面部动作驱动参数可以是混合表情系数bs,也可以是多个面部关键点的位移坐标,还可以是面部动作编码系统的运动单元的强度值,本示例实施例对于面部动作驱动参数的类型不做特殊限定,下面均以面部动作驱动参数为混合表情系数bs为例进行说明。
42.面部动作预测模型一种端到端的网络结构,通过将驱动语音数据输入到面部动作预测模型中,可以直接得到驱动语音数据对应的面部动作驱动参数,操作简单,并且提升面部动作驱动参数的生成效率。
43.在步骤s230中,根据所述面部动作驱动参数驱动预设虚拟对象的面部模型,生成所述驱动语音数据对应的面部动作视频。
44.在一示例性实施例中,预设虚拟对象是指预先构建的具有面部区域的三维模型,例如,预设虚拟对象可以是基于人脸关键点复原的人形虚拟对象,可以检测视频或者图像中的人脸区域,并采集该人脸区域对应的多个特征关键点,如人脸25关键点,并通过人脸25关键点进行三维建模,得到视频或者图像中人脸区域对应的虚拟对象;当然,预设虚拟对象也可以是具有面部区域的卡通形象,本示例实施例对于预设虚拟对象的表现形式不做任何特殊限定。
45.可选的,预设虚拟对象可以是在渲染引擎中预先建模好的三维模型,例如,可以在虚幻引擎(如ue4)中创建预设虚拟对象,也可以在unity引擎中创建预设虚拟对象,当然,还可以是在3ds max或者maya等建模软件中创建预设虚拟对象,本实施例对于预设虚拟对象的创建工具不做特殊限定。
46.在得到面部动作驱动参数后,可以将面部动作驱动参数导入到预设虚拟对象对应的渲染引擎或者建模工具中,并将面部动作驱动参数映射到预设虚拟对象的面部模型上,驱动面部模型得到连续的面部动作,可以通过渲染引擎或者建模工具自带的虚拟摄像机录制面部动作,得到驱动语音数据对应的面部动作视频。
47.通过面部动作预测模型就能够得到面部动作驱动参数,不仅操作简单,并且通过面部动作预测模型预测得到的面部动作驱动参数,连续性较好,能够保证面部动作视频中面部动作的平滑性,而且能够得到整体面部的动作,不仅是唇部动作,提升面部动作的准确性以及真实性。
48.另外,通过面部动作驱动参数驱动渲染引擎或者建模工具中的预设虚拟对象的面部模型得到面部动作视频,相比于相关技术中驱动flame,并逐帧渲染得到面部动作视频,扩展性更好,应用范围更广,并且得到的面部动作视频中的面部动作变化更加平滑,更加符合真实场景中的面部动作。
49.下面对步骤s210至步骤s230进行详细说明。
50.在一示例性实施例中,面部动作预测模型可以是通过预训练过程训练得到的,可以通过图3中的步骤实现该预训练过程,参考图3所示,具体可以包括:
51.步骤s310,获取训练数据,所述训练数据包括面部动作驱动参数以及所述面部动作驱动参数对应的音频序列;
52.步骤s320,对所述音频序列进行预处理得到音频特征;
53.步骤s330,通过所述面部动作驱动参数以及所述音频特征对初始面部动作预测模型进行模型训练,直到所述初始面部动作预测模型的模型损失收敛,得到训练完成的面部动作预测模型。
54.其中,初始面部动作预测模型是指预先构建的、模型参数为初始值的面部动作预测模型,可以通过训练数据以及模型的损失函数对初始面部动作预测模型的模型参数进行迭代更新,直到初始面部动作预测模型的模型损失收敛,此时可以将更新过模型参数的初始面部动作预测模型作为训练完成的面部动作预测模型。
55.初始面部动作预测模型的训练数据可以包括面部动作驱动参数以及所述面部动作驱动参数对应的音频序列,具体可以将音频序列作为初始面部动作预测模型的输入数据,将面部动作驱动参数作为初始面部动作预测模型的标签数据,对初始面部动作预测模型进行模型迭代训练,最终得到训练完成的面部动作预测模型。
56.可选的,可以通过以下步骤获取训练数据,具体可以包括:采集原始数据,该原始数据可以包括演示对象在阅读测试文本时的视频序列以及演示对象在阅读测试文本时的面部深度信息,可以根据视频序列中视频画面以及面部深度信息确定面部动作驱动参数;从视频序列中提取面部动作驱动参数对应的音频序列。
57.其中,原始数据是指通过采集工具采集得到的未经处理的数据,例如,可以在拍摄场景中安排演示对象较大声且字正腔圆地朗读事先准备好的文本数据,并使用多种情感(如高兴、悲伤等情感)重复朗读该文本数据,该文本数据可以由多段300字左右的段落组成,每段落需尽可能多声母、韵母。具体的,可以设置采集工具,如智能手机、摄像头等,使演示对象正对采集工具,面部处于画面中的预设区域内,采集演示对象在阅读测试文本时的视频序列,可以根据视频序列中的图像帧进行深度估计得到演示对象在阅读测试文本时的面部深度信息。可选的,可以通过包含深度信息采集装置的采集工具获取演示对象在阅读测试文本时的面部深度信息,本示例实施例对此不做特殊限定。
58.可以根据时间戳信息将视频序列中视频画面以及面部深度信息进行对齐,通过将视频序列中视频画面以及面部深度信息进行叠加,提取面部动作驱动参数;当然,也可以将视频序列以及面部深度信息输入到面部动作捕捉工具中得到面部动作驱动参数,例如面部动作捕捉工具可以是live link face应用程序。
59.可以通过音频提取工具从视频序列中提取面部动作驱动参数对应的音频序列,例如,可以通过视频处理工具ffmpeg提取视频序列中的音频序列,并将该音频序列与面部动
作驱动参数进行对齐,作为训练数据。若音频序列与面部动作驱动参数不是对齐的,可以对提取的音频序列的开始与结束部分进行截断操作,保证音频序列与面部动作驱动参数的对齐性。
60.通过采集演示对象在阅读测试文本时的面部深度信息确定面部动作驱动参数,相比于相关技术中基于2d视频进行三维重建或者提取运动单元强度值的方式,能够有效提升训练数据中面部动作驱动参数的准确性,进一步保证生成的面部动作视频的准确性。
61.在一示例性实施例中,可以通过图4中的步骤实现对所述音频序列进行预处理得到音频特征,参考图4所示,具体可以包括:
62.步骤s410,确定所述音频序列的梅尔频率倒谱系数特征;
63.步骤s420,对所述梅尔频率倒谱系数特征进行一阶求导,得到第一音频序列特征;
64.步骤s430,对所述梅尔频率倒谱系数特征进行二阶求导,得到第二音频序列特征;
65.步骤s440,基于所述梅尔频率倒谱系数特征、所述第一音频序列特征和所述第二音频序列特征构建音频特征。
66.其中,梅尔频率倒谱系数(mel-frequency cepstral coefficients,mfcc)特征是指基于音频序列中的声音频率的非线性梅尔刻度(mel scale)的对数能量频谱的线性变换得到的音频特征。
67.可以对梅尔频率倒谱系数特征进行一阶求导,得到第一音频序列特征,可以对梅尔频率倒谱系数特征进行二阶求导,得到第二音频序列特征,进而将梅尔频率倒谱系数特征、第一音频序列特征和第二音频序列特征构建的多维特征作为音频特征。
68.通过将梅尔频率倒谱系数特征、第一音频序列特征和第二音频序列特征共同作为音频特征输入到初始面部动作预测模型中,能够有效提升对于音频序列的特征表达,避免编码后的音频特征的信息缺失,提升面部动作驱动参数的准确性。
69.可选的,可以确定面部动作驱动参数的帧率数据,然后可以根据帧率数据确定采样滑动窗口,并根据采样滑动窗口对音频特征进行采样,以实现音频特征与面部动作驱动参数的对齐。
70.其中,帧率数据是指面部动作驱动参数的采集帧率,例如,采集的面部动作驱动参数可以是30帧/秒,也可以是60帧/秒等,面部动作驱动参数的帧率数据具体和采集工具的参数有关,本示例实施例对于帧率数据的确定方式不做特殊限定。
71.举例而言,以面部动作捕捉工具live link face采集视频为例,最稳定的帧率是30帧/秒,因此每一秒可以得到30帧面部动作驱动参数,如面部动作驱动参数可以是bs参数,具体的,每一帧面部动作驱动参数可以是由61个bs参数组成的。每一段视频拍摄得到的结果是带时间戳信息与多帧bs参数组成的csv文件。可以对采集到的原始音频文件进行降噪预处理,消除环境音与其他噪音,保留较纯正的人声。然后可以对去噪后的音频文件进行mfcc特征、第一音频序列特征(deltas特征)、第二音频序列特征(deltas-deltas特征提取)。
72.由于面部动作驱动参数的帧率数据为30帧/秒,因此可以采用0.02s与1/(30*4)s分别为采样滑动窗口的大小与步长,每4段mfcc(1/(30*4)*4)特征与一帧bs参数相对应,这样音频特征与bs参数在时序上是对齐的。同理,每4小段第一音频序列特征(deltas特征)、第二音频序列特征(deltas-deltas特征提取)组成1秒的音频特征。
73.在一示例性实施例中,面部动作预测模型可以包括音频编码网络、音频编码网络全连接层、丢弃层以及长短期记忆网络。
74.其中,音频编码网络可以是基于cnn网络构建的网络层,可以用于对音频特征进行抽象处理,提取音频特征对应的高维特征;通过网络结构简单轻量的基于cnn网络的音频编码网络,可以快速提取音频特征对应的高维特征,有效提升特征的提取效率。
75.音频编码网络全连接层可以由两个全连接层与relu激活层组合构成,用于进一步抽象音频特征,输出得到与长短期记忆网络的输入数据尺寸相同的特征数据。
76.丢弃层(dropout)用于对音频编码网络全连接层输出的特征数据进行数据丢弃,用于避免音频编码网络全连接层过拟合。
77.长短期记忆网络(long short-term memory,lstm)主要用于提取音频特征中的时序关系,使输出的面部动作驱动参数在时空上具有较好的连续性以及稳定性。当然,长短期记忆网络虽可以学习到时序特征,但在模块中间没有突出时序间各特征的重要性,因此也可以替换为多头自注意力网络(multi-head self-attention)结构改善算法效果。
78.图5示意性示出本公开示例性实施例中一种面部动作预测模型的网络结构示意图。
79.参考图5所示,面部动作预测模型500可以包括音频编码网络501、音频编码网络全连接层502、丢弃层503以及长短期记忆网络504。
80.可以采用音频编码网络501,对音频特征中的梅尔频率倒谱系数特征、第一音频序列特征和第二音频序列特征进行再次抽象。梅尔频率倒谱系数特征每一个采样点是一个一维长度为13的向量,采样率为16000hz,即每秒16000个采样点。再使用0.02s为窗口长度,1/(30*4)为步长的采样滑动窗口组合特征,4段音频特征组成1秒的特征(第一音频序列特征和第二音频序列同理)。此处需要处理3个13*n(实际网络中,处理12*28的特征,舍去了第1维的特征)的二维特征(梅尔频率倒谱系数特征、第一音频序列特征和第二音频序列特征),可以抽象3通道*宽13*长n的音频频谱特征图。
81.由于bs参数在时序上是具有相关性的,因此为求解t帧对应的bs参数,是以[(t-3)*4,(t+4)*4]这28个音频特征为一组求解。cnn网络擅长提取图像特征,音频编码网络501设计为cnn网络编码每一帧频谱特征;再使用音频编码网络全连接层502进一步抽象,后接丢弃层503防止音频编码网络全连接层502过拟合。音频特征的时序提取使用长短期记忆网络504,解码后的音频特征16帧为一组,输入长短期记忆网络504学习这16帧特征之间的关系;长短期记忆网络504得到的特征数据利用全连接映射到61个arkit的bs参数,作为最终的面部动作驱动参数输出。
[0082]
音频编码网络501的网络结构可以如表1所示:
[0083]
表1音频编码网络的网络结构
[0084]
网络层名称输出数据尺寸音频编码器conv128*123*1,64,stride=1conv228*123*1,128,stride=1maxpool128*63,stride=(1,2)conv328*63*1,256,stride=1conv428*63*1,256,stride=1
conv528*63*1,512,stride=1maxpool212*33,stride=(2,2)
[0085]
音频编码网络全连接层502为两个全连接层与relu激活层组合成,最后得到一个256长度的一维特征。16个256长度的一维特征经过长短期记忆网络504得到16*256的特征数据,最后由全连接映射到16*61个bs参数上。
[0086]
面部动作预测模型500是端到端的训练方式,损失函数可以由两部分加权得到。第一部分是判别所输出的面部动作驱动参数的准确性的huberloss;第二部分是判别所输出的面部动作驱动参数的连续性的损失,用于消除输出面部动作驱动参数的帧间不合理的突变点,保证连续性。具体的损失函数可以通过关系式(1)表示:
[0087][0088]
其中,huberloss可以通过关系式(2)表示:
[0089][0090]
其中,β可以表示作为标签数据的面部动作驱动参数,即训练数据中的61个bs参数,可以表示面部动作预测模型500预测的61个bs参数,λ和δ可以表示面部动作预测模型500对应的超参数。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。
[0091]
综上所述,本示例性实施方式中,可以获取驱动语音数据,然后可以将驱动语音数据输入到预训练过程训练得到的面部动作预测模型中,得到面部动作驱动参数,进而可以根据面部动作驱动参数驱动预设虚拟对象的面部模型,生成驱动语音数据对应的面部动作视频。可以将驱动语音数据输入到面部动作预测模型就能够得到面部动作驱动参数,不仅操作简单,相比于相关技术中通过多个音素与面部模板的参数映射关系确定面部驱动参数的方式,通过面部动作预测模型预测得到的面部动作驱动参数,连续性较好,能够保证面部动作视频中面部动作的平滑性,而且能够得到整体面部的动作,不仅是唇部动作,提升面部动作的准确性以及真实性。
[0092]
本公开实施例中的面部动作预测模型是端到端的轻量级网络设计,输入语音的音频信号,即驱动语音数据,通过所设计的面部动作预测模型可快速输出面部动作驱动参数,如61个bs的系数,在unity等各种虚拟引擎中可以非常简单驱动虚拟对象的面部进行运动,适用于任何语言作为输入数据,都可以学习得到对应的面部动作驱动参数。并且该方法适用于任何场景,例如通过虚拟人进行各种交互的场景,可以非常快捷地生成虚拟人的面部动作视频。
[0093]
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0094]
进一步的,参考图6所示,本示例的实施方式中还提供一种面部动作视频生成装置600,包括语音数据获取模块610、面部动作驱动参数预测模块620和面部动作视频生成模块630。其中:
[0095]
语音数据获取模块610用于获取驱动语音数据;
[0096]
面部动作驱动参数预测模块620用于将所述驱动语音数据输入到面部动作预测模型中,得到面部动作驱动参数,所述面部动作预测模型是通过预训练过程训练得到的;
[0097]
面部动作视频生成模块630用于根据所述面部动作驱动参数驱动预设虚拟对象的面部模型,生成所述驱动语音数据对应的面部动作视频。
[0098]
在一示例性实施例中,面部动作预测模型的预训练过程可以包括:
[0099]
训练数据获取单元,用于获取训练数据,所述训练数据包括面部动作驱动参数以及所述面部动作驱动参数对应的音频序列;
[0100]
音频预处理单元,用于对所述音频序列进行预处理得到音频特征;
[0101]
模型训练单元,用于通过所述面部动作驱动参数以及所述音频特征对初始面部动作预测模型进行模型训练,直到所述初始面部动作预测模型的模型损失收敛,得到训练完成的面部动作预测模型。
[0102]
在一示例性实施例中,训练数据获取单元可以用于:
[0103]
采集原始数据,所述原始数据包括演示对象在阅读测试文本时的视频序列以及所述演示对象在阅读测试文本时的面部深度信息;
[0104]
根据所述视频序列中视频画面以及所述面部深度信息确定面部动作驱动参数;
[0105]
从所述视频序列中提取所述面部动作驱动参数对应的音频序列。
[0106]
在一示例性实施例中,音频预处理单元可以用于:
[0107]
确定所述音频序列的梅尔频率倒谱系数特征;
[0108]
对所述梅尔频率倒谱系数特征进行一阶求导,得到第一音频序列特征;
[0109]
对所述梅尔频率倒谱系数特征进行二阶求导,得到第二音频序列特征;
[0110]
基于所述梅尔频率倒谱系数特征、所述第一音频序列特征和所述第二音频序列特征构建音频特征。
[0111]
在一示例性实施例中,音频预处理单元可以用于:
[0112]
确定所述面部动作驱动参数的帧率数据;
[0113]
根据所述帧率数据确定采样滑动窗口,并根据所述采样滑动窗口对所述音频特征进行采样,以实现所述音频特征与所述面部动作驱动参数的对齐。
[0114]
在一示例性实施例中,面部动作预测模型可以包括音频编码网络、音频编码网络全连接层、丢弃层以及长短期记忆网络。
[0115]
在一示例性实施例中,面部动作驱动参数可以包括混合表情系数。
[0116]
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
[0117]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0118]
本公开的示例性实施方式提供一种用于实现面部动作视频生成方法的电子设备,其可以是图1中的终端设备101、102、103或者服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行面
部动作视频生成方法。
[0119]
下面以图7中的电子设备700为例,对本公开中的电子设备的构造进行示例性说明。图7所示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0120]
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740。
[0121]
其中,存储单元720存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书中的面部动作视频生成方法。
[0122]
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(rom)723。
[0123]
存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0124]
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0125]
电子设备700也可以与一个或多个外部设备770(例如传感器设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器、数据备份存储系统以及传感器模块(如陀螺仪传感器、磁传感器、加速度传感器、距离传感器、接近光传感器等)。
[0126]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
[0127]
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
[0128]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不
限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0129]
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0130]
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0131]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0132]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

技术特征:


1.一种面部动作视频生成方法,其特征在于,包括:获取驱动语音数据;将所述驱动语音数据输入到面部动作预测模型中,得到面部动作驱动参数,所述面部动作预测模型是通过预训练过程训练得到的;根据所述面部动作驱动参数驱动预设虚拟对象的面部模型,生成所述驱动语音数据对应的面部动作视频。2.根据权利要求1所述的方法,其特征在于,所述预训练过程包括:获取训练数据,所述训练数据包括面部动作驱动参数以及所述面部动作驱动参数对应的音频序列;对所述音频序列进行预处理得到音频特征;通过所述面部动作驱动参数以及所述音频特征对初始面部动作预测模型进行模型训练,直到所述初始面部动作预测模型的模型损失收敛,得到训练完成的面部动作预测模型。3.根据权利要求2所述的方法,其特征在于,所述获取训练数据,包括:采集原始数据,所述原始数据包括演示对象在阅读测试文本时的视频序列以及所述演示对象在阅读测试文本时的面部深度信息;根据所述视频序列中视频画面以及所述面部深度信息确定面部动作驱动参数;从所述视频序列中提取所述面部动作驱动参数对应的音频序列。4.根据权利要求2所述的方法,其特征在于,所述对所述音频序列进行预处理得到音频特征,包括:确定所述音频序列的梅尔频率倒谱系数特征;对所述梅尔频率倒谱系数特征进行一阶求导,得到第一音频序列特征;对所述梅尔频率倒谱系数特征进行二阶求导,得到第二音频序列特征;基于所述梅尔频率倒谱系数特征、所述第一音频序列特征和所述第二音频序列特征构建音频特征。5.根据权利要求4所述的方法,其特征在于,所述对所述音频序列进行预处理得到音频特征,包括:确定所述面部动作驱动参数的帧率数据;根据所述帧率数据确定采样滑动窗口,并根据所述采样滑动窗口对所述音频特征进行采样,以实现所述音频特征与所述面部动作驱动参数的对齐。6.根据权利要求1或2所述的方法,其特征在于,所述面部动作预测模型包括音频编码网络、音频编码网络全连接层、丢弃层以及长短期记忆网络。7.根据权利要求1所述的方法,其特征在于,所述面部动作驱动参数包括混合表情系数。8.一种面部动作视频生成装置,其特征在于,包括:语音数据获取模块,用于获取驱动语音数据;面部动作驱动参数预测模块,用于将所述驱动语音数据输入到面部动作预测模型中,得到面部动作驱动参数,所述面部动作预测模型是通过预训练过程训练得到的;面部动作视频生成模块,用于根据所述面部动作驱动参数驱动预设虚拟对象的面部模型,生成所述驱动语音数据对应的面部动作视频。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。10.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7任一项所述的方法。

技术总结


本公开提供一种面部动作视频生成方法及装置、可读介质和电子设备,涉及人工智能技术领域。该方法包括:获取驱动语音数据;将所述驱动语音数据输入到面部动作预测模型中,得到面部动作驱动参数,所述面部动作预测模型是通过预训练过程训练得到的;根据所述面部动作驱动参数驱动预设虚拟对象的面部模型,生成所述驱动语音数据对应的面部动作视频。本公开能够根据输入的驱动语音数据直接生成面部动作视频,提高面部动作视频中面部表情的准确性以及平滑性。滑性。滑性。


技术研发人员:

赵娅琳

受保护的技术使用者:

OPPO广东移动通信有限公司

技术研发日:

2022.08.23

技术公布日:

2022/11/22

本文发布于:2024-09-20 11:58:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/792.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:面部   动作   所述   特征
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议