掌桥专利:专业的专利平台
掌桥专利
首页

一种脸部处理方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 15:47:50



技术领域

本公开涉及计算机技术领域,具体而言,涉及一种脸部处理方法、装置、计算机设备及存储介质。

背景技术

随着网络游戏的快速发展,越来越多的游戏中设置了捏脸功能,通过捏脸功能帮助控制人员定制个性化的游戏角色。

在基于脸部数据创建相应的游戏角色时候,如何使得通过捏脸功能创建的游戏角色与控制人员的人脸更像,是值得研究的问题。

发明内容

本公开实施例至少提供一种脸部处理方法、装置、计算机设备及存储介质。

第一方面,本公开实施例提供了一种脸部处理方法,包括:

获取人脸驱动图像数据对应的三维人脸重建模型的三维人脸重建系数、以及人脸姿态信息;所述三维人脸重建系数包括对所述人脸驱动图像数据进行三维人脸重建时使用的各个参考三维人脸的目标基向量的权重系数;

基于所述人脸驱动图像数据,确定初始捏脸参数信息;

基于所述初始捏脸参数信息、所述三维人脸重建系数、以及所述人脸姿态信息,确定所述人脸驱动图像数据的目标捏脸参数信息;所述目标捏脸参数信息用于渲染得到虚拟场景中的虚拟角色。

一种可选的实施方式中,所述目标捏脸参数信息是利用预先训练的脸部处理模型得到的;

所述脸部处理模型包括捏脸参数预测模型和参数整合模型;

所述捏脸参数预测模型用于基于所述人脸驱动图像数据生成初始捏脸参数信息;所述参数整合模型用于基于所述初始捏脸参数信息、所述三维人脸重建系数以及所述人脸姿态信息生成整合后的所述目标捏脸参数信息。

一种可选的实施方式中,所述捏脸参数预测模型通过以下步骤训练得到:

提取人脸驱动图像数据样本的第一图像特征、所述人脸驱动图像数据样本中目标部位对应的第一人脸关键点信息、以及所述人脸驱动图像数据样本对应的三维人脸重建模型的人脸样本重建系数和脸部姿态信息;

将所述第一图像特征输入至待训练的捏脸参数预测模型中,得到所述人脸驱动图像数据样本对应的第一预测捏脸参数信息;以及,将所述第一人脸关键点信息输入至所述待训练的捏脸参数预测模型中,得到所述人脸驱动图像数据样本对应的第二预测捏脸参数信息;

将所述第一预测捏脸参数信息、所述人脸样本重建系数和所述脸部姿态信息输入至预先训练的生成器中,得到第一生成人脸图像;以及,将所述第二预测捏脸参数信息、所述人脸样本重建系数和所述脸部姿态信息输入至所述预先训练的生成器中,得到第二生成人脸图像;

基于所述第二生成人脸图像的第二图像特征以及所述第一图像特征,确定第一损失信息;以及,基于所述第二生成人脸图像的第二人脸关键点信息以及所述第一人脸关键点信息,确定第二损失信息;

基于所述第一损失信息和所述第二损失信息,调整所述待训练的捏脸参数预测模型中的权重参数信息,得到训练好的捏脸参数预测模型。

一种可选的实施方式中,所述提取人脸驱动图像数据样本的第一图像特征,包括:

将所述人脸驱动图像数据样本输入至预先训练的人脸识别模型中,得到所述人脸驱动图像数据样本的第一图像特征;

基于所述第二生成人脸图像的第二图像特征以及所述第一图像特征,确定第一损失信息之前,所述方法还包括:

将所述第二生成人脸图像输入至所述预先训练的人脸识别模型中,得到所述第二生成人脸图像的第二图像特征。

一种可选的实施方式中,所述提取所述人脸驱动图像数据样本中目标部位对应的第一人脸关键点信息,包括:

将所述人脸驱动图像数据样本输入至预先训练的人脸关键点检测模型中,得到所述人脸驱动图像数据样本中目标部位对应的第一人脸关键点信息;

基于所述第二生成人脸图像的第二人脸关键点信息以及所述第一人脸关键点信息,确定第二损失信息之前,所述方法还包括:

对所述第二预测捏脸参数信息、所述人脸样本重建系数和所述脸部姿态信息进行蒙皮处理,得到所述第二生成人脸图像对应的网格mesh信息;所述mesh信息包括所述第二生成人脸图像对应的三维人脸重建模型中各个特征点的位置信息;

基于所述mesh信息和预设相机参数信息,确定所述第二生成人脸图像对应的所述第二人脸关键点信息。

一种可选的实施方式中,对所述捏脸参数预测模型进行训练的步骤还包括:

获取所述人脸驱动图像数据样本的第一脸部区域图像;

将所述第一脸部区域图像输入至所述待训练的捏脸参数预测模型中,得到所述人脸驱动图像数据样本对应的第三预测捏脸参数信息;

将所述第三预测捏脸参数信息、所述人脸样本重建系数和所述脸部姿态信息输入至所述预先训练的生成器中,得到第三生成人脸图像;

基于所述第三生成人脸图像的第二脸部区域图像的像素信息和所述第一脸部区域图像的像素信息,确定第三损失信息;

所述基于所述第一损失信息和所述第二损失信息,调整所述待训练的捏脸参数预测模型中的权重参数信息,得到训练好的捏脸参数预测模型,包括:

基于所述第一损失信息、所述第二损失信息和所述第三损失信息,调整所述待训练的捏脸参数预测模型中的权重参数信息,得到训练好的捏脸参数预测模型。

一种可选的实施方式中,所述获取所述人脸驱动图像数据样本的第一脸部区域图像,包括:

将所述人脸驱动图像数据样本输入至预先训练的人脸分割模型中,得到所述人脸驱动图像数据样本的第一脸部区域图像;

基于所述第三生成人脸图像的第二脸部区域图像的像素信息和所述第一脸部区域图像的像素信息,确定第三损失信息之前,所述方法还包括:

将所述第三生成人脸图像输入至所述预先训练的人脸分割模型中,得到所述第三生成人脸图像的第二脸部区域图像。

一种可选的实施方式中,所述预先训练的生成器包括预先训练的像素到像素模型;所述像素到像素模型通过以下步骤训练得到:

获取多个参数样本;各个所述参数样本中包括捏脸参数信息、三维人脸重建模型的重建系数信息和脸部姿态信息;

分别将各个所述参数样本中的捏脸参数信息输入至游戏引擎中,得到第四生成人脸图像;

分别对各个所述参数样本进行蒙皮处理,得到蒙皮处理后的mesh信息;

对各个所述蒙皮处理后的mesh信息进行可微渲染,得到第五生成人脸图像;

将所述第五生成人脸图像输入至待训练的像素到像素模型中,得到第六生成人脸图像;

针对各个所述参数样本,基于该参数样本得到的所述第四生成人脸图像的像素信息和所述第六生成人脸图像的像素信息,确定感知损失信息;

基于所述感知损失信息,对所述像素到像素模型的模型参数信息进行调整,得到训练好的像素到像素模型。

一种可选的实施方式中,所述参数整合模型通过以下步骤训练得到:

获取多个三维人脸重建模型的mesh信息样本;

分别将所述多个mesh信息样本输入至待训练的参数整合模型中,得到整合后的捏脸参数信息;

基于所述整合后的捏脸参数信息和标准三维人脸模型的标准mesh信息,确定所述三维人脸重建模型的重建mesh信息;

针对各个所述mesh信息样本,基于该mesh信息样本对应的重建mesh信息和该mesh信息样本,确定mesh损失信息;

基于所述mesh损失信息,调整所述参数整合模型的模型参数信息,得到训练好的参数整合模型。

第二方面,本公开实施例还提供一种脸部处理装置,包括:

第一获取模块,用于获取人脸驱动图像数据对应的三维人脸重建模型的三维人脸重建系数、以及人脸姿态信息;所述三维人脸重建系数包括对所述人脸驱动图像数据进行三维人脸重建时使用的各个参考三维人脸的目标基向量的权重系数;

第一确定模块,用于基于所述人脸驱动图像数据,确定初始捏脸参数信息;

第二确定模块,用于基于所述初始捏脸参数信息、所述三维人脸重建系数、以及所述人脸姿态信息,确定所述人脸驱动图像数据的目标捏脸参数信息;所述目标捏脸参数信息用于渲染得到虚拟场景中的虚拟角色。

第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

本公开实施例提供的脸部处理方法,首先基于人脸驱动图像数据,确定初始捏脸参数信息,然后根据初始捏脸参数信息、三维人脸重建系数、以及人脸姿态信息,确定人脸驱动图像数据的目标捏脸参数信息。上述过程中,通过增加三维人脸重建系数生成目标捏脸参数信息,既可以在一定程度上扩大捏脸自由度,又可以在一定程度上避免仅根据初始参数信息捏脸时出现捏出不合理人脸的问题;并且通过增加人脸姿态信息,可以使得生成的虚拟角色能够具有人脸驱动图像数据的人脸姿态,从而可以提高生成的虚拟角色与人脸驱动图像数据的相似度。

进一步地,本公开实施例中使用至少两种损失信息,即人脸驱动图像数据样本的第一图像特征和第一生成人脸图像的第二图像特征之间的第一损失信息,以及人脸驱动图像数据样本的第一人脸关键点信息和第二生成人脸图像的第二人脸关键点信息之间的第二损失信息,对捏脸参数预测模型进行训练,可以使得训练完成的捏脸参数预测模型预测出的捏脸参数信息更加准确可靠;并且人脸关键点信息可以是目标部位(例如眼睛、嘴)的人脸关键点信息,可以使得基于预测出来的捏脸参数信息渲染得到的虚拟角色的目标部位与人脸驱动图像数据样本中的目标部位更相似。

进一步地,本公开实施例在训练捏脸参数预测模型过程中使用的生成器可以基于捏脸参数信息、三维人脸重建模型的重建系数信息和脸部姿态信息训练得到,通过将脸部姿态信息作为输入,可以使得生成器可以在面对任意角度的面部姿态的时候,都能够较为准确地生成人脸图像,进而可以提高训练捏脸参数预测模型的准确性。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种脸部处理方法的流程图;

图2示出了本公开实施例所提供的捏脸参数预测模型的训练流程图;

图3示出了本公开实施例所提供的生成器的训练流程图;

图4示出了本公开实施例所提供的参数整合模型的训练流程图;

图5示出了本公开实施例所提供的另一种脸部处理方法的流程图;

图6示出了本公开实施例所提供的一种脸部处理装置的示意图;

图7示出了本公开实施例所提供的一种计算机设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

在相关通过捏脸功能创建游戏角色的方案中,通常是将脸驱动图像数据输入至预先训练好的人脸识别网络或人脸分割网络中,得到捏脸参数,然后通过调整捏脸参数,渲染得到游戏角色。但是上述方案中,基于捏脸参数渲染出来的游戏角色与脸驱动图像数据仍然存在明显的差异。

基于此,本公开提供了一种脸部处理方法,首先基于人脸驱动图像数据,确定初始捏脸参数信息,然后,根据初始捏脸参数信息、三维人脸重建系数、以及人脸姿态信息,确定人脸驱动图像数据的目标捏脸参数信息。上述过程中,通过增加三维人脸重建系数生成目标捏脸参数信息,既可以在一定程度上扩大捏脸自由度,又可以在一定程度上避免仅根据初始参数信息捏脸时出现捏出不合理人脸的问题;并且通过增加人脸姿态信息,可以使得生成的虚拟角色能够具有人脸驱动图像数据的人脸姿态,从而可以提高生成的虚拟角色与人脸驱动图像数据的相似度。

针对以上方案所存在的缺陷以及所提出的解决方案,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

首先需要说明的是,本公开实施例中所涉及到的人脸驱动图像数据或者人脸驱动图像数据样本,都是经控制人员授权之后使用的。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种脸部处理方法进行详细介绍,本公开实施例所提供的脸部处理方法的执行主体一般为具有一定计算能力的计算机设备。

下面以执行主体为服务器为例对本公开实施例提供的脸部处理方法加以说明。

参见图1所示,为本公开实施例提供的一种脸部处理方法的流程图,所述方法包括S101~S103,其中:

S101:获取人脸驱动图像数据对应的三维人脸重建模型的三维人脸重建系数、以及人脸姿态信息;所述三维人脸重建系数包括对所述人脸驱动图像数据进行三维人脸重建时使用的各个参考三维人脸的目标基向量的权重系数。

在本公开实施例中,人脸驱动图像数据可以指包含控制人员脸部的图像。这里,可以通过对真人进行图像采集的方式,得到包含控制人员脸部的图像,例如可以通过拍照或者录像等方式采集包含控制人员脸部的图像。这里需要说明的是,获取人脸驱动图像数据的过程可以是控制人员自己触发图像采集操作后执行的,或者是经过控制人员授权后执行的。

人脸驱动图像数据对应的三维人脸重建模型可以是利用通用的三维人脸模型得到的,例如通用的三维可变形人脸模型(3D Morphable Models,3DMM)。在3DMM中,可以利用三维特征点来表示一张人脸,这些三维特征点的位置信息可以构成对应人脸模型的网格mesh信息。其中,每个三维特征点可以由三维空间的三个方向上的基向量(1,0,0)、(0,1,0)和(0,0,1)加权得到,对于三维特征点(x,y,z)而言,三个方向上的向量的权重分别为x,y,z。

在具体实施中,人脸驱动图像数据的mesh信息可以由一张标准三维人脸(即均值人脸)的mesh信息和多张参考三维人脸的目标基向量得到。其中,目标基向量可以包括身份特征下的基向量和表情特征下的基向量。具体地,可以按照公式

也就是,通过利用一张标准三维人脸(即均值人脸)的mesh信息、多张参考三维人脸的身份特征下的基向量和表情特征下的基向量进行加权求和,可以得到脸部特征与人脸驱动图像数据中的脸部特征相似的三维人脸重建模型,其中,身份特征下的基向量的权重系数α

在具体实施中,标准三维人脸和参考三维人脸具有的模型拓扑关系是开源模型下的模型拓扑关系,与虚拟场景中使用的人脸模型拓扑关系是不同的。在一种方式中,可以利用点云配准wrapping的方式,将具有开源模型下的模型拓扑关系的标准三维人脸的mesh信息

利用具有虚拟场景下的人脸模型拓扑关系的标准三维人脸的mesh信息

在本公开实施例中,人脸姿态信息可以指人脸驱动图像数据中的人脸姿态信息。这里可以对上述得到的初始三维人脸重建模型进行旋转,在得到的三维人脸重建模型与人脸驱动图像数据中的人脸姿态一致的时候,三维人脸重建模型的旋转角度即人脸姿态信息。

最终,通过给定一张人脸驱动图像数据,得到的具有虚拟场景下的人脸模型拓扑关系的三维人脸重建模型对应的mesh信息,可以由以下公式表示:

S102:基于所述人脸驱动图像数据,确定初始捏脸参数信息。

S103:基于所述初始捏脸参数信息、所述三维人脸重建系数、以及所述人脸姿态信息,确定所述人脸驱动图像数据的目标捏脸参数信息;所述目标捏脸参数信息用于渲染得到虚拟场景中的虚拟角色。

在具体实施中,可以将人脸驱动图像数据、三维人脸重建系数、以及人脸姿态信息输入至预先训练的脸部处理模型中,得到目标捏脸参数信息。其中,脸部处理模型包括捏脸参数预测模型和参数整合模型。捏脸参数预测模型用于基于人脸驱动图像数据生成初始捏脸参数信息;参数整合模型用于基于初始捏脸参数信息、三维人脸重建系数以及人脸姿态信息生成整合后的目标捏脸参数信息。这里,整合后的目标捏脸参数信息中是包含三维人脸重建系数的,也就是可以用整合后的目标捏脸参数信息表示三维人脸重建系数,这样,可以不用直接将三维人脸重建系数输入中游戏引擎中,避免造成渲染过程中较多的耗时。

也就是,将人脸驱动图像数据、三维人脸重建系数、以及人脸姿态信息输入至预先训练的脸部处理模型中,可以先由脸部处理模型中包含的捏脸参数预测模型基于人脸驱动图像数据生成初始捏脸参数信息,然后再由脸部处理模型中包含的参数整合模型基于初始捏脸参数信息、三维人脸重建系数、以及人脸姿态信息生成整合后的目标捏脸参数信息。

下面对脸部处理模型中的捏脸参数预测模型的训练过程进行介绍。参见图2所示的捏脸参数预测模型的训练流程图,捏脸参数预测模型通过以下步骤训练得到:

S201:提取人脸驱动图像数据样本的第一图像特征、人脸驱动图像数据样本中目标部位对应的第一人脸关键点信息、以及人脸驱动图像数据样本对应的三维人脸重建模型的人脸样本重建系数和脸部姿态信息。

这里,第一图像特征可以指人脸驱动图像数据样本中人脸的特征。第一图像特征可以是通过人脸识别得到的。在一种实施方式中,第一图像特征可以是利用预先训练的人脸识别模型得到的,即将人脸驱动图像数据样本输入至预先训练的人脸识别模型中,得到人脸驱动图像数据样本的第一图像特征。

人脸驱动图像数据样本中的目标部位可以是预设人脸部位,例如眼睛、嘴巴、鼻子等。目标部位对应的第一人脸关键点信息可以表征目标部位的形状特征。目标部位对应的第一人脸关键点信息可以是通过人脸关键点检测得到的。在一种实施方式中,人脸驱动图像数据样本中目标部位对应的第一人脸关键点信息可以是利用预先训练的人脸关键点检测模型得到的,即将人脸驱动图像数据样本输入至预先训练的人脸关键点检测模型中,可以得到人脸驱动图像数据样本中目标部位对应的第一人脸关键点信息。这里,可以根据实际需求预先对人脸关键点检测模型进行训练,比如,想要使得基于目标捏脸参数信息渲染的虚拟角色的眼睛与人脸驱动图像数据样本中的眼睛更相似,这里就可以基于眼睛部位的人脸关键点信息对人脸关键点检测模型进行训练,使得训练完成的人脸关键点检测模型能够更加准确地检测出眼睛部位的人脸关键点信息。

人脸驱动图像数据样本对应的三维人脸重建模型的人脸样本重建系数和脸部姿态信息可以根据前述重建三维人脸模型的过程,得到人脸样本重建系数和脸部姿态信息,这里不再赘述。

S202:将第一图像特征输入至待训练的捏脸参数预测模型中,得到人脸驱动图像数据样本对应的第一预测捏脸参数信息;以及,将第一人脸关键点信息输入至待训练的捏脸参数预测模型中,得到人脸驱动图像数据样本对应的第二预测捏脸参数信息。

S203:将第一预测捏脸参数信息、人脸样本重建系数和脸部姿态信息输入至预先训练的生成器中,得到第一生成人脸图像;以及,将第二预测捏脸参数信息、人脸样本重建系数和脸部姿态信息输入至预先训练的生成器中,得到第二生成人脸图像。

在本公开实施例中,预先训练的生成器能够基于捏脸参数信息、人脸样本重建系数和脸部姿态信息得到生成人脸图像。为了避免由于引入脸部姿态信息导致生成器需要适应较大的图片变化的问题以及基于脸部姿态信息生成的图片内容变化较大的问题,因此在具体实施中,可以在对生成器进行训练的时候,可以先将捏脸参数信息对应的骨骼参数信息确定出来,然后通过蒙皮处理得到mesh信息中各个特征点的最终位置,接下来利用可微渲染引擎得到渲染结果,然后再将可微渲染引擎得到的渲染结果处理为3D引擎的渲染结果。生成器的训练过程将在下文进行详述。

S204:基于第二生成人脸图像的第二图像特征以及第一图像特征,确定第一损失信息;以及,基于第二生成人脸图像的第二人脸关键点信息以及第一人脸关键点信息,确定第二损失信息。

在本公开实施例中,第二图像特征可以指第二生成人脸图像中人脸的特征。在一种实施方式中,第二图像特征也可以是利用预先训练的人脸识别模型得到的,即将第二生成人脸图像输入至预先训练的人脸识别模型中,得到第二生成人脸图像的第二图像特征。

在一种方式中,可以基于余弦损失函数计算第二图像特征与第一图像特征之间的第一损失信息。这里,可以记第一图像特征为

第二人脸关键点信息可以为第二生成人脸图像中目标部位的关键点信息。第二生成人脸图像中的目标部位是与人脸驱动图像数据样本中的目标部位相同的人脸部位。

在一种实施方式中,可以先对第二预测捏脸参数信息、人脸样本重建系数和脸部姿态信息进行蒙皮处理,得到第二生成人脸图像对应的网格mesh信息;然后基于mesh信息和预设相机参数信息,确定第二生成人脸图像对应的第二人脸关键点信息。

这里,主要是对第二预测捏脸参数信息进行蒙皮计算,得到第二预测捏脸参数信息对应的骨骼参数信息。然后根据骨骼参数信息、人脸样本重建系数和脸部姿态信息得到第二生成人脸图像对应的网格mesh信息。之后,可以在第二生成人脸图像对应的网格mesh信息中标注出目标部位对应的目标特征点。然后,根据标注的目标特征点和预设相机参数信息,可以对网格mesh信息进行投影,得到目标特征点在第二生成人脸图像上的位置信息,即第二生成人脸图像对应的第二人脸关键点信息。在一种实施方式中,可以记第一人脸关键点信息为

S205:基于第一损失信息和第二损失信息,调整待训练的捏脸参数预测模型中的权重参数信息,得到训练好的捏脸参数预测模型。

这里可以对第一损失信息和第二损失信息进行加权求和,得到L=w

为了提高捏脸参数预测模型的预测准确度,在一种实施方式中,在对捏脸参数预测模型的训练过程中还可以:获取人脸驱动图像数据样本的第一脸部区域图像;然后将第一脸部区域图像输入至待训练的捏脸参数预测模型中,得到人脸驱动图像数据样本对应的第三预测捏脸参数信息;接下来,将第三预测捏脸参数信息、人脸样本重建系数和脸部姿态信息输入至预先训练的生成器中,得到第三生成人脸图像;接下来,基于第三生成人脸图像的第二脸部区域图像的像素信息和第一脸部区域图像的像素信息,确定第三损失信息。

在上述过程中,第一脸部区域图像可以是通过图像分割得到,具体地,可以将人脸驱动图像数据样本输入至预先训练的人脸分割模型中,得到人脸驱动图像数据样本的第一脸部区域图像。

利用预先训练的生成器生成第三生成人脸图像的过程可以参照前述过程,这里不再赘述。

第三生成人脸图像的第二脸部区域图像可以是将第三生成人脸图像输入至预先训练的人脸分割模型中得到的。然后,通过第二脸部区域图像中各个像素点的像素值信息以及第一脸部区域图像中各个像素点的像素值信息,可以确定第三损失信息。

在得到第三损失信息之后,可以基于第一损失信息、第二损失信息和第三损失信息,调整待训练的捏脸参数预测模型中的权重参数信息,得到训练好的捏脸参数预测模型。这里,可以对第一损失信息、第二损失信息和第三损失信息进行加权求和,得到总的损失信息,然后根据总的损失信息调整待训练的捏脸参数预测模型中的权重参数信息。

承接前文,下面对捏脸参数预测模型训练过程中使用到的生成器的训练过程进行详述。参见图3所示的生成器的训练流程图,在具体实施中,生成器中可以包括像素到像素(Pixel-to-Pixel)模型,训练生成器的过程主要就是训练像素到像素模型的过程,这里,生成器通过以下步骤训练得到:

S301:获取多个参数样本;各个参数样本中包括捏脸参数信息、三维人脸重建模型的重建系数信息和脸部姿态信息。

这里,参数样本可以是通过均匀采样得到的。这里,可以分别设定捏脸参数信息、三维人脸重建模型的重建系数信息和脸部姿态信息对应的采样范围,例如三维人脸重建模型的重建系数信息对应的采样范围可以为-3到3,脸部姿态信息在第一方向(左右方向)上的采样范围可以为-15度到15度,即人脸的左右摆动幅度为15度,脸部姿态信息在第二方向(上下方向,即上下摆动)上的采样范围可以为-40度到40度,即人脸的上下摆动幅度为40度,捏脸参数信息对应的采样范围为0到1。

S302:分别将各个参数样本中的捏脸参数信息输入至游戏引擎中,得到第四生成人脸图像。

S303:分别对各个参数样本进行蒙皮处理,得到蒙皮处理后的mesh信息。

这里,主要是对参数样本中的捏脸参数信息进行蒙皮计算,得到对应的骨骼参数信息,从而根据骨骼参数信息、三维人脸重建模型的重建系数信息和脸部姿态信息,得到第四生成人脸图像对应的三维人脸模型的mesh信息。

S304:对各个蒙皮处理后的mesh信息进行可微渲染,得到第五生成人脸图像。

这里,可以预先设置好脸部贴图、相机参数以及光照参数等信息,通过可微渲染,得到第五生成人脸图像。第五生成人脸图像是与第四生成人脸图像的人脸形状相似的图像,但是存在像素差异。

S305:将第五生成人脸图像输入至待训练的像素到像素模型中,得到第六生成人脸图像。

S306:针对各个参数样本,基于该参数样本得到的第四生成人脸图像的像素信息和第六生成人脸图像的像素信息,确定感知损失信息。

这里,感知损失信息Perceptual Loss,可以为像素之间的损失信息,即第四生成人脸图像的像素信息和第六生成人脸图像的像素信息之间的损失信息。针对每个参数样本,可以得到该参数样本对应的感知损失信息。

S307:基于感知损失信息,对像素到像素模型的模型参数信息进行调整,得到训练好的像素到像素模型。

训练好的像素到像素模型能够对需要进行像素处理的人脸图像进行处理,得到像素信息与人脸驱动图像数据的像素信息更相似的人脸图像,即可以将可微渲染得到的图像处理成与游戏引擎渲染得到的图像一致的效果。

通过上述训练得到的生成器即可应用在捏脸参数预测模型的训练过程中。

下面对脸部处理模型中的参数整合模型的训练过程进行介绍。参见图4所示的参数整合模型的训练流程图,参数整合模型通过以下步骤训练得到:

S401:获取多个三维人脸重建模型的mesh信息样本。

在本公开实施例中,可以对多张人脸驱动图像数据样本进行三维人脸重建,从而可以得到多个三维人脸重建模型的mesh信息样本。

S402:分别将多个mesh信息样本输入至待训练的参数整合模型中,得到整合后的捏脸参数信息。

S403:基于整合后的捏脸参数信息和标准三维人脸模型的标准mesh信息,确定三维人脸重建模型的重建mesh信息。

这里,可以对整合后的捏脸参数信息进行蒙皮处理,得到对应的骨骼参数信息,然后利用骨骼参数信息和标准三维人脸模型的标准mesh信息,得到得到三维人脸重建模型的重建mesh信息。

S404:针对各个mesh信息样本,基于该mesh信息样本对应的重建mesh信息和该mesh信息样本,确定mesh损失信息。

通过mesh信息样本和对应的重建mesh信息,可以确定mesh损失信息。针对每个mesh信息样本,分别确定该mesh信息样本的mesh损失信息。这里,可以记mesh信息样本为S,记mesh信息样本对应的重建mesh信息为S′,则mesh损失信息可以为L

S405:基于mesh损失信息,调整参数整合模型的模型参数信息,得到训练好的参数整合模型。

参见图5示出的另一种脸部处理方法的流程图,将得到的人脸驱动图像数据输入到预先训练的人脸关键点检测模型中,得到眼睛部位和嘴巴部位的第一关键点信息。然后根据人脸驱动图像数据和第一关键点信息进行三维人脸重建得到三维人脸重建模型的三维人脸重建系数以及人脸姿态信息。三维人脸重建系数以及人脸姿态信息构成人脸驱动图像数据对应的三维人脸重建模型的mesh信息。

将三维人脸重建系数以及人脸姿态信息输入至训练完成的生成器中,得到生成人脸图像。然后,根据第一关键点信息在mesh信息中标注出眼睛部位和嘴巴部位的各个关键点的位置信息。然后,根据预先设置好脸部贴图、相机参数以及光照参数等信息,将mesh信息投影在生成人脸图像上,得到各个关键点在生成人脸图像上的位置信息,即生成人脸图像的第二关键点信息。然后,根据第一关键点信息和第二关键点信息,将人脸驱动图像数据与生成人脸图像进行对齐。

接下来,将对齐后的生成人脸图像输入至预先训练的人脸识别模型中,得到生成人脸图像的第一图像特征。将第一图像特征输入至训练完成的捏脸参数预测模型中,根据第一图像特征、三维人脸重建系数以及人脸姿态信息,得到生成人脸图像对应的第一捏脸参数信息。

将生成人脸图像输入至预先训练的人脸关键点检测模型中,得到眼睛部位和嘴巴部位的第二关键点信息,根据第二关键点信息、三维人脸重建系数以及人脸姿态信息,得到第二捏脸参数信息。

然后对第一捏脸参数信息和第二捏脸参数信息进行融合,得到初始捏脸参数信息,然后将初始捏脸参数信息、三维人脸重建系数以及人脸姿态信息输入至训练完成的参数整合模型,得到整合后的目标捏脸参数信息。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与脸部处理方法对应的脸部处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述脸部处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图6所示,为本公开实施例提供的一种脸部处理装置的架构示意图,所述装置包括:第一获取模块601、第一确定模块602、第二确定模块603;其中,

第一获取模块601,用于获取人脸驱动图像数据对应的三维人脸重建模型的三维人脸重建系数、以及人脸姿态信息;所述三维人脸重建系数包括对所述人脸驱动图像数据进行三维人脸重建时使用的各个参考三维人脸的目标基向量的权重系数;

第一确定模块602,用于基于所述人脸驱动图像数据,确定初始捏脸参数信息;

第二确定模块603,用于基于所述初始捏脸参数信息、所述三维人脸重建系数、以及所述人脸姿态信息,确定所述人脸驱动图像数据的目标捏脸参数信息;所述目标捏脸参数信息用于渲染得到虚拟场景中的虚拟角色。

一种可选的实施方式中,所述目标捏脸参数信息是利用预先训练的脸部处理模型得到的;

所述脸部处理模型包括捏脸参数预测模型和参数整合模型;

所述捏脸参数预测模型用于基于所述人脸驱动图像数据生成初始捏脸参数信息;所述参数整合模型用于基于所述初始捏脸参数信息、所述三维人脸重建系数以及所述人脸姿态信息生成整合后的所述目标捏脸参数信息。

一种可选的实施方式中,所述装置还包括:

提取模块,用于提取人脸驱动图像数据样本的第一图像特征、所述人脸驱动图像数据样本中目标部位对应的第一人脸关键点信息、以及所述人脸驱动图像数据样本对应的三维人脸重建模型的人脸样本重建系数和脸部姿态信息;

第一输入模块,用于将所述第一图像特征输入至待训练的捏脸参数预测模型中,得到所述人脸驱动图像数据样本对应的第一预测捏脸参数信息;以及,将所述第一人脸关键点信息输入至所述待训练的捏脸参数预测模型中,得到所述人脸驱动图像数据样本对应的第二预测捏脸参数信息;

第二输入模块,用于将所述第一预测捏脸参数信息、所述人脸样本重建系数和所述脸部姿态信息输入至预先训练的生成器中,得到第一生成人脸图像;以及,将所述第二预测捏脸参数信息、所述人脸样本重建系数和所述脸部姿态信息输入至所述预先训练的生成器中,得到第二生成人脸图像;

第三确定模块,用于基于所述第二生成人脸图像的第二图像特征以及所述第一图像特征,确定第一损失信息;以及,基于所述第二生成人脸图像的第二人脸关键点信息以及所述第一人脸关键点信息,确定第二损失信息;

第一调整模块,用于基于所述第一损失信息和所述第二损失信息,调整所述待训练的捏脸参数预测模型中的权重参数信息,得到训练好的捏脸参数预测模型。

一种可选的实施方式中,提取模块,具体用于:

将所述人脸驱动图像数据样本输入至预先训练的人脸识别模型中,得到所述人脸驱动图像数据样本的第一图像特征;

在所述第三确定模块基于所述第二生成人脸图像的第二图像特征以及所述第一图像特征,确定第一损失信息之前,所述装置还包括:

第三输入模块,用于将所述第二生成人脸图像输入至所述预先训练的人脸识别模型中,得到所述第二生成人脸图像的第二图像特征。

一种可选的实施方式中,提取模块,具体用于:

将所述人脸驱动图像数据样本输入至预先训练的人脸关键点检测模型中,得到所述人脸驱动图像数据样本中目标部位对应的第一人脸关键点信息;

在所述第三确定模块基于所述第二生成人脸图像的第二人脸关键点信息以及所述第一人脸关键点信息,确定第二损失信息之前,所述装置还包括:

第一处理模块,用于对所述第二预测捏脸参数信息、所述人脸样本重建系数和所述脸部姿态信息进行蒙皮处理,得到所述第二生成人脸图像对应的网格mesh信息;所述mesh信息包括所述第二生成人脸图像对应的三维人脸重建模型中各个特征点的位置信息;

第四确定模块,用于基于所述mesh信息和预设相机参数信息,确定所述第二生成人脸图像对应的所述第二人脸关键点信息。

一种可选的实施方式中,所述装置还包括:

第二获取模块,用于获取所述人脸驱动图像数据样本的第一脸部区域图像;

第四输入模块,用于将所述第一脸部区域图像输入至所述待训练的捏脸参数预测模型中,得到所述人脸驱动图像数据样本对应的第三预测捏脸参数信息;

第五输入模块,用于将所述第三预测捏脸参数信息、所述人脸样本重建系数和所述脸部姿态信息输入至所述预先训练的生成器中,得到第三生成人脸图像;

第五确定模块,用于基于所述第三生成人脸图像的第二脸部区域图像的像素信息和所述第一脸部区域图像的像素信息,确定第三损失信息;

第一调整模块,具体用于:

基于所述第一损失信息、所述第二损失信息和所述第三损失信息,调整所述待训练的捏脸参数预测模型中的权重参数信息,得到训练好的捏脸参数预测模型。

一种可选的实施方式中,第二获取模块,具体用于:

将所述人脸驱动图像数据样本输入至预先训练的人脸分割模型中,得到所述人脸驱动图像数据样本的第一脸部区域图像;

在第五确定模块基于所述第三生成人脸图像的第二脸部区域图像的像素信息和所述第一脸部区域图像的像素信息,确定第三损失信息之前,所述装置还包括:

第六输入模块,用于将所述第三生成人脸图像输入至所述预先训练的人脸分割模型中,得到所述第三生成人脸图像的第二脸部区域图像。

一种可选的实施方式中,所述预先训练的生成器包括预先训练的像素到像素模型;所述装置还包括:

第三获取模块,用于获取多个参数样本;各个所述参数样本中包括捏脸参数信息、三维人脸重建模型的重建系数信息和脸部姿态信息;

第七输入模块,用于分别将各个所述参数样本中的捏脸参数信息输入至游戏引擎中,得到第四生成人脸图像;

第二处理模块,用于分别对各个所述参数样本进行蒙皮处理,得到蒙皮处理后的mesh信息;

渲染模块,用于对各个所述蒙皮处理后的mesh信息进行可微渲染,得到第五生成人脸图像;

第八输入模块,用于将所述第五生成人脸图像输入至待训练的像素到像素模型中,得到第六生成人脸图像;

第六确定模块,用于针对各个所述参数样本,基于该参数样本得到的所述第四生成人脸图像的像素信息和所述第六生成人脸图像的像素信息,确定感知损失信息;

第二调整模块,用于基于所述感知损失信息,对所述像素到像素模型的模型参数信息进行调整,得到训练好的像素到像素模型。

一种可选的实施方式中,所述装置还包括:

第四获取模块,用于获取多个三维人脸重建模型的mesh信息样本;

第九输入模块,用于分别将所述多个mesh信息样本输入至待训练的参数整合模型中,得到整合后的捏脸参数信息;

第七确定模块,用于基于所述整合后的捏脸参数信息和标准三维人脸模型的标准mesh信息,确定所述三维人脸重建模型的重建mesh信息;

第八确定模块,用于针对各个所述mesh信息样本,基于该mesh信息样本对应的重建mesh信息和该mesh信息样本,确定mesh损失信息;

第三调整模块,用于基于所述mesh损失信息,调整所述参数整合模型的模型参数信息,得到训练好的参数整合模型。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图7所示,为本公开实施例提供的计算机设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换,当计算机设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701在执行以下指令:

获取人脸驱动图像数据对应的三维人脸重建模型的三维人脸重建系数、以及人脸姿态信息;所述三维人脸重建系数包括对所述人脸驱动图像数据进行三维人脸重建时使用的各个参考三维人脸的目标基向量的权重系数;

基于所述人脸驱动图像数据,确定初始捏脸参数信息;

基于所述初始捏脸参数信息、所述三维人脸重建系数、以及所述人脸姿态信息,确定所述人脸驱动图像数据的目标捏脸参数信息;所述目标捏脸参数信息用于渲染得到虚拟场景中的虚拟角色。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的脸部处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的脸部处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

技术分类

06120114582369