具体实施方式
为使本发明的目的、技术特征和实施效果更加清楚,下面将结合附图及具体实施例对本发明的技术方案进行详细描述。本发明提供的实施例中,对其中存在的人脸进行跟踪检测,然后,采用人脸认证技术确认用户身份,再次,要求用户调整视线方向到至少一个限定方向,确认用户为活体。
本实施例提出一种对用户进行身份认证的方法,如图1所示,包括:
步骤101,采集包含所述用户人脸的图像,对所述图像进行人脸检测,得到其中存在的人脸区域;
步骤102,采用人脸认证技术获取所述人脸区域对应的用户身份;
步骤103,要求所述用户调整视线方向到至少一个限定方向,从而确认为一活体;
步骤104,当确定所述用户通过人脸认证并且判定为活体时,认为所述用户为一合法用户。
本发明实施例具有以下的有益效果:在确定存在一人脸的图像之后,采用视线判定来确认是一活体的用户提供了所述图像,从而避免了通过仅提供照片骗取系统认证为合法用户的缺陷,提高了身份认证技术的可靠性。
在本实施例中,对上述技术方案进行细化,以提供不同的实现方式:
对步骤101,可以采用人脸检测跟踪技术获得人脸图像中的人脸区域的具体范围。
对步骤102,人脸认证技术,一种实施方案如下,包括:
步骤1021.根据人脸区域范围,定位脸部特征点。其中,脸部特征点定位为现有技术,可以采用各种技术实现特征点定位,并且人脸图像上的脸部特征点有若干种选择。对于人脸认证而言,比较简单的方式是选择左眼球中心点和右眼球中心点作为人脸认证时所采用的脸部特征点。
步骤1022,根据上述得到的脸部特征点,割取人脸图像,将割取后的图像放缩到一预定大小,并提取所述脸部特征点。其中,根据脸部特征点割取人脸区域,可以参考现有技术。一种方式是,根据左眼和右眼中心点的横、纵坐标,确定人脸中心点,根据左眼和右眼中心点间距离,确定人脸区域的宽度和高度,从而得到人脸区域的范围。
步骤1023.根据提取后的至少一个脸部特征点,确认该图像对应一合法身份。其中,人脸认证模型可以参考现有技术,例如,一种实施方案为,提取割取归一化固定尺度的人脸图像在多个方向多个尺度上的Gabor特征,采用AdaBoost进行特征挑选,然后采用支持向量机训练人脸认证模型。训练时,将合法用户的人脸区域特征作为正样本特征,将其它不是这些合法用户的人脸区域特征作为反样本特征,训练支持向量机模型。完成对人脸认证模型的训练之后,使用该人脸认证模型时,将当前用户的人脸区域特征输入人脸认证模型,判定当前用户是否为合法用户。
在步骤103中,一种实施例如下,包括:
步骤1031.在人脸图像上定位至少一个脸部特征点;
步骤1032.根据所述脸部特征点,得到一眼睛区域图像,根据预先设置的视线方向分类器判定所述眼睛区域图像的视线方向符合所述限定方向。具体包括:所述脸部特征点为内外眼角点;所述得到一眼睛区域图像进一步包括:以所述内外眼角点之间的距离的第一倍数为宽度,以所述距离的第二倍数为高度,确定眼睛区域的范围,割取所确定的眼睛区域图像并放缩到视线方向分类器规定的预定尺寸。
或者,定位左眼特征点和右眼特征点,根据左眼特征点和右眼特征点,确定人脸认证所需的人脸区域的范围;即根据左眼特征点和右眼特征点,确定左眼区域和右眼区域,并分别根据所述左眼和所述右眼区域判定左眼和右眼的视线方向;根据预先设置的视线方向分类器判定所述左眼和右眼的视线方向符合所述限定方向。
上述实施例中,如何定位脸部特征点为现有技术,可以采用各种技术实现脸部特征点定位,并且图像上的脸部特征点有若干种选择。
对于人脸认证而言,比较简单的方式是选择左眼球中心点和右眼球中心点作为人脸认证时所采用的脸部特征点。根据脸部特征点割取人脸区域,可以参考现有技术。一种方式是,根据左眼和右眼中心点的横、纵坐标,确定人脸中心点,根据左眼和右眼中心点间距离,确定人脸区域的宽度和高度,从而得到人脸区域的范围。
判定视线方向采用如下技术:本实施例中设定用户的视线方向为:
A.向上,B.向下,C.正视,D.向左,E.向右。
可以仅采用其中的一种或者多种,也可以在上述五种基础上增加其它方向。本发明实施例中将上述每一个方向称为一个子方向,并进行训练以得到一子方向分类器,如图2所示,包括:
步骤201,定位所需要的脸部特征点;脸部特征点定位方法可以参考现有技术。例如定位左眼,以及确定左眼的内外眼角点;或者,定位右眼以及确定右眼的中心点。
步骤202,根据定位的脸部特征点的结果确定眼睛区域。以下以左眼为例说明;以左眼眼球中心点作为中心,以左眼内外眼角点距离的P倍为Width,以所述宽度Width的Q倍为高度Height,所确定的范围为眼睛区域;其中,P优选取1.2,Q优选取为0.6。按照所确定的眼睛区域提取眼睛区域并归一化到预定大小FW*FH,其中FW可以取24,FH可以取12。
步骤203,采用眼睛区域图像训练各个视线方向的子方向分类器。具体包括:
提取该眼睛区域图像对应的Gabor特征,采用一子方向的眼睛区域图像对应的所述Gabor特征作为正样本,采用其它子方向和其它非上述方向的眼睛区域图像作为反样本,训练一个该子方向的子方向分类器。
所有所述子方向分类器构成一所述视线方向分类器。
步骤204,在验证用户的视线方向时,将割取的眼睛区域图像放缩到视线方向分类器规定尺寸,送入训练好的视线方向分类器,如果符合,则认为当前用户的视线方向满足限定方向,否则认为不满足。
进而,可以采用多帧结果进行判定,比如,当用户在预定的T时间段内,如果满足限定方向的视线方向帧数大于设定阈值,则认为用户为合法用户。综合多帧,能够更好的克服噪声干扰,得到更稳定的效果。
其中步骤203中,一种优选实施例是,采用Gabor滤波器提取眼睛区域图像在多个方向多个尺度上的Gabor特征。本实施例中根据如下方法提取眼睛区域图像在多个方向多个尺度上的Gabor特征,Gabor特征由一系列不同尺度、不同方向的Gabor滤波器与所述眼睛区域图像进行二维卷积得到。包括:
采用m个尺度和n个方向所构成的所有Gabor滤波器来获取每一个Gabor特征,这些Gabor滤波器统称为:全局滤波器组,用G(m×n)表示,具体可以取m=5,n=8。如此,得到一个由m*n*FW*FH个特征组成的特征向量。将尺度为m,方向为n的Gabor滤波器对像素中心位置为(j,i)的所述眼睛区域图像进行滤波,得到Gabor特征如下表示:Gabor(m,n,j,i)。
其中实施例中,以训练向下视线对应的子方向分类器为例,如图3所示,其训练过程如下:
采用上述提取的向下子方向的眼睛区域图像作为正样本,采用除向下方向之外其它子方向的眼睛区域图像作为反样本,并采集其它不是眼睛区域图像的图像放缩到M*N作为反样本,采用上述样本的所述Gabor特征作为特征向量。所得到的Gabor特征依然有可能很多,为了提高速度,本实施例采用带有特征选择功能的自适应增强算法(Adaboost,Adaptive Adaboost)对上述子区域内的Gabor特征进行特征选择,并进行训练最终训练得到一个子方向分类器,作为该向下视线方向的子方向分类器。
以连续型自适应增强算法(Real AdaBoost)算法为例,Real AdaBoost算法的强分类器训练过程如下,包括:
步骤301.给定训练集L={(xi,yi)},i=1,...,n;其中,yi∈{+1,-1}是样本标号,xi∈X是样本特征,n表示n个方向;
步骤302.确定样本的初始权重 i=1,...,n;
步骤303.迭代次数为t=1,...,T:在特定的一轮分布Dt上,采用以下将要描述的弱分类器构造选择算法,获取此轮最佳的弱分类器,得到:ht:X→{+∝,-∝};
步骤304.更新样本的权重为
其中 是归一化因子;
步骤305.输出最终的强视线方向分类器:
则上述特征xi为该子区域对应的Gabor特征。
需要说明的是,在步骤303中的每轮迭代过程里,对于弱分类器构造算法,为采用更少的弱分类器构造强分类器以减少阈值搜索的次数、加快训练过程,具体可以采用区域分割弱分类器构造方法(Domain-partitioning weak hypotheses)来构造弱分类器,并从中选取使得分类误差上界最小的弱分类器作为本轮迭代的输出。其中弱分类器构造算法如下所示:
步骤3031.首先,在分布Dt上,对于候选特征空间H中的每个特征构造其对应的弱分类器如下:
将样本空间分为n个不同的区间X1,...,Xn,X1∪X2∪...∪Xn=X且
步骤3032.在分布Dt上,计算:
其中l=±1;
步骤3033.对于Xj中的每个X,设定其对应弱分类器输出为
其中ε<<1/2N,引入ε是为避免分母为零时引起的数字溢出;
步骤3034.计算
然后,从构造的所有弱分类器中,选择使得Z最小的h作为此轮最终选择输出的弱分类器,即
此时,为每个子方向分类器都训练得到一个 定义为该子方向分类器的分类置信度,该分类置信度的数值能够很好的衡量图像区域属于子方向分类器的程度。
依次训练得到所有的子方向分类器,所有所述子方向分类器构成一所述视线方向分类器。
上述只是给出了构造视线方向分类器中各个子方向分类器的较优实施例,也可以采用局部二值模式(LBP)作为特征,采用支持向量机进行训练,训练得到限定方向的子方向分类器以构成最终的视线方向分类器。还可以采用其它特征和分类器训练方法得到最终的视线方向分类器。
与步骤201~步骤204所提供的实施例相比,一种判定视线方向是否满足限定方向的更优方法为,当采用连续型自适应增强算法(Real adaboost)训练得到的视线方向分类器进行判定时,将放缩到预定尺度的眼睛区域图像送入上述所有子方向分类器,并找到分类置信度为最大的方向,如果分类置信度超过了一个预先设置的阈值,则该眼睛区域图像通过了所述视线方向的分类器,并且由于该方向为系统中预先所设置的用户视线的限定方向,则认为当前用户的视线方向已满足了限定方向,否则,认为用户视线未满足限定方向。
为了提高认证方法的可靠性,可以让用户提供两种或两种以上的不同视线方向。进一步地,判定用户姿态,在用户做出两种不同的视线方向时,限定其身体的姿态保持一致,即要求用户只控制瞳孔改变视线方向而不改变身体的姿势。
在跟踪过程中,如果跟踪出现中断,则停止前述处理,重新开始,防止用户采用多张照片冒认。
本实施例中,当采集到的原始图像中存在多个人脸时,可以检测和跟踪图像中存在的最大尺寸的人脸,并进行后续处理。
上述实施例将人脸认证和视线方向分别处理,在脸部特征点定位上会产生额外的操作。一种较优的实施例还提供了仅进行一次脸部特征点定位的方案,如图4所示,包括:
步骤401,采集包含有人脸的图像,并进行人脸检测跟踪,得到其中存在的人脸区域。
步骤402,对人脸区域进行脸部特征点定位;
为了使得所得到的脸部特征点既能满足人脸认证的要求,同时也能满足得到视线方向所需要的眼睛区域的要求,一种较优方式为选择左眼特征点和右眼特征点作为脸部特征点。
步骤403,根据脸部特征点定位结果得到人脸区域并割取,放缩人脸区域到预定大小,提取人脸特征送入人脸认证模型,确定当前用户的身份。
步骤404,根据脸部特征点定位结果得到眼睛区域,并割取眼睛区域,并判定其视线的方向符合限定方向。
当用户通过人脸认证并且判定为活体时,认为其为合法用户,否则认为不是合法用户。
在步骤201的具体实施例中,脸部特征点可以选择为左眼特征点和嘴巴特征点,也可以选择为右眼特征点和脸颊轮廓特征点等。而在步骤402中,对于左眼和右眼特征点而言,一种精度较高的方法为设定左眼特征点为左眼内角点和左眼外角点,右眼特征点为右眼内角点和右眼外角点。其中,采用左右眼内外角点得到左眼或右眼眼睛区域的方法同上述实施例。
一种通过左右眼内外角点得到人脸区域以及眼睛区域优选实施例,包括:
步骤a,得到标准人脸的左右眼的内外角点,根据标准人脸的内外角点坐标定义标准人脸区域范围;
左/右眼特征点还可以取为眼睛中心点和内/外眼角点,也可以取为左眼和右眼区域内的其它的特征点定义方式,比如眼睛轮廓特征点。
步骤b,计算得到当前标准人脸的内外角点坐标到当前人脸左右眼的内外角点坐标的仿射变换模型,计算标准人脸区域范围内各点经过所述仿射变换模型变换后对应的在当前人脸区域的点的坐标,并采用当前人脸区域内对应点的亮度值替换标准人脸区域内对应点的亮度,从而得到当前人脸的人脸图像。将其放缩到预定尺度,得到人脸认证所需的预定尺度的人脸图像。
步骤c,由于已经得到了左眼特征点和右眼特征点,从而可以同时得到左眼和右眼的眼睛区域。根据左眼眼睛区域的视线是否符合限定方向以及右眼眼睛区域是否符合视线方向,判定用户的视线方向是否符合限定方向。一种优选方式为,只有当左眼和右眼区域的视线均符合限定方向时才认为用户为合法用户。
本发明实施例具有以下的有益效果:在确定存在一人脸的图像之后,采用视线判定来确认是一活体的用户提供了所述图像,从而避免了通过仅提供照片骗取系统认证为合法用户的缺陷,提高了身份认证技术的可靠性。
与一种基于图像提取脸部特征点进行认证的方法对应地,本发明还提供了一种基于图像提取特征点进行认证的认证装置,如图5所示,包括:
摄像单元501,用于采集包含所述用户人脸的图像;
人脸检测单元502,用于对所述人脸图像进行人脸检测,得到其中存在的人脸区域;
身份验证单元503,与人脸检测单元502连接,用于采用人脸认证技术获取所述人脸区域对应的用户身份;
视线验证单元504,与人脸检测单元502和身份验证单元503连接,用于要求所述用户调整视线方向到至少一个限定方向,从而确认为一活体;当确定所述用户通过人脸认证并且判定为活体时,认为所述用户为一合法用户。
本发明实施例具有以下的有益效果:在确定存在一人脸图像之后,采用视线判定来确认提供所述人脸图像的为一活体使用者的人脸,从而据除了通过仅提供照片骗取系统认证为正确使用者的缺陷,提高了人脸认证技术的可靠性。
本实施例中,对上述技术方案进行细化,以提供不同的实现方式:如图6所示,认证装置还包括:
特征点定位单元505,用于根据在所述人脸区域上定位至少一个特征点;根据所述特征点,得到一眼睛区域图像,将所述眼睛区域图像放缩到一预定大小,发送给所述身份验证单元503和/或视线验证单元504。
其中,脸部的特征点定位为现有技术,可以采用各种技术实现特征点定位,并且人脸图像上的特征点有若干种选择。对于人脸认证而言,比较简单的方式是选择左眼球中心点和右眼球中心点作为人脸认证时所采用的特征点。
其中,身份验证单元503可以具体是:人脸特征身份验证单元,用于在人脸区域上定位脸部特征点;根据所述脸部特征点割取所述人脸区域,将割取的所述人脸区域放缩到一预定大小并提取脸部特征点;根据提取的至少一个所述人脸特征,确认对应的用户身份。
特征点定位单元505还包括:
特征点第一提取单元506,用于定位左眼特征点和右眼特征点,根据左眼特征点和右眼特征点,确定人脸认证所需的所述人脸区域的范围;发送给所述身份验证单元503。
当所述特征点为内外眼角点时,以所述内外眼角点之间的距离的第一倍数为宽度,以所述距离的第二倍数为高度,确定眼睛区域的范围,割取所确定的眼睛区域图像并放缩到视线方向分类器规定的预定尺寸;根据预先设置的视线方向分类器判定所述眼睛区域图像中的视线方向符合所述限定方向。
特征点第二提取单元507,用于当所述特征点为内外眼角点时,以所述内外眼角点之间的距离的第一倍数为宽度,以所述距离的第二倍数为高度,确定眼睛区域的范围,割取所确定的眼睛区域图像并放缩到视线方向分类器的预定尺寸。具体为:当定位左眼特征点和右眼特征点时,根据左眼特征点和右眼特征点,确定人脸认证所需的所述人脸区域的范围;根据左眼特征点和右眼特征点,确定左眼区域和右眼区域,并分别根据所述左眼和所述右眼区域判定左眼和右眼的视线方向;根据预先设置的视线方向分类器判定所述左眼和右眼的视线方向符合所述限定方向。
特征点第三提取单元508,用于当所述特征点为左眼特征点和右眼特征点时,根据左眼特征点和右眼特征点,确定左眼区域和右眼区域,并放缩到视线方向分类器的预定尺寸。
上述实施例将人脸认证和视线方向判定分别处理,在特征点定位上会产生额外的操作。一种较优的实施例还提供了仅采集一次特征点的方案,为了使得所得到的脸部特征点既能满足人脸认证的要求,同时也能满足得到视线方向判定所需要的眼睛区域的要求,一种较优方式为选择脸部特征点为左眼特征点和右眼特征点。对于左眼和右眼特征点而言,一种精度较高的方法为设定左眼特征点为左眼内角点和左眼外角点,右眼特征点为右眼内角点和右眼外角点。其中,采用左右眼内外角点得到左眼或右眼眼睛区域的方法同上述实施例。
特征点定位单元505得到标准人脸的左右眼的内外角点,根据标准人脸的内外角点坐标定义标准人脸区域的范围;左/右眼特征点还可以取为眼睛中心点和内/外眼角点,当然也可以取为其它的左眼和右眼区域内的特征点定义方式,比如眼睛轮廓特征点。通知给人脸检测单元502的一子单元,即仿射变换模型单元。
仿射变换模型单元计算得到当前标准人脸的内外角点坐标到当前人脸左右眼的内外角点坐标的仿射变换模型,计算标准人脸区域范围内各点经过所述仿射变换模型变换后对应的在当前人脸区域的点的坐标,并采用当前人脸区域内对应点的亮度值替换标准人脸区域内对应点的亮度,从而得到当前人脸的图像。
人脸特征身份验证单元根据特征点定位结果,得到人脸认证所需的预定尺度的人脸区域图像并放缩到预定大小,提取人脸认证特征,并通知送入人脸认证模型,判定当前用户是否为合法用户。
由于已经得到了左眼和右眼的特征点,从而可以同时得到左眼和右眼的眼睛区域。
视线验证单元504根据左眼眼睛区域中的视线是否符合限定方向以及右眼眼睛区域中的视线是否符合限定方向,以判定用户的视线方向是否符合限定方向。一种方式为,只有当左眼和右眼区域中的视线均符合限定方向时才认为视线满足限定方向。
还可以包括:
视线验证辅助单元,与视线验证单元504连接,用于设置所述视线方向分类器要求至少提供两种或两种以上的视线方向所对应的所述眼睛区域图像,并且,在视线调整过程中,用户姿态保持始终不变。
本发明实施例具有以下的有益效果:在确定存在一人脸的图像之后,采用视线判定来确认是一活体的用户提供了所述图像,从而避免了通过仅提供照片骗取系统认证为合法用户的缺陷,提高了身份认证技术的可靠性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。