首页> 中国专利> 人脸检测神经网络及训练方法、人脸检测方法、存储介质

人脸检测神经网络及训练方法、人脸检测方法、存储介质

摘要

本说明书提供一种人脸检测神经网络,所述神经网络包括:编码网络、第一解码网络、第二解码网络和预测网络;所述编码网络用于获取人脸图像的样本,并将输出结果分发给所述第一解码网络、所述第二解码网络和预测网络;所述第一解码网络用于根据所述编码网络的输出结果,提取出样本关键点的预测坐标;所述第二解码网络用于根据所述编码网络的输出结果,获取所述样本关键点的预测坐标的人脸姿态变化参数;预测网络用于将所述编码网络的输出结果以及所获取的预测坐标和人脸姿态变化参数作为输入进行训练,输出包含所述样本关键点的三维坐标的人脸模型。

著录项

  • 公开/公告号CN112287820A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 广州虎牙科技有限公司;

    申请/专利号CN202011173829.3

  • 发明设计人 芦爱余;

    申请日2020-10-28

  • 分类号G06K9/00(20060101);G06N3/04(20060101);G06N3/08(20060101);G06T13/40(20110101);

  • 代理机构11415 北京博思佳知识产权代理有限公司;

  • 代理人王茹

  • 地址 511495 广东省广州市番禺区钟村街(汉溪商业中心)泽溪街13号1301

  • 入库时间 2023-06-19 09:43:16

说明书

技术领域

本说明书涉及计算机技术领域,尤其涉及一种人脸检测神经网络及其训练方法、人脸检测方法、存储介质及终端设备。

背景技术

近年来,随着深度学习技术的迅猛发展,人脸检测技术也取得了巨大的进步。但是现有的基于深度学习的人脸检测技术,需要大量标注有关键点三维坐标的训练数据,且同一训练数据中所标注的关键点也需要足够密集。但是,三维人脸数据的采集和关键点的标注相比于传统图像来讲具有较大难度,且需要花费大量的人力、物力和财力。

发明内容

为克服相关技术存在的三维人脸数据的采集和关键点的标注相比于传统图像来讲具有较大难度,且需要花费大量的人力、物力和财力的问题,本说明书提供了一种人脸检测神经网络及其训练方法、人脸检测方法、存储介质及终端设备。

根据本说明书实施例的第一方面,提供一种人脸检测的神经网络,所述神经网络包括:

编码网络、第一解码网络、第二解码网络和预测网络,

所述编码网络用于获取人脸图像的样本,并将输出结果分发给所述第一解码网络、所述第二解码网络和预测网络,其中,所述样本包括标注有关键点的三维坐标的人脸图像;

所述第一解码网络用于根据所述编码网络的输出结果,提取出样本关键点的预测坐标;

所述第二解码网络用于根据所述编码网络的输出结果,获取所述样本关键点的预测坐标的人脸姿态变化参数;

预测网络用于将所述编码网络的输出结果以及所获取的预测坐标和人脸姿态变化参数作为输入进行训练,输出包含所述样本关键点的三维坐标的人脸模型,所输出的关键点数量大于所述样本中标注的三维坐标的关键点的数量。

根据本说明书实施例的第二方面,提供一种人脸检测的神经网络的训练方法,所述训练方法包括:

获取人脸图像的样本,其中,所述样本包括标注有关键点的三维坐标的人脸图像;

将所述样本作为所述神经网络的输入,获取关键点的预测坐标以及人脸姿态变化参数;

基于所获取的预测坐标和人脸姿态变化参数训练所述神经网络,以使训练后的所述神经网络输出结果为包含第一数量关键点的三维坐标,其中,所述第一数量大于样本中标注三维坐标的关键点的数量。

根据本说明书实施例的第三方面,提供一种人脸检测的方法,所述方法由本说明书实施例第一方面的编码网络和训练获得的预测网络实现,所述方法包括:

所述编码网络获取未标注的人脸图像进行处理,并将处理结果输出给所述预测网络;

所述预测网络输出人脸图像关键点的三维坐标。

根据本说明书实施例的第四方面,提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序代码,当所述计算机程序代码在处理器上运行时,使得所述处理器执行本说明书实施例的第一方面所述的神经网络的训练或本说明书实施例的第三方面所述方法的步骤。

根据本说明书实施例的第五方面,提供一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现本说明书实施例的第三方面所述方法的步骤。

在本申请实施例中,将标注有关键点三维坐标的人脸图像样本作为人脸检测的神经网络的输入,通过获取样本的关键点预测坐标和人脸姿态变化参数,训练所述神经网络。利用所述人脸检测的神经网络,能够实现向所述神经网络输入仅标注有少量关键点三维坐标的人脸图像样本,就可以获得该样本大量关键点的三维坐标。能够解决现有技术中,三维人脸数据的采集和关键点的标注难度大,且需要花费大量的人力、物力和财力的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是本说明书根据一示例性实施例示出的一种可以应用人脸检测神经网络及其训练方法、人脸检测方法的系统架构图。

图2是本说明书根据一示例性实施例示出的一种人脸检测的神经网络的结构图。

图3是本说明书根据一示例性实施例示出的另一种获取关键点的预测坐标的方法的流程图。

图4是本说明书根据一示例性实施例示出的一种获取关键点的人脸姿态变化参数的方法的流程图。

图5是本说明书根据一示例性实施例示出的一种训练预测网络的方法的流程图。

图6是本说明书根据一示例性实施例示出的一种人脸检测的神经网络的训练方法的流程图。

图7是本说明书根据一示例性实施例示出的一种应用预测网络的方法的流程图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

人脸检测是指给定人脸图像,检测出人脸面部的关键点的位置。所述关键点通常包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等。人脸检测技术是人脸装扮、美颜化妆、人脸特效、人脸AR(Augmented Reality,增强现实)等应用场景的基础技术。以人脸特效为例,在一些视频直播应用中,会有一些三维动画特效的需求,例如为视频内的人脸加上三维的兔子耳朵、猪猪面具等。这些三维动画特效都需要建立在人脸关键点准确定位的基础上,也就是对于人脸关键点,能够获取到关键点准确的三维坐标。

近年来,随着深度学习技术的发展,出现了一些基于深度学习的人脸检测技术。例如,输入给定人脸图像,通过卷积神经网络回归出人脸关键点的坐标。又例如,输入给定人脸图像,通过卷积神经网络回归出人脸关键点对应的特征图,从特征图中确定出代表人脸关键点的位置。然而,现有的基于深度学习的人脸检测技术,都需要对训练网络输入大量标注有关键点三维坐标的训练数据,且同一训练数据中所标注的关键点也需要足够密集(即需要密集三维数据)。但是,带有标注的三维人脸数据是十分珍贵的,因为三维人脸数据的采集和关键点的标注相对于传统图像来讲,具有较大的难度,且需要花费大量的人力、物力和财力。

针对现有技术所存在的三维人脸数据的采集和关键点的标注相比于传统图像来讲具有较大难度,且需要花费大量的人力、物力和财力的问题,本申请提出了一种人脸检测神经网络及其训练方法、人脸检测方法、存储介质及终端设备。

接下来对本说明书实施例进行详细说明。

图1示出了可以应用本申请实施例的人脸检测神经网络及其训练方法、人脸检测方法的示例性系统架构的示意图。

如图1所示,系统架构1000可以包括终端设备1001、1002、1003中的一种或多种,网络1004和服务器1005。网络1004用以在终端设备1001、1002、1003和服务器1005之间提供通信链路的介质。网络1004可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器1005可以是多个服务器组成的服务器集群等。

用户可以使用终端设备1001、1002、1003通过网络1004与服务器1005交互,以接收或发送消息等。终端设备1001、1002、1003可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。

服务器1005可以是提供各种服务的服务器。例如,服务器1005可以提供本申请的一种人脸检测的神经网络的训练:服务器1005从终端设备1001、1002、1003获取人脸图像,所述人脸图像可以是被标注有少量关键点的三维坐标(即稀疏三维数据)的人脸图像。服务器基于所获取的人脸图像,对人脸检测的神经网络进行训练。基于训练好的神经网络,服务器能够输出人脸图像大量关键点的三维坐标(即密集三维数据)。又例如,服务器1005可以提供本申请的一种人脸检测的方法执行:服务器1005被预先安装上训练好的人脸检测的神经网络的全部或者部分网络,服务器1005从终端设备1001、1002、1003获取不带标注的人脸图像,由训练好的人脸检测的神经网络的全部或者部分网络,获取人脸图像关键点的三维坐标。

终端设备1001、1002、1003可以是提供各种服务的终端设备。例如,终端设备可以是带有图像采集单元的终端设备,因此,终端设备可以采集人脸图像以供终端设备本身使用或者发送至其他设备。又例如,通过在终端设备1001、1002、1003上提前安装好由服务器1005训练好的人脸检测的神经网络的全部或者部分网络,由终端设备实现对输入的不带标注的人脸图像,获取人脸图像关键点的三维坐标。

然而,应当理解的是,对于计算能力满足训练要求的终端设备1001、1002、1003,本申请实施例公开的人脸检测的神经网络的训练方法也可以由终端设备1001、1002、1003执行。由终端设备1001、1002、1003训练好的神经网络的全部或者部分网络,可以直接实现对输入的不带标注的人脸图像,获取人脸图像关键点的三维坐标。当然,也可以通过在服务器1005上提前配置好由终端设备1001、1002、1003训练好的神经网络的全部或者部分网络,由服务器1005实现对输入的不带标注的人脸图像,获取人脸图像关键点的三维坐标。

如图2所示,图2是本说明书根据一示例性实施例示出的一种人脸检测的神经网络的结构图。所述人脸检测的神经网络包括:编码网络、第一解码网络、第二解码网络和预测网络;所述编码网络用于获取人脸图像样本,并将输出结果发送给所述第一解码网络、第二解码网络和预测网络,其中,所述样本包括标注有关键点的三维坐标的人脸图像;所述第一解码网络根据所述编码网络的输出结果,提取出样本关键点的预测坐标;所述第二解码网络用于根据所述编码网络的输出结果,获取所述样本关键点的预测坐标的人脸姿态变化参数;所述将所述编码网络的输出结果以及所获取的预测坐标和人脸姿态变化参数作为输入进行训练,输出包含所述样本关键点的三维坐标的人脸模型,所输出的关键点数量大于所述样本中标注的三维坐标的关键点的数量。

本申请所述的人脸检测的神经网络的训练数据,可以是标注有关键点三维坐标的人脸图像样本。应当理解,标注有关键点的三维坐标的人脸图像样本,可以来自于公开的数据集,也可以是用户采集并进行关键点三维坐标标注的人脸图像。本申请对于训练数据的来源不做限制。人脸图像样本被标注的关键点,可以是眼睛、鼻子、嘴巴、脸型轮廓,也可以是人脸的其他位置,本申请对此也不做限制。

在一个实施例中,当所使用的训练数据为标注有关键点三维坐标的人脸图像样本时,人脸检测的神经网络中所采用的激活函数是与关键点的三维坐标对应的正数,即X轴、Y轴和Z轴对应的激活函数都为正数,例如一个关键点的三维坐标是x,y,z,那么该关键点所对应的激活函数为1,1,1,表示该关键点的三个维度的坐标都是神经网络需要学习的。当然,本领域的技术人员应当理解,X轴、Y轴和Z轴对应的激活函数可以不同,且为其他正数。例如,一个关键点的三维坐标是x,y,z,其所对应的激活函数可以是2,2,10,X轴、Y轴和Z轴所对应的激活函数都大于0,表示神经网络需要学习关键点三个维度的坐标,其中,Z轴坐标对应的激活函数大于X轴和Y轴坐标对应的激活函数,这表示对Z轴坐标的学习,在人脸检测的神经网络的训练过程中所占的权重比较大,也就是通过对人脸检测的神经网络的训练,更想学习到的是关键点的Z轴坐标。

在一个实施例中,为了保证更好的训练效果,令完成训练的人脸检测的神经网络对于所输入的不同的人脸图像具有更好的泛化性能和更准确的预测结果,本申请所述的人脸检测的神经网络的训练数据,还可以是混合数据,所述混合数据包括标注有关键点三维坐标的人脸图像样本和标注有关键点二维坐标的人脸图像样本。对于标注有关键点二维坐标的人脸图像,由于关键点没有Z轴坐标值,因此,可以将标注有二维坐标的关键点的Z轴的坐标值设置为负数,例如,设置为-1,表示该关键点的Z轴坐标不存在。相应地,当所使用的训练数据为混合数据,对于标注有关键点三维坐标的人脸图像样本,关键点X轴、Y轴和Z轴所对应采用的激活函数同前文所述,这里不做赘述。对于标注有关键点二维坐标的人脸图像,X轴和Y轴对应的激活函数也同前文所述;Z轴对应的激活函数可以设置为0,表示该关键点的Z轴坐标不是人脸检测的神经网络需要学习的。

上述采用混合数据作为人脸检测的神经网络的训练数据,标注有关键点二维坐标的人脸图像样本,虽然没有Z轴坐标值,但是具有X轴和Y轴的坐标值,二维坐标值中也包含有一定的有用信息,因此,使用混合数据进行训练,能够在标注有关键点的三维坐标的人脸图像样本不足的情况下,学习到更多关于人脸图像关键点的有用信息,能够实现对人脸检测的神经网络更好的训练效果。

所述的人脸检测的神经网络的编码网络,用于获取人脸图像样本进行初步处理,将初步处理的结果发送至所述人脸检测的神经网络的编码网络的其他部分。在一个实施例中,所述人脸检测的神经网络中的编码网络可以是轻量级的神经网络。例如,编码网络可以是谷歌公司为移动端和嵌入式端的深度学习应用所设计的Mobilenet系列的网络,包括MobilenetV1、MobilenetV2和MobilenetV3。编码网络还可以是其他轻量级神经网络,例如SqueezeNet、ShuffleNet、Xception等网络。

人脸检测的神经网络采用轻量级的神经网络作为编码网络,能够节省人脸检测的神经网络的体积,提升人脸检测的神经网络的运行速度,有利于向移动终端移植人脸检测的神经网络的部分或者全部,能够扩大人脸检测的神经网络的应用范围及应用场景。

在一个实施例中,根据所述编码网路的输出结果,提取出样本关键点的预测坐标,可以通过人脸检测的神经网络的第一解码网络来实现。

如图3所示,是通过人脸检测的神经网络的第一解码网络来实现人脸图像关键点预测坐标的提取的一个实施例的示意图。在图3中,通过将带有标注的人脸图像样本输入至编码网络,编码网络对人脸图像样本进行处理后,将结果发送给第一解码网络,第一解码网络输出UV坐标图。根据UV坐标图与关键点三维坐标之间预设的映射关系,可以提取关键点的预测坐标。其中,UV是U,V纹理贴图的简称,U代表水平方向坐标,V是垂直方向坐标。UV坐标图由RGB三个通道的像素值构成,每个像素通道分别表征了三维人脸关键点的X轴、Y轴和Z轴的坐标。通过二维的UV坐标图,可以将UV坐标系中图像上每一个点对应到三维人脸模型的表面,即三维人脸模型上的每个点在UV坐标图上具有唯一的一点。通过预设UV坐标图与三维坐标的映射关系,能够由UV坐标图还原出人脸图像的关键点坐标。

当编码网络输入的人脸图像样本仅标注有关键点的三维坐标,则关键点的预测坐标为有效三维坐标。当编码网络输入的人脸图像样本包括标注有关键点三维坐标和标注有关键点二维坐标的人脸图像,与标注有三维坐标的样本对应的预测坐标是有效三维坐标,而与标注有二维坐标的样本对应的预测坐标是伪三维坐标,即对应的预测坐标并没有Z轴坐标值。

上述实施例中的编码网络和第一解码网络可以是预先训练好的。第一解码网络可以是标准神经网络(Standard Neural Networks,SNN)、卷积神经网络(ConvolutionalNeural Networks,CNN)、递归神经网络(Recursive Neural Network,RNN)等网络。编码网络和第一解码网络的预先训练,可以采用现有技术来实现,使得编码网络和第一解码网络能够根据标注有关键点坐标的人脸图像样本,获得关键点的预测坐标,这里不做赘述。

在一个实施例中,编码网络和第一解码网络的参数可以是通过训练确定的。编码网络和第一解码网络如前文所述,可以是多种形式的网络,这里不再赘述。这里,给出一个编码网络和第一解码网络的参数通过训练确定的示例性实施例:

编码网络获取带有标注的人脸图像样本,第一解码网络根据编码网络的输出结果提取样本关键点的预测坐标。基于第一损失函数对编码网络和第一解码网络的参数进行联合训练,直到第一损失函数满足预设的训练条件,此时的网络参数即为训练完成的编码网络和第一解码网络的参数。预设的训练条件可以是第一损失函数的值低于阈值,或者第一损失函数收敛,或者是其他训练条件,本申请不做限制。

在一个实施例中,第一损失函数的形式可以是基于最小绝对值偏差的损失函数,也可以是基于最小均方值偏差的损失函数,还可以是其他形式的损失函数,本申请不做限制。第一损失函数可以是关键点的预测坐标与关键点对应的标注坐标之间的误差,也可以是其他度量,以表征关键点预测坐标的准确度。一个示例性第一损失函数可以是:

其中,Loss

在一个实施例中,根据所述编码网路的输出结果,获取关键点的人脸姿态变化参数,可以通过人脸检测的神经网络的第二解码网络来实现。

人脸姿态变化参数,用于表征人脸姿态相对于基准人脸模型的变化。人脸姿态变化参数,可以包括形状参数和表情参数,还可以包括纹理参数等等。由于人脸具有较多共性,例如,具有特定数目的眼睛、嘴巴、鼻子和耳朵且各个部分的相对位置不变,各个部分具有一定的拓扑关系,因此可以建立一个参数化表征的标准三维人脸模型,通过获得关键点的预测坐标相对于标准三维人脸模型的变化,获取人脸姿态变化参数。

在一个实施例中,所述参数化表征的标准三维人脸模型,可以是基于3DMM(3DMorphable Models,三维可变形人脸模型)方法获得的参数化表征的三维人脸模型。该方法假设三维人脸是已经进行稠密对齐的,即所有的三维人脸都能用相同的点云数或面片数来表示,且相同序号的点代表相同的语义。在稠密对齐的情况下,每个带纹理的三维人脸都能够表示为:

S

T

其中S和T表示人脸平均形状和平均纹理部分,每张人脸的判别特性体现在加号右边一组正交基S

M=BFM

其中,BFM

当然,本领域技术人员应当理解,所述参数化表征的标准三维人脸模型,还可以是通过其他方法建立起来的参数化表征的三维人脸模型。例如,利用统计学的方法,基于实际采集的三维人脸数据或者其他方式得到的三维人脸数据,建立的参数化表征的三维人脸模型。

在一个实施例中,人脸图像关键点的人脸姿态变化参数可以通过预先训练好的第二解码网络获取:编码网络将输出结果发送给第二解码网络,第二解码网络基于编码网络的输出结果获取人脸姿态变化参数。第二解码网络可以是标准神经网络(Standard NeuralNetworks,SNN)、卷积神经网络(Convolutional Neural Networks,CNN)、递归神经网络(Recursive Neural Network,RNN)等。第二解码网络的预先训练,可以采用现有技术来实现,这里不做赘述。

在一个实施例中,第二解码网络可以是通过训练确定的。第二解码网络的训练过程包括:基于编码网络的参数以及第二损失函数,对所述第二解码网络进行训练,直到第二损失函数满足预设的训练条件,确定出所述第二解码网络的参数。编码网络的参数可以是通过前文所述的训练方法确定的,也可以是其他方式训练好的,本申请不做限制。预设的训练条件可以是第二损失函数的值低于阈值,或者第一损失函数收敛,或者是其他训练条件,本申请不做限制。

在一个实施例中,第二损失函数的形式可以是基于最小绝对值偏差的损失函数,也可以是基于最小均方值偏差的损失函数,还可以是其他形式的损失函数,本申请不做限制。第二损失函数可以是关键点的预测坐标与关键点的真实坐标之间的误差,也可以是其他度量,以表征第二解码网络输出的人脸变化参数的准确度。一个示例性第二损失函数可以是:

其中,Loss

如图4所示,是通过训练第二解码网络来实现人脸图像关键点的人脸姿态变化参数的获取的示意图,图4的示意给出了第二损失函数对训练的影响,结合第二损失函数的表达式公式(5)进行说明。公式(5)中括号{}内的表达式,代表着人脸图像样本关键点的真实坐标,通过以下方式获得:根据第一解码网络获取的关键点的预测坐标及标准三维人脸模型,计算出标准三维人脸模型相对于预测坐标的变换矩阵,所述变换矩阵表征着由标准三维人脸模型变换为与预测坐标对应的三维人脸模型所对应的旋转、平移和缩放;标准三维人脸模型根据变换矩阵进行变换,获得关键点的真实坐标。其中,标准三维人脸模型根据变换矩阵进行变换,获得关键点的真实坐标,是通过变换矩阵,调整第二解码网络的参数,使得第二解码网络输出的人脸姿态变化参数发生变化,以使标准三维人脸模型发生姿态变化。以公式(4)中参数化表征的标准三维人脸模型为例,也就是通过第二解码网络的参数变化,使得公式(4)中的shape和exp参数变化,进而令参数化表征的标准三维人脸模型发生姿态变化,参数化的表达为:M

基于第二损失函数对第二解码网络进行训练,也就是不断调整第二解码网络的参数,得到第二解码网络输出的人脸姿态变化参数,对标准三维人脸模型进行变换,直到标准三维人脸模型与第一解码网络输出的预测关键点对齐(即误差足够小),获得与关键点的预测坐标姿态相同或相近的三维人脸模型,则第二解码网络完成训练,训练后的第二解码网络输出的结果即为人脸姿态变化参数。

基于训练完成的第二解码网络输出的人脸姿态变化参数,实质上是可以获得一个与输入样本的关键点的预测坐标对应的人脸三维模型,基于该人脸三维模型,能够得到该模型上任意一点的三维坐标。因此可以获得该样本大量关键点的三维坐标。

在一个实施例中,预测网络的参数是基于所述编码网络确定的参数以及第三损失函数训练确定的。

如图5所示,根据编码网络输出的人脸图像样本的处理结果,结合所获取的预测坐标和人脸姿态变化参数,对预测网络的参数基于第三损失函数训练,直到第三损失函数满足预设的训练条件,此时的网络参数即为训练完成的预测网络的参数,即预测网络完成训练。所述预测网络的训练基于第三损失函数,预设的训练条件可以是第三损失函数的值低于阈值,或者第三损失函数收敛,或者是其他训练条件,本申请不做限制。

在一个实施例中,第三损失函数的形式可以是基于最小绝对值偏差的损失函数,也可以是基于最小均方值偏差的损失函数,还可以是其他形式的损失函数,本申请不做限制。第三损失函数的内容可以是预测网络输出的关键点的三维坐标与真实坐标之间的误差,也可以是其他度量,以表征预测网络输出的关键点的三维坐标的准确度。一个示例性第三损失函数可以是:

其中,Loss

基于训练好的预测网络,可以实现向编码网络输入一张不带标注的人脸图像,编码网络将处理结果发送至预测网络,预测网络输出该人脸图像关键点的三维坐标。

所属技术领域人员应当理解,为了使得训练的模型具有更好的泛化能力及更准确的预测结果,同时还防止模型过拟合,所述第一、第二和第三损失函数还可以加入正则化项,以提高训练好的模型的整体性能。

在一个实施例中,所述人脸检测的神经网络包括的编码网络、第一解码网络、第二解码网络和预测网络,编码网络、第一解码网络和第二解码网络可以是预先训练好的网络,也可以是部分网络是训练好的网络,部分网络是未训练好的网络,对于未训练好的网络的具体训练方法和所设计的损失函数,可以参见前文所述,这里不做赘述。

在一个实施例中,所述人脸检测的神经网络包括的编码网络、第一解码网络、第二解码网络和预测网络,可以都是未训练好的网络。对于各个网络的训练顺序,可以采用如下方法:

固定第二解码网络和预测网络的预设参数,对编码网络和第一解码网络的参数基于第一损失函数进行联合训练;

固定编码网络训练好的参数,对第二解码网络的参数基于第二损失函数进行训练;

固定编码网络训练好的参数,对预测网络的参数基于第三函数进行训练。

对于每个网络的具体训练方法和所设计的损失函数,可以参见前文所述,这里也不做赘述。

在上述实施例中,将标注有关键点三维坐标的人脸图像样本作为人脸检测的神经网络的输入,通过获取样本的关键点预测坐标和人脸姿态变化参数,训练所述神经网络。利用所述人脸检测的神经网络,能够得到与输入样本的关键点的预测坐标对应的人脸三维模型,进而能够实现向所述神经网络输入仅标注有少量关键点三维坐标的人脸图像样本,就可以获得该样本大量关键点的三维坐标。此外,基于训练好的编码网络和预测网络,可以实现向编码网络输入一张不带标注的人脸图像,编码网络将处理结果发送至预测网络,预测网络输出该人脸图像关键点的三维坐标,实现对未标注的人脸图像的关键点的三维坐标的检测。

如图6所示,图6是本说明书根据一示例性实施例示出的一种人脸检测的神经网络的训练方法的流程图,包括以下步骤:

在步骤602中,获取人脸图像的样本,其中,所述样本包括标注有关键点的三维坐标的人脸图像;

在步骤604中,将所述样本作为所述检测模型的输入,获取关键点的预测坐标以及人脸姿态变化参数;

在步骤606中,基于所获取的预测坐标和人脸姿态变化参数训练所述检测模型,以使训练后的检测模型输出结果为包含第一数量关键点的三维坐标,其中,第一数量大于所述样本中标注三维坐标的关键点的数量。

上述训练方法可以用在各种需要基于关键点的预测坐标和人脸姿态变化参数进行训练以获得人脸图像的关键点三维坐标的神经网络中。本申请对使用该训练方法进行训练的网络的结构不做限制。当然,本领域技术人员应当理解,所述方法也可以用在前文所述的人脸检测的神经网络的训练中。

在一个实施例中,编码网络、第一解码网络和第二解码网络可以是预先已经训练好的网络,直接由编码网络输出对输入的人脸图像样本的处理结果,并发送给第一解码网络、第二解码网络和预测网络;第一解码网络直接获取关键点的预测坐标,第二解码网络直接获取人脸姿态变化参数,只对预测网络进行训练。预测网络的具体训练方法前文已经详述,这里不再赘述。

在一个实施例中,编码网络、第一解码网络和第二解码网络可以是未训练的网络,可以采用前文所述的训练方法,对编码网络、第一解码网络、第二解码网络和预测网络进行训练。网络的具体训练方法前文已经详述,这里也不再赘述。

此外,本领域技术人员应该理解,通过上述训练方法,同样能够获取关键点的预测坐标以及人脸姿态变化参数,获取方法已在前文详述,这里不再赘述。

当上述人脸检测的神经网络完成训练,可以得到一个参数确定的编码网络和预测网络。基于参数确定的编码网络和预测网络,能够实现一种人脸检测的方法:所述编码网络获取未标注的人脸图像;所述预测网络输出人脸图像关键点的三维坐标。基于所获取的人脸图像关键点的三维坐标,能够进行三维人脸重建,如图7所示。

上述人脸检测的方法,既可以被安装在服务器上以实现对人脸图像关键点的检测,也可以将训练好的编码网络和第一解码网络安装在移动终端上,以实现在移动终端的人脸检测。

在该实施例中,利用训练好的人脸模型,能够实现向编码网络和预测网络输入未标注的人脸图像,可以获得该人脸图像关键点的三维坐标,基于关键点的三维坐标,能够进一步实现三维人脸的重建。

相应地,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。

相应地,本申请还提供一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。

本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号