一种人脸重建方法、装置、计算机设备及存储介质与流程

文档序号:24066410发布日期:2021-02-26 13:12阅读:122来源:国知局
一种人脸重建方法、装置、计算机设备及存储介质与流程

[0001]
本公开涉及图像处理技术领域,具体而言,涉及一种人脸重建方法、装置、计算机设备及存储介质。


背景技术:

[0002]
人脸重建能够根据真实人脸或自身喜好建立虚拟人脸三维模型,在游戏、动漫、虚拟社交等领域具有广泛应用。例如在游戏中,玩家可以通过游戏程序提供的人脸重建系统依照玩家提供的图像中包括的真实人脸生成虚拟人脸三维模型,并利用创造出的虚拟人脸三维模型更有代入感的参与游戏。
[0003]
目前,在基于人像图像中包括的人脸进行人脸重建时,通常是基于人脸图像提取人脸轮廓特征,然后将提取的人脸轮廓特征和预先生成的虚拟三维模型进行匹配、融合,以生成虚拟人脸三维模型;但是由于在将人脸轮廓特征匹配准确率较低,使得生成的虚拟人脸三维模型与真实人脸形象之间的相似度较低。


技术实现要素:

[0004]
本公开实施例至少提供一种人脸重建方法、装置、计算机设备及存储介质。
[0005]
第一方面,本公开实施例提供了一种人脸重建方法,包括:基于目标图像生成第一真实人脸模型;利用预先生成的多个第二真实人脸模型对所述第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数;基于所述多个第二真实人脸模型分别对应的目标系数、以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型。
[0006]
本实施例中,利用目标系数作为媒介,建立了多个第二真实人脸模型与第一真实人脸模型之间的关联关系,该关联关系,能够表征基于第二真实人脸模型建立的虚拟人脸模型、和基于第一真实人脸模型建立的目标虚拟人脸模型之间的关联,使得基于目标系数确定的目标虚拟人脸模型,既具有预设风格、及第一真实人脸模型对应的原始人脸的特征,所生成的目标虚拟人脸模型,和第一真实人脸模型对应的原始人脸之间具有更高的相似度。
[0007]
一种可选的实施方式中,所述基于所述多个第二真实人脸模型分别对应的目标系数、以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型,包括:基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据;基于所述目标骨骼数据,生成所述目标虚拟人脸模型。
[0008]
一种可选的实施方式中,所述基于所述目标骨骼数据,生成所述目标虚拟人脸模型,包括:基于所述目标骨骼数据、以及标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系,对标准蒙皮数据进行位置变换处理,生成目标蒙皮数据;基于所述目标骨骼数据、以及所述目标蒙皮数据,构成所述目标虚拟人脸模型。
[0009]
该实施方式中,可以通过目标蒙皮数据、以及标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系,使得得到的目标虚拟人脸模型可以更好的将目标骨骼数据与目标蒙皮数据贴合,从而使得利用目标骨骼数据构成的目标虚拟人脸模型中,较少的出现由于骨骼数据的变化导致的目标虚拟人脸模型显示异常凸起或者凹陷的情况。
[0010]
一种可选的实施方式中,所述虚拟人脸模型分别对应的骨骼数据包括以下至少一种数据:所述虚拟人脸的多块人脸骨骼中每块人脸骨骼对应的骨骼旋转数据、骨骼位置数据、骨骼缩放数据;所述目标骨骼数据包括以下至少一种数据:所述目标骨骼位置数据、目标骨骼缩放数据、以及所述目标骨骼旋转数据。
[0011]
该实施方式中,利用骨骼数据能够更精确的表征多块人脸骨骼中每块骨骼对应的骨骼数据,并且利用目标骨骼数据,能够更精确的确定目标虚拟人脸模型。
[0012]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼位置数据,所述基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据,包括:基于多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的骨骼位置数据进行插值处理,得到目标骨骼位置数据。
[0013]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼缩放数据,所述基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据,包括:基于多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的骨骼缩放数据进行插值处理,得到目标骨骼缩放数据。
[0014]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼旋转数据,所述基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据,包括:将所述多个虚拟人脸模型分别对应的骨骼旋转数据转换为四元数数据,并对所述四元数数据进行正则化处理,得到正则化四元数数据;基于多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的正则化四元数数据进行插值处理,得到目标骨骼旋转数据。
[0015]
该实施方式中,利用目标骨骼数据可以更精确的对虚拟人脸模型进行调整,使得得到的目标虚拟人脸模型中的骨骼细节更加细致,并且与原始人脸的骨骼细节更相似,从而使得目标虚拟人脸模型与原始人脸之间具有更高的相似度。
[0016]
一种可选的实施方式中,所述基于目标图像生成第一真实人脸模型,包括:获取包括原始人脸的目标图像;对所述目标图像中包括的所述原始人脸进行三维人脸重建,得到所述第一真实人脸模型。
[0017]
该实施方式中,利用对原始人脸进行三维人脸重建得到的第一真实人脸模型,可以更准确且全面的表征目标图像中原始人脸的人脸特征。
[0018]
一种可选的实施方式中,根据以下方式生成多个第二真实人脸模型:获取多张包括参考人脸的参考图像;针对多张所述参考图像中的每张参考图像,对所述每张参考图像中包括的所述参考人脸进行三维人脸重建,得到所述每张参考图像对应的第二真实人脸模型。
[0019]
该实施方式中,利用多张参考图像,可以尽量覆盖到较为广泛的人脸外形特征,因此,基于多张参考图像中的每张参考图像进行三维人脸重建得到的第二真实人脸模型同样可以尽量覆盖到较为广泛的人脸外形特征。
[0020]
一种可选的实施方式中,所述利用预先生成的多个第二真实人脸模型对所述第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数,包括:对多个所述第二真实人脸模型以及所述第一真实人脸模型进行最小二乘处理,得到所述多个第二真实人脸模型分别对应的目标系数。
[0021]
该实施方式中,利用目标系数,可以准确的表征在利用多个第二真实人脸模型拟合第一真实人脸模型时的拟合情况。
[0022]
第二方面,本公开实施例还提供一种人脸重建装置,包括:
[0023]
第一生成模块,用于基于目标图像生成第一真实人脸模型;
[0024]
处理模块,用于利用预先生成的多个第二真实人脸模型对所述第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数;
[0025]
第二生成模块,用于基于所述多个第二真实人脸模型分别对应的目标系数、以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型。
[0026]
一种可选的实施方式中,所述第二生成模块在基于所述多个第二真实人脸模型分别对应的目标系数、以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型时,用于:基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据;基于所述目标骨骼数据,生成所述目标虚拟人脸模型。
[0027]
一种可选的实施方式中,所述第二生成模块在基于所述目标骨骼数据,生成所述目标虚拟人脸模型时,用于:基于所述目标骨骼数据、以及标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系,对标准蒙皮数据进行位置变换处理,生成目标蒙皮数据;基于所述目标骨骼数据、以及所述目标蒙皮数据,构成所述目标虚拟人脸模型。
[0028]
一种可选的实施方式中,所述虚拟人脸模型的骨骼数据包括以下至少一种数据:所述虚拟人脸的多块人脸骨骼中每块人脸骨骼对应的骨骼旋转数据、骨骼位置数据、骨骼缩放数据;所述目标骨骼数据包括以下至少一种数据:所述目标骨骼位置数据、目标骨骼缩放数据、以及所述目标骨骼旋转数据。
[0029]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼位置数据,所述第二生成模块在基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据时,用于:基于所述多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的骨骼位置数据进行插值处理,得到所述目标骨骼位置数据。
[0030]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼缩放数据,所述第二生成模块在基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据时,用于:基于所述多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的骨骼缩放数据进行插值处理,得到所述目标骨骼缩放数据。
[0031]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼旋转数据,所述第二生成模块在基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据时,用于:将所述多个虚拟人脸模型分别对应
的骨骼旋转数据转换为四元数数据,并对所述四元数数据进行正则化处理,得到正则化四元数数据;基于所述多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的正则化四元数数据进行插值处理,得到所述目标骨骼旋转数据。
[0032]
一种可选的实施方式中,所述第一生成模块在基于目标图像生成第一真实人脸模型时,用于:获取包括原始人脸的目标图像;对所述目标图像中包括的所述原始人脸进行三维人脸重建,得到所述第一真实人脸模型。
[0033]
一种可选的实施方式中,所述处理模块根据以下方式生成多个第二真实人脸模型:获取多张包括参考人脸的参考图像;针对多张所述参考图像中的每张参考图像,对所述每张参考图像中包括的参考人脸进行三维人脸重建,得到所述每张参考图像对应的第二真实人脸模型。
[0034]
一种可选的实施方式中,所述处理模块利用预先生成的多个第二真实人脸模型对所述第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数时,用于:对多个所述第二真实人脸模型以及所述第一真实人脸模型进行最小二乘处理,得到所述多个第二真实人脸模型分别对应的目标系数。
[0035]
第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
[0036]
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
[0037]
关于上述人脸重建装置、计算机设备、及计算机可读存储介质的效果描述参见上述人脸重建方法的说明,这里不再赘述。
[0038]
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0039]
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0040]
图1示出了本公开实施例所提供的一种人脸重建方法的流程图;
[0041]
图2示出了本公开实施例所提供的生成与目标图像对应的目标虚拟人脸模型的方法的流程图;
[0042]
图3示出了本公开实施例所提供的一种基于目标骨骼数据生成与第一真实人脸模型对应的目标虚拟人脸模型的具体方法的流程图;
[0043]
图4示出了本公开实施例所提供的一种人脸重建方法中包含的多个人脸以及人脸模型的示例;
[0044]
图5示出了本公开实施例所提供的一种人脸重建装置的示意图;
[0045]
图6示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
[0046]
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0047]
经研究发现,利用人脸重建的方法可以根据真实人脸或自身喜好建立虚拟人脸三维模型。其中,在基于人像图像中的人脸进行人脸重建的情况下,通常先对人像图像中包含的人脸进行特征提取,以得到人脸轮廓特征,再将人脸轮廓特征与预先生成的人脸虚拟三维模型中的特征进行匹配,并基于匹配的结果,将人脸轮廓特征与人脸虚拟三维模型进行融合,以获取与人像图像中的人脸对应的虚拟人脸三维模型。由于在将人脸轮廓特征与预先生成的人脸虚拟三维模型中的特征进行匹配时,匹配的准确率较低,造成在将人脸虚拟三维模型、以及人脸轮廓特征之间匹配的误差较大,容易造成依据匹配结果对人脸轮廓特征与人脸虚拟三维模型进行融合得到的虚拟人脸三维模型与人像图像中的人脸相似度较低的问题。
[0048]
基于上述研究,本公开提供了一种人脸重建方法,利用预先生成的多个真实人脸模型拟合第一真实人脸模型的过程,得到个第二真实人脸模型分别对应的目标系数,然后利用该目标系数,以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型,从而将目标系数作为媒介,建立了多个第二真实人脸模型与第一真实人脸模型之间的关联关系,该关联关系,能够表征基于第二真实人脸模型建立的虚拟人脸模型、和基于第一真实人脸模型建立的目标虚拟人脸模型之间的关联,使得基于目标系数、以及虚拟人脸模型确定的目标虚拟人脸模型,既具有预设风格,又具有第一真实人脸模型对应的原始人脸的特征,所生成的目标虚拟人脸模型,和第一真实人脸模型对应的原始人脸之间具有更高的相似度。
[0049]
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
[0050]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0051]
为便于对本实施例进行理解,首先对本公开实施例所公开的一种人脸重建方法进行详细介绍,本公开实施例所提供的人脸重建方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。
在一些可能的实现方式中,该人脸重建方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
[0052]
下面对本公开实施例提供的人脸重建方法加以说明。
[0053]
参见图1所示,为本公开实施例提供的人脸重建方法的流程图,所述方法包括步骤s101~s103,其中:
[0054]
s101:基于目标图像生成第一真实人脸模型;
[0055]
s102:利用预先生成的多个第二真实人脸模型对第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数;
[0056]
s103:基于多个第二真实人脸模型分别对应的目标系数、以及与多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与目标图像对应的目标虚拟人脸模型。
[0057]
本公开实施例利用预先生成的多个真实人脸模型拟合第一真实人脸模型的过程,得到个第二真实人脸模型分别对应的目标系数,并将目标系数作为媒介,建立多个第二真实人脸模型于第一真实人脸模型之间的关联关系,然后利用该目标系数,以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型。这种方法使得基于目标系数、以及虚拟人脸模型确定的目标虚拟人脸模型,既具有预设风格,又具有第一真实人脸模型对应的原始人脸的特征,所生成的目标虚拟人脸模型,和第一真实人脸模型对应的原始人脸之间具有更高的相似度。
[0058]
下面对上述s101~s103加以详细说明。
[0059]
针对上述s101,目标图像例如为获取的包括人脸的图像,或者在利用相机的拍摄设备对某一对象进行拍摄时获取的包括人脸的图像,且图像中包括的任一张人脸均可以作为原始人脸。
[0060]
具体地,在将本公开实施例提供的人脸重建方法应用于不同的场景下时,目标图像的获取方法也有所区别。
[0061]
例如,在将该人脸重建方法应用于游戏中的情况下,可以通过游戏设备中安装的图像获取设备获取包括了游戏玩家人脸的图像、或者从游戏设备中的相册中选择包括了游戏玩家人脸的图像、并将获取的包括了游戏玩家人脸的图像作为目标图像。
[0062]
又例如,在将人脸重建方法应用于手机等终端设备的情况下,可以由终端设备的摄像头采集包括用户人脸的图像,或者从终端设备的相册中选择包括了用户人脸的图像、或者从终端设备中安装的其他应用程序中接收包括用户人脸的图像。
[0063]
又例如,在将人脸重建方法应用于直播场景下,可以从直播设备获取的视频流中包括的多帧视频帧图像中,确定包含人脸的视频帧图像;并将包含人脸的视频帧图像作为目标图像。此处,目标图像例如可以有多帧;多帧目标图像例如可以是对视频流进行采样获得。
[0064]
在基于目标图像生成第一真实人脸模型时,例如可以采用下述方式:获取包括原始人脸的目标图像;对目标图像中包括的原始人脸进行三维人脸重建,得到第一真实人脸模型。
[0065]
此处,在对目标图像中包括的原始人脸进行三维人脸重建时,例如可以采用三维可变形人脸模型(3dimensions morphable models,3dmm)得到原始人脸对应的第一真实人
脸模型。其中,第一真实人脸模型例如包括目标图像中原始人脸的多个关键点中每个关键点在预设的相机坐标系中位置信息。
[0066]
针对上述s102,第二真实人脸模型,是基于包括参考人脸的参考图像生成的。其中,所述参考图像中,不同参考图像中的参考人脸可以不同;示例性的,可以确定性别、年龄、肤色、胖瘦程度等中至少一项不同的多个人,针对多个人中的每个人,获取每个人的人脸图像,并将获取的人脸图像作为参考图像。这样,基于参考图像获取的第二真实人脸模型,能够尽量覆盖到较为广泛的人脸外形特征。
[0067]
其中,参考人脸例如包括n个不同个体对象对应的人脸,(n为大于1的整数)。在获取多张包括参考人脸的参考图像的情况下,示例性的,可以通过对n个不同个体对象分别进行拍摄,得到分别对应于n个不同个体对象的n张照片,且每张照片均对应一个参考人脸,将此n张照片作为参考图像;或者,从多张预先拍摄好的包括不同人脸的图像中,确定n张参考图像。
[0068]
示例性的,生成多个第二真实人脸模型的方法包括:获取多张包括参考人脸的参考图像;针对多张参考图像中的每张参考图像,对每张参考图像中包括的参考人脸进行三维人脸重建,得到每张参考图像对应的第二真实人脸模型。
[0069]
其中,对参考人脸进行三维人脸重建的方法,与上述对原始人脸进行三维人脸重建的方法类似,在此不再赘述。所得到的第二真实人脸模型,包括参考图像中参考人脸的多个关键点中每个关键点在预设的相机坐标系中位置信息。此处,该第二真实人脸模型的坐标系和第一真实人脸模型的坐标系可以为同一坐标系。
[0070]
在利用预先生成的多个第二真实人脸模型对第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数时,例如可以采用下述方式:对多个第二真实人脸模型以及第一真实人脸模型进行最小二乘处理,得到多个第二真实人脸模型分别对应的目标系数。
[0071]
示例性的,在预先生成n个第二真实人脸模型的情况下,可以将第一真实人脸模型对应的模型数据表示为d
a
,将n个第二真实人脸模型分别对应的模型数据表示为d
bi
(i∈[1,n]),其中,d
bi
表示n个第二真实人脸模型中的第i个第二真实人脸模型。
[0072]
利用d
a
对d
b1
至d
bn
中的每一项进行最小二乘处理,可以得到n个拟合值,表示为α
i
(i∈[1,n])。其中,α
i
表征第i个第二真实人脸模型对应的拟合值。利用n个拟合值,可以确定目标系数alpha,例如可以用系数矩阵表示,也即alpha=[α1,α2,


n
]。
[0073]
此处,在通过第二真实人脸模型拟合第一真实人脸模型的过程中,要使得通过目标系数对第二真实人脸模型进行加权求和后得到的数据,与第一真实人脸模型的数据尽可能的接近。
[0074]
该目标系数,又可视为利用多个第二真实人脸模型表达第一真实人脸模型时,每个第二真实人脸模型的表达系数。也即利用多个第二真实人脸模型分别在表达系数中对应的拟合值,可以将第二真实人脸模型向第一真实人脸模型进行转化拟合。
[0075]
针对上述s103,预设风格例如可以为卡通风格、古代风格或抽象风格等,具体可以根据实际的需要进行设定。示例性的,针对预设风格为卡通风格的情况,具有预设风格的虚拟人脸模型例如可以为具有某种卡通风格的虚拟人脸模型。
[0076]
其中,获取与多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型的
方法例如包括下述(a1)和(a2)中至少一种:
[0077]
(a1)、以获取一个第二真实人脸模型对应的虚拟人脸模型为例,可以基于参考图像设计制作与具有参考人脸特征的、且具有预设风格的虚拟人脸图像,并对虚拟人脸图像中的虚拟人脸进行三维建模,得到虚拟人脸图像中虚拟人脸的骨骼数据以及蒙皮数据。
[0078]
其中,骨骼数据包括:为虚拟人脸预设的多个骨骼在预设坐标系中的骨骼旋转数据、骨骼缩放数据、以及骨骼位置数据。此处,多个骨骼例如可以进行多层级的划分;例如包括根骨骼、五官骨骼、五官细节骨骼;其中五官骨骼可以包括:眉骨骼、鼻骨骼、颧骨骨骼、下颌骨骼、嘴骨骼等;五官细节骨骼例如又可以将不同的五官骨骼再进行进一步的详细划分。具体的可以根据不同风格的虚拟图像需求进行设定,在此不做限定。
[0079]
蒙皮数据包括:虚拟人脸的表面中多个位置点在预设坐标系中的位置信息、以及每个位置点与多个骨骼中至少一个骨骼的关联关系信息。
[0080]
将对虚拟人脸图像中的虚拟人脸进行三维建模得到的虚拟模型作为第二真实人脸模型对应的虚拟人脸模型。
[0081]
(a2)、预先生成一具有预设风格的标准虚拟人脸模型。该标准虚拟人脸模型同样包括标准骨骼数据、标准蒙皮数据、以及标准骨骼数据与标准蒙皮数据之间的关联关系。基于参考人脸,对标准虚拟人脸模型中的标准骨骼数据做设计修改,以使设计修改后的标准虚拟人脸模型在具有预设风格的同时,还包括了参考图像中参考人脸的特征;然后,基于标准骨骼数据与标准蒙皮数据之间的关联关系,对标准蒙皮数据进行调整,同时还可以为标准蒙皮数据添加参考人脸所具有的特征信息,基于修改后的标准骨骼数据和修改后的标准蒙皮数据,生成第二真实人脸模型对应的虚拟人脸模型。
[0082]
此处,虚拟人脸模型的具体数据表示可以参见上述(a1)所示,在此不再赘述。
[0083]
参见图2所示,本公开实施例还提供了一种基于多个第二真实人脸模型分别对应的目标系数、以及与多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型的骨骼数据,生成与目标图像对应的目标虚拟人脸模型的方法,包括:
[0084]
s201:基于多个第二真实人脸模型分别对应的目标系数、及多个虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据。
[0085]
其中,多个虚拟人脸模型分别对应的骨骼数据包括以下至少一种数据:虚拟人脸的多块人脸骨骼中每块人脸骨骼对应的骨骼旋转数据、骨骼位置数据、骨骼缩放数据。
[0086]
在一种可能的实施方式中,可以基于多个第二真实人脸对应的目标系数,对多个虚拟人脸模型分别对应的骨骼数据进行插值处理,得到目标骨骼数据。得到的目标骨骼数据包括以下至少一种:目标骨骼位置数据、目标骨骼缩放数据、以及目标骨骼旋转数据。
[0087]
其中,目标骨骼位置数据,例如包括骨骼的中心点在模型坐标系中的三维坐标值;目标骨骼缩放数据例如包括目标骨骼相对于标准虚拟人脸模型中骨骼的缩放比例;目标骨骼旋转数据例如包括骨骼的轴线在模型坐标系中的旋转角度。
[0088]
示例性的,在基于多个第二真实人脸模型分别对应的目标系数、及多个虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据时,例如可以采用下述b1~b3中至少一项:
[0089]
(b1)、基于多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的骨骼位置数据进行插值处理,得到目标骨骼位置数据。
[0090]
(b2)、基于多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分
别对应的骨骼缩放数据进行插值处理,得到目标骨骼缩放数据。
[0091]
(b3)、将所述多个虚拟人脸模型分别对应的骨骼旋转数据转换为四元数数据,并对所述四元数数据进行正则化处理,得到正则化四元数数据;基于多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的正则化四元数数据进行插值处理,得到目标骨骼旋转数据。
[0092]
在具体实施中,针对上述方法(b1)以及(b2),在获取骨骼位置数据、及骨骼缩放数据的情况下,还包括基于多个第二真实人脸模型确定各层级骨骼、及各层级骨骼分别对应的局部坐标系。其中,在对人脸模型进行骨骼层级分层的情况下,例如可以直接按照生物学骨骼分层方法确定骨骼层级,也可以根据人脸重建的要求确定骨骼层级,具体的分层方法可以根据实际情况确定,在此不再赘述。
[0093]
在确定各个骨骼层级后,即可基于各个骨骼层级建立每个骨骼层级对应的骨骼坐标系。示例性的,可以将各层级表示为bone
i

[0094]
此时,骨骼位置数据可以包括虚拟人脸模型中的各层级骨骼bone
i
分别在对应的骨骼坐标系下的三维坐标值;骨骼缩放数据可以包括虚拟人脸模型中的各层级骨骼bone
i
分别在对应的骨骼坐标系下,用于表征骨骼缩放程度的百分比,例如为80%、90%、及100%。
[0095]
在一种可能的实施方式中,将第i个虚拟人脸模型对应的骨骼位置数据表示为pos
i
、对应的骨骼缩放数据表示为scaling
i
。此时,骨骼位置数据pos
i
包含多个层级骨骼分别对应的骨骼位置数据,且骨骼缩放数据scaling
i
包含多个层级骨骼分别对应的骨骼缩放数据。
[0096]
此时对应的目标系数为a
i
。在基于m个第二真实人脸模型对应的目标系数,对m个虚拟人脸模型对应的位置骨骼数据pos
i
进行插值处理,得到目标骨骼位置数据。
[0097]
示例性的,例如可以将目标系数作为各个虚拟人脸模型对应的权重,对虚拟人脸模型对应的位置骨骼数据pos
i
进行加权求和处理,实现插值处理的过程。此时,目标骨骼位置数据pos
new
满足下述公式(1):
[0098][0099]
类似的,在基于m个第二真实人脸模型对应的目标系数,对m个虚拟人脸模型对应的骨骼缩放数据,表示为scaling
i
,可以将m个第二真实人脸模型分别对应的目标系数,作为对应虚拟人脸模型的权重,对m个虚拟人脸模型分别对应的骨骼缩放数据进行加权求和处理,以实现对m个虚拟人脸模型进行插值处理;在该种情况下,目标骨骼缩放数据scaling
new
满足下述公式(2):
[0100][0101]
针对上述方法(b3),骨骼旋转数据可以包括虚拟人脸模型中的各个骨骼分别在对应的骨骼坐标系下,用于表征骨骼的旋转坐标变换程度的向量值,包含旋转轴和旋转角。在一种可能的实施方式中,将第i个虚拟人脸模型对应的骨骼旋转数据表示为trans
i
。由于骨骼旋转数据钟包含的旋转角存在万向节死锁的问题,故将骨骼旋转数据转换为四元数数据,并且对四元数数据正则化,得到正则化四元数数数据,表示为trans'
i
,以防止直接对四
元数数据进行加权求和处理时产生过拟合的现象。
[0102]
在基于m个第二真实人脸模型对应的目标系数,对m个虚拟人脸模型对应的正则化四元数数据trans'
i
进行插值处理时,也可以将m个第二真实人脸模型对应的目标系数作为权重,对m个虚拟人脸模型对应的正则化四元数数据进行加权求和;在该种情况下,目标骨骼旋转数据trans
new
满足下述公式(3):
[0103][0104]
基于上述(b1)、(b2)、以及(b3)中得到的目标骨骼位置数据pos
new
、目标骨骼缩放数据scaling
new
、及目标骨骼旋转数据trans
new
,即可确定目标骨骼数据,表示为bone
new
。示例性的,可以将目标骨骼数据以向量形式表示为(pos
new
,scaling
new
,trans
new
)。
[0105]
承接上述s201,生成目标图像对应的目标虚拟人脸模型的方法,还包括:
[0106]
s202:基于目标骨骼数据,生成目标虚拟人脸模型。
[0107]
参见图3所示,为本公开实施例提供的一种基于目标骨骼数据生成与第一真实人脸模型对应的目标虚拟人脸模型的具体方法,包括:
[0108]
s301:基于目标骨骼数据、以及标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系,对标准蒙皮数据进行位置变换处理,生成目标蒙皮数据;
[0109]
s302:基于目标骨骼数据、以及目标蒙皮数据,构成目标虚拟人脸模型。
[0110]
其中,标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系例如为各层级骨骼对应的标准骨骼数据与标准蒙皮数据之间的关联关系。基于此关联关系,即可将蒙皮绑定在虚拟人脸模型中的骨骼上。
[0111]
利用目标骨骼数据、以及标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系,可以对多个层级骨骼对应位置的蒙皮数据进行位置变换处理,以使生成的目标蒙皮数据中对应层级骨骼的位置可以与对应的目标骨骼数据中位置相符。
[0112]
此处,标准虚拟人脸模型中骨骼数据与标准蒙皮数据之间的关联关系,包括:标准蒙皮变形数据中的各个位置点在模型坐标系中的坐标值,与骨骼的骨骼位置数据、骨骼缩放数据、以及骨骼旋转数据中至少一项之间的关联关系。
[0113]
在利用目标骨骼数据、以及标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系,可以对多个层级骨骼对应位置的蒙皮数据进行位置变换处理时,在目标骨骼数据确定的情况下,也即在目标骨骼的目标骨骼位置数据、目标骨骼缩放数据、以及目标骨骼旋转数据中至少一项确定的情况下,可以利用上述关联关系,确定在骨骼从标准骨骼数据变换至目标骨骼数据后,标准蒙皮数据中的各个位置点在模型坐标系下的新的坐标值,从而基于标准蒙皮数据中的各个位置点在模型坐标系下的新的坐标值,得到目标虚拟人脸的目标蒙皮数据。
[0114]
利用目标骨骼数据,可以确定用于构建目标虚拟人脸模型的各层级骨骼;且利用目标蒙皮数据,可以确定将模型绑定至骨骼上的蒙皮,从而构成目标虚拟人脸模型。
[0115]
其中,确定目标虚拟人脸模型的方式可以为基于目标骨骼数据、及目标蒙皮数据直接建立目标虚拟人脸模型;或者,也可以利用各层级骨骼对应的目标骨骼数据替换第一真实人脸模型中对应的各层级骨骼数据,再利用目标蒙皮数据建立目标虚拟人脸模型。具体建立目标虚拟人脸模型的方法可以按照实际情况确定,在此不再赘述。
[0116]
本公开实施例还提供了一种利用本公开实施例提供的人脸重建方法,对获取目标图像pic
a
中的原始人脸a对应的目标虚拟人脸模型mod
aim
的具体过程的说明。
[0117]
确定目标虚拟人脸模型mod
aim
的步骤包括下述(c1)~(c5):
[0118]
(c1)、准备素材;其中,准备素材包括:对标准虚拟人脸模型的素材准备、以及对虚拟图片的素材准备。
[0119]
在准备标准虚拟人脸模型的素材时,以选取卡通风格作为预设风格为例,首先设置一个卡通风格的标准虚拟人脸模型mod
base

[0120]
在准备虚拟图片的素材时,收集24张虚拟图片pic1~pic
24
;收集的24张虚拟图片中的虚拟人脸b1~b
24
对应的男生、女生的数量均衡,并且尽可能包含较广泛的五官特征分布。
[0121]
(c2)、人脸模型重建;其中,人脸模型重建包括:利用目标图像pic
a
中原始人脸a生成第一真实人脸模型mod
fst
、以及利用虚拟图片中的虚拟人脸b1~b
24
生成第二真实人脸模型mod
snd-1
~mod
snd-24

[0122]
在确定原始人脸a生成第一真实人脸模型mod
fst
时,首先对目标图像中的人脸进行转正剪裁,然后利用预先训练好的rgb重建神经网络,生成原始人脸a对应的第一真实人脸模型mod
fst
。同样的,利用预先训练好的rgb重建神经网络,可以确定虚拟人脸b1~b
24
分别对应的第二真实人脸模型mod
snd-1
~mod
snd-24

[0123]
在确定第二真实人脸模型mod
snd-1
~mod
snd-24
后,还包括:利用预设的风格,利用人工调整的方式,确定第二真实人脸模型mod
snd-1
~mod
snd-24
分别对应的具有预设风格的虚拟人脸模型mod
fic-1
~mod
fic-24

[0124]
(c3)、拟合处理;其中,拟合包括:利用多个第二真实人脸模型对第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数alpha=[alpha
snd-1
,alpha
snd-2


,alpha
snd-24
]。
[0125]
在利用多个第二真实人脸模型对第一真实人脸模型进行拟合时,选取最小二乘法的方法进行拟合,得到24维系数alpha。
[0126]
(c4)、确定目标骨骼数据;其中,在确定目标骨骼数据时,还包括下述(c4-1)以及(c4-2)。
[0127]
(c4-1)、读取骨骼数据;其中,骨骼数据包括:在各层级骨骼bone
i
下具有预设风格的虚拟人脸模型mod
fic-1
~mod
fic-24
分别对应的骨骼位置数据pos
i
、骨骼缩放数据scaling
i
、以及骨骼旋转数据trans
i

[0128]
(c4-2)、利用目标系数alpha对预设风格的虚拟人脸模型mod
fic-1
~mod
fic-24
分别对应的骨骼数据进行差值处理,生成目标骨骼数据bone
new
,包括目标骨骼位置数据pos
new
、目标骨骼缩放数据scaling
new
、及目标骨骼旋转数据trans
new

[0129]
(c5)、生成目标虚拟人脸模型。
[0130]
利用目标骨骼数据确定用于构建目标虚拟人脸模型的各层级骨骼,将目标骨骼数据替换至标准虚拟人脸模型mod
base
中,并利用目标蒙皮数据,可以确定将模型绑定至骨骼上的蒙皮,然后利用预先确定的标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系,生成与第一真实人脸模型对应的目标虚拟人脸模型。
[0131]
参见图4所示,为本公开实施例提供的在上述具体示例包含的多个过程中使用的
具体数据的示例。其中,图4中a表示目标图像,41表示原始人脸a;图4中b表示卡通风格的标准虚拟人脸模型的示意图;图4中c表示生成的与第一真实人脸模型对应的目标虚拟人脸模型的示意图。
[0132]
此处,值得注意的是,上述(c1)~(c5)仅是完成人脸重建方法一个具体示例,不对本公开实施例提供的人脸重建方法造成限定。
[0133]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0134]
基于同一发明构思,本公开实施例中还提供了与人脸重建方法对应的人脸重建装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述人脸重建方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0135]
参照图5所示,为本公开实施例提供的一种人脸重建装置的示意图,所述装置包括:第一生成模块51、处理模块52、及第二生成模块53;其中,
[0136]
第一生成模块51,用于基于目标图像生成第一真实人脸模型;
[0137]
处理模块52,用于利用预先生成的多个第二真实人脸模型对所述第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数;
[0138]
第二生成模块53,用于基于所述多个第二真实人脸模型分别对应的目标系数、以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型。
[0139]
一种可选的实施方式中,所述第二生成模块53在基于所述多个第二真实人脸模型分别对应的目标系数、以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型时,用于:基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据;基于所述目标骨骼数据,生成所述目标虚拟人脸模型。
[0140]
一种可选的实施方式中,所述第二生成模块53在基于所述目标骨骼数据,生成所述目标虚拟人脸模型时,用于:基于所述目标骨骼数据、以及标准虚拟人脸模型中标准骨骼数据与标准蒙皮数据之间的关联关系,对标准蒙皮数据进行位置变换处理,生成目标蒙皮数据;基于所述目标骨骼数据、以及所述目标蒙皮数据,构成所述目标虚拟人脸模型。
[0141]
一种可选的实施方式中,所述虚拟人脸模型的骨骼数据包括以下至少一种数据:所述虚拟人脸的多块人脸骨骼中每块人脸骨骼对应的骨骼旋转数据、骨骼位置数据、骨骼缩放数据;所述目标骨骼数据包括以下至少一种数据:所述目标骨骼位置数据、目标骨骼缩放数据、以及所述目标骨骼旋转数据。
[0142]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼位置数据,所述第二生成模块53在基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据时,用于:基于所述多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的骨骼位置数据进行插值处理,得到所述目标骨骼位置数据。
[0143]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼缩放数据,所述第二生成模块53在基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人
脸模型分别对应的骨骼数据,确定目标骨骼数据时,用于:基于所述多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的骨骼缩放数据进行插值处理,得到所述目标骨骼缩放数据。
[0144]
一种可选的实施方式中,所述目标骨骼数据包括所述目标骨骼旋转数据,所述第二生成模块53在基于所述多个第二真实人脸模型分别对应的目标系数、及多个所述虚拟人脸模型分别对应的骨骼数据,确定目标骨骼数据时,用于:将所述多个虚拟人脸模型分别对应的骨骼旋转数据转换为四元数数据,并对所述四元数数据进行正则化处理,得到正则化四元数数据;基于所述多个第二真实人脸模型分别对应的目标系数,对多个虚拟人脸模型分别对应的正则化四元数数据进行插值处理,得到所述目标骨骼旋转数据。
[0145]
一种可选的实施方式中,所述第一生成模块51在基于目标图像生成第一真实人脸模型时,用于:获取包括原始人脸的目标图像;对所述目标图像中包括的所述原始人脸进行三维人脸重建,得到所述第一真实人脸模型。
[0146]
一种可选的实施方式中,所述处理模块52根据以下方式生成多个第二真实人脸模型:获取多张包括参考人脸的参考图像;针对多张所述参考图像中的每张参考图像,对所述每张参考图像中包括的参考人脸进行三维人脸重建,得到所述每张参考图像对应的第二真实人脸模型。
[0147]
一种可选的实施方式中,所述处理模块52利用预先生成的多个第二真实人脸模型对所述第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数时,用于:对多个所述第二真实人脸模型以及所述第一真实人脸模型进行最小二乘处理,得到所述多个第二真实人脸模型分别对应的目标系数。
[0148]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0149]
本公开实施例还提供了一种计算机设备,如图6所示,为本公开实施例提供的计算机设备结构示意图,包括:
[0150]
处理器61和存储器62;所述存储器62存储有处理器61可执行的机器可读指令,处理器61用于执行存储器62中存储的机器可读指令,所述机器可读指令被处理器61执行时,处理器61执行下述步骤:
[0151]
基于目标图像生成第一真实人脸模型;利用预先生成的多个第二真实人脸模型对所述第一真实人脸模型进行拟合处理,得到多个第二真实人脸模型分别对应的目标系数;基于所述多个第二真实人脸模型分别对应的目标系数、以及与所述多个第二真实人脸模型分别对应的具有预设风格的虚拟人脸模型,生成与所述目标图像对应的目标虚拟人脸模型。
[0152]
上述存储器62包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换。
[0153]
上述指令的具体执行过程可以参考本公开实施例中所述的人脸重建方法的步骤,此处不再赘述。
[0154]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的人脸重建方法的
步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0155]
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的人脸重建方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0156]
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0157]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0158]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0159]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0160]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0161]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1