虚拟面部模型的生成方法、装置、电子设备及存储介质与流程

未命名 10-25 阅读:110 评论:0


1.本公开涉及计算机技术领域,具体而言,涉及一种虚拟面部模型的生成方法、虚拟面部模型的生成装置、电子设备以及计算机可读存储介质。


背景技术:

2.数字人(digital human)是运用数字技术创造出来的、与人类形象接近的数字化人物形象,被广泛应用于游戏领域,比如,针对不同游戏为其设计游戏角色。随着游戏种类以及游戏内容的丰富度越来越高,对于游戏角色的数量需求也较高,且游戏角色的脸部通常是对三维面部模型渲染得到的,因此,提升面部模型的生成效率也是游戏开发的重要环节之一。


技术实现要素:

3.本公开实施例至少提供一种虚拟面部模型的生成方法、装置、电子设备以及存储介质,能够基于文本描述信息生成相应的虚拟面部模型,有利于提升面部模型的生成效率。
4.本公开实施例提供了一种虚拟面部模型的生成方法,包括:
5.获取针对待生成的目标虚拟面部模型的目标面部文本描述信息;
6.将所述目标面部文本描述信息输入到文本编码器,得到与所述目标面部文本描述信息对应的目标面部文本特征;
7.将所述目标面部文本特征输入至训练好的骨骼参数模型中,得到与所述目标面部文本特征对应的目标面部骨骼参数;所述训练好的骨骼参数模型基于第一训练样本集合训练得到,所述第一训练样本集合包括第一训练样本和/或第二训练样本,所述第一训练样本包括基于所述文本编码器对面部文本描述信息进行特征编码得到的文本特征,所述第二训练样本包括基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征;
8.基于所述目标面部骨骼参数,生成所述目标虚拟面部模型。
9.本公开实施例中,通过将目标面部文本描述信息对应的目标面部文本特征输入到训练好的骨骼参数模型,即可得到与目标面部文本特征对应的目标面部骨骼参数,从而基于目标面部骨骼参数即可生成对应的目标虚拟面部模型,也即,通过输入文本即可得到对应的虚拟面部模型,如此,可以提升虚拟面部模型的生成效率以及便捷性。此外,由于骨骼参数模型是基于所述第一训练样本集合(包括第一训练样本和/或第二训练样本)训练得到的,且训练样本是基于编码器分别对文本和/或图像处理得到的,有助于提升骨骼参数模型针对骨骼参数的预测精度,同时减弱不同模态数据(文本与骨骼参数)之间的数据隔阂。
10.在一种可能的实施方式中,所述目标面部骨骼参数包括面部的不同部位的不同属性的子骨骼参数;所述基于所述目标面部骨骼参数,生成所述目标虚拟面部模型,包括:
11.对所述目标面部骨骼参数中的预设部位的预设属性的子骨骼参数进行调整,得到调整后的目标面部骨骼参数,并基于所述调整后的目标面部骨骼参数,生成所述目标虚拟面部模型。
12.本公开实施例中,通过对目标面部骨骼参数进行调整,并给予调整后的目标面部骨骼参数生成目标虚拟面部模型,如此,可以使得生成的目标虚拟面部模型更加符合预期。此外,通过对面部骨骼参数中的预设部位的预设属性的子骨骼参数进行调整,有利于提升调整的针对性以及准确性。
13.在一种可能的实施方式中,所述预设部位的预设属性的子骨骼参数为具有多个候选参数值的目标子骨骼参数;所述对所述目标面部骨骼参数中的预设部位的预设属性的子骨骼参数进行调整,包括:
14.针对任一目标子骨骼参数,在所述目标子骨骼参数的参数值与对应的多个候选参数值之间的关系不符合预设要求时,基于对应的多个候选参数值对所述目标子骨骼参数进行调整。
15.本公开实施例中,由于预设部位的预设属性的子骨骼参数为具有多个候选参数值的目标子骨骼参数,也即,所述预设属性为离散属性,比如发型、发色等,其中,离散属性具有多个候选参数值,因此,若目标子骨骼参数的参数值与多个候选参数值之间不符合预设要求,则可以基于候选参数值对该目标子骨骼参数的参数值进行修改,如此,有利于提升目标子骨骼参数的准确度。
16.在一种可能的实施方式中,所述文本编码器以及所述图像编码器通过以下步骤训练得到:
17.获取第二训练样本集合,所述第二训练样本集合包括多个样本对,每个样本对包括面部文本描述样本以及与所述面部文本描述样本对应的第二真实人脸图像样本;
18.针对任一样本对,将所述样本对中的面部文本描述样本输入至待训练的文本编码器,得到与所述面部文本描述样本对应的第一文本特征;
19.将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征;
20.基于预设的损失函数、所述第一文本特征以及所述第一隐层特征,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整,直到得到所述训练好的文本编码器以及所述训练好的图像编码器。
21.本公开实施例中,通过获取第二训练样本集合,并基于第二训练样本集合中的样本对对待训练的图像编码器和待训练的文本编码器进行训练,如此,可以提升训练好的文本编码器以及所述训练好的图像编码器的精度。
22.在一种可能的实施方式中,所述基于预设的损失函数、所述第一文本特征以及所述第一隐层特征,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整,包括:
23.针对任一样本对,基于所述样本对对应的第一文本特征以及第一隐层特征,生成正样本对;
24.基于所述样本对对应的第一隐层特征和其他样本对对应的第一文本特征,生成负样本对;
25.基于所述损失函数、各个正样本对以及各个负样本对,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整。
26.本公开实施例中,通过构建正样本对和负样本对,分别对所述待训练的文本编码
器以及所述待训练的图像编码器进行参数调整,如此,可以提升编码器的准确度。
27.在一种可能的实施方式中,所述将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征,包括:
28.对所述第二真实人脸图像样本进行解算处理,得到面部骨骼参数,基于所述面部骨骼参数,生成虚拟人脸图像,并将所述虚拟人脸图像输入至所述待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征。
29.本公开实施例中,通过上述步骤对第二真实人脸图像进行处理,有利于提升第一隐层特征的准确性以及第一隐层特征与第二真实人脸图像样本之间的关联性。
30.在一种可选的实施方式中,所述第二训练样本集合通过以下步骤得到:
31.针对任一第二真实人脸图像样本,获取与所述第二真实人脸图像样本对应的多个基础面部文本描述样本;
32.从所述多个基础面部文本描述样本中,确定预设数量的基础面部文本描述样本,并对所述预设数量的基础面部文本描述样本进行组合,得到组合面部文本描述样本;
33.将每一基础面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合成所述样本对,以及将所述组合面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合生成所述样本对;
34.基于各个所述样本对,生成所述第二训练样本集合。
35.本公开实施例中,通过对从多个基础面部文本描述样本中确定的预设数量的基础面部文本描述样本进行组合,对第二训练样本集合进行样本增广,有利于提升第二训练样本集合的丰富性,从而在后续基于第二训练样本集合对编码器进行训练时,有利于提升编码器的精度。
36.在一种可选的实施方式中,所述第一训练样本具有第一样本标签,所述第二训练样本具有第二样本标签,所述训练好的骨骼参数模型通过以下至少一种方法训练得到:
37.基于所述第一训练样本以及第一样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型;
38.基于所述第二训练样本以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型;
39.基于所述第一训练样本、第二训练样本、第一样本标标签以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型。
40.本公开实施例中,通过上述三种方法中的至少一种来进行模型训练,有利于提升模型训练的多样性。
41.在一种可选的实施方式中,通过以下步骤确定所述第一训练样本的第一样本标签以及所述第二训练样本的第二样本标签:
42.基于所述第一训练样本,生成与所述第一训练样本对应的人脸图像,并对所述人脸图像进行解算,得到与所述人脸图像对应的第一骨骼参数,并将所述第一骨骼参数作为所述第一训练样本的第一样本标签;
43.对与所述第二训练样本对应的第一真实人脸图像进行解算,得到与所述第一真实人脸图像对应的第二骨骼参数,并将所述第二骨骼参数作为所述第二训练样本的第二样本标签。
44.本公开实施例中,通过上述步骤确定第一样本标签以及第二样本标签,有利于提升样本标签的精度。
45.在一种可选的实施方式中,所述第一训练样本集合通过以下步骤得到:
46.获取初始第一训练样本集合,所述初始第一训练样本集合包括多个所述第一训练样本和/或多个所述第二训练样本;
47.针对所述第一初始训练样本集合中的任一训练样本,基于所述训练样本对应的样本标签以及训练好的模拟器,生成虚拟人脸图像;所述任一训练样本为所述第一训练样本或者所述第二训练样本,所述样本标签为所述第一训练样本或者所述第二训练样本对应的骨骼参数;
48.基于所述图像编码器,对所述虚拟人脸图像进行特征提取,得到与所述虚拟人脸图像对应的隐层特征;
49.确定所述训练样本与对应的虚拟人脸图像对应的隐层特征之间的相似度,若所述相似度小于预设阈值,将所述训练样本从所述初始第一训练样本集合中删除,得到所述第一训练样本集合。
50.本公开实施例中,通过对初始第一训练样本集合中的训练样本进行筛选,如此,可以将不符合要求的训练样本删除,得到第一训练样本集合,有利于提升第一训练样本集合的准确性,进而在后续步骤对模型进行训练时,可以提升模型的预测精度。
51.在一种可选的实施方式中,所述训练好的模拟器通过以下步骤得到:
52.获取面部骨骼参数样本集合,所述面部骨骼参数样本集合包括面部骨骼参数样本;
53.针对每个面部骨骼参数样本,基于游戏引擎对所述面部骨骼参数样本进行渲染,得到第一虚拟人脸图像,以及将所述面部骨骼参数样本输入到待训练的模拟器中,得到第二虚拟人脸图像;
54.基于预设的第一损失函数、各个第一虚拟人脸图像、各个第二虚拟人脸图像,生成第一损失值,并基于所述第一损失值对所述待训练的模拟器进行参数调整,直到得到所述训练好的模拟器。
55.本公开实施例中,将每个面部骨骼参数样本分别输入到游戏引擎以及待训练的模拟器中得到第一虚拟人脸图像以及第二虚拟人脸图像,从而基于预设的第一损失函数、各个第一虚拟人脸图像、各个第二虚拟人脸图像,生成第一损失值,并基于第一损失值对待训练的模拟器进行参数调整,如此,可以提升模拟器的精度。
56.本公开实施例提供了一种虚拟面部模型的生成装置,包括:
57.面部文本获取模块,用于获取针对待生成的目标虚拟面部模型的目标面部文本描述信息;
58.面部文本编码模块,用于将所述目标面部文本描述信息输入到文本编码器,得到与所述目标面部文本描述信息对应的目标面部文本特征;
59.骨骼参数生成模块,用于将所述目标面部文本特征输入至训练好的骨骼参数模型中,得到与所述目标面部文本特征对应的目标面部骨骼参数;所述训练好的骨骼参数模型基于第一训练样本集合训练得到,所述第一训练样本集合包括第一训练样本和/或第二训练样本,所述第一训练样本包括基于所述文本编码器对面部文本描述信息进行特征编码得
到的文本特征,所述第二训练样本包括基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征;
60.面部模型生成模块,用于基于所述目标面部骨骼参数,生成所述目标虚拟面部模型。
61.在一种可能的实施方式中,所述目标面部骨骼参数包括面部的不同部位的不同属性的子骨骼参数;所述装置还包括骨骼参数调整模块,所述骨骼参数调整模块用于:
62.对所述目标面部骨骼参数中的预设部位的预设属性的子骨骼参数进行调整,得到调整后的目标面部骨骼参数;
63.所述面部模型生成模块,具体用于:
64.基于所述调整后的目标面部骨骼参数,生成所述目标虚拟面部模型。
65.在一种可能的实施方式中,所述预设部位的预设属性的子骨骼参数为具有多个候选参数值的目标子骨骼参数;所述骨骼参数调整模块具体用于:
66.针对任一目标子骨骼参数,在所述目标子骨骼参数的参数值与对应的多个候选参数值之间的关系不符合预设要求时,基于对应的多个候选参数值对所述目标子骨骼参数进行调整。
67.在一种可能的实施方式中,所述装置还包括编码器训练模块,所述编码器训练模块用于:
68.获取第二训练样本集合,所述第二训练样本集合包括多个样本对,每个样本对包括面部文本描述样本以及与所述面部文本描述样本对应的第二真实人脸图像样本;
69.针对任一样本对,将所述样本对中的面部文本描述样本输入至待训练的文本编码器,得到与所述面部文本描述样本对应的第一文本特征;
70.将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征;
71.基于预设的损失函数、所述第一文本特征以及所述第一隐层特征,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整,直到得到所述训练好的文本编码器以及所述训练好的图像编码器。
72.在一种可能的实施方式中,所述编码器模块具体用于:
73.针对任一样本对,基于所述样本对对应的第一文本特征以及第一隐层特征,生成正样本对;
74.基于所述样本对对应的第一隐层特征和其他样本对对应的第一文本特征,生成负样本对;
75.基于所述损失函数、各个正样本对以及各个负样本对,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整。
76.在一种可能的实施方式中,所述编码器模块具体用于:
77.所述将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征,包括:
78.对所述第二真实人脸图像样本进行解算处理,得到面部骨骼参数,基于所述面部骨骼参数,生成虚拟人脸图像,并将所述虚拟人脸图像输入至所述待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征。
79.在一种可能的实施方式中,所述装置还包括样本集合生成模块,所述样本集合生成模块用于:
80.针对任一第二真实人脸图像样本,获取与所述第二真实人脸图像样本对应的多个基础面部文本描述样本;
81.从所述多个基础面部文本描述样本中,确定预设数量的基础面部文本描述样本,并对所述预设数量的基础面部文本描述样本进行组合,得到组合面部文本描述样本;
82.将每一基础面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合成所述样本对,以及将所述组合面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合生成所述样本对;
83.基于各个所述样本对,生成所述第二训练样本集合。
84.在一种可能的实施方式中,所述装置还包括模型训练模块,所述模型训练模块用于:
85.基于所述第一训练样本以及第一样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型;
86.基于所述第二训练样本以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型;
87.基于所述第一训练样本、第二训练样本、第一样本标标签以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型。
88.在一种可能的实施方式中,所述样本集合生成模块还用于:
89.基于所述第一训练样本,生成与所述第一训练样本对应的人脸图像,并对所述人脸图像进行解算,得到与所述人脸图像对应的第一骨骼参数,并将所述第一骨骼参数作为所述第一训练样本的第一样本标签;
90.对与所述第二训练样本对应的第一真实人脸图像进行解算,得到与所述第一真实人脸图像对应的第二骨骼参数,并将所述第二骨骼参数作为所述第二训练样本的第二样本标签。
91.在一种可能的实施方式中,所述样本集合生成模块还用于:
92.获取初始第一训练样本集合,所述初始第一训练样本集合包括多个所述第一训练样本和/或多个所述第二训练样本;
93.针对所述第一初始训练样本集合中的任一训练样本,基于所述训练样本对应的样本标签,生成虚拟人脸图像;所述任一训练样本为所述第一训练样本或者所述第二训练样本,所述样本标签为所述第一训练样本或者所述第二训练样本对应的骨骼参数;
94.基于所述图像编码器,对所述虚拟人脸图像进行特征提取,得到与所述虚拟人脸图像对应的隐层特征;
95.确定所述训练样本与对应的虚拟人脸图像对应的隐层特征之间的相似度,若所述相似度小于预设阈值,将所述训练样本从所述初始第一训练样本集合中删除,得到所述第一训练样本集合。
96.在一种可能的实施方式中,所述装置还包括模拟器训练模块,所述模拟器训练模块用于:
97.获取面部骨骼参数样本集合,所述面部骨骼参数样本集合包括面部骨骼参数样
本;
98.针对每个面部骨骼参数样本,基于游戏引擎对所述面部骨骼参数样本进行渲染,得到第一虚拟人脸图像,以及将所述面部骨骼参数样本输入到待训练的模拟器中,得到第二虚拟人脸图像;
99.基于预设的第一损失函数、各个第一虚拟人脸图像、各个第二虚拟人脸图像,生成第一损失值,并基于所述第一损失值对所述待训练的模拟器进行参数调整,直到得到所述训练好的模拟器。
100.本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述任一种可能的实施方式中所述的虚拟面部模型的生成方法的步骤。
101.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一种可能的实施方式中所述的虚拟面部模型的生成方法的步骤。
102.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
103.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
104.图1示出了本公开一些实施例所提供的虚拟面部模型的生成方法的流程图;
105.图2示出了本公开一些实施例所提供的目标面部骨骼参数的调整过程示意图;
106.图3示出了本公开一些实施例所提供的文本编码器和图像编码器的训练方法的流程图;
107.图4示出了本公开一些实施例所提供的文本编码器与图像编码器训练过程的示意图;
108.图5示出了本公开一些实施例所提供的虚拟面部模型的生成装置的示意图;
109.图6示出了本公开另一些实施例所提供的虚拟面部模型的生成装置的示意图;
110.图7示出了本公开一些实施例所提供的电子设备的示意图。
具体实施方式
111.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实
施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
112.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
113.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
114.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
115.此外,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
116.数字人(digital human)是运用数字技术创造出来的、与人类形象接近的数字化人物形象,被广泛应用于游戏领域,比如,针对不同游戏为其设计游戏角色。随着游戏种类以及游戏内容的丰富度越来越高,对于游戏角色的数量需求也较高,且游戏角色的脸部通常是对三维面部模型渲染得到的,因此,提升面部模型的生成效率也是游戏开发的重要环节之一。
117.基于上述研究,本公开提供了一种虚拟面部模型的生成方法、装置、电子设备以及存储介质,通过获取针对待生成的目标虚拟面部模型的目标面部文本描述信息;将所述目标面部文本描述信息输入到文本编码器,得到与所述目标面部文本描述信息对应的目标面部文本特征;将所述目标面部文本特征输入至训练好的骨骼参数模型中,得到与所述目标面部文本特征对应的目标面部骨骼参数;所述训练好的骨骼参数模型基于第一训练样本集合训练得到,所述第一训练样本集合包括第一训练样本和/或第二训练样本,所述第一训练样本包括基于所述文本编码器对面部文本描述信息进行特征编码得到的文本特征,所述第二训练样本包括基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征,这样,即可基于所述目标面部骨骼参数,生成所述目标虚拟面部模型,如此,有利于提升虚拟面部模型的生成效率以及便捷性。
118.此外,由于骨骼参数模型是基于所述第一训练样本集合(包括第一训练样本和/或第二训练样本)训练得到的,且训练样本是基于编码器分别对文本和/或图像处理得到的,有助于提升骨骼参数模型针对骨骼参数的预测精度,同时减弱不同模态数据(文本与骨骼参数)之间的数据隔阂。
119.为便于对本实施例进行理解,首先对本公开实施例所提供的虚拟面部模型的生成方法的执行主体进行详细介绍。本公开实施例所提供的虚拟面部模型的生成方法的执行主体为电子设备。本实施方式中,所述电子设备为服务器,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云存储、大数据和人工智能平台等基础云计算服务的云服务器。其他实施例中,该电子设备还可以为终端设备。其中,该终端设备可以为移动设备、用户终端、手持设备、计算设备及可穿戴设备等。
120.在另一些实施方式中,电子设备还可以包括ar(augmented reality,增强现实)设备、vr(virtual reality,虚拟现实)设备、mr(mixed reality,混合现实)设备等。比如,ar设备可以是具有ar功能的手机或平板电脑,也可以是ar眼镜,在此不做限定。此外,该虚拟面部模型的生成方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
121.下面结合附图对本技术实施例所提供的虚拟面部模型的生成方法进行详细说明。参见图1所示,为本公开实施例提供的虚拟面部模型的生成方法的流程图,所述方法包括步骤s101~s104,其中:
122.s101,获取针对待生成的目标虚拟面部模型的目标面部文本描述信息。
123.其中,目标虚拟面部模型可以但不限于包括任何类型对象的面部模型,比如:虚拟人物的面部模型,虚拟动物的面部模型等,在此不做限定。所述目标面部模型用于渲染后生成目标面部图像。
124.所述目标面部文本描述信息可以包括至少一个面部文本描述,所述面部文本描述用于描述待生成的目标虚拟面部模型的面部特征。所述面部文本描述可以是针对面部各个部位的文本描述,比如可以是针对鼻子、眼睛、嘴巴、耳朵、头发等部位的描述,具体的,还可以针对每个部位对应的不同属性的文本描述,比如针对头发,可以对头发长短、发色、发型进行文本描述,再比如,针对眼睛,可以对眼睛大小、眼睛形状进行文本描述。
125.示例性地,所述面部文本描述可以是灰色头发、高鼻梁,还可以是丹凤眼、瑞凤眼、睡凤眼、柳叶眼或者杏眼等。
126.其中,所述目标面部文本描述信息的语言种类不做具体限定,比如可以是中文、英文、法文等,在此不做限定,本公开实施例中以英文为例,例如,目标面部文本描述信息的内容可以是“a man with red hair and a big mouth”。
127.s102,将所述目标面部文本描述信息输入到文本编码器,得到与所述目标面部文本描述信息对应的目标面部文本特征。
128.示例性地,该文本编码器可以通过对比文本-图像对的预训练模型(contrastive language-image pre-training,clip)来实现。
129.其中,clip是一种基于对比学习的多模态模型,clip包括两个模型:文本编码器text encoder和图像编码器image encoder,其中text encoder用来提取文本的特征,image encoder用来提取图像的特征。
130.本公开实施例中,为了便于后续步骤的执行,通过文本编码器text encoder对所述目标面部文本描述信息进行文本特征提取,则可以得到与该面部文本描述信息对应的目标面部文本特征,其中,目标面部文本特征为向量形式。
131.s103,将所述目标面部文本特征输入至训练好的骨骼参数模型中,得到与所述目标面部文本特征对应的目标面部骨骼参数;所述训练好的骨骼参数模型基于第一训练样本集合训练得到,所述第一训练样本集合包括第一训练样本和/或第二训练样本,所述第一训练样本包括基于所述文本编码器对面部文本描述信息进行特征编码得到的文本特征,所述第二训练样本包括基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征。
132.其中,骨骼参数是指用于表征各个骨骼特征关系的参数。
133.所述目标面部骨骼参数包括面部的不同部位的不同属性的子骨骼参数,也即,所
述目标面部骨骼参数可以是一个多维度的参数。所述部位可以包括鼻子、眼睛、嘴巴、耳朵、头发等部位,针对每个部位,还可以具有不同的属性且每个属性对应一个子骨骼参数,例如针对头发部位,其对应的属性可以包括颜色、类型、长度,颜色可以对应颜色子骨骼参数、类型对应类型子骨骼参数以及长度对应长度子骨骼参数,再比如,针对鼻子部位,其对应的属性可以包括类型、尺寸等。
134.可以理解,将目标面部文本特征作为训练好的骨骼参数模型的输入,则该模型即可输出与所述目标面部文本特征对应的目标面部骨骼参数。
135.需要说明的是,由于目标面部文本描述信息可能仅是面部特征的一部分,比如,目标面部文本描述信息为“大鼻子”,则得到的目标面部骨骼参数中可能仅包括与“大鼻子”对应的参数,因此,针对其他参数,需要通过填充的方式对其他参数进行参数值填充,如此,可以确保目标面部骨骼参数的完整性。
136.在一些实施方式中,生成所述第一训练样本所使用的面部文本描述信息可以是用户给定的面部文本描述信息,还可以是从开源数据集中获取得到的,其中,开源数据集中具有成对的文本描述(caption)和真实人脸图像,例如,大鼻子-第二真实人脸图像1、灰色头发-第二真实人脸图像1,因此,可以将开源数据集中的文本描述作为面部文本描述信息来构建第一训练样本。
137.s104,基于所述目标面部骨骼参数,生成所述目标虚拟面部模型。
138.可以理解,在得到所述目标面部骨骼参数之后,即可基于所述目标面部骨骼参数,生成所述目标虚拟面部模型,从而可以对目标虚拟面部模型进行渲染,得到对应的面部图像。也即,通过输入文本即可得到对应的虚拟面部模型,如此,可以提升虚拟面部模型的生成效率,并且无需通过引擎渲染即可生成虚拟面部模型,有利于提升模型生成的便捷性。
139.此外,由于骨骼参数模型是基于所述第一训练样本集合(包括第一训练样本和/或第二训练样本)训练得到的,且训练样本是基于编码器分别对文本和/或图像处理得到的,有助于提升骨骼参数模型针对骨骼参数的预测精度,同时减弱不同模态数据(文本与骨骼参数)之间的数据隔阂。
140.可选的,在基于所述目标面部骨骼参数,生成所述目标虚拟面部模型时,可以基于游戏引擎对目标面部骨骼参数进行渲染,生成目标虚拟面部模型,还可以将目标面部骨骼参数输入到训练好的模拟器imitator中,得到目标虚拟面部模型,在此不做限定。
141.应当理解,由于游戏引擎对面部骨骼参数进行渲染所需的资源开销以及时间成本较大,因此,可以预先对待训练的模拟器进行训练,得到所述模拟器,并基于模拟器对目标面部骨骼参数进行渲染,如此,可以节约生成虚拟面部模型的资源以及时间成本。具体的,所述训练好的模拟器可以通过以下步骤训练得到:
142.(a)获取面部骨骼参数样本集合,所述面部骨骼参数样本集合包括面部骨骼参数样本;
143.(b)针对每个面部骨骼参数样本,基于游戏引擎对所述面部骨骼参数样本进行渲染,得到第一虚拟人脸图像,以及将所述面部骨骼参数样本输入到待训练的模拟器中,得到第二虚拟人脸图像。
144.(c)基于预设的第一损失函数、各个第一虚拟人脸图像、各个第二虚拟人脸图像,生成第一损失值,并基于所述第一损失值对所述待训练的模拟器进行参数调整,直到得到
所述训练好的模拟器。
145.所述预设的第一损失函数请参见公式(1):
[0146][0147]
其中,yi为所述第一虚拟人脸图像的像素点,为第二虚拟人脸图像的像素点,n为样本数量。
[0148]
这里,在基于预设的第一损失函数、各个第一虚拟人脸图像、各个第二虚拟人脸图像,对所述待训练的模拟器进行参数调整时,可以针对每个面部骨骼参数样本对应的第一虚拟人脸图像以及第二虚拟人脸图像之间的像素点之间的像素差值,从而得到第一损失值,进而根据第一损失值对所述待训练的模拟器进行参数调整。
[0149]
在一些实施方式中,由于目标面部文本描述信息的内容参差不齐,比如,暗红头发、深红头发等,这样导致得到的目标面部骨骼参数可能不符合预期要求,因此,在得到目标面部骨骼参数之后,可以对其进行优化,具体的,可以对所述目标面部骨骼参数中的预设部位的预设属性的目标子骨骼参数进行调整,得到调整后的目标面部骨骼参数,并基于所述调整后的目标面部骨骼参数,生成所述目标虚拟面部模型。
[0150]
可以理解,由于目标面部骨骼参数包括面部的不同部位的不同属性的子骨骼参数,因此,可以对预设部位的预设属性的目标子骨骼参数进行调整,例如,预设部位可以包括上述实施例中的鼻子、眼睛、嘴巴、耳朵、头发等部位中的至少一种,预设属性可以包括与预设部位对应的属性中的至少一种,比如,预设部位为眼睛,则该部位的预设属性可以是指眼睛类型。
[0151]
这样,对预设部位的预设属性的子骨骼参数进行调整后,即可得到调整后的目标面部骨骼参数,进而可以基于调整后的目标面部骨骼参数,生成目标虚拟面部模型,如此,可以使得目标虚拟面部模型更加符合预期要求。
[0152]
可选的,在对所述目标面部骨骼参数中的预设部位的预设属性的子骨骼参数进行调整时,可以针对任一目标子骨骼参数,在所述目标子骨骼参数的参数值与对应的多个候选参数值之间的关系不符合预设要求时,基于对应的多个候选参数值对所述目标子骨骼参数进行调整。
[0153]
其中,所述预设部位的预设属性的子骨骼参数为具有多个候选参数值的目标子骨骼参数,也即,所述预设属性的子骨骼参数是指离散属性的子骨骼参数,离散属性的子骨骼参数具有多个候选参数值,示例的,所述离散属性可以包括类型或者颜色等,所述类型可以包括头发类型、眼睛类型、鼻子类型等,其中,每个候选参数值代表不同的类型,比如,针对眼睛类型,候选参数值可以包括0、1、2,候选参数值0代表丹凤眼、候选参数值1代表瑞凤眼、候选参数值2代表睡凤眼等,在此不一一举例说明。
[0154]
也即,针对目标面部骨骼参数中的面部的不同部位的不同属性的子骨骼参数,可以将其划分为离散型的子骨骼参数以及连续型的子骨骼参数,其中,连续性的子骨骼参数不具有对应的候选参数值。
[0155]
具体的,针对任一目标子骨骼参数,可以首先判断所述目标子骨骼参数的参数值与对应的多个候选参数值之间的关系是否符合预设要求,若符合预设要求,则基于对应的
多个候选参数值对所述目标子骨骼参数进行调整。
[0156]
可选的,在判断所述目标子骨骼参数的参数值与对应的多个候选参数值之间的关系是否符合预设要求时,可以基于贪心策略,依次对离散属性进行调整。
[0157]
具体的,可以获取目标离散属性对应的候选文本特征,针对每个目标离散属性,基于所述目标离散属性对应的各个候选文本特征生成相应的候选图像,然后基于目标面部骨骼参数对应的目标虚拟面部模型,生成虚拟面部图像,并确定虚拟面部图像分别与各个候选图像之间的相似度,并根据相似度从目标离散属性对应的候选文本特征中确定目标数量的目标候选文本特征,基于目标候选文本特征,继续选择下一目标离散属性,以此类推,直至各个目标离散属性均选择完毕,最终将相似度最高的虚拟面部图像对应的候选文本特征的参数值,对所述目标面部骨骼参数的参数值进行调整。
[0158]
示例性的,请参见图2,为本公开一些实施例提供的目标面部骨骼参数的调整过程示意图。如图2中所示,针对发色属性,其对应12种候选文本特征,基于每个候选文本特征生成相应的候选图像,并计算各个候选图像与目标面部骨骼参数对应的虚拟面部图像之间的相似度,并将相似度较大的三个候选文本特征作为目标候选文本特征,例如目标候选文本特征为发色1、发色2、发色3;然后针对发色1、发色2以及发色3,分别基于胡子类型属性对应的四个候选文本特征(胡子类型1、胡子类型2、胡子类型3以及胡子类型4),生成12个候选图像,并确定12个候选图像与目标面部骨骼参数对应的虚拟面部图像之间的相似度,并确定相似度最大的候选图像对应的候选文本特征,比如,发色2-胡子类型2,则基于发色2的子骨骼参数值对目标面部骨骼参数中的发色子骨骼参数值进行调整,以及基于胡子类型2的子骨骼参数值对目标面部骨骼参数中的胡子类型的子骨骼参数值进行调整。
[0159]
这里,若目标面部文本描述信息仅包括针对发色和胡子类型的描述信息,则对目标面部骨骼参数优化时,针对比如发型、眼睛形状等其他属性可以直接跳过,无需进行处理。
[0160]
下面针对训练好的骨骼参数模型的训练过程进行说明。
[0161]
基于上述内容可知,所述训练好的骨骼参数模型基于第一训练样本集合训练得到,其中,第一训练样本集合包括第一训练样本和/或第二训练样本,本实施方式中,训练好的骨骼参数模型通过有监督训练得到,应当理解,在对模型进行有监督训练时,每个训练样本均具有相应的样本标签,因此,第一训练样本具有第一样本标签,第二训练样本具有第二样本标签,具体的,所述训练好的骨骼参数模型可以通过以下至少一种方法训练得到:
[0162]
第一种方法:基于所述第一训练样本以及第一样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型。
[0163]
具体的,可以将第一训练样本输入到待训练的骨骼参数模型中,得到第一输出结果,并基于预设的损失函数、第一输出结果以及所述第一样本标签,对待训练的骨骼参数模型进行模型参数调整,直到训练结果符合第一预设要求,得到训练好的骨骼参数模型。
[0164]
本实施方式中,所述损失函数请参见公式(2):
[0165][0166]
其中,x为第一训练样本集合,xi为第一训练样本集合中的训练样本,wi为权值,yi为第一样本标签,f(e
t
(xi))为第一输出结果,α为预设数值,本实施方式中,α=1
·
e-6

[0167]
需要说明的是,wi的初始值全为1,在训练过程中,对于损失值小而相似度较低的训练样本,将对应的权值wi置为0,也即,将该训练样本从第一训练样本集合中删除,这里所述相似度是指训练样本与对应的第一样本标签之间的相似度,关于相似度的计算将在后续步骤中进行详细说明。
[0168]
第二种方法:基于所述第二训练样本以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型。
[0169]
这里,基于第二训练样本以及第二样本标签对待训练的骨骼参数模型进行训练的具体过程与上述第一种方法中的训练过程类似,在此不做赘述。
[0170]
第三种方法:基于所述第一训练样本、第二训练样本、第一样本标签以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型。
[0171]
类似的,基于第一训练样本和第二训练样本对待训练的骨骼参数模型训练的过程与上述第一种方法的训练过程类似,在此不做赘述。
[0172]
可以理解,基于第一训练样本和第二训练样本共同对待训练的骨骼参数模型进行训练,如此,实现对训练样本的增广,有利于提升模型的鲁棒性。
[0173]
本实施方式中,可以通过上述至少一种方法训练得到所述训练好的骨骼参数模型,如此,有利于提升模型训练方式的多样性。
[0174]
下面针对所述第一训练样本的第一样本标签以及所述第二训练样本的第二样本标签的生成过程进行详细介绍。
[0175]
基于上述实施例可知,要使得训练好的骨骼参数模型能够输出面部骨骼参数,则需要对第一训练样本集合中的训练样本标注相应的样本标签,且样本标签应为面部骨骼参数,因此,需要基于第一训练样本生成对应的第一样本标签以及基于第二训练样本生成对应的第二样本标签。
[0176]
在生成第一样本标签时,可以基于所述第一训练样本,生成与所述第一训练样本对应的人脸图像,并对所述人脸图像进行解算,得到与所述人脸图像对应的第一骨骼参数,并将所述第一骨骼参数作为所述第一训练样本的第一样本标签。
[0177]
具体的,可以将第一训练样本输入到训练好的clip2latent模型中,该模型即可输出与第一训练样本对应的人脸图像,并利用游戏引擎对该人脸图像进行人脸解算,得到与该人脸图像对应的第一骨骼参数,也即,该第一骨骼参数即为第一样本标签,如此,通过上述方式,有利于提升样本标签的准确性。
[0178]
在生成第二样本标签时,对与所述第二训练样本对应的第一真实人脸图像进行解算,得到与所述第一真实人脸图像对应的第二骨骼参数,并将所述第二骨骼参数作为所述第二训练样本的第二样本标签。
[0179]
具体的,由于第二训练样本是基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征,因此,第二训练样本具有对应的第一真实人脸图像,进而可以获取第一真实人脸图像,对该第一真实人脸图像进行人脸解算,得到与该第一人脸图像对应的第二骨骼参数,并将第二骨骼参数确定为第二样本标签,如此,可以提升第二样本标签的准确性。
[0180]
这里,所述第一真实人脸图像可以是指真实对象的面部图像,在获取第一真实人脸图像时可以通过佩戴于真实对象头部的面捕头盔上设置的图像采集装置(例如摄像头)采集得到,还可以是通过具有图像采集功能的电子设备进行对真实对象的面部进行局部图
像采集,所述电子设备可以是智能手机、平板电脑、笔记本电脑或者台式电脑等,在此不做限定。
[0181]
在一些实施方式中,所述第一训练样本集合通过以下步骤得到(i)-(iii):
[0182]
(i)获取初始第一训练样本集合,所述初始第一训练样本集合包括多个所述第一训练样本和/或多个所述第二训练样本。
[0183]
关于第一训练样本以及第二训练样本的相关介绍请参见步骤s103,自此不做赘述。
[0184]
(ii)针对所述第一初始训练样本集合中的任一训练样本,基于所述训练样本对应的样本标签,生成虚拟人脸图像;所述任一训练样本为所述第一训练样本或者所述第二训练样本,所述样本标签为所述第一训练样本或者所述第二训练样本对应的面部骨骼参数;
[0185]
可以理解,由于样本标签为所述第一训练样本或者所述第二训练样本对应的面部骨骼参数,因此,可以通过训练好的模拟器或者渲染引擎生成虚拟人脸图像,其中,关于训练好的模拟器的训练过程已在前述实施例中介绍,在此不做赘述。
[0186]
(iii)基于所述图像编码器,对所述虚拟人脸图像进行特征提取,得到与所述虚拟人脸图像对应的隐层特征。
[0187]
然后基于图像编码器,对虚拟人脸图像进行特征提取,得到与虚拟人脸图像对应的隐层特征。
[0188]
(iv)确定所述训练样本与对应的虚拟人脸图像对应的隐层特征之间的相似度,若所述相似度小于预设阈值,将所述训练样本从所述初始第一训练样本集合中删除,得到所述第一训练样本集合。
[0189]
其中,所述预设阈值可以根据实际需求进行设置,例如80%,85%等,在此不做限定。
[0190]
这里,在确定每个训练样本与对应的虚拟人脸图像对应的隐层特征之间的相似度时,可以通过以下公式(3)来计算相似度:
[0191][0192]
其中,g(yi)为虚拟人脸图像,yi为样本标签(骨骼参数),xj为训练样本。
[0193]
可以理解,由于训练样本与对应的虚拟人脸图像对应的隐层特征均为特征向量,因此,可以通过公式(3)计算相似度,若相似度小于预设阈值的训练样本从所述第一训练样本集合中删除,得到目标第一训练样本集合,如此,可以提升第一训练样本集合的准确性,进而对待训练的骨骼参数模型训练时,可以提升模型的训练精度。
[0194]
根据上述实施例可知,clip包括两个模型:文本编码器text encoder和图像编码器image encoder,为了使得两个编码器的输出符合预设要求,可以预先对文本编码器以及图像编码器进行训练。
[0195]
请参见图3,为本公开一些实施例提供的文本编码器和图像编码器的训练方法的流程图。如图3中所示,所述方法包括以下步骤s301~s304:
[0196]
s301,获取第二训练样本集合,所述第二训练样本集合包括多个样本对,每个样本对包括面部文本描述样本以及与所述面部文本描述样本对应的第二真实人脸图像样本。
[0197]
所述第二真实人脸图像样本与上述实施例中的第一真实人脸图像可以相同,也可以不同,在此不做限定。
[0198]
示例性地,样本对中的面部文本描述样本可以是asmile woman with brown hair and a big mouth,第二真实人脸图像为带有张大嘴微笑的棕色头发女性的人脸图像,类似的,所述样本对可以是大眼睛-真实人脸图像1、白色头发-真实人脸图像1、鹰钩鼻-真实人脸图像1、小眼睛-真实人脸图像2、短发男性-真实人脸图像2。
[0199]
在一些实施方式中,第二训练样本集合可以通过以下步骤(1)-(4)生成:
[0200]
(1)针对任一第二真实人脸图像样本,获取与所述第二真实人脸图像样本对应的多个基础面部文本描述样本。
[0201]
其中,所述基础面部文本描述样本可以是从开源数据集中获取得到的,其中,开源数据集中具有成对的文本描述(caption)和真实人脸图像,例如,大鼻子-第二真实人脸图像1、灰色头发-第二真实人脸图像1、短发-第二真实人脸图像1、小眼睛-第二真实人脸图像2、大嘴巴-第二真实人脸图像2、红色头发-第二真实人脸图像2。
[0202]
(2)从对应同一第二真实人脸图像的多个基础面部文本描述样本中,确定预设数量的基础面部文本描述样本,并对所述预设数量的基础面部文本描述样本进行组合,得到组合面部文本描述样本。
[0203]
其中,预设数量可以根据实际需求进行设置,例如,预设数量可以是2,3,还可以是5等,在此不做限定。本实施方式中,考虑到文本编码器的输入文本的长度限制,所述预设数量取值为2。
[0204]
示例性地,若第二真实人脸图像同时对应五个基础面部文本描述样本,则可以从五个确定两个基础面部文本描述样本,并对这两个基础面部文本描述样本进行组合,得到组合面部文本描述样本。例如,第二真实人脸图像1对应的基础面部文本描述样本分别为大鼻子、灰色头发、短发、小眼睛以及大嘴巴,则可以对大鼻子和灰色头发组合、对灰色头发和短发组合,以此类推,可以得到十种组合方式,也即十个组合面部文本描述样本,且这十个组合面部文本描述样本均于第二真实人脸图像1相对应。
[0205]
(3)将每一基础面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合成所述样本对,以及将所述组合面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合生成所述样本对。
[0206]
可以理解,由于基础面部文本描述样本与第二真实人脸图像时相对应的,因此,可以将每一基础面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合成所述样本对,类似的,由于组合面部文本描述也是基于基础面部文本描述样本得到的。因此,可以将所述组合面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合生成所述样本对。
[0207]
(4)基于各个所述样本对,生成所述第二训练样本集合。
[0208]
如此,即可基于各个样本对,生成第二训练样本集合,实现文本增广,这样,有利于提升第二训练样本集合的样本丰富度,从而提升后续步骤中的编码器训练的鲁棒性。
[0209]
s302,针对任一样本对,将所述样本对中的面部文本描述样本输入至待训练的文本编码器,得到与所述面部文本描述样本对应的第一文本特征。
[0210]
基于上述实施例中针对文本编码器的介绍可知,将面部文本描述样本输入到待训
练的文本编码器,即可得到与面部文本描述样本对应的第一文本特征,其中,第一文本特征即为特征向量。
[0211]
s303,将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征。
[0212]
类似的,请参见前述实施例中针对图像编码器的介绍,在此不做赘述。
[0213]
可选的,在将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征时,可以首先对所述第二真实人脸图像样本进行解算处理,得到面部骨骼参数,然后基于所述面部骨骼参数,生成虚拟人脸图像,最后将所述虚拟人脸图像输入至所述待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征。
[0214]
这里,基于第二真实人脸图像生成面部骨骼参数,然后基于面部骨骼参数生成虚拟人脸图像,最后基于虚拟人脸图像得到第一隐层特征这一过程,可以提升面部骨骼参数与第一隐层特征之间的关联性,因此,需要进行上述处理。
[0215]
s304,基于预设的损失函数、所述第一文本特征以及所述第一隐层特征,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整,直到得到所述训练好的文本编码器以及所述训练好的图像编码器。
[0216]
这里,对待训练的文本编码器以及待训练的图像编码器进行参数调整的过程即为对比学习的过程,其中,对比学习是一种机器学习技术,对比学习的目标是学习数据的表示,以捕捉不同数据之间的基本结构和关系。
[0217]
因此,通过计算损失值,即可根据损失值对待训练的文本编码器以及图像编码器的参数进行调整,得到训练好的文本编码器和图像编码器。
[0218]
具体的,针对步骤s304,可以包括以下步骤(a)~(c):
[0219]
(a)针对任一样本对,基于所述样本对对应的第一文本特征以及第一隐层特征,生成正样本对。
[0220]
可以理解,由于样本对中的面部文本描述样本与第二真实人脸图像样本相对应,因此,可以基于该样本对对应的第一文本特征以及第一隐层特征,生成正样本对。
[0221]
例如,样本对s1包括面部文本描述样本a1和第二真实人脸图像样本b1,其中,样本对s1对应有第一文本特征a1以及第一隐层特征b1,其中,面部文本描述样本a1与第一文本特征a1对应,第二真实人脸图像样本b1与第一隐层特征b1对应。
[0222]
(b)基于所述样本对对应的第一隐层特征和其他样本对对应的第一文本特征,生成负样本对。
[0223]
示例的,样本对s1对应有第一文本特征a1以及第一隐层特征b1,样本对s2对应有第一文本特征a2以及第一隐层特征b2,则可以基于第一文本特征a1和第一隐层特征b2生成负样本对,类似的,可以基于第一隐层特征b1和第一文本特征a2组成负样本对。
[0224]
(c)基于所述损失函数、各个正样本对以及各个负样本对,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整。
[0225]
其中,所述预设的损失函数请参见公式(4)-(6):
[0226]
[0227]
其中,l1为损失函数。
[0228][0229]
其中,l1为损失函数,在虚拟人脸图像与面部文本描述样本为正样本对时,所述p
ij
为1,在虚拟人脸图像与面部文本描述样本为负样本对时,所述p
ij
为0。
[0230][0231]
其中,公式(6)与上述公式(3)相同,但是由于使用场景不同,因此,在不同场景下,各个参数所指代的含义也不同,这里,xj为面部文本描述样本,yi为与第二真实人脸图像对应的面部骨骼参数,g(yi)为虚拟人脸图像。
[0232]
在其他实施方式中,所述预设的损失函数还可以利用kl散度进行计算,请参见公式(7)-(8):
[0233][0234]
其中,i为第二真实人脸图像,k为正负样本对的数量,且每张第二真实人脸图像对应k个正负样本对。
[0235][0236]
其中,τ为控制概率分布峰值的温度超参数,匹配概率p
i,j
可以看作是f
iv
与之间的相似性得分与f
iv
和之间的余弦相似性得分之和的比值。
[0237]
请参见图4,为本公开一些实施例提供的文本编码器与图像编码器训练过程的流程图。如图4中所示,可以将第二真实人脸图像输入到游戏引擎中,以对所述第二真实人脸图像进行人脸解算,得到与第二真实人脸图像对应的面部骨骼参数,并将所述第二真实人脸图像对应的面部骨骼参数输入到模拟器中,得到虚拟人脸图像,并将所述虚拟人脸图像输入到图像编码器中,得到第一隐层特征,将面部文本描述样本输入到文本编码器中,得到第一文本特征,这样,即可基于第一隐层特征以及第一文本特征,计算损失值,从而基于损失值,对待训练的文本编码器和待训练的图像编码器的参数进行调整,如此,可以提升上述两种编码器的编码精度。
[0238]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0239]
基于同一发明构思,本公开实施例中还提供了与虚拟面部模型的生成方法对应的虚拟面部模型的生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述虚拟面部模型的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0240]
参照图5所示,为本公开实施例提供的一种虚拟面部模型的生成装置500的示意
图,所述装置包括:
[0241]
面部文本获取模块501,用于获取针对待生成的目标虚拟面部模型的目标面部文本描述信息;
[0242]
面部文本编码模块502,用于将所述目标面部文本描述信息输入到文本编码器,得到与所述目标面部文本描述信息对应的目标面部文本特征;
[0243]
骨骼参数生成模块503,用于将所述目标面部文本特征输入至训练好的骨骼参数模型中,得到与所述目标面部文本特征对应的目标面部骨骼参数;所述训练好的骨骼参数模型基于第一训练样本集合训练得到,所述第一训练样本集合包括第一训练样本和/或第二训练样本,所述第一训练样本包括基于所述文本编码器对面部文本描述信息进行特征编码得到的文本特征,所述第二训练样本包括基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征;
[0244]
面部模型生成模块504,用于基于所述目标面部骨骼参数,生成所述目标虚拟面部模型。
[0245]
请参见图6,为本公开另一些实施例提供的虚拟面部模型的生成装置,所述目标面部骨骼参数包括面部的不同部位的不同属性的子骨骼参数;所述装置还包括骨骼参数调整模块505,所述骨骼参数调整模块505用于:
[0246]
所述装置还包括骨骼参数调整模块,所述骨骼参数调整模块用于:
[0247]
对所述目标面部骨骼参数中的预设部位的预设属性的子骨骼参数进行调整,得到调整后的目标面部骨骼参数;
[0248]
所述面部模型生成模块504,具体用于:
[0249]
基于所述调整后的目标面部骨骼参数,生成所述目标虚拟面部模型。
[0250]
在一种可能的实施方式中,所述预设部位的预设属性的子骨骼参数为具有多个候选参数值的目标子骨骼参数;所述骨骼参数调整模块505具体用于:
[0251]
针对任一目标子骨骼参数,在所述目标子骨骼参数的参数值与对应的多个候选参数值之间的关系不符合预设要求时,基于对应的多个候选参数值对所述目标子骨骼参数进行调整。
[0252]
在一种可能的实施方式中,所述装置还包括编码器训练模块506,所述编码器训练模块506用于:
[0253]
获取第二训练样本集合,所述第二训练样本集合包括多个样本对,每个样本对包括面部文本描述样本以及与所述面部文本描述样本对应的第二真实人脸图像样本;
[0254]
针对任一样本对,将所述样本对中的面部文本描述样本输入至待训练的文本编码器,得到与所述面部文本描述样本对应的第一文本特征;
[0255]
将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征;
[0256]
基于预设的损失函数、所述第一文本特征以及所述第一隐层特征,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整,直到得到所述训练好的文本编码器以及所述训练好的图像编码器。
[0257]
在一种可能的实施方式中,所述编码器训练模块506具体用于:
[0258]
针对任一样本对,基于所述样本对对应的第一文本特征以及第一隐层特征,生成
正样本对;
[0259]
基于所述样本对对应的第一隐层特征和其他样本对对应的第一文本特征,生成负样本对;
[0260]
基于所述损失函数、各个正样本对以及各个负样本对,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整。
[0261]
在一种可能的实施方式中,所述编码器训练模块506具体用于:
[0262]
所述将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征,包括:
[0263]
对所述第二真实人脸图像样本进行解算处理,得到面部骨骼参数,基于所述面部骨骼参数,生成虚拟人脸图像,并将所述虚拟人脸图像输入至所述待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征。
[0264]
在一种可能的实施方式中,所述装置还包括样本集合生成模块507,所述样本集合生成模块507用于:
[0265]
针对任一第二真实人脸图像样本,获取与所述第二真实人脸图像样本对应的多个基础面部文本描述样本;
[0266]
从所述多个基础面部文本描述样本中,确定预设数量的基础面部文本描述样本,并对所述预设数量的基础面部文本描述样本进行组合,得到组合面部文本描述样本;
[0267]
将每一基础面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合成所述样本对,以及将所述组合面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合生成所述样本对;
[0268]
基于各个所述样本对,生成所述第二训练样本集合。
[0269]
在一种可能的实施方式中,所述装置还包括模型训练模块508,所述模型训练模块508用于:
[0270]
基于所述第一训练样本以及第一样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型;
[0271]
基于所述第二训练样本以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型;
[0272]
基于所述第一训练样本、第二训练样本、第一样本标标签以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型。
[0273]
在一种可能的实施方式中,所述样本集合生成模块507还用于:
[0274]
基于所述第一训练样本,生成与所述第一训练样本对应的人脸图像,并对所述人脸图像进行解算,得到与所述人脸图像对应的第一骨骼参数,并将所述第一骨骼参数作为所述第一训练样本的第一样本标签;
[0275]
对与所述第二训练样本对应的第一真实人脸图像进行解算,得到与所述第一真实人脸图像对应的第二骨骼参数,并将所述第二骨骼参数作为所述第二训练样本的第二样本标签。
[0276]
在一种可能的实施方式中,所述样本集合生成模块507还用于:
[0277]
获取初始第一训练样本集合,所述初始第一训练样本集合包括多个所述第一训练样本和/或多个所述第二训练样本;
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0290]
可以理解的是,本技术实施例示意的结构并不构成对电子设备700的具体限定。在本技术另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0291]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的虚拟面部模型的生成的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0292]
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中的虚拟面部模型的生成的步骤,具体可参见上述方法实施例,在此不再赘述。
[0293]
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0294]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0295]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0296]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0297]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0298]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开
的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种虚拟面部模型的生成方法,其特征在于,包括:获取针对待生成的目标虚拟面部模型的目标面部文本描述信息;将所述目标面部文本描述信息输入到文本编码器,得到与所述目标面部文本描述信息对应的目标面部文本特征;将所述目标面部文本特征输入至训练好的骨骼参数模型中,得到与所述目标面部文本特征对应的目标面部骨骼参数;所述训练好的骨骼参数模型基于第一训练样本集合训练得到,所述第一训练样本集合包括第一训练样本和/或第二训练样本,所述第一训练样本包括基于所述文本编码器对面部文本描述信息进行特征编码得到的文本特征,所述第二训练样本包括基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征;基于所述目标面部骨骼参数,生成所述目标虚拟面部模型。2.根据权利要求1所述的方法,其特征在于,所述目标面部骨骼参数包括面部的不同部位的不同属性的子骨骼参数;所述基于所述目标面部骨骼参数,生成所述目标虚拟面部模型,包括:对所述目标面部骨骼参数中的预设部位的预设属性的子骨骼参数进行调整,得到调整后的目标面部骨骼参数,并基于所述调整后的目标面部骨骼参数,生成所述目标虚拟面部模型。3.根据权利要求2所述的方法,其特征在于,所述预设部位的预设属性的子骨骼参数为具有多个候选参数值的目标子骨骼参数;所述对所述目标面部骨骼参数中的预设部位的预设属性的子骨骼参数进行调整,包括:针对任一目标子骨骼参数,在所述目标子骨骼参数的参数值与对应的多个候选参数值之间的关系不符合预设要求时,基于对应的多个候选参数值对所述目标子骨骼参数进行调整。4.根据权利要求1-3任一所述的方法,其特征在于,所述文本编码器以及所述图像编码器通过以下步骤训练得到:获取第二训练样本集合,所述第二训练样本集合包括多个样本对,每个样本对包括面部文本描述样本以及与所述面部文本描述样本对应的第二真实人脸图像样本;针对任一样本对,将所述样本对中的面部文本描述样本输入至待训练的文本编码器,得到与所述面部文本描述样本对应的第一文本特征;将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征;基于预设的损失函数、所述第一文本特征以及所述第一隐层特征,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整,直到得到所述训练好的文本编码器以及所述训练好的图像编码器。5.根据权利要求4所述的方法,其特征在于,所述基于预设的损失函数、所述第一文本特征以及所述第一隐层特征,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整,包括:针对任一样本对,基于所述样本对对应的第一文本特征以及第一隐层特征,生成正样本对;基于所述样本对对应的第一隐层特征和其他样本对对应的第一文本特征,生成负样本
对;基于所述损失函数、各个正样本对以及各个负样本对,分别对所述待训练的文本编码器以及所述待训练的图像编码器进行参数调整。6.根据权利要求4所述的方法,其特征在于,所述将所述样本对中的第二真实人脸图像样本输入至待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征,包括:对所述第二真实人脸图像样本进行解算处理,得到面部骨骼参数,基于所述面部骨骼参数,生成虚拟人脸图像,并将所述虚拟人脸图像输入至所述待训练的图像编码器,得到与所述第二真实人脸图像样本对应的第一隐层特征。7.根据权利要求4-6任一所述的方法,其特征在于,所述第二训练样本集合通过以下步骤得到:针对任一第二真实人脸图像样本,获取与所述第二真实人脸图像样本对应的多个基础面部文本描述样本;从所述多个基础面部文本描述样本中,确定预设数量的基础面部文本描述样本,并对所述预设数量的基础面部文本描述样本进行组合,得到组合面部文本描述样本;将每一基础面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合成所述样本对,以及将所述组合面部文本描述样本作为所述面部文本描述样本与所述第二真实人脸图像组合生成所述样本对;基于各个所述样本对,生成所述第二训练样本集合。8.根据权利要求1-3任一所述的方法,其特征在于,所述第一训练样本具有第一样本标签,所述第二训练样本具有第二样本标签;所述训练好的骨骼参数模型通过以下至少一种方法训练得到:基于所述第一训练样本以及第一样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型;基于所述第二训练样本以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型;基于所述第一训练样本、第二训练样本、第一样本标标签以及第二样本标签,对所述待训练的骨骼参数模型进行有监督训练,得到所述训练好的骨骼参数模型。9.根据权利要求8所述的方法,其特征在于,通过以下步骤确定所述第一训练样本的第一样本标签以及所述第二训练样本的第二样本标签:基于所述第一训练样本,生成与所述第一训练样本对应的人脸图像,并对所述人脸图像进行解算,得到与所述人脸图像对应的第一骨骼参数,并将所述第一骨骼参数作为所述第一训练样本的第一样本标签;对与所述第二训练样本对应的第一真实人脸图像进行解算,得到与所述第一真实人脸图像对应的第二骨骼参数,并将所述第二骨骼参数作为所述第二训练样本的第二样本标签。10.根据权利要求1-9任一所述的方法,其特征在于,所述第一训练样本集合通过以下步骤得到:获取初始第一训练样本集合,所述初始第一训练样本集合包括多个所述第一训练样本
和/或多个所述第二训练样本;针对所述第一初始训练样本集合中的任一训练样本,基于所述训练样本对应的样本标签以及训练好的模拟器,生成虚拟人脸图像;所述任一训练样本为所述第一训练样本或者所述第二训练样本,所述样本标签为所述第一训练样本或者所述第二训练样本对应的面部骨骼参数;基于所述图像编码器,对所述虚拟人脸图像进行特征提取,得到与所述虚拟人脸图像对应的隐层特征;确定所述训练样本与对应的虚拟人脸图像对应的隐层特征之间的相似度,若所述相似度小于预设阈值,将所述训练样本从所述初始第一训练样本集合中删除,得到所述第一训练样本集合。11.根据权利要求10所述的方法,其特征在于,所述训练好的模拟器通过以下步骤得到:获取面部骨骼参数样本集合,所述面部骨骼参数样本集合包括面部骨骼参数样本;针对每个面部骨骼参数样本,基于游戏引擎对所述面部骨骼参数样本进行渲染,得到第一虚拟人脸图像,以及将所述面部骨骼参数样本输入到待训练的模拟器中,得到第二虚拟人脸图像;基于预设的第一损失函数、各个第一虚拟人脸图像、各个第二虚拟人脸图像,生成第一损失值,并基于所述第一损失值对所述待训练的模拟器进行参数调整,直到得到所述训练好的模拟器。12.一种虚拟面部模型的生成装置,其特征在于,包括:面部文本获取模块,用于获取针对待生成的目标虚拟面部模型的目标面部文本描述信息;面部文本编码模块,用于将所述目标面部文本描述信息输入到文本编码器,得到与所述目标面部文本描述信息对应的目标面部文本特征;骨骼参数生成模块,用于将所述目标面部文本特征输入至训练好的骨骼参数模型中,得到与所述目标面部文本特征对应的目标面部骨骼参数;所述训练好的骨骼参数模型基于第一训练样本集合训练得到,所述第一训练样本集合包括第一训练样本和/或第二训练样本,所述第一训练样本为基于所述文本编码器对面部文本描述信息进行特征编码得到的文本特征,所述第二训练样本为基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征;面部模型生成模块,用于基于所述目标面部骨骼参数,生成所述目标虚拟面部模型。13.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读请求,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读请求被所述处理器执行时执行如权利要求1至11任意一项所述的虚拟面部模型的生成方法的步骤。14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至11任意一项所述的虚拟面部模型的生成方法的步骤。

技术总结
本公开提供了一种虚拟面部模型的生成方法、装置、电子设备及存储介质,该方法包括:获取目标面部文本描述信息,将目标面部文本描述信息输入到文本编码器,得到目标面部文本特征;将目标面部文本特征输入至训练好的骨骼参数模型,得到目标面部骨骼参数,其中,训练好的骨骼参数模型基于第一训练样本集合训练得到,第一训练样本集合包括第一训练样本和/或第二训练样本,第一训练样本包括基于文本编码器对面部文本描述信息进行特征编码得到的文本特征,第二训练样本包括基于图像编码器对第一真实人脸图像进行特征提取得到的隐层特征,最后基于目标面部骨骼参数,生成目标虚拟面部模型。本公开实施例,有利于提升虚拟面部模型的生成效率。生成效率。生成效率。


技术研发人员:徐国智 刘圣源 蒋昊 唐迪 郭晓阳 温翔 周佳庆 胡天磊
受保护的技术使用者:北京字跳网络技术有限公司
技术研发日:2023.07.20
技术公布日:2023/10/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐