人脸识别方法、装置、电子设备和存储介质
技术领域
本发明涉及人工智能技术领域,具体涉及一种人脸识别方法、装置、电子设备和存储介质。
背景技术
随着深度传感器技术的发展,实时获取目标的深度信息成为了可能。基于包含了深度信息的三维人脸识别技术,能够很好地解决二维人脸识别防作伪能力差的问题,从而进一步提升人脸识别效果,拥有广阔的应用前景。
现有技术中在运用深度数据进行人脸识别时,由于不同距离的深度数据质量参差不齐,不同深度相机会有不同的点云风格,并且人脸可能存在遮挡、空洞等情况,导致人脸识别准确率低和对不同相机的深度数据泛化能力差。
发明内容
本发明实施例提供一种人脸识别方法、装置、电子设备和存储介质,用以解决采用现有的人脸识别方法识别准确率低和对不同相机的深度数据泛化能力差的问题。
第一方面,本发明实施例提供一种人脸识别方法,包括:
确定待识别的人脸深度图;
基于所述人脸深度图,确定人脸参数化点云图;
将所述人脸参数化点云图输入至三维人脸重建网络中,得到所述三维人脸重建网络输出的三维人脸重建模型;其中,所述三维人脸重建网络是基于样本人脸参数化点云图和所述样本人脸参数化点云图对应的样本三维人脸重建模型训练得到的;
将三维人脸重建模型输入至特征提取网络,得到所述特征提取网络输出的人脸特征,所述人脸特征用于人脸识别;其中,所述特征提取网络是基于样本三维人脸重建模型和所述样本三维人脸重建模型对应的样本人脸特征训练得到的。
可选地,所述基于所述人脸深度图,确定人脸参数化点云图,具体包括:
基于所述人脸深度图,确定人脸姿态参数和人脸尺度参数;
基于所述人脸姿态参数和人脸尺度参数,对所述人脸深度图对应的人脸点云图进行转正和归一化操作,得到标准人脸尺度点云图;
基于所述标准人脸尺度点云图,确定人脸参数化点云图。
可选地,所述基于所述人脸深度图,确定人脸姿态参数和人脸尺度参数,具体包括:
将所述人脸深度图对应的人脸点云图输入至姿态估计网络中,得到所述姿态估计网络输出的人脸姿态参数和人脸尺度参数;其中,所述姿态估计网络是基于样本人脸点云图和所述样本人脸点云图对应的人脸姿态参数和人脸尺度参数训练得到的。
可选地,所述样本人脸点云图和所述样本人脸点云图对应的人脸姿态参数和人脸尺度参数是基于如下步骤得到的:
获取若干个人的多视角点云图;
对任意一个人的多视角点云图进行数据融合,得到所述任意一个人的三维人脸模型;
基于标准模板模型,对每个人的三维人脸模型进行带尺度的刚性注册,得到标准三维人脸模型数据库;
对所述标准三维人脸模型数据库中的任一标准三维人脸模型进行随机添加欧拉角、三维平移和尺度的变换,投影得到任一样本人脸点云图,将随机添加的欧拉角、三维平移作为所述任一样本人脸点云图对应的人脸姿态参数,将随机添加的尺度作为所述任一样本人脸点云图对应人脸尺度参数。
可选地,所述三维人脸重建网络的损失函数是基于三维模型真值约束损失函数,以及三维模型光滑度损失函数、三维模型对称度损失函数和正则项损失函数共同确定的;
其中,所述三维模型真值损失函数用于约束三维人脸重建网络输出模型与其多帧融合模型的相似度,所述光滑度损失函数用于约束三维人脸重建网络输出模型的光滑度,所述对称度损失函数用于约束三维人脸重建网络输出模型的对称度,所述正则项损失函数用于约束三维人脸重建网络输出模型的简化度。
可选地,所述将三维人脸重建模型输入至特征提取网络,得到所述特征提取网络输出的人脸特征,所述人脸特征用于人脸识别,具体包括:
将三维人脸重建模型与所述三维人脸重建模型对应的权重图点乘后输入至特征提取网络,得到所述特征提取网络输出的人脸特征;
其中,所述权重图是基于所述三维人脸重建模型中人脸区域的刚性程度确定的。
可选地,所述三维人脸重建网络和所述特征提取网络的训练包括第一阶段训练和第二阶段训练;
所述第一阶段训练包括基于样本人脸参数化点云图和样本三维人脸重建模型训练所述三维人脸重建网络,以及基于样本三维人脸重建模型和样本人脸特征训练所述特征提取网络;
所述第二阶段训练包括基于样本人脸参数化点云图和样本人脸特征联合训练所述三维人脸重建网络和所述特征提取网络。
第二方面,本发明实施例提供一种人脸识别装置,包括:
深度图确定单元,用于确定待识别的人脸深度图;
点云图确定单元,用于基于所述人脸深度图,确定人脸参数化点云图;
三维重建单元,用于将所述人脸参数化点云图输入至三维人脸重建网络中,得到所述三维人脸重建网络输出的三维人脸重建模型;其中,所述三维人脸重建网络是基于样本人脸参数化点云图和所述样本人脸参数化点云图对应的样本三维人脸重建模型训练得到的;
特征识别单元,用于将三维人脸重建模型输入至特征提取网络,得到所述特征提取网络输出的人脸特征,所述人脸特征用于人脸识别;其中,所述特征提取网络是基于样本三维人脸重建模型和所述样本三维人脸重建模型对应的样本人脸特征训练得到的。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的人脸识别方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的人脸识别方法的步骤。
本发明实施例提供的人脸识别方法、装置、电子设备和存储介质,通过对人脸深度图进行参数化变换和三维重建,得到的三维人脸重建模型能够反映原始点云数据的形状,去除了噪声的影响,同时保留了原始点云数据中人脸的显著特征,该方法在使用相同规模数据训练的情况下,提升了原始深度数据的质量,提高了人脸识别准确率,增强了对不同相机的深度数据的泛化能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的人脸识别方法的流程示意图;
图2为本发明实施例提供的人脸识别装置的结构示意图;
图3为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
深度数据相比于其他模态数据,在整体风格、空洞率、三维精度等方面受采集距离、相机参数的影响较大,眼镜、头发、佩饰等遮挡也会对深度数据产生带不确定性的影响。这些因素都会增加人脸识别的难度。为了解决上述问题,本发明实施例提供了一种人脸识别方法。图1为本发明实施例提供的人脸识别方法的流程示意图,如图1所示,该方法包括:
步骤101,确定待识别的人脸深度图;
具体地,人脸深度图是指包含了从图像采集器到人脸各点距离值的图像。人脸深度图可以通过结构光相机获取,也可以通过其他类型的深度相机获取。本发明实施例对人脸深度图的获取方式不做具体限定。
步骤102,基于人脸深度图,确定人脸参数化点云图;
具体地,深度图经过坐标变换计算可以得到点云图。根据相机参数和/或人脸参数,对人脸点云图进行参数化处理得到人脸参数化点云图。人脸参数化点云图用于人脸三维模型的重建。
步骤103,将人脸参数化点云图输入至三维人脸重建网络中,得到三维人脸重建网络输出的三维人脸重建模型;其中,三维人脸重建网络是基于样本人脸参数化点云图和样本人脸参数化点云图对应的样本三维人脸重建模型训练得到的;
具体地,三维人脸重建网络用于对输入的人脸参数化点云图进行三维重建,得到数据质量提升后的三维人脸重建模型。三维人脸重建模型对应的区域和人脸参数化点云图接近程度很高,能够反映原始点云数据的形状。作为优选,在三维人脸重建模型的生成过程中可以参考先验信息,此处的先验信息可以是人脸的对称性和三维人脸重建模型的光滑度等。相比于原始点云数据,三维人脸重建模型去除了噪声的影响,同时保留了原始点云数据中人脸的显著特征,受细节的影响较小,对不同相机的深度数据具有较强的泛化能力。
三维人脸重建网络可以选择变分自编码器网络(Variational Auto-Encoder,VAE),也可以选择其他类型的网络,本发明实施例对此不做具体限定。
下面通过举例来说明。例如,三维人脸重建网络选择变分自编码器网络,则三维人脸重建网络的输入为人脸参数化点云图,输出为三维人脸重建模型。三维人脸重建模型具有固定的拓扑(相同的面片、顶点数),顶点坐标可以用Geo表示(是一个N*3的矩阵)。变分自编码器网络中编码器模块对输入的人脸参数化点云图进行编码,得到模型参数化系数coeff,变分自编码器网络中解码器网络将模型参数化系数coeff解码为三维模型Geo(由均值模型变形得到,形变坐标记为Offset),其中Geo中每一元素为三维人脸重建模型中的顶点坐标。变分自编码器网络实现了三维人脸模型的重建,既消除了噪声的影响,又保留了点云数据中人脸的显著特征。
在执行步骤103之前,可以预先训练得到三维人脸重建网络,具体可以通过如下方式训练得到三维人脸重建网络:首先,收集大量样本人脸参数化点云图和样本人脸参数化点云图对应的样本三维人脸重建模型。随即,将样本人脸参数化点云图和样本三维人脸重建模型输入初始网络进行训练,从而得到三维人脸重建网络。
步骤104,将三维人脸重建模型输入至特征提取网络,得到特征提取网络输出的人脸特征,人脸特征用于人脸识别;其中,特征提取网络是基于样本三维人脸重建模型和样本三维人脸重建模型对应的样本人脸特征训练得到的。
具体地,特征提取网络用于提取三维人脸重建模型中的人脸特征,提取到的人脸特征去除了原始深度数据中噪声的影响,表征人脸特征的能力更强,从而提高了在人脸识别过程中的识别正确率。
在执行步骤104之前,可以预先训练得到特征提取网络,具体可以通过如下方式训练得到特征提取网络:首先,收集大量样本三维人脸重建模型和样本三维人脸重建模型对应的样本人脸特征。随即,将样本三维人脸重建模型和样本人脸特征输入初始网络进行训练,从而得到特征提取网络。
特征提取网络可以选用卷积神经网络,也可以选择其他类型的网络,本发明实施例对此不做具体限定。
本发明实施例提供的人脸识别方法,通过对人脸深度图进行参数化变换和三维重建,得到的三维人脸重建模型能够反映原始点云数据的形状,去除了噪声的影响,同时保留了原始点云数据中人脸的显著特征,该方法在使用相同规模数据训练的情况下,提升了原始深度数据的质量,提高了人脸识别准确率,增强了对不同相机的深度数据的泛化能力。
基于上述实施例,步骤102具体包括:
基于人脸深度图,确定人脸姿态参数和人脸尺度参数;
基于人脸姿态参数和人脸尺度参数,对人脸深度图对应的人脸点云图进行转正和归一化操作,得到标准人脸尺度点云图;
基于标准人脸尺度点云图,确定人脸参数化点云图。
具体地,根据人脸深度图,可以确定人脸姿态参数和人脸尺度参数。其中,人脸姿态参数可以表示为欧拉角和三维平移。
对人脸深度图对应的人脸点云图进行转正和归一化操作,可以用公式表示为:
normalize_v=inv(R)*(v-trans)/scale
式中,v为人脸深度图对应的人脸点云图对应的三维坐标,normalize_v为标准人脸尺度点云图的三维坐标,R为旋转矩阵,trans为三维平移,scale为人脸尺度参数。旋转矩阵R是由欧拉角euler进行计算得到的。Inv(R)为旋转矩阵R的矩阵求逆运算。
对于转正和归一化操作后得到的标准人脸尺度点云图中的点,求取其对应的柱面坐标,可以用公式表示为:
u=arctan(wx/wz)*c+d
v=wy*a+d
式中,标准人脸尺度点云图中的点坐标为(wx,wy,wz),其对应的柱面坐标为(u,v),参数a、b、c和d为系统常数,可以根据实际需要设置,本发明实施例对参数的设定不做具体限定。
由柱面坐标可以得到用于投影的深度数组,可以用公式表示为:
x=u*w
y=(1-v)*h
式中,投影的像素坐标为(x,y),w为人脸参数化点云图的宽度,h为人脸参数化点云图的高度。
通过标准人脸尺度点云图中的每一点(wx,wy,wz)对应的投影坐标(x,y),运用Z-buffer(Z缓存)投影方法得到人脸参数化点云图。
基于上述任一实施例,基于人脸深度图,确定人脸姿态参数和人脸尺度参数,具体包括:
将人脸深度图对应的人脸点云图输入至姿态估计网络中,得到姿态估计网络输出的人脸姿态参数和人脸尺度参数;其中,姿态估计网络是基于样本人脸点云图和样本人脸点云图对应的人脸姿态参数和人脸尺度参数训练得到的。
具体地,将得到的深度图基于相机内部参数进行坐标变换后得到点云图,在深度图中检测到人脸位置后,相应地在点云图中裁剪出人脸点云图。此外,人脸点云图也可以根据已有的人脸深度图进行坐标变换后得到。本发明实施例对人脸点云图的生成方式不做具体限定。
在人脸点云图输入姿态估计网络之前,还可以对人脸点云图中的点云数据进行预处理,将点云数据的三维坐标归一化到[-1,1]之间,坐标归一化操作可以用公式表示为:
x′=(2*x-xmin-xmax)/(xmax-xmin)
y′=(2*y-ymin-ymax)/(ymax-ymin)
z′=(2*z-zmin-zmax)/(zmax-zmin)
式中,人脸点云图中的点云数据三维坐标为(x,y,z),xmax和xmin分别为人脸点云图中的点云数据x轴坐标中的最大值和最小值,ymax和ymin分别为人脸点云图中的点云数据y轴坐标中的最大值和最小值,zmax和zmin分别为人脸点云图中的点云数据z轴坐标中的最大值和最小值,人脸点云图中的点云数据归一化后三维坐标为(x’,y’,z’)。
姿态估计网络用于从输入的人脸点云图中提取人脸点云图对应的人脸姿态参数和人脸尺度参数,提取出的人脸姿态参数和人脸尺度参数用于对人脸深度图对应的人脸点云图进行转正和归一化等参数化操作,进而得到用于三维重建的人脸参数化点云图。
在提取人脸姿态参数和人脸尺度参数之前,可以预先训练得到姿态估计网络,具体可以通过如下方式训练得到姿态估计网络:首先,收集大量样本人脸点云图和样本人脸点云图对应的人脸姿态参数和人脸尺度参数。随即,将样本人脸点云图和样本人脸点云图对应的人脸姿态参数和人脸尺度参数输入初始网络进行训练,从而得到姿态估计网络。本发明实施例对姿态估计网络的类型不做具体限定。
用于训练姿态估计网络的损失函数可以表示为:
Lossztgj=w1*|euler-euler_gt|+w2*|trans-trans_gt|+w3*|scale-scale_gt|
式中,Lossztgj为姿态估计网络的损失函数,euler为欧拉角预测值,euler_gt为欧拉角真实值,trans为三维平移预测值,trans_gt为三维平移真实值,scale为尺度预测值,scale_gt为尺度真实值,w1、w2和w3分别为欧拉角损失、三维平移损失和尺度损失对应的权值。
基于上述任一实施例,样本人脸点云图和样本人脸点云图对应的人脸姿态参数和人脸尺度参数是基于如下步骤得到的:
获取若干个人的多视角点云图;
对任意一个人的多视角点云图进行数据融合,得到任意一个人的三维人脸模型;
基于标准模板模型,对每个人的三维人脸模型进行带尺度的刚性注册,得到标准三维人脸模型数据库;
对标准三维人脸模型数据库中的任一标准三维人脸模型进行随机添加欧拉角、三维平移和尺度的变换,投影得到任一样本人脸点云图,将随机添加的欧拉角、三维平移作为任一样本人脸点云图对应的人脸姿态参数,将随机添加的尺度作为任一样本人脸点云图对应人脸尺度参数。
具体地,可以通过深度相机分别获取若干个人的多视角点云图,从而构建基础数据库。通过kinectFusion的方法,对基础数据库中任意一个人的多视角点云图进行数据融合,得到任意一个人的三维人脸模型,从而生成大量的三维人脸模型。
根据标准模板模型,对每个人的三维人脸模型进行带尺度的刚性注册,得到标准三维人脸模型数据库。
从标准三维人脸模型数据库中选择一个标准三维人脸模型进行随机添加欧拉角、三维平移和尺度的变换,通过Z-buffer方式进行投影,得到相应的样本人脸点云图。
对标准三维人脸模型进行随机添加欧拉角、三维平移和尺度的变换可以用公式表示为:
V=scale*R*v+trans
式中,v为标准三维人脸模型,V为随机变换后的三维人脸模型,trans为添加的三维平移,scale为添加的尺度,R为旋转矩阵,旋转矩阵R是由添加的欧拉角euler确定的。
其中,将随机添加的欧拉角euler、三维平移trans作为该样本人脸点云图对应的人脸姿态参数,将随机添加的尺度scale作为该样本人脸点云图对应人脸尺度参数。
本发明实施例提供的人脸识别方法,通过构建标准三维人脸模型数据库,在标准三维人脸模型中随机添加欧拉角、三维平移和尺度的变换从而实现样本的获取,解决了人脸点云图的姿态和尺度难以直接标定的问题,保证了样本的准确性,进而保证了姿态估计网络的训练效果。
基于上述任一实施例,三维人脸重建网络的损失函数是基于三维模型真值约束损失函数,以及光滑度损失函数、对称度损失函数和正则项损失函数共同确定的;
其中,三维模型真值损失函数用于约束三维人脸重建网络输出模型与其多帧融合模型的相似度,光滑度损失函数用于约束三维人脸重建网络输出模型的光滑度,对称度损失函数用于约束三维人脸重建网络输出模型的对称度,正则项损失函数用于约束三维人脸重建网络输出模型的简化度。
具体地,三维模型真值损失函数用于约束三维人脸重建网络输出模型与其多帧融合模型的相似度,可以用公式表示为:
式中,lossrec为三维模型真值损失函数,Geo(i)表示三维人脸重建模型形状矩阵Geo中第i个点的坐标预测值,Geogt(i)表示三维人脸重建模型形状矩阵Geo中第i个点的坐标真实值,wi为Geo中第i个点的坐标对应的计算权重。
光滑度损失函数用于约束三维人脸重建网络输出模型的光滑度,可以用公式表示为:
式中,losssym为光滑度损失函数,offset(left_id)为三维人脸重建模型选取点left_id的形变坐标,offset(right_id)为三维人脸重建模型选取点right_id的形变坐标。
对称度损失函数用于约束三维人脸重建网络输出模型的对称度,可以用公式表示为:
losssm=|Lap(offset)|
式中,losssm为对称度损失函数,Lap(offset)为三维人脸重建模型形变矩阵的拉普拉斯坐标。
正则项损失函数用于约束三维人脸重建网络输出模型的简化度,也即使三维人脸重建网络输出模型简化,不出现奇怪的形状,可以用公式表示为:
式中,lossreg为正则项损失函数,offseti为三维人脸重建模型第i个点的形变坐标。
三维人脸重建网络的损失函数是基于三维模型损失函数,以及光滑度损失函数、对称度损失函数和正则项损失函数共同确定的,可以用公式表示为:
Lossswcj=w1*lossrec+w2*losssym+w3*losssm+w4*lossreg
式中,Lossswcj为三维人脸重建网络的损失函数,w1、w2、w3和w4分别为三维模型真值损失函数lossrec、光滑度损失函数losssym、对称度损失函数losssm和正则项损失函数lossreg对应的权值。
本发明实施例提供的人脸识别方法,通过在三维人脸重建模型的生成过程中加入人脸的对称性和三维人脸重建模型的光滑度等先验信息的约束,显式地捕捉了点云的粗粒度特征,受细节的影响较小,增强了三维人脸重建模型的泛化能力。
基于上述任一实施例,将三维人脸重建模型输入至特征提取网络,得到特征提取网络输出的人脸特征,人脸特征用于人脸识别,具体包括:
将三维人脸重建模型与三维人脸重建模型对应的权重图点乘后输入至特征提取网络,得到特征提取网络输出的人脸特征;
其中,权重图是基于三维人脸重建模型中人脸区域的刚性程度确定的。
具体地,将三维人脸重建模型输入至特征提取网络,具体是将三维人脸重建模型处理成参数化形式的点云图后输入至特征提取网络。
对其中任意一个三维人脸重建模型做参数化展开,记录每个像素与三维人脸重建模型顶点以及面片的对应关系,由于三维人脸重建网络输出的三维人脸重建模型具有相同的拓扑,因此,三维人脸重建网络输出的所有模型都可以根据任意一个三维人脸重建模型做参数化展开得到的对应关系重新排列成点云图的形式。
根据任一三维人脸重建模型中人脸区域的刚性程度,构造相对应的权重图,适当地降低人脸中嘴巴等非刚性区域的权重,将该三维人脸重建模型与该三维人脸重建模型对应的权重图点乘后输入至特征提取网络,能够显式地减小嘴巴等区域上的方差,提高了人脸识别的效果。
基于上述任一实施例,三维人脸重建网络和特征提取网络的训练包括第一阶段训练和第二阶段训练;
第一阶段训练包括基于样本人脸参数化点云图和样本三维人脸重建模型训练三维人脸重建网络,以及基于样本三维人脸重建模型和样本人脸特征训练特征提取网络;
第二阶段训练包括基于样本人脸参数化点云图和样本人脸特征联合训练三维人脸重建网络和特征提取网络。
具体地,第一阶段训练包括基于样本人脸参数化点云图和样本三维人脸重建模型训练三维人脸重建网络,以及基于样本三维人脸重建模型和样本人脸特征训练特征提取网络。作为优选,三维人脸重建网络损失函数可以采用上述实施例中三维人脸重建网络的损失函数Lossswcj,特征提取网络损失函数可以采用ACMSoftmax。
第二阶段训练是根据样本人脸参数化点云图和样本人脸特征联合训练三维人脸重建网络和特征提取网络。作为优选,联合训练的损失函数可以采用Triplet-loss。
本发明实施例提供的人脸识别方法,通过两阶段训练三维人脸重建网络和特征提取网络的方式,进一步地消除原始深度数据受采集距离、相机精度等因素的影响,显著地提升了原始深度数据的质量。
基于上述任一实施例,图2为本发明实施例提供的人脸识别装置的结构示意图,如图2所示,该装置包括:
深度图确定单元201,用于确定待识别的人脸深度图;
点云图确定单元202,用于基于人脸深度图,确定人脸参数化点云图;
三维重建单元203,用于将人脸参数化点云图输入至三维人脸重建网络中,得到三维人脸重建网络输出的三维人脸重建模型;其中,三维人脸重建网络是基于样本人脸参数化点云图和样本人脸参数化点云图对应的样本三维人脸重建模型训练得到的;
特征识别单元204,用于将三维人脸重建模型输入至特征提取网络,得到特征提取网络输出的人脸特征,人脸特征用于人脸识别;其中,特征提取网络是基于样本三维人脸重建模型和样本三维人脸重建模型对应的样本人脸特征训练得到的。
具体地,深度图确定单元201,用于确定待识别的人脸深度图。点云图确定单元202,用于基于人脸深度图,确定人脸参数化点云图。
三维重建单元203,用于将人脸参数化点云图输入至三维人脸重建网络中,得到三维人脸重建网络输出的三维人脸重建模型。
三维人脸重建网络用于对输入的人脸参数化点云图进行三维重建,得到数据质量提升后的三维人脸重建模型。三维人脸重建模型对应的区域和人脸参数化点云图接近程度很高,能够反映原始点云数据的形状。作为优选,在三维人脸重建模型的生成过程中可以参考先验信息,此处的先验信息可以是人脸的对称性和三维人脸重建模型的光滑度等。相比于原始点云数据,三维人脸重建模型去除了噪声的影响,同时保留了原始点云数据中人脸的显著特征,受细节的影响较小,对不同相机的深度数据具有较强的泛化能力。
三维人脸重建网络可以通过预先训练得到,具体可以通过如下方式训练得到三维人脸重建网络:首先,收集大量样本人脸参数化点云图和样本人脸参数化点云图对应的样本三维人脸重建模型。随即,将样本人脸参数化点云图和样本三维人脸重建模型输入初始网络进行训练,从而得到三维人脸重建网络。
特征识别单元204,用于将三维人脸重建模型输入至特征提取网络,得到特征提取网络输出的人脸特征,人脸特征用于人脸识别。
特征提取网络用于提取三维人脸重建模型中的人脸特征,提取到的人脸特征去除了原始深度数据中噪声的影响,表征人脸特征的能力更强,从而提高了在人脸识别过程中的识别正确率。
特征提取网络可以通过预先训练得到,具体可以通过如下方式训练得到特征提取网络:首先,收集大量样本三维人脸重建模型和样本三维人脸重建模型对应的样本人脸特征。随即,将样本三维人脸重建模型和样本人脸特征输入初始网络进行训练,从而得到特征提取网络。
本发明实施例提供的人脸识别装置,通过对人脸深度图进行参数化变换和三维重建,得到的三维人脸重建模型能够反映原始点云数据的形状,去除了噪声的影响,同时保留了原始点云数据中人脸的显著特征,该装置在使用相同规模数据训练的情况下,提升了原始深度数据的质量,提高了人脸识别准确率,增强了对不同相机的深度数据的泛化能力。
基于上述任一实施例,点云图确定单元202具体包括:
参数确定子单元,用于基于人脸深度图,确定人脸姿态参数和人脸尺度参数;
标准化子单元,用于基于人脸姿态参数和人脸尺度参数,对人脸深度图对应的人脸点云图进行转正和归一化操作,得到标准人脸尺度点云图;
参数化子单元,用于基于标准人脸尺度点云图,确定人脸参数化点云图。
基于上述任一实施例,参数确定子单元具体用于:
将人脸深度图对应的人脸点云图输入至姿态估计网络中,得到姿态估计网络输出的人脸姿态参数和人脸尺度参数;其中,姿态估计网络是基于样本人脸点云图和样本人脸点云图对应的人脸姿态参数和人脸尺度参数训练得到的。
基于上述任一实施例,样本人脸点云图和样本人脸点云图对应的人脸姿态参数和人脸尺度参数是基于如下步骤得到的:
获取若干个人的多视角点云图;
对任意一个人的多视角点云图进行数据融合,得到任意一个人的三维人脸模型;
基于标准模板模型,对每个人的三维人脸模型进行带尺度的刚性注册,得到标准三维人脸模型数据库;
对标准三维人脸模型数据库中的任一标准三维人脸模型进行随机添加欧拉角、三维平移和尺度的变换,投影得到任一样本人脸点云图,将随机添加的欧拉角、三维平移作为任一样本人脸点云图对应的人脸姿态参数,将随机添加的尺度作为任一样本人脸点云图对应人脸尺度参数。
基于上述任一实施例,三维人脸重建网络的损失函数是基于三维模型真值约束损失函数,以及光滑度损失函数、对称度损失函数和正则项损失函数共同确定的;
其中,三维模型真值损失函数用于约束三维人脸重建网络输出模型与其多帧融合模型的相似度,光滑度损失函数用于约束三维人脸重建网络输出模型的光滑度,对称度损失函数用于约束三维人脸重建网络输出模型的对称度,正则项损失函数用于约束三维人脸重建网络输出模型的简化度。
基于上述任一实施例,特征识别单元204具体用于:
将三维人脸重建模型与三维人脸重建模型对应的权重图点乘后输入至特征提取网络,得到特征提取网络输出的人脸特征;
其中,权重图是基于三维人脸重建模型中人脸区域的刚性程度确定的。
基于上述任一实施例,三维人脸重建网络和特征提取网络的训练包括第一阶段训练和第二阶段训练;
第一阶段训练包括基于样本人脸参数化点云图和样本三维人脸重建模型训练三维人脸重建网络,以及基于样本三维人脸重建模型和样本人脸特征训练特征提取网络;
第二阶段训练包括基于样本人脸参数化点云图和样本人脸特征联合训练三维人脸重建网络和特征提取网络。
基于上述任一实施例,图3为本发明实施例提供的电子设备的结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、通信接口(CommunicationsInterface)304、存储器(memory)302和通信总线303,其中,处理器301,通信接口304,存储器302通过通信总线303完成相互间的通信。处理器301可以调用存储器302中的逻辑指令,以执行如下方法:确定待识别的人脸深度图;基于人脸深度图,确定人脸参数化点云图;将人脸参数化点云图输入至三维人脸重建网络中,得到三维人脸重建网络输出的三维人脸重建模型;其中,三维人脸重建网络是基于样本人脸参数化点云图和样本人脸参数化点云图对应的样本三维人脸重建模型训练得到的;将三维人脸重建模型输入至特征提取网络,得到特征提取网络输出的人脸特征,人脸特征用于人脸识别;其中,特征提取网络是基于样本三维人脸重建模型和样本三维人脸重建模型对应的样本人脸特征训练得到的。
此外,上述的存储器302中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例提供的非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时上述各实施例提供的方法,例如包括:确定待识别的人脸深度图;基于人脸深度图,确定人脸参数化点云图;将人脸参数化点云图输入至三维人脸重建网络中,得到三维人脸重建网络输出的三维人脸重建模型;其中,三维人脸重建网络是基于样本人脸参数化点云图和样本人脸参数化点云图对应的样本三维人脸重建模型训练得到的;将三维人脸重建模型输入至特征提取网络,得到特征提取网络输出的人脸特征,人脸特征用于人脸识别;其中,特征提取网络是基于样本三维人脸重建模型和样本三维人脸重建模型对应的样本人脸特征训练得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。