身份验证方法及装置与流程

文档序号:11808453阅读:334来源:国知局
身份验证方法及装置与流程

本公开涉及人脸识别技术领域,尤其涉及一种身份验证方法及装置。



背景技术:

人脸识别技术是指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术。广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份验证以及身份查找等;而狭义的人脸识别特指通过人脸进行身份验证或者身份查找的技术或系统。具体地,人脸识别技术是基于人的脸部特征,对输入的人脸图像或者视频流,首先判断图像或视频流中是否存在人脸,如果存在人脸,则进一步检测出每个人脸的位置、大小,以及每个人脸中各个主要面部器官的位置信息。并依据这些信息,进一步提取每个人脸对应的身份特征,并将其与已知的人脸进行对比,从而识别每个人脸对应的身份。

随着人脸识别技术的日益成熟,该技术的应用场景也越来越多,如门禁系统、在线身份验证等,该技术应用在门禁系统中能够避免非内部人员的随意进出,应用在在线身份验证中能够确保只有合法用户才能执行相应的在线操作。通过人脸识别技术进行身份验证,具有安全性高的特点,进而能够确保用户信息及财产安全。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种身份验证方法及装置。

根据本公开实施例的第一方面,提供一种身份验证方法,包括:

获取摄像头实时采集的至少两张人脸图像;

对采集到的每张人脸图像进行图像处理,得到所述每张人脸图像中的多个面部元素和人脸特征;

根据所述每张人脸图像中的多个面部元素,确定所述至少两张人脸图像中是否存在指定图像,所述指定图像为所述多个面部元素中指定面部元素符合预设标准的人脸图像;

当所述至少两张人脸图像中存在所述指定图像时,验证通过。

通过使用包含多个损失函数的验证模型实时采集到的至少两张人脸图像进行处理,不仅能够输出人脸特征点的位置信息,还可以同时提取多个面部元素,能够避免使用不同的分类器对不同面部元素进行提取造成的计算量大的问题,此外,由于验证模型对应的待训练模型包含多个损失函数,因此能够使训练得到的验证模型具有更高的精度和准确度,进而能够保证所提取到的多个面部元素和人脸特征的准确度。

在本公开的第一方面的第一种可能实现方式中,对采集到的每张人脸图像进行图像处理,得到所述每张人脸图像中的多个面部元素和人脸特征信息,包括:

将所述每张人脸图像输入验证模型,得到所述每张人脸图像的多个面部元素和人脸特征,所述验证模型用于提取人脸图像中的面部元素及分析人脸特征,所述验证模型由卷积神经网络和多个损失函数构成。

通过使用包含多个损失函数的验证模型对采集到的至少两张人脸图像进行处理,不仅能够输出人脸特征点的位置信息,还可以同时提取多个面部元素,能够避免使用不同的分类器对不同面部元素进行提取造成的计算量大的问题。

在本公开的第一方面的第二种可能实现方式中,根据所述每张人脸图像中的多个面部元素,检测所述至少两张人脸图像中是否存在指定图像之后,所述方法还包括:

获取所述至少两张人脸图像中的所述指定图像的图像数量;

检测所述图像数量是否大于预设数量;

当所述图像数量大于所述预设数量时,验证通过;

当所述图像数量不大于所述预设数量时,验证不通过。

在本公开的第一方面的第三种可能实现方式中,所述多个面部元素至少包括眼部状态信息、嘴部状态信息、头部状态信息、鼻部状态信息。

通过获取多个面部元素,能够避免使用单一面部元素造成验证结果不准确或准确性低的问题,同时还能够提高本公开所提供的身份验证方法的适用场景。

在本公开的第一方面的第四种可能实现方式中,所述多个损失函数至少包括用于检测眼部状态的第一损失函数、用于检测嘴部状态的第二损失函数和用于检测头部状态的第三损失函数。

通过使用不同损失函数检测人脸不同部位的状态,能够避免使用不同分类器进行分类以获取人脸不同部位的状态造成计算量大的问题;且还能够同时得到人脸的多个部位的状态信息,即同时得到多个面部元素。

在本公开的第一方面的第五种可能实现方式中,所述第一损失函数和所述第二损失函数为二分类函数,所述第三损失函数为三分类函数。

通过不同损失函数得到不同的分类结果,能够有针对性地对人脸的不同部位进行检测。

在本公开的第一方面的第六种可能实现方式中,当所述至少两张人脸图像中至少存在预设数量的所述指定图像时,验证通过,包括:

当所述至少两张人脸图像中至少存在预设数量的处于睁眼状态的人脸图像时,验证通过;或,

当所述至少两张人脸图像中至少存在预设数量的处于张嘴状态的人脸图像时,验证通过;或,

当所述至少两张人脸图像中至少存在预设数量的头部处于左转或右转状态的人脸图像时,验证通过。

通过检测该至少两张人脸图像中是否存在该指定图像实现活体验证,当该至少两张人脸图像中存在该指定图像时,能够快速确定该人脸为活体人脸,进而验证通过,使得终端根据验证结果执行相应操作或显示相应操作界面。

在本公开的第一方面的第七种可能实现方式中,所述多个面部元素和人脸特征以197维向量表示,所述197维向量包括95个人脸特征点的二维坐标、二维眼部状态信息、二维嘴部状态信息和三维头部状态信息。

通过使用一个多维向量输出该多个面部元素和人脸特征,能够实现同时得到多个面部元素和人脸特征的目的,且能够提高结果的整洁清晰度,避免多个结果混淆的情况。

根据本公开实施例的第二方面,提供一种身份验证装置,所述装置包括:

图像获取模块,用于获取摄像头实时采集的至少两张人脸图像;

图像处理模块,用于对采集到的的每张人脸图像进行图像处理,得到所述每张人脸图像中的多个面部元素和人脸特征;

确定模块,用于根据所述每张人脸图像中的多个面部元素,确定所述至少两张人脸图像中是否存在指定图像,所述指定图像为所述多个面部元素中指定面部元素符合预设标准的人脸图像;

验证模块,用于当所述至少两张人脸图像中存在所述指定图像时,验证通过。

通过使用包含多个损失函数的验证模型实时采集到的至少两张人脸图像进行处理,不仅能够输出人脸特征点的位置信息,还可以同时提取多个面部元素,能够避免使用不同的分类器对不同面部元素进行提取造成的计算量大的问题,此外,由于验证模型对应的待训练模型包含多个损失函数,因此能够使训练得到的验证模型具有更高的精度和准确度,进而能够保证所提取到的多个面部元素和人脸特征的准确度。

在本公开的第二方面的第一种可能实现方式中,所述图像处理模块用于:

将所述每张人脸图像输入验证模型,得到所述每张人脸图像的多个面部元素和人脸特征,所述验证模型用于提取人脸图像中的面部元素及分析人脸特征,所述验证模型由卷积神经网络和多个损失函数构成。

通过使用包含多个损失函数的验证模型对采集到的至少两张人脸图像进行处理,不仅能够输出人脸特征点的位置信息,还可以同时提取多个面部元素,能够避免使用不同的分类器对不同面部元素进行提取造成的计算量大的问题。

在本公开的第二方面的第二种可能实现方式中,所述装置还包括:

图像数量获取模块,用于获取所述至少两张人脸图像中的所述指定图像的图像数量;

所述检测模块还用于检测所述图像数量是否大于预设数量;

所述验证模块还用于当所述图像数量大于所述预设数量时,验证通过;当所述图像数量不大于所述预设数量时,验证不通过。

在本公开的第二方面的第三种可能实现方式中,所述多个面部元素至少包括眼部状态信息、嘴部状态信息、头部状态信息、鼻部状态信息。

通过获取多个面部元素,能够避免使用单一面部元素造成验证结果不准确或准确性低的问题,同时还能够提高本公开所提供的身份验证方法的适用场景。

在本公开的第二方面的第四种可能实现方式中,所述多个损失函数至少包括用于检测眼部状态的第一损失函数、用于检测嘴部状态的第二损失函数和用于检测头部状态的第三损失函数。

通过使用不同损失函数检测人脸不同部位的状态,能够避免使用不同分类器进行分类以获取人脸不同部位的状态造成计算量大的问题;且还能够同时得到人脸的多个部位的状态信息,即同时得到多个面部元素。

在本公开的第二方面的第五种可能实现方式中,所述第一损失函数和所述第二损失函数为二分类函数,所述第三损失函数为三分类函数。

通过不同损失函数得到不同的分类结果,能够有针对性地对人脸的不同部位进行检测。

在本公开的第二方面的第六种可能实现方式中,所述验证模块用于:

当所述至少两张人脸图像中至少存在预设数量的处于睁眼状态的人脸图像时,验证通过;或,

当所述至少两张人脸图像中至少存在预设数量的处于张嘴状态的人脸图像时,验证通过;或,

当所述至少两张人脸图像中至少存在预设数量的头部处于左转或右转状态的人脸图像时,验证通过。

通过检测该至少两张人脸图像中是否存在预设数量的该指定图像实现活体验证,当该至少两张人脸图像中存在该指定图像时,能够快速确定该人脸为活体人脸,进而验证通过,使得终端根据验证结果执行相应操作或显示相应操作界面。

在本公开的第二方面的第七种可能实现方式中,所述多个面部元素和人脸特征以197维向量表示,所述197维向量包括95个人脸特征点的二维坐标、二维眼部状态信息、二维嘴部状态信息和三维头部状态信息。

通过使用一个多维向量输出该多个面部元素和人脸特征,能够实现同时得到多个面部元素和人脸特征的目的,且能够提高结果的整洁清晰度,避免多个结果混淆的情况。

第三方面,还提供了一种身份验证装置,包括:

处理器;

用于存储处理器可执行的指令的存储器;

其中,该处理器被配置为:

获取摄像头实时采集的至少两张人脸图像;

对采集到的每张人脸图像进行图像处理,得到所述每张人脸图像中的多个面部元素和人脸特征;

根据所述每张人脸图像中的多个面部元素,确定所述至少两张人脸图像中是否存在指定图像,所述指定图像为所述多个面部元素中指定面部元素符合预设标准的人脸图像;

当所述至少两张人脸图像中存在所述指定图像时,验证通过。

本公开实施例提供的技术方案带来的有益效果是:

本公开通过使用包含多个损失函数的验证模型实时采集到的至少两张人脸图像进行处理,不仅能够输出人脸特征点的位置信息,还可以同时提取多个面部元素,能够避免使用不同的分类器对不同面部元素进行提取造成的计算量大的问题,此外,由于验证模型对应的待训练模型包含多个损失函数,因此能够使训练得到的验证模型具有更高的精度和准确度,进而能够保证所提取到的多个面部元素和人脸特征的准确度。

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

附图说明

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

图1是根据一示例性实施例示出的一种身份验证方法的流程图;

图2A是根据一示例性实施例示出的一种身份验证方法的流程图;

图2B是根据一示例性实施例示出的一种CNN(Convolutional Neural Networks,卷积神经网络)网络设计图;

图2C是根据一示例性实施例示出的一种待训练CNN模型示意图;

图3是根据一示例性实施例示出的一种身份验证装置框图;

图4是根据一示例性实施例示出的一种身份验证装置400的框图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。

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

图1是根据一示例性实施例示出的一种身份验证方法的流程图,如图1所示,身份验证方法用于终端中,包括以下步骤。

在步骤101中,获取摄像头实时采集的至少两张人脸图像。

在步骤102中,对采集到的每张人脸图像进行图像处理,得到所述每张人脸图像中的多个面部元素和人脸特征。

在步骤103中,根据所述每张人脸图像中的多个面部元素,检测所述至少两张人脸图像中是否存在指定图像,所述指定图像为所述多个面部元素中指定面部元素符合预设标准的人脸图像。

在步骤104中,当所述至少两张人脸图像中至少存在预设数量的所述指定图像时,验证通过。

本公开实施例提供的方法,通过使用包含多个损失函数的验证模型实时采集到的至少两张人脸图像进行处理,不仅能够输出人脸特征点的位置信息,还可以同时提取多个面部元素,能够避免使用不同的分类器对不同面部元素进行提取造成的计算量大的问题,此外,由于验证模型对应的待训练模型包含多个损失函数,因此能够使训练得到的验证模型具有更高的精度和准确度,进而能够保证所提取到的多个面部元素和人脸特征的准确度。

在本公开的第一种可能实现方式中,对所采集到的每张人脸图像进行图像处理,得到所述每张人脸图像中的多个面部元素和人脸特征信息,包括:

将所述每张人脸图像输入验证模型,得到所述每张人脸图像的多个面部元素和人脸特征,所述验证模型用于提取人脸图像中的面部元素及分析人脸特征,所述验证模型由卷积神经网络和多个损失函数构成。

在本公开的第二种可能实现方式中,根据所述每张人脸图像中的多个面部元素,检测所述至少两张人脸图像中是否存在指定图像之后,所述方法还包括:

获取所述至少两张人脸图像中的所述指定图像的图像数量;

检测所述图像数量是否大于预设数量;

当所述图像数量大于所述预设数量时,验证通过;

当所述图像数量不大于所述预设数量时,验证不通过。

在本公开的第三种可能实现方式中,所述多个面部元素至少包括眼部状态信息、嘴部状态信息、头部状态信息、鼻部状态信息。。

在本公开的第四种可能实现方式中,所述多个损失函数至少包括用于检测眼部状态的第一损失函数、用于检测嘴部状态的第二损失函数和用于检测头部状态的第三损失函数。

在本公开的第五种可能实现方式中,所述第一损失函数和所述第二损失函数为二分类函数,所述第三损失函数为三分类函数。

在本公开的第六种可能实现方式中,当所述至少两张人脸图像中至少存在预设数量的所述指定图像时,验证通过,包括:

当所述至少两张人脸图像中至少存在预设数量的处于睁眼状态的人脸图像时,验证通过;或,

当所述至少两张人脸图像中至少存在预设数量的处于张嘴状态的人脸图像时,验证通过;或,

当所述至少两张人脸图像中至少存在预设数量的头部处于左转或右转状态的人脸图像时,验证通过。

在本公开的第七种可能实现方式中,所述多个面部元素和人脸特征以197维向量表示,所述197维向量包括95个人脸特征点的二维坐标、二维眼部状态信息、二维嘴部状态信息和三维头部状态信息。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

图2是根据一示例性实施例示出的一种身份验证方法的流程图。该实施例的执行主体可以为终端,参照图2,该实施例具体包括:

在步骤201中,获取摄像头实时采集的至少两张人脸图像。

在终端检测到用户正在执行或者将要执行敏感操作时,自动开启摄像头,由摄像头对人脸图像进行实时采集,以达到对用户身份进行验证的目的;其中,该敏感操作可以包括在线支付,网上转账及用户信息修改等操作。例如,当终端检测到用户对支付选项的触发操作时,自动开启摄像头,并提醒用户将摄像头对准其面部区域,以使得该摄像头能够完整采集到该人脸的全部区域。

需要说明的是,本公开实施例所提供的身份验证方法用于对人脸进行活体验证,因此,当摄像头开启之后,终端还可以提醒用户做出不同的表情,以使得终端能够在用户做不同表情的过程中进行图像采集,进而验证所采集到的人脸是否为活体。终端对用户进行提醒的方式可以为语音提醒,例如,语音播放“请眨眼”、“请张嘴”或“请摇头”等,也可以通过在终端屏幕显示文字的方式对用户进行提醒,当然,还可以采用其他方式对用户进行提醒,本公开实施例对该提醒方式不作具体限定。

通过摄像头实时采集至少两张人脸图像,能够实现对所采集到的至少两张人脸图像分别进行图像处理,以达到活体验证的目的。

在步骤202中,对采集到的每张人脸图像进行图像处理,得到该每张人脸图像中的多个面部元素和人脸特征。

该多个面部元素是指人脸的五官分别所处的状态信息,例如,眼部处于闭眼状态、嘴部处于张嘴状态等;该人脸特征是指人脸的特征点位置信息。在本公开实施例中,该多个面部元素至少包括眼部状态信息、嘴部状态信息、头部状态信息、鼻部状态信息,还可以包括法令纹信息等其他信息;该人脸特征可以为95个特征点的位置信息,该位置信息以坐标的形式表示。

对该至少两张人脸图像中的每张人脸图像进行图像处理的具体方法可以为:将该至少两张人脸图像输入验证模型,以得到该至少两张人脸图像中每张人脸图像的多个面部元素和人脸特征,该验证模型用于提取人脸图像中的面部元素及分析人脸特征,该验证模型由卷积神经网络和多个损失函数构成。具体地,对于该至少两张人脸图像中的每张人脸图像,先通过人脸检测算法从人脸图像中确定人脸位置,在通过CNN确定该人脸图像中的人脸特征点位置,并获取该人脸特征点的位置信息,将通过深度学习算法输出的人脸特征分别输入该多个损失函数,以得到该人脸图像中的多个面部元素。

其中,该人脸检测算法可以是Adaboost算法,也即是通过Adaboost分类器获取每张图像中的人脸数目。具体地,该Adaboost分类器对任一图像进行划分,得到该图像的多个区域,对于划分得到的每个区域,根据预设特征提取算法,提取该区域的特征,将该区域的特征输入至该分类器,基于该分类器,对该区域的特征进行计算,得到该分类器的输出结果,即可得到该区域的分类结果,该分类结果为人脸区域或者非人脸区域。

该Adaboost分类器由多个弱分类器组成,该多个弱分类器基于同一训练样本集训练而成。例如,可以获取多个样本图像的弱特征,如矩形特征等,将每个样本图像的弱特征作为训练样本,将多个训练样本构成训练样本集。从该训练样本集中选取若干个训练样本,构成第一训练集,根据该第一训练集,训练出第一个弱分类器,再从该训练样本集中选取若干个新的训练样本,将本次选取的训练样本与第一个弱分类器分错的训练样本构成第二训练集,根据该第二训练集,训练出第二个弱分类器,再从该训练样本集中选取若干个新的训练样本,将本次选取的训练样本与第一个弱分类器和第二个弱分类器均分错的训练样本构成第三训练集,根据该第三训练集,训练出第三个弱分类器,以此类推,直至错误率小于预设最小错误率时,将训练出的多个弱分类器组成一个强分类器,该强分类器可用于对图像进行分类。

CNN作为人工神经网络的一种,目前已成为图像识别领域的研究热点。CNN为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、倾斜或者其他形式的变形具有高度不变性。CNN的权值共享网络结构使之更类似于生物神经网络,通过学习大量的输入与输出之间的映射关系,无需任何输入和输出之间精确的数学表达式,即可输出处理结果,从而有效地降低了网络模型的复杂度,减少了权值的数量。尤其是在网络输入为多维图像时,CNN的优点表现的更为明显,避免了传统图像识别算法中复杂的特征提取和数据重建过程。

图2B是根据一示例性实施例示出的一种CNN网络设计图。由图2B可知,CNN网络由1个输入层及7个训练层组成,7个训练层分别为C1层、S2层、C3层、S4层、C5层、F6层及输出层,其中,C1、C3、C5层为卷积层,用于通过卷积运算,增强原始图像的特征,降低噪声;S2、S4为下采样层,用于利用图像局部相关性原理,对图像进行子抽样,以减少数据处理量并保留有效特征。其中,输入层所输入的图像大小为32*32。每个训练层具有多个特征图像,每个特征图像为通过一种卷积滤波器提取输入的一种特征,且每个特征图像具有多个神经元。另外,每个训练层均包含多个待训练的参数。

其中,C1层为第一级卷积层,由6个大小为28*28的特征图像构成。每个特征图像中的每个神经元与输入图像中5*5的邻域相连。C1层中每个滤波器具有5*5=25个滤波器参数以及1个bias参数,6个滤波器总共具有(5*5+1)*6=156个待训练的参数。针对156个待训练的参数,共计具有156*(28*28)=122304个连接。

S2层为第一级下采样层,由6个14*14的特征图像构成。每个特征图像中的每个单元与C1层中相对应特征图像的2*2邻域相连接。另外,S2层有12个待训练的参数及5880个连接。

C3层为第二级卷积层,由16个10*10的特征图像构成。其中,10*10的特征图像为通过5*5的卷积核对下采样层S2进行卷积计算得到。C3层中的每个特征图像与S2层中的全部或部分特征图像相连,也即是,C3层中的特征图像为S2层中所提取到的特征图像的组合。

S4层为第二级下采样层,由16个5*5的特征图像构成。每个特征图中的每个单元与C3层中相应特征图像的2*2邻域相连接。另外,S4层有32个待训练的参数及2000个连接。

C5层为第二级卷积层,由120个特征图像构成。每个特征图像中的每个单元与S4层中16个特征图像的5*5邻域相连。由于S4层的特征图像的大小也为5*5,因此,C5层的特征图像与S4层的特征图像的比例应为1*1,也即是S4层和C5层之间为全连接。另外,C5层有48120个待训练的连接。

F6层由84个特征图像构成,与C5层之间为全连接。另外,F6层有10164个待训练的参数。

输出层由RBF(Radial Basis Function,径向基函数)单元组成,每个RBF单元用于计算输入向量和输出向量之间的欧式距离,输入向量与输出向量之间的欧氏距离越大,RBF单元的输出也越大。RBF单元的输出用于衡量输入向量和与RBF单元相关联类的一个模型匹配程度的惩罚项。在概率论上,RBF单元的输出可以认为是F6层配置空间的高斯分布的负log-likelihood。任意给定一个输入向量,损失函数应能使F6层的配置与RBF输出向量足够接近。

在本公开另一实施例中,该多个损失函数至少包括用于检测眼部状态的第一损失函数、用于检测嘴部状态的第二损失函数和用于检测头部状态的第三损失函数;其中,该第一损失函数、第二损失函数和第三损失函数分别可以为Softmax函数,也可以是其他具有多分类功能的函数,本公开实施例对此不作具体限定。

在本公开实施例中,该第一损失函数和该第二损失函数为二分类函数,该第三损失函数为三分类函数。具体地,用于检测眼部状态的第一损失函数的输出包括处于睁眼状态的概率和处于闭眼状态的概率,用于检测嘴部状态的第二损失函数的输出包括处于张嘴状态的概率和处于闭嘴状态的概率,用于检测头部状态的第三损失函数的输出包括脸部正对摄像头的概率、头部处于左转状态的概率以及头部处于右转状态的概率。

当然,该第一损失函数、第二损失函数和该第三损失函数还可以得到两个或三个以上的分类结果,例如,用于检测嘴部状态的第一分类函数的输出可以包括处于睁眼状态的概率、半睁眼状态的概率及睁眼状态的概率等。此外,该第一损失函数、第二损失函数和该第三损失函数还可以分别用于提取其他面部元素,本公开实施例对上述三个损失函数的特征提取目标及所得到的检测结果均不作具体限定。

需要说明的是,该多个损失函数还包括一个用于回归95个特征点坐标的第四损失函数,该第四损失函数用于使得最终得到的95个特征点的坐标与标定的95个特征点的坐标之间的误差最小,该第四损失函数可以为欧氏距离函数。

当然,该多个损失函数还可以包括用于检测其他面部元素的损失函数,例如,用于检测鼻部状态和法令纹的第五损失函数和第六损失函数,该第五损失函数可以为二分类函数,输出包括鼻部处于平坦状态的概率和处于皱起状态的概率;该第六损失函数可以为三分类以上的多分类函数,输出包括法令纹处于不同深度的概率,当用户笑的时候,法令纹较深,当用户处于正常无表情状态时,法令纹较浅。本公开实施例对该多个损失函数的具体检测区域及输出类型等均不作限定。

在本公开又一实施例中,该多个面部元素和人脸特征以197维向量表示,该197维向量包括95个人脸特征点的二维坐标、二维眼部状态信息、二维嘴部状态信息和三维头部状态信息。具体地,该197维向量的第1维至第190维表示该95个人脸特征点的二维坐标,第191维至第192维表示二维眼部状态信息,第193维至第194维表示二维嘴部状态信息,第195维至第197维表示三维头部状态信息;当然,该197维向量对应的具体内容可以由开发人员进行设置,本公开实施例对此不作具体限定。

需要说明的是,根据该多个损失函数中每个损失函数对应的分类结果不同,所得到的该多个面部元素和人脸特征对应的向量维数也不同。

在本公开再一实施例中,上述过程是使用验证模型对人脸图像进行图像处理,以得到人脸图像中的多个面部元素和人脸特征的过程,在实现上述过程之前,需要对由CNN和多个损失函数构成的初始模型进行训练,以得到该验证模型,需要说明的是,对该初始模型的训练过程即为确定该初始模型中CNN的模型参数的过程,具体训练方法可以为:可以先给待训练CNN模型初始化一个初始模型参数,将大量具有不同面部元素的人脸图像作为训练样本,将该训练样本分成多组,对于每组训练样本,将该组训练样本输入该初始模型,将得到的结果与标定结果进行对比以获取误差值,如果误差值大于预设阈值,则通过反向传播调节CNN的模型参数,直至得到的误差值小于或等于该预设阈值;如果误差值小于或等于该预设阈值,则输入下一组训练样本继续训练,直至所有训练样本训练结束,得到验证模型。其中,每组训练样本可以包含预设数量的人脸图像,该预设数量的具体数值可以由开发人员根据需要进行设置,本公开实施例对该预设数量的数值和设置方法均不作具体限定。

其中,待训练CNN模型通常包括至少两级卷积层和至少一级全连接层,且每级卷积层包括多个卷积核和多个偏置矩阵,每级全连接层包括多个权重矩阵和多个偏置向量,因此,获取到的模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量。关于待训练CNN模型包括的卷积层的数量和全连接层的数量,本公开实施例不作具体限定。具体实施时,可以根据需要设定。例如,如图2C所示,该图示出了一种待训练CNN模型的示意图。图2C所示的待训练CNN模型包括五级卷积层和两级全连接层。

进一步地,关于每级卷积层包括的卷积核和偏置矩阵的数量,以及每级全连接层包括的权重矩阵和偏置向量的数量,本公开实施例不作具体限定。另外,本公开实施例同样不对每个卷积核和偏置矩阵的维度,以及每个权重矩阵和每个偏置向量的维度进行限定。具体实施时,每级卷积层包括的卷积核和偏置矩阵的数量及其维度,以及每级全连权重矩阵和偏置向量的数量和维度,均可以取经验值。

结合上述内容,在获取待训练CNN模型的初始模型参数时,可以在指定数值范围内随机选取一个值作为初始模型参数中各个元素的值。例如,对于每一个初始卷积核、初始权重矩阵、初始偏置矩阵和初始偏置向量中的每一个元素,可以在[-r,r]区间中取一个随机数。此处,r是初始化模型参数的阈值,其可以为经验值。例如,r可以取0.001。

在本公开另一实施例中,该验证模型中CNN的第一层输入的图像大小参数可以设置为64*64,在将待训练图像或待验证图像输入该初始模型或该验证模型时,将图像大小调整为64*64。

通过将该验证模型中CNN的第一层输入的图像大小参数设置为64*64,能够避免在该参数为224*224时,该验证模型只能对部分图像进行验证,或者只能保证对部分图像的验证准确度,进而能够提高该验证模型的适用范围。

通过使用包含多个损失函数的验证模型对步骤201中实时获取到的至少两张人脸图像进行处理,不仅能够输出人脸特征点的位置信息,还可以同时提取多个面部元素,能够避免使用不同的分类器对不同面部元素进行提取造成的计算量大的问题;此外,由于验证模型对应的初始模型包含多个损失函数,因此能够使训练得到的验证模型具有更高的精度和准确度,进而能够保证所提取到的多个面部元素和人脸特征的准确度。

在步骤203中,根据该每张人脸图像中的多个面部元素,确定该至少两张人脸图像中是否存在指定图像,该指定图像为该多个面部元素中指定面部元素符合预设标准的人脸图像。当该至少两张人脸图像中存在该指定图像时,执行步骤204;当该至少两张人脸图像中不存在该指定图像时,执行步骤205。

该指定图像可以根据步骤201中在摄像头实时采集人脸图像的过程中对用户进行的提示信息确定;例如,当提示信息提示用户执行眨眼动作时,该指定图像可以为处于闭眼状态的人脸图像,即该指定面部元素为眼部状态信息,相应地,该预设标准为眼睛处于闭眼状态;当提示信息提示用户执行张嘴动作时,该指定图像可以为处于张嘴状态的人脸图像,即该指定面部元素为嘴部状态信息,相应地,该预设标准为嘴巴处于张嘴状态;当提示信息提示用户执行摇头动作时,该指定图像可以为头部处于左转或右转状态的人脸图像,即该指定面部元素为头部状态信息,相应地,该预设标准为头部处于左转或右转状态。

如果终端未播放或未显示提示信息,该指定图像可以是该多个面部元素中任一面部元素处于对应状态的人脸图像,例如,当所得到的面部元素包括眼部状态信息、嘴部状态信息、头部状态信息和鼻部状态信息时,该指定图像可以是处于闭眼状态或处于张嘴状态或头部处于左转或右转状态或鼻部处于皱起状态的人脸图像中的任一种图像,即该指定面部元素可以是眼部状态信息、嘴部状态信息、头部状态信息或鼻部状态信息中的任一种状态信息,相应地,该预设标准为与指定面部元素对应的任一种状态信息。

该预设标准可以根据该提示信息确定,也可以根据所提取到的多个面部元素进行确定,本公开实施例对此不作具体限定。

需要说明的是,当该多个面部元素和人脸特征以197维向量表示时,该197维向量中表示眼部状态信息的二维数值之和为1,且概率较大对应的状态为该人脸图像中的眼部状态;例如,对任一人脸图像的面部元素的提取结果中,当眼睛状态对应的二维数值为(0.7,0.3),且0.7对应的位置表示处于闭眼状态的概率,0.3对应的位置表示处于睁眼状态的概率,则该人脸图像中的人眼处于闭眼状态;其他面部元素的提取结果同理。

在步骤204中,当该至少两张人脸图像中存在该指定图像时,验证通过。

当该至少两张人脸图像中存在该指定图像时,表示该人脸为活体人脸,验证通过,终端继续执行相应操作或显示相应操作界面。

具体地,在本公开实施例中,当该至少两张人脸图像中存在该指定图像时,验证通过,包括:当该至少两张人脸图像中存在处于睁眼状态的人脸图像时,验证通过;或,当该至少两张人脸图像中存在处于张嘴状态的人脸图像时,验证通过;或,当该至少两张人脸图像中存在头部处于左转或右转状态的人脸图像时,验证通过。

在本公开另一实施例中,当该至少两张人脸图像中存在该指定图像时,获取该至少两张人脸图像中的该指定图像的图像数量;检测该图像数量是否大于预设数量;当该图像数量大于该预设数量时,验证通过;当该图像数量不大于该预设数量时,验证不通过。其中,该预设数量可以设置为任一小于该至少两张人脸图像数量的任一数值,本公开实施例对该预设数量的设置方法及具体数值均不作限定。

通过当该指定图像的图像数量大于预设数量时,对当前用户验证通过,能够避免面部元素提取过程中出现误差时导致验证出错的情况,进而能够提高本公开实施例所提供的验证方法的安全性。

在步骤205中,当该至少两张人脸图像中不存在该指定图像时,验证不通过。

当该至少两张人脸图像中不存在该指定图像时,表示该人脸不是活体人脸,验证不通过,终端继续终止执行相应操作,并显示验证失败的提示信息,或者重新执行步骤201及其以后步骤,以避免在图像采集过程中出错导致面部元素和人脸特征提取不准确的情况。

在本公开另一实施例中,当重复执行步骤201及其以后步骤的次数大于预设次数后,锁定终端或当前应用预设时长,以达到进一步保护用户隐私和财产安全的目的。其中,该预设次数和该预设时长可以由开发人员设置,也可以由用户根据需要自行设置,本公开实施例对此不作限定;同样地,本公开实施例对该预设次数的具体数值和该预设时长的具体数值均不作限定。

本公开实施例提供的方法,通过使用包含多个损失函数的验证模型实时采集到的至少两张人脸图像进行处理,不仅能够输出人脸特征点的位置信息,还可以同时提取多个面部元素,能够避免使用不同的分类器对不同面部元素进行提取造成的计算量大的问题,此外,由于验证模型对应的待训练模型包含多个损失函数,因此能够使训练得到的验证模型具有更高的精度和准确度,进而能够保证所提取到的多个面部元素和人脸特征的准确度;进一步地,通过当该指定图像的图像数量大于预设数量时,对当前用户验证通过,能够避免面部元素提取过程中出现误差时导致验证出错的情况,进而能够提高验证方法的安全性。

图3是根据一示例性实施例示出的一种身份验证装置框图。参照图3,该装置包括图像获取模块301,图像处理模块302,确定模块303和验证模块304。

图像获取模块301,用于获取摄像头实时采集的至少两张人脸图像;

图像处理模块302,用于对采集到的每张人脸图像进行图像处理,得到所述每张人脸图像中的多个面部元素和人脸特征;

确定模块303,用于根据所述每张人脸图像中的多个面部元素,确定所述至少两张人脸图像中是否存在指定图像,所述指定图像为所述多个面部元素中指定面部元素符合预设标准的人脸图像;

验证模块304,用于当所述至少两张人脸图像中至少存在预设数量的所述指定图像时,验证通过。

在本公开提供的第一种可能实现方式中,所述图像处理模块302用于:

将所述每张人脸图像输入验证模型,得到所述每张人脸图像的多个面部元素和人脸特征,所述验证模型用于提取人脸图像中的面部元素及分析人脸特征,所述验证模型由卷积神经网络和多个损失函数构成。

在本公开提供的第二种可能实现方式中,所述装置还包括:

图像数量获取模块,用于获取所述至少两张人脸图像中的所述指定图像的图像数量;

所述确定模块303还用于确定所述图像数量是否大于预设数量;

所述验证模块304还用于当所述图像数量大于所述预设数量时,验证通过;当所述图像数量不大于所述预设数量时,验证不通过。

在本公开提供的第三种可能实现方式中,所述多个面部元素至少包括眼部状态信息、嘴部状态信息、头部状态信息、鼻部状态信息。

在本公开提供的第四种可能实现方式中,所述多个损失函数至少包括用于检测眼部状态的第一损失函数、用于检测嘴部状态的第二损失函数和用于检测头部状态的第三损失函数。

在本公开提供的第五种可能实现方式中,所述第一损失函数和所述第二损失函数为二分类函数,所述第三损失函数为三分类函数。

在本公开提供的第六种可能实现方式中,所述验证模块304用于:

当所述至少两张人脸图像中至少存在预设数量的处于睁眼状态的人脸图像时,验证通过;或,

当所述至少两张人脸图像中至少存在预设数量的处于张嘴状态的人脸图像时,验证通过;或,

当所述至少两张人脸图像中至少存在预设数量的头部处于左转或右转状态的人脸图像时,验证通过。

在本公开提供的第七种可能实现方式中,所述多个面部元素和人脸特征以197维向量表示,所述197维向量包括95个人脸特征点的二维坐标、二维眼部状态信息、二维嘴部状态信息和三维头部状态信息。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图4是根据一示例性实施例示出的一种身份验证装置400的框图。例如,装置400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图4,装置400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(I/O)接口412,传感器组件414,以及通信组件416。

处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。

存储器404被配置为存储各种类型的数据以支持在装置400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件406为装置400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为装置400生成、管理和分配电力相关联的组件。

多媒体组件408包括在所述装置400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当装置400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。

I/O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件414包括一个或多个传感器,用于为装置400提供各个方面的状态评估。例如,传感器组件414可以检测到装置400的打开/关闭状态,组件的相对定位,例如所述组件为装置400的显示器和小键盘,传感器组件414还可以检测装置400或装置400一个组件的位置改变,用户与装置400接触的存在或不存在,装置400方位或加速/减速和装置400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件416被配置为便于装置400和其他设备之间有线或无线方式的通信。装置400可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述身份验证方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由装置400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述身份验证方法。

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

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

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1