首页 / 专利库 / 人工智能 / 三维形变模型 / 人脸旋转模型的生成方法、装置、计算机设备及存储介质

人脸旋转模型的生成方法、装置、计算机设备及存储介质

阅读:388发布:2020-05-18

专利汇可以提供人脸旋转模型的生成方法、装置、计算机设备及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种人脸旋转模型的生成方法、装置、计算机设备及存储介质。所述方法包括:获取人脸训练图片;根据三维人脸参数以及预设的平均人脸模型获取真实 位置 图;提取人脸训练图片中的目标特征,将目标特征输入至人脸旋转模型中,并获取人脸旋转模型输出的所有第二关键点的三维位置信息;通过掩码设置各第一关键点的三维位置信息以及各第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各第一关键点的三维位置信息以及各第二关键点的三维位置信息输入至均方误差损失函数中,得到一个损失结果;在损失结果小于或等于预设损失值时,确认人脸旋转模型训练完成,通过本发明可精准计算人脸照片旋转为正脸照片所需的旋转 角 度。,下面是人脸旋转模型的生成方法、装置、计算机设备及存储介质专利的具体信息内容。

1.一种人脸旋转模型的生成方法,其特征在于,包括:
从目标集合中获取人脸训练图片;所述人脸训练图片中已标注三维人脸参数;
获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图;所述真实位置图中包含与所述人脸训练图片中的人脸图像对应的正面人脸以及所述正面人脸的所有第一关键点的三维位置信息;
提取所述人脸训练图片中的所述人脸图像的目标特征,将所述目标特征输入至包含初始参数的人脸旋转模型中,并获取所述人脸旋转模型输出的所有第二关键点的三维位置信息;
通过掩码设置各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息输入至所述均方误差损失函数中,得到一个损失结果;
在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成;所述人脸旋转模型用于在将人脸照片输入该人脸旋转模型时,确认将该人脸照片旋转为正脸照片所需的旋转度。
2.根据权利要求1所述的人脸旋转模型的生成方法,其特征在于,所述三维人脸参数包括人脸形状参数、人脸表情参数和人脸姿态参数;所述获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图,包括:
获取所述预设的平均人脸模型的模型参数和已训练成功的平均人脸形状;所述平均人脸形状是指由预设数量的人脸顶点的三维位置信息构成的形状;所述模型参数包括模型形状参数和模型表情参数;
根据所述人脸形状参数和所述模型形状参数确定所述人脸训练图片中人脸图像的形变;
根据所述人脸表情参数和所述模型表情参数确定所述人脸训练图片中人脸图像的表情变化;
根据所述平均人脸形状、所述人脸图像的形变和所述人脸图像的表情变化确定所述人脸图像对应于所述预设的平均人脸模型中的各个所述人脸顶点的三维位置信息;
根据所述人脸姿态参数以及以确定的所述人脸图像对应于所述预设的平均人脸模型中的各个所述人脸顶点的三维位置信息,将所述人脸训练图片相似变换到正脸位置中,得到所述人脸训练图片中的所述人脸图像对应的所述正面人脸在所述正脸位置的所述真实位置图。
3.根据权利要求1所述的人脸旋转模型的生成方法,其特征在于,所述将所述目标特征输入至包含初始参数的人脸旋转模型之后,还包括:
令所述人脸旋转模型根据所述目标特征获取与所述真实位置图大小相等的结果位置图;
令所述人脸旋转模型根据预设的关键点索引自所述结果位置图中提取所有所述第二关键点的三维位置信息。
4.根据权利要求3所述的人脸旋转模型的生成方法,其特征在于,所述令所述人脸旋转模型根据预设的关键点索引自所述结果位置图中提取所有所述第二关键点的三维位置信息,包括:
令所述人脸旋转模型在所述结果位置图中建立三维坐标系
令所述人脸旋转模型根据所述预设的关键点索引确定所述结果位置图中与固定的感官区域对应的关键点,并从所述三维坐标系中提取各个所述关键点的三维坐标信息,并将各个所述关键点的三维坐标信息记录为各个所述第二关键点的三维位置信息。
5.根据权利要求1所述的人脸旋转模型的生成方法,其特征在于,所述在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成之后,还包括:
在训练完成的所述人脸旋转模型中输入人脸照片,获取所述人脸旋转模型输出的所述旋转角度,并根据所述旋转角度将所述人脸照片旋转为所述正脸照片;所述旋转角度是指将所述人脸照片旋转为正脸照片所需的旋转角度。
6.根据权利要求5所述的人脸旋转模型的生成方法,其特征在于,所述根据所述旋转角度将所述人脸照片旋转为所述正脸照片,包括:
提取所述人脸照片的目标特征,将所述人脸照片的目标特征输入至训练完成的所述人脸旋转模型中,并获取训练完成的所述人脸旋转模型输出的所有第三关键点的三维位置信息;
根据所述旋转角度和所述第三关键点的三维位置信息将所述人脸照片旋转为所述正脸照片。
7.根据权利要求1所述的人脸旋转模型的生成方法,其特征在于,所述得到一个损失结果之后,还包括:
在所述损失结果大于所述预设损失值时,迭代更新所述人脸旋转模型的所述初始参数,直至所述损失结果小于或等于所述预设损失值时,确认所述人脸旋转模型训练完成。
8.一种人脸旋转模型的生成装置,其特征在于,包括:
第一获取模,用于从目标集合中获取人脸训练图片;所述人脸训练图片中已标注三维人脸参数;
第二获取模块,用于获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图;所述真实位置图中包含与所述人脸训练图片中的人脸图像对应的正面人脸以及所述正面人脸的所有第一关键点的三维位置信息;
第三获取模块,用于提取所述人脸训练图片中的所述人脸图像的目标特征,将所述目标特征输入至包含初始参数的人脸旋转模型中,并获取所述人脸旋转模型输出的所有第二关键点的三维位置信息;
输入模块,用于通过掩码设置各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息输入至所述均方误差损失函数中,得到一个损失结果;
第一确认模块,用于在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成;所述人脸旋转模型用于在将人脸照片输入该人脸旋转模型时,确认将该人脸照片旋转为正脸照片所需的旋转角度。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至
7中任一项所述人脸旋转模型的生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述人脸旋转模型的生成方法。

说明书全文

人脸旋转模型的生成方法、装置、计算机设备及存储介质

技术领域

[0001] 本发明涉及模型构建领域,尤其涉及一种人脸旋转模型的生成方法、装置、计算机设备及存储介质。

背景技术

[0002] 对于非正面人脸来说,人工智能领域的人脸识别技术还不够成熟,非正面人脸的人脸识别技术也一直是人脸识别领域的难题。在现有人脸识别系统中的非正面人脸的人脸对齐技术,通常只能解决人脸姿态中的roll的旋正,而对于大角度的yaw角度或者pitch角度直接使用相似变换,如此,对齐后人脸将会产生较大的形变,不利于后续的人脸识别;同时,现有技术中的非正面人脸的人脸对齐也无法获取到人脸的准确三维坐标信息。因此,寻找一种可解决上述问题的技术方案成为本领域技术人员亟解决的问题。

发明内容

[0003] 基于此,有必要针对上述技术问题,提供一种人脸旋转模型的生成方法、装置、计算机设备及存储介质,解决目前不能较精准计算人脸照片旋转为正脸照片所需的旋转角度的问题。
[0004] 一种人脸旋转模型的生成方法,包括:
[0005] 从目标集合中获取人脸训练图片;所述人脸训练图片中已标注三维人脸参数;
[0006] 获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图;所述真实位置图中包含与所述人脸训练图片中的人脸图像对应的正面人脸以及所述正面人脸的所有第一关键点的三维位置信息;
[0007] 提取所述人脸训练图片中的所述人脸图像的目标特征,将所述目标特征输入至包含初始参数的人脸旋转模型中,并获取所述人脸旋转模型输出的所有第二关键点的三维位置信息;
[0008] 通过掩码设置各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息输入至所述均方误差损失函数中,得到一个损失结果;
[0009] 在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成;所述人脸旋转模型用于在将人脸照片输入该人脸旋转模型时,确认将该人脸照片旋转为正脸照片所需的旋转角度。
[0010] 一种人脸旋转模型的生成装置,包括:
[0011] 第一获取模,用于从目标集合中获取人脸训练图片;所述人脸训练图片中已标注三维人脸参数;
[0012] 第二获取模块,用于获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图;所述真实位置图中包含与所述人脸训练图片中的人脸图像对应的正面人脸以及所述正面人脸的所有第一关键点的三维位置信息;
[0013] 第三获取模块,用于提取所述人脸训练图片中的所述人脸图像的目标特征,将所述目标特征输入至包含初始参数的人脸旋转模型中,并获取所述人脸旋转模型输出的所有第二关键点的三维位置信息;
[0014] 输入模块,用于通过掩码设置各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息输入至所述均方误差损失函数中,得到一个损失结果;
[0015] 第一确认模块,用于在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成;所述人脸旋转模型用于在将人脸照片输入该人脸旋转模型时,确认将该人脸照片旋转为正脸照片所需的旋转角度。
[0016] 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述人脸旋转模型的生成方法。
[0017] 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述人脸旋转模型的生成方法。
[0018] 上述人脸旋转模型的生成方法、装置、计算机设备及存储介质,从目标集合中获取人脸训练图片;所述人脸训练图片中已标注三维人脸参数;获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图;所述真实位置图中包含与所述人脸训练图片中的人脸图像对应的正面人脸以及所述正面人脸的所有第一关键点的三维位置信息;提取所述人脸训练图片中的所述人脸图像的目标特征,将所述目标特征输入至包含初始参数的人脸旋转模型中,并获取所述人脸旋转模型输出的所有第二关键点的三维位置信息;通过掩码设置各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息输入至所述均方误差损失函数中,得到一个损失结果;在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成;所述人脸旋转模型用于在将人脸照片输入该人脸旋转模型时,确认将该人脸照片旋转为正脸照片所需的旋转角度。本发明通过上述训练过程生成一个人脸旋转模型,来对输入至人脸旋转模型的每张人脸照片进行精准和高效率的识别,从而能精准和高效率计算出人脸照片旋转为正脸照片所需的旋转角度。附图说明
[0019] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1是本发明一实施例中人脸旋转模型的生成方法的一应用环境示意图;
[0021] 图2是本发明一实施例中人脸旋转模型的生成方法的一流程图
[0022] 图3是本发明一实施例中人脸旋转模型的生成方法步骤S20的流程示意图;
[0023] 图4是本发明一实施例中人脸旋转模型的生成装置的结构示意图;
[0024] 图5是本发明一实施例中计算机设备的一示意图。

具体实施方式

[0025] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026] 本发明提供的人脸旋转模型的生成方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0027] 在一实施例中,如图2所示,提供一种人脸旋转模型的生成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
[0028] S10,从目标集合中获取人脸训练图片;所述人脸训练图片中已标注三维人脸参数;
[0029] 可理解地,目标集合可以为一个大型公开的人脸数据集合(比如300W-LP公开集,包含了60000张以上的人图片,且每张人脸训练图片都有被标注三维人脸参数,三维人脸参数包括人脸形状参数、人脸表情参数和人脸姿态参数),此时,可以将人脸数据集合中的人脸照片当作为人脸训练照片;人脸训练图片包含了人脸旋转模型建模过程中所需要的43867个人脸顶点(此时人脸顶点对应的三维坐标信息还未被确定出)。
[0030] S20,获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图;所述真实位置图中包含与所述人脸训练图片中的人脸图像对应的正面人脸以及所述正面人脸的所有第一关键点的三维位置信息;
[0031] 可理解地,训练成功且开源的3DMM模型中的经典模型Basel Face Model包含了平均人脸模型,且平均人脸模型可以代表一张标准的平均人脸(而该平均人脸模型的数据来源于:从预设数量的普通人脸提取的面部特征,根据对面部特征进行测量,得到各个测量数据,最后根据各个测量数据求取各个平均值,即各个平均值可作为合成平均人脸模型的数据);三维人脸参数可与平均脸模型中的模型参数进行比对;真实位置图为一张标准的正面人脸的图片,此真实位置图与人脸训练图片同等大小,都可为256x256x3(256x256分别代表平方向和垂直方向的像素),此真实位置图将被作为此次训练过程中的学习目标;三维位置信息指三维坐标系中的三维坐标。
[0032] 本实施例得到的真实位置图可以作为人脸旋转模型训练过程中的学习目标,通过该学习目标可以在后续的训练过程调整人脸旋转模型的初始参数,从而可得到一个可计算人脸照片旋转为正脸照片所需的旋转角度的人脸旋转模型。
[0033] 进一步地,如图3所示,所述三维人脸参数包括人脸形状参数、人脸表情参数和人脸姿态参数;所述获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图,包括:
[0034] S201,获取所述预设的平均人脸模型的模型参数和已训练成功的平均人脸形状;所述平均人脸形状是指由预设数量的人脸顶点的三维位置信息构成的形状;所述模型参数包括模型形状参数和模型表情参数;
[0035] S202,根据所述人脸形状参数和所述模型形状参数确定所述人脸训练图片中人脸图像的形变;
[0036] S203,根据所述人脸表情参数和所述模型表情参数确定所述人脸训练图片中人脸图像的表情变化;
[0037] S204,根据所述平均人脸形状、所述人脸图像的形变和所述人脸图像的表情变化确定所述人脸图像对应于所述预设的平均人脸模型中的各个所述人脸顶点的三维位置信息;
[0038] S205,根据所述人脸姿态参数以及以确定的所述人脸图像对应于所述预设的平均人脸模型中的各个所述人脸顶点的三维位置信息,将所述人脸训练图片相似变换到正脸位置中,得到所述人脸训练图片中的所述人脸图像对应的所述正面人脸在所述正脸位置的所述真实位置图。
[0039] 可理解地,预设的平均人脸模型的模型参数包括模型形状参数和模型表情参数,模型形状参数和模型表情参数是用来反映平均人脸模型中对应的平均人脸所要呈现的样子和状态,即大都数人的平均人脸的形状应该呈现什么样子(整个面部的轮廓和面部的大小为标准的平均人脸),大多数人的平均人脸的表情应该呈现什么样的状态(面部保持轻微微笑或者面部不笑等);预设的平均人脸模型对应一个平均人脸形状,平均人脸形状是一个整体的人脸形状(包括各个面部感官的形状,比如嘴巴,眼睛和鼻子等),该平均人脸形状上的各个顶点都可以用三维位置信息来进行表示,且平均人脸形状是先由各个人脸顶点和线(人脸顶点与人脸顶点的连线)构成各个二维平面,再由各个二维平面进行整体组装。
[0040] 具体地,预设的平均人脸模型的模型参数可用于来确定人脸训练图片中的三维人脸参数与标准参数之间的差别,首先即通过比对人脸形状参数和模型形状参数之间的差别确定出人脸训练图片中的人脸图像的形变(人脸训练图片中的人脸形状参数可包括多种,比如国字脸和瓜子脸等),通过比对人脸表情参数和模型表情参数确定出人脸图像的表情变化(人脸训练图片中的人脸表情参数可包括多种,比如生气和开心等,表情变化会影响整个人脸中的各个感官的形状)。确定出这两个变化以后,接着可通过平均人脸形状和人脸图像的形变和人脸图像的表情变化确定出人脸训练中人脸图像相对于预设的平均人脸模型中的人脸顶点的三维位置信息,比如,平均人脸形状对应一个不笑的面部表情,即嘴巴的嘴角不会上扬或者伸开,若此时人脸训练图片中的人脸图像对应一个微笑的表情,即嘴巴的嘴角已进行上扬或者伸开,由于平均人脸形状上有预设数量(43867个)的人脸顶点,且每个顶点都有一个对应的三维位置信息,此时可确定出训练图片中的人脸图像已上扬或者伸开所在的人脸顶点,从而可确定出三维位置信息,通过上述例子可确定出人脸图像中各个面部感官对应于预设的平均人脸模型中的人脸顶点的三维位置信息。最后可通过三维人脸参数中的人脸姿态参数(人脸在人脸图像中应该是以正面姿态的形式呈现)和人脸图像对应于预设的平均人脸模型中的各个人脸顶点的三维位置信息确定出人脸训练图片中的人脸图像对应的正面人脸在正脸位置的真实位置图,即通过将人脸训练图片相似变换到正脸位置中,比如,上述例子提到的人脸训练图片的人脸图像并不是在正面位置(即与正面位置存在一定的偏差),此时可通过相似变换,确定出变换后的第一关键点的三维位置信息(位于真实位置图上),也可得到正面位置的真实位置图。
[0041] 本实施例中,通过上述方法步骤得到的真实位置图上有准确的第一关键点的三维位置信息,为后续步骤准确计算旋转角度提供了精准的参照。
[0042] S30,提取所述人脸训练图片中的所述人脸图像的目标特征,将所述目标特征输入至包含初始参数的人脸旋转模型中,并获取所述人脸旋转模型输出的所有第二关键点的三维位置信息;
[0043] 可理解地,人脸训练图片中包含了要输入至此次包含初始参数的人脸旋转模型的数据,可提取此数据并将其作为人脸图像的目标特征(目标特征还是以图片的形式存在),目标特征可以为构建人脸各个感官区域所需的关键点(比如构建眼睛区域的各个关键点、构建鼻子区域的各个关键点和构建嘴巴区域的各个关键点等等);人脸旋转模型为3DMM模型中的经典模型Basel Face Model。
[0044] 具体地,在整体网络结构中(看作成一个Stacked Hourglass Network,堆叠沙漏网络结构),输入的目标特征是以图片的形式(与人脸训练图片同等大小)输入至整体网络结构中(目标特征所在的图片在整体结构中各转置卷基层之间会变成不同大小的特征图),在整体网络结构中存在10个残差模块,即首先通过残差模块可加深整体网络结构的深度且又不会出现梯度消失的问题,然后通过整体网络结构中存在的17层转置卷基层,在最后一个转置卷基层将特征图恢复为与人脸训练图片同等大小的结果位置图(整体网络结构输出的为heatmaps集合,即在结果位置图中所有第二关键点的三维位置信息),在整体网络结构中还存在一个loss层(用来设置损失函数)。
[0045] 本实施例中,特征提取的作用是为了初步得到更方便于包含初始参数的人脸旋转模型进行运行计算的数据,从而可减少人脸旋转模型中整体网络结构运行过程的复杂性,也可减少运行过程的运行时间;且人脸旋转模型可进一步用来捕捉不同图片大小下目标特征所在图片所包含的深层信息。
[0046] 在一实施例中,所述将所述目标特征输入至包含初始参数的人脸旋转模型之后,还包括:
[0047] 令所述人脸旋转模型根据所述目标特征获取与所述真实位置图大小相等的结果位置图;
[0048] 令所述人脸旋转模型根据预设的关键点索引自所述结果位置图中提取所有所述第二关键点的三维位置信息。
[0049] 可理解地,结果位置图是一张与真实位置图、人脸训练图片都是大小相等的图片;预设的关键点可以为正面人脸中的关键点,包括眼睛、鼻子和嘴巴感官区域内的关键点,一个感官区域存在多个关键点。
[0050] 本实施例中,提取的第二关键点的三维位置信息将被用于与第二关键点的三维位置信息进行比对,从而可计算出此次人脸旋转模型的旋转角度。
[0051] 进一步地,所述令所述人脸旋转模型根据预设的关键点索引自所述结果位置图中提取所有所述第二关键点的三维位置信息,包括:
[0052] 令所述人脸旋转模型在所述结果位置图中建立三维坐标系;
[0053] 令所述人脸旋转模型根据所述预设的关键点索引确定所述结果位置图中与固定的感官区域对应的关键点,并从所述三维坐标系中提取各个所述关键点的三维坐标信息,并将各个所述关键点的三维坐标信息记录为各个所述第二关键点的三维位置信息。
[0054] 具体地,结果位置图位于一个三维坐标系中,即结果位置图中的每个固定的感官区域(眼睛、鼻子和嘴巴所组成的区域),此时通过索引从固定的感官区域中的多个预设的关键点确定出所需的关键点,并提取关键点的三维坐标信息,最后的关键点的三维坐标信息可作为第二关键点的三维位置信息。
[0055] S40,通过掩码设置各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息输入至所述均方误差损失函数中,得到一个损失结果;
[0056] 可理解地,通过掩码(mask)可在均方误差损失函数中数值部分设置各第一关键点的三维位置信息以及各第二关键点的三维位置信息在均方误差损失函数中所占的权重值,即设置第一关键点和第二关键点在均方误差损失函数中所占的权重值,且设置的第一关键点和第二关键点应该为对同一个感官区域对应的关键点(比如第一关键点为眼睛所在的区域,即第二关键点也为眼睛所在的区域),且感官区域有眼睛、鼻子、嘴巴所在的区域(而这三个区域中一共有68个关键点组成,即第一关键点必须大于或等于68个,第二关键点必须大于或等于68个)和其它人脸区域,此时,眼睛、鼻子、嘴巴所在的区域和其它人脸区域在均方误差损失函数中所占的权重值的比值设置为16:4:3:0。
[0057] 均方误差损失函数为 其中,n为第一关键点的数量或第二关键点的数量,yi为第i个第二关键点的三维位置信息所构成的一组向量,y’i为第i个第一关键点的三维位置信息所构成的一组向量。
[0058] 本实施例中通过在均方误差损失函数计算损失结果,可以在后续步骤中与预设损失值进行比较,从而对人脸旋转模型进行相应的优化;且本实施例中通过掩码设置各第一关键点的三维位置信息以及各第二关键点的三维位置信息在均方误差损失函数中所占的权重值,有利于人脸旋转模型学习到更精准的真实位置图。
[0059] S50,在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成;所述人脸旋转模型用于在将人脸照片输入该人脸旋转模型时,确认将该人脸照片旋转为正脸照片所需的旋转角度。
[0060] 可理解地,当损失结果小于或等于预设损失值时,则可以说明人脸旋转模型回归训练过程已接近训练目标,此时,可确定人脸旋转模型训练完成。
[0061] 进一步地,所述步骤S40之后,还包括:
[0062] 在所述损失结果大于所述预设损失值时,迭代更新所述人脸旋转模型的所述初始参数,直至所述损失结果小于或等于所述预设损失值时,确认所述人脸旋转模型训练完成。
[0063] 可理解地,当损失结果大于预设损失值,则可以说明人脸旋转模型的初始参数并不适合于此次训练过程,因此需不断更新人脸旋转模型的初始参数直至于满足于条件适合于此次训练过程。
[0064] 进一步地,所述步骤S50之后,还包括:
[0065] 在训练完成的所述人脸旋转模型中输入人脸照片,获取所述人脸旋转模型输出的所述旋转角度,并根据所述旋转角度将所述人脸照片旋转为所述正脸照片;所述旋转角度是指将所述人脸照片旋转为正脸照片所需的旋转角度。
[0066] 可理解地,此实施例是对人脸旋转模型的应用,一旦人脸旋转模型输出的旋转角度的数值不为0,就需要对旋转角度进行旋转(可在原先训练过程中的人脸旋转模型先设置好旋转方向代表的正负数值,即顺时针为正数值,逆时针为负数值)。且在旋转过程中,人脸照片与正面照片在预设的形变范围内可接受一定的角度偏差(比如0.5度内等)。
[0067] 在一实施例中,所述根据所述旋转角度将所述人脸照片旋转为所述正脸照片,包括:提取所述人脸照片的目标特征,将所述人脸照片的目标特征输入至训练完成的所述人脸旋转模型中,并获取训练完成的所述人脸旋转模型输出的所有第三关键点的三维位置信息;根据所述旋转角度和所述第三关键点的三维位置信息将所述人脸照片旋转为所述正脸照片。
[0068] 综上所述,上述提供了一种人脸旋转模型的生成方法,从目标集合中获取人脸训练图片;所述人脸训练图片中已标注三维人脸参数;获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图;所述真实位置图中包含与所述人脸训练图片中的人脸图像对应的正面人脸以及所述正面人脸的所有第一关键点的三维位置信息;提取所述人脸训练图片中的所述人脸图像的目标特征,将所述目标特征输入至包含初始参数的人脸旋转模型中,并获取所述人脸旋转模型输出的所有第二关键点的三维位置信息;通过掩码设置各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息输入至所述均方误差损失函数中,得到一个损失结果;在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成;所述人脸旋转模型用于在将人脸照片输入该人脸旋转模型时,确认将该人脸照片旋转为正脸照片所需的旋转角度。本发明通过上述训练过程生成一个人脸旋转模型,来对输入至人脸旋转模型的每张人脸照片进行精准和高效率的识别,从而能精准和高效率计算出人脸照片旋转为正脸照片所需的旋转角度。
[0069] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0070] 在一实施例中,提供一种人脸旋转模型的生成装置,该人脸旋转模型的生成装置与上述实施例中人脸旋转模型的生成方法一一对应。如图4所示,该人脸旋转模型的生成装置包括第一获取模块11、第二获取模块12、第三获取模块13、输入模块14和第一确认模块15。各功能模块详细说明如下:
[0071] 第一获取模块11,用于从目标集合中获取人脸训练图片;所述人脸训练图片中已标注三维人脸参数;
[0072] 第二获取模块12,用于获取预设的平均人脸模型,根据所述三维人脸参数以及所述预设的平均人脸模型获取真实位置图;所述真实位置图中包含与所述人脸训练图片中的人脸图像对应的正面人脸以及所述正面人脸的所有第一关键点的三维位置信息;
[0073] 第三获取模块13,用于提取所述人脸训练图片中的所述人脸图像的目标特征,将所述目标特征输入至包含初始参数的人脸旋转模型中,并获取所述人脸旋转模型输出的所有第二关键点的三维位置信息;
[0074] 输入模块14,用于通过掩码设置各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息在均方误差损失函数中所占的权重值,并将各所述第一关键点的三维位置信息以及各所述第二关键点的三维位置信息输入至所述均方误差损失函数中,得到一个损失结果;
[0075] 第一确认模块15,用于在所述损失结果小于或等于预设损失值时,确认所述人脸旋转模型训练完成;所述人脸旋转模型用于在将人脸照片输入该人脸旋转模型时,确认将该人脸照片旋转为正脸照片所需的旋转角度。
[0076] 进一步地,所述第二获取模块包括:
[0077] 第一获取子模块,用于获取所述预设的平均人脸模型的模型参数和已训练成功的平均人脸形状;所述平均人脸形状是指由预设数量的人脸顶点的三维位置信息构成的形状;所述模型参数包括模型形状参数和模型表情参数;
[0078] 第一确定子模块,用于根据所述人脸形状参数和所述模型形状参数确定所述人脸训练图片中人脸图像的形变;
[0079] 第二确定子模块,用于根据所述人脸表情参数和所述模型表情参数确定所述人脸训练图片中人脸图像的表情变化;
[0080] 第三确定子模块,用于根据所述平均人脸形状、所述人脸图像的形变和所述人脸图像的表情变化确定所述人脸图像对应于所述预设的平均人脸模型中的各个所述人脸顶点的三维位置信息;
[0081] 变换子模块,用于根据所述人脸姿态参数以及以确定的所述人脸图像对应于所述预设的平均人脸模型中的各个所述人脸顶点的三维位置信息,将所述人脸训练图片相似变换到正脸位置中,得到所述人脸训练图片中的所述人脸图像对应的所述正面人脸在所述正脸位置的所述真实位置图。
[0082] 进一步地,所述人脸旋转模型的生成装置还包括:
[0083] 第四获取模块,用于令所述人脸旋转模型根据所述目标特征获取与所述真实位置图大小相等的结果位置图;
[0084] 提取模块,用于令所述人脸旋转模型根据预设的关键点索引自所述结果位置图中提取所有所述第二关键点的三维位置信息。
[0085] 进一步地,所述提取模块包括:
[0086] 建立子模块,用于令所述人脸旋转模型在所述结果位置图中建立三维坐标系;
[0087] 第四确定子模块,用于令所述人脸旋转模型根据所述预设的关键点索引确定所述结果位置图中与固定的感官区域对应的关键点,并从所述三维坐标系中提取各个所述关键点的三维坐标信息,并将各个所述关键点的三维坐标信息记录为各个所述第二关键点的三维位置信息。
[0088] 进一步地,所述人脸旋转模型的生成装置还包括:
[0089] 旋转模块,用于在训练完成的所述人脸旋转模型中输入人脸照片,获取所述人脸旋转模型输出的所述旋转角度,并根据所述旋转角度将所述人脸照片旋转为所述正脸照片;所述旋转角度是指将所述人脸照片旋转为正脸照片所需的旋转角度。
[0090] 进一步地,所述旋转模块包括:
[0091] 第二获取子模块,用于提取所述人脸照片的目标特征,将所述人脸照片的目标特征输入至训练完成的所述人脸旋转模型中,并获取训练完成的所述人脸旋转模型输出的所有第三关键点的三维位置信息;
[0092] 旋转子模块,用于根据所述旋转角度和所述第三关键点的三维位置信息将所述人脸照片旋转为所述正脸照片。
[0093] 进一步地,所述人脸旋转模型的生成装置还包括:
[0094] 第二确认模块,用于在所述损失结果大于所述预设损失值时,迭代更新所述人脸旋转模型的所述初始参数,直至所述损失结果小于或等于所述预设损失值时,确认所述人脸旋转模型训练完成。
[0095] 关于人脸旋转模型的生成装置的具体限定可以参见上文中对于人脸旋转模型的生成方法的限定,在此不再赘述。上述人脸旋转模型的生成装置中的各个模块可全部或部分通过软件硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0096] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口数据库。其中,该计算机设备的处理器用于提供计算和控制能。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储人脸旋转模型的生成方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人脸旋转模型的生成方法。
[0097] 在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中人脸旋转模型的生成方法的步骤,例如图2所示的步骤S10至步骤S50。或者,处理器执行计算机程序时实现上述实施例中人脸旋转模型的生成装置的各模块/单元的功能,例如图4所示模块11至模块15的功能。为避免重复,这里不再赘述。
[0098] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中人脸旋转模型的生成方法的步骤,例如图2所示的步骤S10至步骤S50。或者,计算机程序被处理器执行时实现上述实施例中人脸旋转模型的生成装置的各模块/单元的功能,例如图4所示模块11至模块15的功能。为避免重复,这里不再赘述。
[0099] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM[0100] (DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0101] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0102] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈