基于连续帧图像的人脸识别方法、电子设备及存储介质转让专利

申请号 : CN202111602171.8

文献号 : CN114267067B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱海涛寇鸿斌陈智超户磊

申请人 : 合肥的卢深视科技有限公司

摘要 :

本发明实施例涉及人脸识别领域,公开了一种基于连续帧图像的人脸识别方法、电子设备及存储介质,获取待识别人脸摇头时的连续帧深度图像;形成每种人脸关键点时空坐标序列;以水平方向的转折点作为分界线,将各时空坐标序列分成多个序列段,得到各序列段的时空曲线;针对相对人脸竖向中心线对称分布的任意两种人脸关键点的时空曲线,将深度方向的空间坐标为相同值时的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离相同时的相同时间点作为正脸时刻,确定正脸时刻下各种人脸关键点的深度值;基于已注册人脸的人脸关键点的深度值,确定待识别人脸的身份,从而能够提高对于大角度人脸的识别精度。

权利要求 :

1.一种基于连续帧图像的人脸识别方法,其特征在于,包括:

获取待识别人脸沿水平方向摇头时的连续帧深度图像;

标注所述连续帧深度图像中多种人脸关键点的时空坐标,并形成每种人脸关键点的时空坐标序列;

针对各所述时空坐标序列,以水平方向的空间坐标随时间变化的转折点作为分界线,将所述时空坐标序列分为多个序列段;

对每个所述序列段中的时空坐标进行曲线拟合,得到该序列段的时空曲线;

针对相对人脸竖向中心线对称分布的任意两种所述人脸关键点的所述时空曲线,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种所述人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻,并根据各所述时空曲线中所述正脸时刻下深度方向的空间坐标,确定所述正脸时刻下各种所述人脸关键点的深度值;

基于待识别人脸在所述正脸时刻下各种所述人脸关键点的深度值,以及已注册人脸对应的各种所述人脸关键点的深度值,确定待识别人脸的身份。

2.根据权利要求1所述的方法,其特征在于,所述针对各所述时空坐标序列,以水平方向的空间坐标随时间变化的转折点作为分界线,将所述时空坐标序列分为多个序列段,包括:针对各所述时空坐标序列,去除以水平方向的空间坐标随时间变化的转折点所对应的时空坐标;

以所述转折点作为分界线,将剩下的所述时空坐标序列分为多个所述序列段。

3.根据权利要求1所述的方法,其特征在于,所述对每个所述序列段中的时空坐标进行曲线拟合,得到该序列段的时空曲线,包括:对每个所述序列段中的时空坐标采用最小二乘法多项式曲线拟合,得到该序列段的时空曲线。

4.根据权利要求1所述的方法,其特征在于,所述针对相对人脸竖向中心线对称分布的任意两种所述人脸关键点的所述时空曲线,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种所述人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻,并根据各所述时空曲线中所述正脸时刻下深度方向的空间坐标,确定所述正脸时刻下各种所述人脸关键点的深度值,包括:针对相对人脸竖向中心线对称分布的任意两种所述人脸关键点的多组所述时空曲线,分别将每组所述时空曲线中深度方向的空间坐标为相同值时对应的相同时间点作为一个所述正脸时刻,或者将水平方向的空间坐标到任一种所述人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为一个所述正脸时刻;

将各所述时空曲线中所述正脸时刻下深度方向的空间坐标作为一个候选深度值,并根据所述正脸时刻下每种所述人脸关键点对应的多个所述候选深度值,确定所述正脸时刻下每种所述人脸关键点深度值。

5.根据权利要求1所述的方法,其特征在于,所述基于待识别人脸在所述正脸时刻下各种所述人脸关键点的深度值,以及已注册人脸对应的各种所述人脸关键点的深度值,确定待识别人脸的身份,包括:将所述待识别人脸在所述正脸时刻下各种所述人脸关键点的深度值输入至预先训练的特征提取模型,得到识别特征;

将所述识别特征与已注册人脸对应的各种所述人脸关键点的深度值经所述特征提取模型得到的注册特征进行比对,并根据比对结果确定所述待识别人脸的身份。

6.根据权利要求5所述的方法,其特征在于,所述将所述待识别人脸在所述正脸时刻下各种所述人脸关键点的深度值输入至预先训练的特征提取模型,得到识别特征,包括:对所述待识别人脸在所述正脸时刻下各种所述人脸关键点的深度值进行归一化,并将归一化的深度值输入至预先训练的特征提取模型,得到识别特征。

7.根据权利要求6所述的方法,其特征在于,所述特征提取模型的训练过程包括:获取多张包含不同人正脸的人脸深度图像中所述多种人脸关键点的深度值;

以同一人的两张所述人脸深度图像中的人脸关键点的深度值分别作为锚定样本、正样本,以该同一人以外其他人的一张所述人脸深度图像中的人脸关键点的深度值作为负样本,形成一组训练样本;

以归一化后的所述训练样本为输入、所述训练样本中各类样本的特征值为输出,构建所述特征提取模型,并对所述特征提取模型进行训练;

其中,对所述特征提取模型进行训练所采用的损失函数基于所述锚定样本、所述正样本对应的所述特征值之间的第一损失,以及所述锚定样本、所述负样本对应的所述特征值之间的第二损失构建。

8.根据权利要求7所述的方法,其特征在于,所述损失函数的构建包括:根据如下公式构建所述损失函数:

Loss=loss_same+loss_diff

其中,loss为所述损失函数的损失值,loss_same为所述第一损失,loss_diff为所述第二损失,Pai、Ppi、Pni依次为第i组训练样本中所述锚定样本a、所述正样本p、所述负样本n对应的所述特征值,m为训练样本组数量。

9.一种电子设备,其特征在于,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一项所述的基于连续帧图像的人脸识别方法。

10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的基于连续帧图像的人脸识别方法。

说明书 :

基于连续帧图像的人脸识别方法、电子设备及存储介质

技术领域

[0001] 本发明涉及人脸识别领域,特别涉及一种基于连续帧图像的人脸识别方法、电子设备及存储介质。

背景技术

[0002] 随着人工智能技术的飞速发展,人脸识别已经成为一种重要的人机交互方式,被广泛地应用于安防监控、智能支付、社交媒体、医疗等领域。然而,当现有的人脸识别系统遇到大角度人脸的时候,由于正面人脸和大角度人脸的特征差别较大,且在进行人脸识别时无法保证待识别的人脸图像严格为正面人脸,从而导致现有的人脸识别系统匹配效果不理想,进而降低了人脸识别精度。
[0003] 因此,亟需一种对于大角度人脸识别精度高的人脸识别方法。

发明内容

[0004] 本发明实施方式的目的在于提供一种基于连续帧图像的人脸识别方法、电子设备及存储介质,能够提高对于大角度人脸的识别精度。
[0005] 为解决上述技术问题,本发明的实施方式提供了一种基于连续帧图像的人脸识别方法,包括:
[0006] 获取待识别人脸沿水平方向摇头时的连续帧深度图像;
[0007] 标注所述连续帧深度图像中多种人脸关键点的时空坐标,并形成每种人脸关键点的时空坐标序列;
[0008] 针对各所述时空坐标序列,以水平方向的空间坐标随时间变化的转折点作为分界线,将所述时空坐标序列分为多个序列段;
[0009] 对每个所述序列段中的时空坐标进行曲线拟合,得到该序列段的时空曲线;
[0010] 针对相对人脸竖向中心线对称分布的任意两种所述人脸关键点的所述时空曲线,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种所述人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻,并根据各所述时空曲线中所述正脸时刻下深度方向的空间坐标,确定所述正脸时刻下各种所述人脸关键点的深度值;
[0011] 基于待识别人脸在所述正脸时刻下各种所述人脸关键点的深度值,以及已注册人脸对应的各种所述人脸关键点的深度值,确定待识别人脸的身份。
[0012] 本发明的实施方式还提供了一种电子设备,包括:
[0013] 至少一个处理器;以及,
[0014] 与所述至少一个处理器通信连接的存储器;其中,
[0015] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的基于连续帧图像的人脸识别方法。
[0016] 本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于连续帧图像的人脸识别方法。
[0017] 本发明实施方式相对于现有技术而言,通过获取待识别人脸沿水平方向摇头时的连续帧深度图像;标注连续帧深度图像中多种人脸关键点的时空坐标,并形成每种人脸关键点的时空坐标序列;针对各时空坐标序列,以水平方向的空间坐标随时间变化的转折点作为分界线,将时空坐标序列分为多个序列段;对每个序列段中的时空坐标进行曲线拟合,得到该序列段的时空曲线;针对相对人脸竖向中心线对称分布的任意两种人脸关键点的时空曲线,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻,并根据各时空曲线中所述正脸时刻下深度方向的空间坐标,确定正脸时刻下各种人脸关键点的深度值;基于待识别人脸在正脸时刻下各种人脸关键点的深度值,以及已注册人脸对应的各种人脸关键点的深度值,确定待识别人脸的身份。本方案基于人脸摇头时拍摄的连续深度图像拟合人脸关键点的时空曲线,从相对人脸竖向中心线对称分布的任意两种人脸关键点的时空曲线中,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻,并利用正脸时刻下各人脸关键点的深度信息进行人脸识别,从而提高对于大角度人脸的识别精度。

附图说明

[0018] 图1是根据本发明实施方式的基于连续帧图像的人脸识别方法的具体流程图一;
[0019] 图2是根据本发明实施方式的基于连续帧图像的人脸识别方法的具体流程图二;
[0020] 图3是根据本发明实施方式的基于连续帧图像的人脸识别方法的具体流程图三;
[0021] 图4是根据本发明实施方式的基于连续帧图像的人脸识别方法的具体流程图四;
[0022] 图5是根据本发明实施方式的特征提取模型的训练方法流程图;
[0023] 图6是根据本发明实施方式的特征提取模型的网络结构示意图;
[0024] 图7是根据本发明实施方式的电子设备的结构示意图。

具体实施方式

[0025] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0026] 本发明的一实施方式涉及一种基于连续帧图像的人脸识别方法,如图1所示,本实施例提供的基于连续帧图像的人脸识别方法,包括如下步骤。
[0027] 步骤101:获取待识别人脸沿水平方向摇头时的连续帧深度图像。
[0028] 具体地,可以使用深度相机连续拍摄人脸沿水平方向摇头时的多张连续帧的人脸深度图像。在实际拍摄过程中,为了保证后续的图像处理的精度,尽可能使人脸的姿态角度,仅在人脸的方位角上发生变化(人脸沿水平方向摇头对应的角度变化),而保证人脸的俯仰角和翻滚角基本不变。例如,可通过在采集深度图像之前,提醒被采集人端正人脸姿态,眼睛平视前方,正对摄像头,之后再指示被采集人尽可能缓慢且匀速进行左右摇头(可以是多次反复摇头)。在摇头过程中,深度相机连续拍照,得到连续帧的深度图像,形成按时间顺序的深度图像序列Gt,t为采集深度图像Gt对应的采集时刻。
[0029] 步骤102:标注连续帧深度图像中多种人脸关键点的时空坐标,并形成每种人脸关键点的时空坐标序列。
[0030] 具体地,本实施例中针对人脸的五官位置(如左眼角、右眼角、鼻尖、左嘴角、右嘴角等位置)标注大量的关键点,并通过图像检测将连续帧的深度图像中的同名的人脸关键点归属为同一种类下的人脸关键点,不同名的人脸关键点归属为不同种类下的人脸关键点。针对每一种类下的人脸关键点,标注这些人脸关键点在上述连续帧深度图像中的时空坐标。其中,每一个时空坐标包含四个维度,即一个时间维度(时间坐标(t))和三个空间维度(空间坐标(x,y,z)),x、y、z依次为水平方向、竖直方向、深度方向的空间坐标)。在每帧深度图像中,任一人脸关键点的时空坐标中的时间坐标为当前帧深度图像的采集时刻t,空间坐标x、y、z依次为该人脸关键点在当前帧深度图像中的横坐标、纵坐标和深度坐标。
[0031] 在标注出连续帧深度图像中预设的多种人脸关键点的时空坐标后,可对不同种类的人脸关键点的时空坐标分别进行统计,并以时间先后顺序对每一个种类的人脸关键点的时空坐标进行排序,得到每种人脸关键点的时空坐标序列。
[0032] 步骤103:针对各时空坐标序列,以水平方向的空间坐标随时间变化的转折点作为分界线,将时空坐标序列分为多个序列段。
[0033] 具体地,由于各时空坐标序列是基于人脸沿水平方向摇头产生的,人脸沿水平方向往复摇头时,各关键点的空间坐标中的水平方向的坐标值就会从小到大,再从大到小反复变化。基于此,针对各时空坐标序列中的时空坐标,确定出水平方向的空间坐标随时间变化的转折点,即从小变大后再变小的转折点,以及从大变小后再变大的转折点。然后以这些转折点为边界将时空坐标序列分为多个序列段。
[0034] 步骤104:对每个序列段中的时空坐标进行曲线拟合,得到该序列段的时空曲线。
[0035] 具体地,可对每个序列段中的时空坐标进行曲线拟合,得到一条空间曲线作为该序列段的时空曲线。
[0036] 在一个例子中,可对每个序列段中的时空坐标采用最小二乘法多项式曲线拟合,得到该序列段的时空曲线。具体拟合过程如下。
[0037] 采用最小二乘法的二项式方程拟合曲线,每个时空坐标(x,y,z,t)在空间坐标X、Y、Z轴的值表达为:
[0038] X=a0+a1t+a2t2+a3t3+…+aktk
[0039] Y=b0+b1t+b2t2+b3t3+…+bktk…………………………(1)
[0040] Z=c0+c1t+c2t2+c3t3+…+cktk
[0041] 以X轴为例,只需求出系数A=[a0,a1,a2,a3,…,ak],即可获得x坐标值随时间变化的曲线。这里的k可取经验值9。
[0042] 本方案采用的拟合判别标准为偏差平方和最小:拟合的曲线与实际值差值的平方和最小即认为拟合曲线符合要求。即:
[0043]
[0044]
[0045]
[0046] 其中, 依次为坐标轴X、Y、Z上的拟合的曲线(t的函数),δxi、δyi、δzi依次为拟合的曲线 在第i个时间坐标ti上的坐标值 与第i个时间坐标ti上的实际值xi、yi、zi的差值,m为拟合用的时空坐标点数量。
[0047] 经推导可获得:
[0048]
[0049]
[0050]
[0051] 其中,设
[0052] 公式构建完毕,继续进行如下计算。
[0053] 针对上述任一序列段中的时空坐标,将非首个时空坐标的时间值分别与第一个时空坐标的时间作差,并将差值更新作为该非首个时空坐标的时间坐标值t,然后将首个时空坐标的时间坐标值设置为0。之后,以更新后的序列段中的时空坐标[x,y,z,t]拟合出空间坐标值(x,y,z)关于时间的轨迹变化曲线,即拟合出一条空间拟合曲线,使序列段中的每个时空坐标[x,y,z,t]中的空间坐标(x,y,z)与拟合曲线上对应时刻的空间坐标作差,并利用各差值的平方和最小拟合得到系数A、B、C。
[0054] 拟合方式仅需要带入各序列段中的实际值[x,y,z,t],求出(3)、(4)(5)式中矩阵中的相应系数的解(带入时,需将时间坐标值t按上述生成拟合曲线时一样进行相应转换),即可获得每个序列段的空间坐标的三条与时间相关的曲线X、Y、Z。
[0055] 需要说明的是,在拟合形成曲线后,还需要将曲线中的时间坐标t还原为对应连续帧深度图像中,相应人脸关键点的时空坐标对应的时间值,即将曲线在时间坐标轴上整体平移,曲线中的首个时间坐标还原为对应时空坐标序列中首个时空坐标的时间坐标值,曲线中其他位置的时间坐标值则在当前值的基础上再加上该首个时空坐标的时间坐标值。时间坐标值更新后的曲线则为最终的序列段的时空曲线。
[0056] 步骤105:针对相对人脸竖向中心线对称分布的任意两种人脸关键点的时空曲线,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻,并根据各时空曲线中正脸时刻下深度方向的空间坐标,确定正脸时刻下各种人脸关键点的深度值。
[0057] 具体地,在人脸摇头过程中,当人脸姿态处于正脸时,相对人脸竖向中心线对称分布的任意两种人脸关键点(比如左眼角和右眼角、左嘴角和右嘴角),较其他角度姿态,其对应的空间位置距离摄像头是相同的,即深度相同;同时该正脸姿态较其他角度姿态,其对应的水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离也是相同的。根据这两个特性,可以从上述多种人脸关键点中,选择相对人脸竖向中心线对称分布的任意两种人脸关键点(比如左眼角和右眼角、左嘴角和右嘴角),并针对这两种人脸关键点的时空曲线(多条),从中提取出深度方向的空间坐标为相同值时所对应的时空坐标,然后将这些时空坐标中相同时间点的时间坐标所对应的时间点作为正脸时刻;或者,从中提取出水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点(水平坐标)的水平距离为相同值时所对应的时空坐标,然后将这些时空坐标中相同时间点的时间坐标所对应的时间点作为正脸时刻。需要说明的是,这里的相同时间点涵盖了相对人脸竖向中心线对称分布的任意两种人脸关键点,以及任一种位于人脸竖向中心线上的人脸关键点所对应的时间坐标。由于各种类的人脸关键点之间是同步运动的,因此,当位于相对人脸竖向中心线对称分布的任意两种人脸关键点的某时空坐标为对应正脸时刻下的时空坐标时,那么该时空坐标中的时间点对应的其他种类的人脸关键点的时空坐标也为正脸状态下的时空坐标。基于此,可从所有时空曲线中该正脸时刻下对应的时空坐标中,提取出深度方向的空间坐标,即可以从中确定正脸时刻下各种人脸关键点的深度值。
[0058] 步骤106:基于待识别人脸在正脸时刻下各种人脸关键点的深度值,以及已注册人脸对应的各种人脸关键点的深度值,确定待识别人脸的身份。
[0059] 具体地,在得到待识别人脸在正脸时刻下各种人脸关键点的深度值后,可以将这些人脸关键点的深度值,与已注册人脸对应的同种人脸关键点的深度值进行相似比对,从而确定待识别人脸的身份。
[0060] 在进行相似比对时,可以直接对同种类的人脸关键点的深度值进行数值比对,或者待提取出各种类的人脸关键点的深度值的特征后,对提取的特征值进行相似比对。本实施例对相似比对的过程及方法不做限定。
[0061] 与相关技术相比,本实施例通过获取待识别人脸沿水平方向摇头时的连续帧深度图像;标注连续帧深度图像中多种人脸关键点的时空坐标,并形成每种人脸关键点的时空坐标序列;针对各时空坐标序列,以水平方向的空间坐标随时间变化的转折点作为分界线,将时空坐标序列分为多个序列段;对每个序列段中的时空坐标进行曲线拟合,得到该序列段的时空曲线;针对相对人脸竖向中心线对称分布的任意两种人脸关键点的时空曲线,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻,并根据各时空曲线中所述正脸时刻下深度方向的空间坐标,确定正脸时刻下各种人脸关键点的深度值;基于待识别人脸在正脸时刻下各种人脸关键点的深度值,以及已注册人脸对应的各种人脸关键点的深度值,确定待识别人脸的身份。本方案基于人脸摇头时拍摄的连续深度图像拟合人脸关键点的时空曲线,从相对人脸竖向中心线对称分布的任意两种人脸关键点的时空曲线中,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻,并利用正脸时刻下各人脸关键点的深度信息进行人脸识别,从而提高对于大角度人脸的识别精度。
[0062] 本发明的另一实施方式涉及一种基于连续帧图像的人脸识别方法,该基于连续帧图像的人脸识别方法是对图1所示的基于连续帧图像的人脸识别方法的改进,改进之处在于:对序列段的划分过程、正脸时刻下各种人脸关键点的深度值的确定过程,以及待识别人脸的身份确定过程分别进行细化。
[0063] 如图2所示,上述步骤103可包括如下子步骤。
[0064] 子步骤1031:针对各时空坐标序列,去除以水平方向的空间坐标随时间变化的转折点所对应的时空坐标。
[0065] 具体地,由于以水平方向的空间坐标随时间变化的转折点,可能属于位于该转折点前面的水平方向的空间坐标的变化趋势(如从小变大)中,也可能属于位于该转折点后面的水平方向的空间坐标的变化趋势(如从大变小)中,考虑到数据的准确性,可将各时空坐标序列,以水平方向的空间坐标随时间变化的转折点所对应的时空坐标丢弃,不作为后续生成的任一序列段中的时空坐标。
[0066] 子步骤1032:以转折点作为分界线,将剩下的时空坐标序列分为多个序列段。
[0067] 针对各时空坐标序列,在去除以水平方向的空间坐标随时间变化的转折点所对应的时空坐标后,对剩下的时空坐标序列,仍以被去除的转折点作为分界线,将剩下的时空坐标序列分为多个序列段,每个序列段仍包含多个时空坐标。
[0068] 如图3所示,上述步骤105可包括如下子步骤。
[0069] 子步骤1051:针对相对人脸竖向中心线对称分布的任意两种人脸关键点的多组时空曲线,分别将每组时空曲线中深度方向的空间坐标为相同值时对应的相同时间点作为一个正脸时刻,或者将水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正一个正脸时刻。
[0070] 具体地,由于每种人脸关键点对应的时空坐标序列被分为多个序列段,而每个序列段都分别对应一条时空曲线,因此每种人脸关键点可对应多条时空曲线。当执行针对相对人脸竖向中心线对称分布的任意两种人脸关键点的时空曲线,将深度方向的空间坐标为相同值时对应的相同时间点作为正脸时刻,或者将水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离相同时对应的相同时间点作为正脸时刻时,则可以先将这两种人脸关键点的时空曲线按对应的时间坐标范围,对应的分为多组时空曲线(每组时空曲线对应的时间坐标范围相同),然后针对这两种人脸关键点对应的每组时空曲线中的两条时空曲线中,深度方向的空间坐标值进行比对,确定其中深度坐标值相同的同一时间坐标对应的时间点作为一个正脸时刻;或者针对这两种人脸关键点对应的每组时空曲线中的两条时空曲线中,水平方向的空间坐标到任一种人脸竖向中心线上的人脸关键点的水平距离进行比对,确定其中水平距离相同时对应的相同时间点作为正脸时刻。此时确定的正脸时刻的数量等于时空曲线的组数。
[0071] 子步骤1052:将各时空曲线中正脸时刻下深度方向的空间坐标作为一个候选深度值,并根据正脸时刻下每种人脸关键点对应的多个候选深度值,确定正脸时刻下每种人脸关键点深度值。
[0072] 具体地,在得到多个正脸时刻后,可从所有种类的人脸关键点对应的所有时空曲线中,分别找到一个正脸时刻,并提取该正脸时刻下的深度方向的空间坐标作为一个候选深度值。这样,每种人脸关键点可对应确定出多个候选深度值,基于这些候选深度值可确定每种人脸关键点在正脸时刻下的最终深度值。例如,将每种人脸关键点对应的多个候选深度值求取平均值,将该平均值作为相应种类的人脸关键点在正脸时刻下的最终深度值。
[0073] 如图4所示,上述步骤106可包括如下子步骤。
[0074] 子步骤1061:将待识别人脸在正脸时刻下各种人脸关键点的深度值输入至预先训练的特征提取模型,得到识别特征。
[0075] 具体地,可以预先训练一个特征提取模型,该特征提取模型使得当输入为同一人正脸下的上述各人脸关键点的深度值时,所对应得到的输出特征之间相似度高;输入为不同人正脸下的上述各人脸关键点的深度值时,所对应得到的输出特征之间相似度低。通过该特征提取模型提取待识别人脸在正脸下的上述各种人脸关键点的深度值所对应的特征值(也称“特征向量”)。本实施例中,将待识别人脸对应的特征值称为识别特征。
[0076] 为了方便对输入的不同人脸的深度数据进行统一处理,在执行本子步骤时,可通过对待识别人脸在正脸时刻下各种人脸关键点的深度值进行归一化,并将归一化的深度值输入至预先训练的特征提取模型,输出得到对应的识别特征。例如,将当前待识别人脸的各种人脸关键点的深度值归一化到[0,1]之间。
[0077] 子步骤1062:将识别特征与已注册人脸对应的各种人脸关键点的深度值经特征提取模型得到的注册特征进行比对,并根据比对结果确定待识别人脸的身份。
[0078] 其中,可预先将已注册人脸对应的各种人脸关键点的深度值经上述特征提取模型得到对应的特征值,本实施例中将注册人脸对应的特征值称为注册特征。
[0079] 具体地,在将待识别人脸在正脸时刻下各种人脸关键点的深度值(归一化后)输入至特征提取模型得到识别特征后,可将识别特征与已注册人脸对应的注册特征进行相似性比对,并根据比对结果确定待识别人脸的身份。例如,当比对得到的相似度值大于预设阈值时,确定待识别人脸与被比对的注册人脸其身份为同一人;当比对得到的相似度值小于预设阈值时,确定待识别人脸与被比对的注册人脸其身份为不是同一人。
[0080] 在一个例子中,如图5所示,上述特征提取模型的训练过程包括如下步骤:
[0081] 步骤201:获取多张包含不同人正脸的人脸深度图像中多种人脸关键点的深度值。
[0082] 具体地,可以使用深度相机采集不同人正脸的人脸深度图像。从人脸深度图像标注出多种人脸关键点,并确定这些人脸关键点的深度值。
[0083] 为使后续模型训练拥有更高的泛化性能,需要采集200个人以上的深度图像来构建图像样本及其标签。被采集人员需要尽可能正脸端坐,以采集正脸姿态下的人脸深度图像。
[0084] 步骤202:以同一人的两张人脸深度图像中的人脸关键点的深度值分别作为锚定样本、正样本,以该同一人以外其他人的一张人脸深度图像中的人脸关键点的深度值作为负样本,形成一组训练样本。
[0085] 具体地,在选取训练样本时,可以任意的同一人的两张人脸深度图像中的人脸关键点的深度值分别作为锚定样本(a)、正样本(p),以该同一人以外其他人的一张人脸深度图像中的人脸关键点的深度值作为负样本(n),形成一组训练样本。
[0086] 为了方便对输入的不同人脸的深度数据进行统一处理,在执行本步骤时,可通过对待训练样本在正脸时刻下各种人脸关键点的深度值进行归一化,并将归一化的深度值作为最终的训练样本。例如,将各样本中人脸的各种人脸关键点的深度值归一化到[0,1]之间。
[0087] 步骤203:以归一化后的训练样本为输入、训练样本中各类样本的特征值为输出,构建特征提取模型,并对特征提取模型进行训练。
[0088] 其中,对特征提取模型进行训练所采用的损失函数基于锚定样本、正样本对应的特征值之间的第一损失,以及锚定样本、负样本对应的特征值之间的第二损失构建。
[0089] 具体地,如图6所示,为特征提取模型的网络结构,该网络结构从输入到输出的方向依次包括:第一卷积层、第一池化层、第二卷积层、第二池化层、第一全连接层和第二全连接层。特征提取模型的输入为上述锚定样本、正样本和负样本,输出为这些样本对应的特征值,如锚定样本、正样本和负样本对应的特征值依次表示为:Pa、Pp、Pn。
[0090] 上述损失函数的构建过程为根据如下公式构建损失函数:
[0091]
[0092]
[0093] Loss=loss_same+loss_diff…………………………(8)
[0094] 其中,loss为损失函数的损失值,loss_diff为第二损失,Pai、Ppi、Pni依次为第i组训练样本中锚定样本a、正样本p、负样本n对应的特征值,m为训练样本组数量。
[0095] 具体地,采用公式(6)、(7)、(8)计算训练的损失时,依据常规的深度学习网络优化方法优化特征提取模型E的参数(WE),即:
[0096] 与相关技术比较,本实施例通过针对各时空坐标序列,去除以水平方向的空间坐标随时间变化的转折点所对应的时空坐标;以转折点作为分界线,将剩下的时空坐标序列分为多个所述序列段,从而保证生成的序列段中时空坐标的准确性。
[0097] 通过针对相对人脸竖向中心线对称分布的任意两种人脸关键点的多组时空曲线,分别将每组时空曲线中深度方向的空间坐标为相同值时对应的相同时间点作为一个正脸时刻;将各时空曲线中所述正脸时刻下深度方向的空间坐标作为一个候选深度值,并根据正脸时刻下每种人脸关键点对应的多个候选深度值,确定正脸时刻下每种人脸关键点深度值,从而保证所获取的正脸时刻下每种人脸关键点深度值的准备性。
[0098] 通过将待识别人脸在正脸时刻下各种人脸关键点的深度值输入至预先训练的特征提取模型,得到识别特征;将识别特征与已注册人脸对应的各种人脸关键点的深度值经特征提取模型得到的注册特征进行比对,并根据比对结果确定待识别人脸的身份,从而实现基于特征提取模型对待识别人脸进行身份识别的识别方法。
[0099] 本发明的另一实施方式涉及一种电子设备,如图7所示,包括至少一个处理器302;以及,与至少一个处理器302通信连接的存储器301;其中,存储器301存储有可被至少一个处理器302执行的指令,指令被至少一个处理器302执行,以使至少一个处理器302能够执行上述任一方法实施例。
[0100] 其中,存储器301和处理器302采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器302和存储器301的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器302处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器302。
[0101] 处理器302负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器301可以被用于存储处理器302在执行操作时所使用的数据。
[0102] 本发明的另一实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例。
[0103] 即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0104] 本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。