实施例一
本发明实施例一提供的手机用户身份认证方法流程图如图1所示,该方法可以包括以下步骤:
步骤S101.用户在手机上输入登录账号和密码;
步骤S103.手机判断登录账号和密码是否正确;
步骤S105.如果登录账号和密码出错,则拒绝所述用户进入手机操作系统,提示出错;
步骤S107.若登录账号和密码正确,将该登录账号和密码发送到云服务器,登录账号和密码对应云服务器中存储的用户的人脸样本图像库;
步骤S109.手机启动摄像头,获取用户的人脸输入图像,并将该人脸输入图像发送到云服务器;
步骤S111.云服务器根据登录账号和密码以及人脸输入图像,对用户进行身份认证,判断是否允许所述用户进入手机操作系统;步骤S111具体包括:
步骤S111-2.云服务器根据登录账号和密码,确定所述登录账号和密码对应的用户的人脸样本图像库;
步骤S111-4.根据人脸输入图像与人脸样本图像库,得到人脸特征相似值;该人脸特征相似值即人脸输入图像与每个人脸样本图像之相似程度,人脸特征相似值越小越相似;
步骤S111-4具体包括:
步骤S111-4-1.通过人脸检测,从人脸输入图像中获得人脸区域图像;该人脸检测方法主要是通过将人脸输入图像与人脸样本图像进行人脸肤色区域对比,并按照头形的比例,取出该人脸区域图像。
步骤S111-4-3.计算所述人脸样本图像库中每个人脸样本图像的第一特性值与所述人脸区域图像的第二特性值;
步骤S111-4-5.计算所述人脸样本图像库中每个人脸样本图像的第一特性值与所述人脸区域图像的第二特性值的特征值距离,得到多个第二特性距离,并根据所述多个第二特性距离确定人脸特征相似值;该人脸特征相似值即人脸输入图像与每个人脸样本图像之相似程度,人脸特征相似值越小越相似。人脸特征相似值可以是多个第二特性距离中的最大值,或者可以是多个第二特性距离的平均值。
步骤S111-6.判断所述人脸特征相似值是否大于预设阈值,其中所述预设阈值是根据所述人脸样本图像库中每个人脸样本图像之间的多个第一特性距离得到的;预设阈值可以是多个第一特性距离中的最大值,或者可以是多个第一特性距离的平均值。
步骤S111-8.若所述人脸特征相似值不大于所述预设阈值,即用户人脸图像与人脸样本图像库中的人脸样本图像相似度符合要求,则允许所述用户进入手机操作系统;
步骤S111-10.若所述人脸特征相似值大于所述预设阈值,即用户人脸图像与人脸样本图像库中的人脸样本图像相似度未能符合要求,则分别统计有多少个人脸样本图像的第一特性距离大于或小于人脸特征相似值,即计算第一数量和第二数量,所述第一数量为大于所述人脸特征相似值的第一特性距离对应的人脸样本图像库中人脸样本图像的个数,所述第二数量为不大于所述人脸特征相似值的第一特性距离对应的人脸样本图像库中人脸样本图像的个数;然后,判断所述第一数量是否大于所述第二数量;
步骤S111-12.若第一数量小于所述第二数量,则拒绝用户进入手机操作系统;
步骤S111-14.若第一数量不小于所述第二数量,则允许用户进入手机操作系统。
下文进一步详细具体地说明本发明实施例是如何提取人脸图像特征,确定人脸样本图像库中每个人脸样本图像的第一特性值、人脸区域图像的第二特性值,以及人脸样本图像库中人脸样本图像两两之间的第一特性距离,人脸样本图像库中每个人脸样本图像与所述人脸区域图像的第二特性距离,以及预设阈值和人脸特征相似值的。
以人脸样本图像X(x,y)为例,人脸样本图像X(x,y)为二维64×64灰度图像,x表示横坐标像素,y表示纵坐标像素。人脸样本图像库由M幅人脸样本图像构成,则可以用{Xi|i=1,2,…,M}表示人脸样本图像库。将M幅人脸样本图像按人脸位置重合叠加,求所有图像重叠后的均值,其均值为
每幅人脸样本图像Xi与均值的差为:
构造协方差矩阵:C=AAT
其中A=[φ1,φ2,…,φM]为差值向量的线性组合。对于64×64人脸图像,协方差矩阵C的大小为4096×4096,直接对它求解特征值和特征向量是很困难的。根据奇异值分解定理,通过求解ATA的特征值和特征向量来获得C=AAT的特征值和特征向量。设λi(i=1,2,…,r)为矩阵ATA的r个非零特征值,vi为ATA对应于λi的特征向量,则C=AAT的正交归一特征向量将样本协方差对应的特征值按大小排列:λ1≥λ2≥…≥λr。设其对应的特征向量为ui,这样每幅人脸样本图像都可以投影到由u1,u2,…,ur张成的特征空间U,具体运用时可以选取前面d个特征值作为特征空间,因为该特征空间的维数比原人脸样本图像的维数低,所以将每幅人脸样本图像投影到由u1,u2,…,ur张成的特征空间U之后,人脸样本图像维数也大大降低,从而达到降低维数和提取特征的目的。选取的原则按照特征值所占的能量比例来确定,通常取α=95%~99%之间。
为了提高特征提取的效率和精度,本发明实施例提出了对人脸样本图像分块求取特征向量的方法。鉴于人脸具有三个显著特征:眼睛、鼻子和嘴巴,而且它们分别处在人脸的上中下三块,根据这三个显著特征把人脸图像分为三个独立的子块——上部包括:眼睛,中部包括鼻子,下部包括嘴巴。
经过分块,一幅人脸样本图像就变成了三个子图像,那么每幅人脸样本图像Xi可以表示成Xi=[Xi u Xi m Xi b]T(i=1,2,…,M).
原来的一个人脸样本图像库变成三个相互独立的子块图像库,即Xi u,Xi m和Xi b(i=1,2,…,M)。如果Xi为P行Q列的矩阵,则Xi u为的P1行Q列的矩阵,Xi m为P2行Q列的矩阵,Xi b为P3行Q列的矩阵,其中P1+P2+P3=P.
所有人脸样本图像库的上部子图像构成上部子块图像库,同样中部和下部子图像就构成了中部子块图像库和下部子块图像库。在特征提取的过程中,它们将会被当作是三个独立的子块图像库。
鉴于人脸样本图像库的样本有限,本发明实施例提出如下算法,可以在不采样的情况下增加样本数量,从而提高特征提取的精度。该方法具体包括:
1.对人脸样本图像X(m×n的矩阵)生成其对偶样本X',其中X'=XY,Y为n×n的矩阵,它的反对角元素为1,其他元素为0,即有:
其中矩阵Y具有对称性,即Y=YT;以及正交性,即YYT=YYT=I(I表示单位矩阵)。
将X分解为第一样本Xe=(X+X')/2和第二样本Xo=(X-X')/2,则对偶样本X'均值、协方差矩阵C'之间的关系为:
第一样本Xe均值、协方差矩阵Ce之间的关系为:
第二样本均值、协方差矩阵Co之间的关系为:
通过理论推导,可以得到:第一样本Xe的特征空间和第二样本的特征空间互相正交,而且X的特征空间是第一样本Xe的特征空间和第二样本Xo的特征空间的直接和。
因此,可以分别对Xe和Xo分别根据特征提取算法得到第一特征空间Ue和第二特征空间Uo,然后从第一特征空间Ue和第二特征空间Uo中挑选出识别精度高且差异大的特征向量构成特征空间U。
3.将U作为特征变换矩阵,通过V=AU提取特征。
结合分块后的人脸样本图像库对本发明实施例的方法进行说明。以上部子块图像库为例,对上部子块图像库的每个样本Xi u(i=1,2,…,M)分别生成每个样本的对偶样本其中Y为Q×Q的矩阵,它的反对角元素为1,其他元素为0,即有:
将Xi u分解为第一样本和第二样本分别对和分别根据上述特征提取算法,得到第一特征空间Uu i,e和第二特征空间Uu i,o,然后从第一特征空间Uu i,e和第二特征空间Uu i,o中挑选出识别精度高且差异大的特征向量构造特征空间Uu i;将Uu i作为特征变换矩阵,通过Vi u=Xi uUu i提取Xi u在特征空间Uu i的投影,即Vi u。
以上述同样的方法对中部子块图像库和下部子块图像库每个样本Xi m和Xi b(i=1,2,…,M)进行特征提取,记中部子块图像库和下部子块图像库每个样本Xi m和Xi b(i=1,2,…,M)的在各自特征空间的投影为Vi m和Vi b。
假设Vi u为ki,1维向量,对上部子块图像库中每个样本Xi u(i=1,2,…,M)的特征矩阵分别计算特性值Ti u:
对中部子块图像库和下部子块图像库每个样本Xi m和Xi b(i=1,2,…,M)的特征空间Vi m(ki,2维向量)和Vi b(ki,3维向量),分别计算特性值和
对上部子块图像库、中部子块图像库和下部子块图像库每个样本Xi u,Xi m和Xi b的特性值Ti u,Ti m和Ti b求平均值,得到人脸样本图像库中每个人脸样本Xi的第一特性值Ti=(Ti u+Ti m+Ti b)/3.(i=1,2,…,M)
以上描述的是针对人脸样本图像库的处理。根据上述同样的方法对人脸区域图像也作相应处理,即对人脸区域图像进行分块,分别计算每块相应的特性值,求和取平均值,最后得到人脸区域图像的第二特性值T。
本发明实施例提出一种计算特性距离的方法——根据人脸样本图像库中每个人脸样本图像的第一特性值,计算人脸样本图像之间的多个第一特性距离。具体包括:
对人脸样本图像Xi和Xj(i,j=1,2,…,M,且i=j),这两个人脸样本图像之间的第一特性距离为计算两两人脸样本图像之间的多个第一特性距离,一共有M(M-1)/2个第一特性距离。
然后,根据人脸样本图像库中每个人脸样本图像之间的M(M-1)/2个第一特性距离求得预设阈值,该预设阈值可以是M(M-1)/2个第一特性距离中的最大值,也可以是M(M-1)/2个第一特性距离的平均值。
同样地,根据人脸区域图像的第二特性值T和人脸样本图像库中每个人脸样本图像的第一特性值,可以求得多个第二特性距离(i=1,2,…,M),一共有M个第二特性距离。然后,再根据M个第二特性距离确定人脸特征相似值,所述人脸特征相似值可以是M个第二特性距离中的最大值,也可以是M个第二特性距离的平均值。
也就是说,计算所述人脸样本图像库中每个人脸样本图像的第一特性值的步骤包括:
将人脸样本图像Xi分成三个子图像,即Xi u,Xi m和Xi b(i=1,2,…,M);
对Xi u,Xi m和Xi b分别生成对偶样本;
根据所述对偶样本,将Xi u,Xi m和Xi b分别分解为第一样本和第二样本
分别对所述第一样本和第二样本构造协方差矩阵;
分别确定所述第一样本协方差矩阵的正交归一特征向量和所述第二样本协方差矩阵的正交归一特征向量;
根据所述第一样本协方差矩阵的正交归一特征向量组成的第一特征空间,
以及所述第二样本协方差矩阵的正交归一特征向量组成的第二特征空间,确定所述第一样本和所述第二样本分别在所述第一特征空间和第二特征空间的投影;
根据所述第一样本和所述第二样本在所述第一特征空间和第二特征空间的投影确定Xi u,Xi m和Xi b的特性值;
根据Xi u,Xi m和Xi b的特性值确定所述人脸样本图像Xi的第一特性值;
计算所述人脸区域图像的第二特性值包括的步骤:
将所述人脸区域图像分成三个子图像;
对所述三个子图像分别生成对应的对偶样本;
根据所述三个子图像对应的对偶样本,将所述三个子图像分别分解为第一样本和第二样本;
分别对所述三个子图像的第一样本和第二样本构造协方差矩阵;
分别确定所述第一样本协方差矩阵的正交归一特征向量和所述第二样本协方差矩阵的正交归一特征向量;
根据所述第一样本协方差矩阵的正交归一特征向量组成的特征空间,以及所述第二样本协方差矩阵的正交归一特征向量组成的特征空间,确定所述第一样本和所述第二样本在特征空间的投影;
根据所所述第一样本和所述第二样本在特征空间的投影确定所述三个子图像的特性值;
根据所述三个子图像的特性值确定所述人脸区域图像的第二特性值。
本发明实施例的步骤S111-14还包括:若第一数量不小于所述第二数量,则利用所述人脸输入图像对所述人脸样本图像库进行更新;更新的策略可以是替代最久远的人脸样本图像,或者替代与所述人脸输入图像差异最大的人脸样本图像。另外,还可以重新计算所述云服务器中的人脸样本图像库的第一特性距离,并根据所述第一特性距离确定新的预设阈值,将所述新的预设阈值替代所述预设阈值。从而实现人脸样本图库的动态更新。
本发明实施例的手机用户身份认证方法,能够将身份认证的负载由云服务器承担,提高手机操作系统的安全性、增强用户体验、提高人脸验证的精确度。
实施例二
本发明实施例还提供一种云服务器100,如图2所示,包括:
存储单元200,用于存储用户的人脸样本图像库;
接收单元201,用于接收来自用户手机的登录账号和密码,以及人脸输入图像;
确定单元203,用于根据所述登录账号和密码,确定所述登录账号和密码对应的存储在存储单元200用户的人脸样本图像库;
人脸特征相似值确定单元205,用于根据所述人脸输入图像与所述人脸样本图像库,得到人脸特征相似值;如图3所示,该人脸特征相似值确定单元205包括人脸区域图像获取单元205-2、特性值计算单元205-4和特性距离计算单元205-6,其中:
人脸区域图像获取单元205-2,用于通过人脸检测,从所述人脸输入图像中获得人脸区域图像;
特性值计算单元205-4,用于计算所述人脸样本图像库中每个人脸样本图像的第一特性值与所述人脸区域图像的第二特性值;
特性距离计算单元205-6,用于计算所述人脸样本图像库中每个人脸样本图像的第一特性值与所述人脸区域图像的第二特性值之间的特性值距离,得到多个第二特性距离,并根据所述多个第二特性距离确定所述人脸特征相似值;
第一判断单元207,用于判断所述人脸特征相似值是否大于预设阈值,其中所述预设阈值是根据所述人脸样本图像库中每个人脸样本图像之间的多个第一特性距离得到的;
第一允许单元209,用于当所述人脸特征相似值不大于所述预设阈值时,则允许所述用户进入手机操作系统;
第二判断单元211,用于当所述人脸特征相似值大于所述预设阈值时,计算第一数量和第二数量,所述第一数量为大于所述人脸特征相似值的第一特性距离对应的人脸样本图像库中人脸样本图像的个数,所述第二数量为不大于所述人脸特征相似值的第一特性距离对应的人脸样本图像库中人脸样本图像的个数,并判断所述第一数量是否大于所述第二数量;
拒绝单元213,用于当所述第一数量小于所述第二数量时,拒绝所述用户进入手机操作系统;
第二允许单元215,用于当所述第一数量不小于所述第二数量时,允许所述用户进入手机操作系统。
可选的,该云服务器还可以包括:第一更新单元217,用于当所述第一数量不小于所述第二数量时,利用所述人脸输入图像对所述人脸样本图像库进行更新。
可选的,该云服务器还可以包括:第二更新单元219,用于重新计算所述云服务器中的人脸样本图像库的第一特性距离,并根据所述第一特性距离确定新的预设阈值,将所述新的预设阈值替代所述预设阈值。
所述特性值计算单元205-4包括:
第一划分单元205-41,用于将人脸样本图像Xi分成三个子图像,即Xi u,Xi m和Xi b(i=1,2,…,M);
第一生成单元205-43,用于对Xi u,Xi m和Xi b分别生成对偶样本;
第一分解单元205-45,用于根据所述对偶样本,将Xi u,Xi m和Xi b分别分解为第一样本 和第二样本
第一协方差矩阵构造单元205-47,用于分别对所述第一样本和第二样本构造协方差矩阵;
第一特征向量计算单元205-49,用于分别确定所述第一样本协方差矩阵的正交归一特征向量和所述第二样本协方差矩阵的正交归一特征向量;
第一投影计算单元205-411,用于根据所述第一样本协方差矩阵的正交归一特征向量组成的第一特征空间,以及所述第二样本协方差矩阵的正交归一特征向量组成的第二特征空间,确定所述第一样本和所述第二样本分别在所述第一特征空间和第二特征空间的投影;
第一特性值确定单元205-413,用于根据所述第一样本和所述第二样本在所述第一特征空间和第二特征空间的投影确定Xi u,Xi m和Xi b的特性值;根据Xi u,Xi m和Xi b的特性值确定所述人脸样本图像Xi的第一特性值;
第二划分单元205-415,用于将所述人脸区域图像分成三个子图像;
第二生成单元205-417,用于对所述三个子图像分别生成对应的对偶样本;
第二分解单元205-419,用于根据所述三个子图像对应的对偶样本,将所述三个子图像分别分解为第一样本和第二样本;
第二协方差矩阵构造单元205-421,用于分别对所述三个子图像的第一样本和第二样本构造协方差矩阵;
第二特征向量计算单元205-423,用于分别确定所述第一样本协方差矩阵的正交归一特征向量和所述第二样本协方差矩阵的正交归一特征向量;
第二投影计算单元205-425,用于根据所述第一样本协方差矩阵的正交归一特征向量组成的特征空间,以及所述第二样本协方差矩阵的正交归一特征向量组成的特征空间,确定所述第一样本和所述第二样本在特征空间的投影;
第二特性值确定单元205-427,用于根据所所述第一样本和所述第二样本在特征空间的投影确定所述三个子图像的特性值;根据所述三个子图像的特性值确定所述人脸区域图像的第二特性值。
本发明实施例提供能够将身份认证的负载由云服务器承担,提高手机操作系统的安全性、增强用户体验、提高人脸验证的精确度。