【发明内容】
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
本发明的一个目的在于提供一种人脸认证方法,利用增量学习的方法实现了对人脸模型的自我维护能力和训练能力。
本发明的另一目的在于提供一种人脸认证装置,利用增量学习的方法实现了***的自我维护。
为了达到本发明的目的,根据本发明的一方面,本发明提供了一种人脸认证方法,所述方法包括:从若干帧图像中提取人脸特征;判断所述若干帧图像中的人脸特征是否符合预设人脸模型,当所述符合预设人脸模型的图像数超过第一阀值时,认为所述若干帧图像中的人脸特征对应的用户认证成功;当所述符合预设人脸模型的图像数超过第二阀值时,提取所述若干帧图像中所有的人脸特征作为样本特征;和利用所述样本特征对所述预设人脸模型进行增量训练,其中第二阈值不小于第一阈值。
进一步地,所述方法还包括:采集同一用户的连续图像;对所述连续图像进行人脸检测和跟踪;和从检测到人脸区域的连续图像中选择人脸旋转角度不超过预定误差范围的若干帧图像。
进一步地,所述从检测到人脸区域的连续图像中选择人脸旋转角度不超过预定误差范围的若干帧图像包括:
从连续图像的人脸区域中提取眼睛和嘴巴的特征点;
通过所述特征点计算人脸旋转角度θ,计算公式如下:
其中,a为右眼特征点距嘴巴特征点的水平距离,b为左眼特征点距嘴巴特征点的水平距离,α为20度-30度中的某一值;
选择人脸旋转角度θ不超过预定误差范围的若干帧图像。
进一步地,提取所述若干帧图像中所有的人脸特征作为样本特征包括:提取若干帧图像中符合预设人脸模型的人脸特征作为正样本,提取若干帧图像中不符合预设人脸模型的人脸特征作为反样本。
进一步地,利用所述正样本和反样本构建弱分类器库并进行增量训练,
初始化所有的选择器,选择器包括选择的弱分类器和弱分类器权重;初始化所有选择器对应所有弱特征的分类器正确样本权重和
以及分类错误样本权重和
对于当前的一个样本,样本标签为1,如果1=1则为正样本,1=-1为反样本;设定样本权重为w=1;
更新M个在线弱特征构造的弱分类器;
对于N个选择器,更新选择器的弱分类器序号j和弱分类器权重αn。
进一步地,所述弱特征是从正样本和反样本中提取的前U维Gobar特征,对于不同尺度、不同位置的前U维Gabor特征,采用基于最近邻的方式构造弱分类器,所述弱分类器形式为:
其中,
为正样本第j个特征中心,
为反样本第j个特征中心,f
j(x)为当前特征。
进一步地,所述更新M个在线弱特征构造的弱分类器的步骤是采用卡尔曼滤波方式在线更新弱特征的均值
知
进一步地,对于N个选择器,更新选择器的弱分类器序号j和弱分类器权重αn包括:
获取M个弱分类器对于样本的认证结果标志Hyp(m),认证正确为1,否则,为0;
为每个弱分类器设定未使用标志bUsedm,标志是否已经被某个选择器选择使用,如果已经使用为1,没有使用为0;
对于所有的N个选择器,进行下列处理更新:
对于所有的M个弱分类器,根据其对样本的认证结果,如果Hyp
m为1,则
否则,
如果当前弱分类器没有使用,即bUsedm为1,则跳过,对所有没有使用过的弱分类器计算认证错误率en,m,并选择错误率最小的en作为当前选择器的弱分类器,即取j=argmin(en,m),同时计算弱分类器权重αn;更新样本的权重w;
替换认证效果最差的T个弱分类器。
进一步地,所述认证错误率en,m满足:
所述弱分类器权重αn满足:
所述样本的权重w满足:
根据本发明的另一方面,本发明提供一种人脸认证***,所述***包括:特征提取模块,从若干帧图像中提取人脸特征;人脸认证模块,判断所述若干帧图像中的人脸特征是否符合预设人脸模型,当所述符合预设人脸模型的图像数超过第一阀值时,认为所述若干帧图像中的人脸特征对应的用户认证成功;特征添加模块,当所述符合预设人脸模型的图像数超过第二阀值时,提取所述若干帧图像中所有的人脸特征作为样本特征;和增量学习模块,利用所述样本特征对所述预设人脸模型进行增量训练,其中,第二阀值不小于第一阀值。
进一步地,所述***还包括:图像采集模块,采集同一用户的连续图像;人脸跟踪定位模块,对所述连续图像进行人脸检测、跟踪和定位;和图像选择模块,从检测到人脸区域的连续图像中选择人脸旋转角度不超过预定误差范围的若干帧图像。
进一步地,所述图像选择模块包括特征点提取单元、旋转角度计算单元和图像选择单元,所述特征点提取单元,从连续图像的人脸区域中提取眼睛和嘴巴的特征点;所述旋转角度计算单元,通过所述特征点计算人脸旋转角度θ,计算公式如下:
其中,a为右眼特征点距嘴巴特征点的水平距离,b为左眼特征点距嘴巴特征点的水平距离,α属于20度-30度;所述图像选择单元,选择人脸旋转角度θ不超过预定误差范围的若干帧图像。
与现有技术相比,本发明在利用初始训练图像获得人脸模型后,在利用所述人脸模型进行用户认证的过程中,将认证结果置信度较高的图像继续作为样本来对所述人脸模型进行增量学习和训练,由于用户持续不断的使用过程中,总是会有更接近的样本图像被用来训练所述人脸模型,从而使得所述人脸模型的认证能力加强,并且实现了自我维护。
【具体实施方式】
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了很多特定细节。而在没有这些特定细节时,本发明则可能仍可实现。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。换句话说,为避免混淆本发明的目的,由于熟知的方法、程序、成分和电路已经很容易理解,因此它们并未被详细描述。
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。
本发明中的人脸认证方法及装置可以由软件、硬件及其两者的结合实施成为一个模块、一个***或者一个***的一部分。所述人脸认证方法及装置在用户使用的过程中还不断挑选样本继续训练其中的人脸模型,达到了很好的自我维护和认证准确率。
请参考图1,其示出了本发明的一个实施例中的人脸认证方法100的方法流程图。所述人脸认证方法100包括:
步骤101,采集同一用户的连续图像;
在该步骤中,通常利用摄像头采集同一用户的连续图像,比如利用分辨率为1280*960的高清摄像头以每秒30帧的速率来来采集图像。
步骤102,对所述连续图像进行人脸检测和跟踪;
对于步骤101中采集的连续图像进行人脸检测和跟踪,对于人脸检测和跟踪在现有技术中已经有较多的成熟技术,比如可以采用本发明人的申请号为200510135668.8的中国专利《视频序列中人脸的实时检测与持续跟踪的方法及***》中所述方法。
步骤103,从若干帧图像中提取人脸特征;
根据步骤102中检测出的人脸区域提取人脸特征,在本实施例中,可以根据标准人脸模型和当前人脸区域中的特征点位置割取人脸区域,所述特征点指的是人脸区域中的眼睛特征点、嘴巴特征点、鼻子特征点和下巴特征点中的两种或者多种。对于所述特征点的提取,现有技术中已经有较多的成熟技术,比如可以采用本发明人的申请号为200710177541.1的中国专利《一种图像特征点定位方法及装置》中所述方法。当获得所述特征点时,可以利用人脸器官分布的“三停五眼”准则获取图像中的人脸区域。进一步地,可以提取所述人脸区域中的相应Gabor特征,为了提高认证过程的速度,可以采用adaboost算法对不同尺度,不同方向的Gabor特征进行挑选,然后从中选择对认证最有效的前M维Gabor特征。
步骤104,判断所述若干帧图像中的人脸特征是否符合预设人脸模型,当所述符合预设人脸模型的图像数超过第一阀值时,认为所述若干帧图像中的人脸特征对应的用户认证成功;
判断所述前M维Gabor特征是否符合已经训练好的预设人脸模型,由于采集到了用户的很多帧图像,为了提高认证准确度,可以根据认证若干帧图像来输出最终的输出结果,也即采用多帧图像的认证结果来“投票”出最终的输出结果。假设对N帧人脸图像中的人脸特征进行认证,其输出结果分别为On,n=1,2,3,...,N,当On的取值为1时,表示该帧图像符合所述预设人脸模型;当On的取值为0时,表示该帧图像不符合所述预设人脸模型,然后判断N帧图像中符合模型的图像数是否达到了第一阀值,如果是,就认为用户通过了认证;如果不是,就认为用户没有通过认证。
步骤105,当所述符合预设人脸模型的图像数超过第二阀值时,提取所述若干帧图像中所有的人脸特征作为样本特征;
当用户通过了认证后,继续判断所述符合预设人脸模型的图像数是否超过第二阀值,如果是,则将所述N帧图像中的人脸特征作为样本特征,其中On的取值为1的人脸特征为正样本,On的取值为0的人脸特征为反样本;如果不是,则不将所述N帧图像中的人脸特征作为样本特征。因为希望通过认证置信度较高的人脸特征作为样本特征,所以第二阀值通常大于第一阀值,当然也可以等于第一阀值。
步骤106,利用所述样本特征对所述预设人脸模型进行增量训练。
该步骤中主要是利用adaboost(自适应增强法,Adaptive Boosting)算法来训练分类器,也即人脸模型。例如,论文Real-Time Tracking via On-lineBoosting·Grabner Helmut,Grabner Michael,Bischof Horst,Proceedings of theBritish Machine Vision Conference(BMVC’06),vol.1,pages47-56,2006中提出了一种基于在线adaboost的方法,本发明人提出了一种改进方法。具体地,本发明提出的利用adaboost算法进行增量学习训练方法如下;
首先,提取步骤105中的正样本和反样本的中的前U维Gabor特征作为弱特征,U小于M,构造在线弱分类器库;
接着,采用如下方法训练强分类器,所述强分类器包括多个选择器,所述多个选择器共用一个弱分类器库,所述训练方法如下:
(1)初始化所有的选择器,选择器包括选择的弱分类器和弱分类器权重;
(2)初始化所有选择器对应所有弱特征的分类器正确样本权重和
以及分类错误样本权重和
(3)对于当前的一个样本,样本标签为1,如果1=1则为正样本,1=-1为反样本;设定样本权重为w=1;
(4)更新M个在线弱特征构造的弱分类器,弱分类器更新算法下面会详述;
(5)对于N个选择器,更新选择器的弱分类器序号j和弱分类器权重αn;具体如下:
获取M个弱分类器对于样本的认证结果标志Hyp(m),认证正确为1,否则,为0;
为每个弱分类器设定未使用标志bUsedm,标志是否已经被某个选择器选择使用,如果已经使用为1,没有使用为0;
对于所有的N个选择器,进行下列处理更新:
对于所有的M个弱分类器,根据其对样本的认证结果,如果Hyp
m为1,则
否则,
如果当前弱分类器没有使用,即bUsedm为1,则跳过,对所有没有使用过的弱分类器进行下列处理:
计算认证错误率
并选择错误率最小的e
n作为当前选择器的弱分类器,即取j=argmin(e
n,m),同时计算
更新样本的权重,如果Hyp(j)为1则
否则,
替换认证效果最差的T个弱分类器;
其次,弱分类器构造更新算法可以为:对于不同尺度、不同位置的前U维Gabor特征,采用基于最近邻的方式构造弱分类器,取弱分类器形式为
其中,
为正样本第j个特征中心,
为反样本第j个特征中心,f
j(x)为当前特征。一种可行的弱分类器在线更新算法如下,采用卡尔曼滤波方式在线更新弱特征的均值和
从而实现在线更新弱分类器。D(f
1,f
2)表示特征f
1,f
2之间差值的绝对值。
此外,为了保证得到的所述预设人脸模型能够增量训练,所述预设人脸模型也需要采用该增量学习训练方法得到。也即将初始用户录入时采集的人脸图像作为正样本,将其他用户以及非法用户的人脸图像作为反样本,按照正反样本交叉的顺序依次一个个采用上述增量学习训练方法获得预设人脸模型。
将用户录入时采集的人脸图像作为正样本,将其它用户以及非法用户的人脸图像作为反样本,按照正反样本交叉的顺序依次一个一个送给增量学习模块,训练得到人脸认证模型。
在优选的实施例中,在步骤102和步骤103之间,还可以从检测到人脸区域的连续图像中选择人脸旋转角度不超过预定误差范围的若干帧图像来提取特征。也就是说,对于步骤102中所述连续图像并不都交给步骤103中处理,而是选择其中一部分认为人脸区域的表情姿态符合预定条件的若干帧图像给所述步骤103处理。这是因为在图像采集过程中,如果用户没有经验或者无意识地发生了头部旋转时,致使采集的连续图像中的人脸并不都是处于摄像头的采集靶面时,那么连续图像中的人脸区域并不都是“理想”的人脸区域,此时,可以选择其中人脸旋转角度不超过预定误差范围的若干帧图像来进入步骤103中处理。所述人脸旋转角度的计算方法是:
如图2,假设人头部为一个圆柱体,那么左右眼镜、嘴巴分布在半径为r的同一圆柱体的表面上,根据人脸器官分布的“三停五眼”规则,也即将面部正面纵向分为五等分,以一个眼长为一单位,即两眼之间距离为一个眼的距离,从外眼角垂线至外耳孔垂线之间为一个眼的距离,整个面部正面纵向分为五个眼之距离,可估计出眼睛特征点与嘴巴特征点的径向夹角
根据左右眼睛特征点和嘴巴特征点标注信息得出r和θ满足下列关系:
rsin(α+θ)-rsinθ=a
rsin(α-θ)+rsinθ=b
解以上两个方程得:
从而估计出人脸旋转角度θ和头部半径r。
如果人脸旋转角度θ不满足预设误差范围θmin≤θ≤θmax,比如(-60°,60°)则认为所述图像中的人脸旋转误差太大,不选择进入步骤103。
综上所述,本发明的人脸认证方法中的人脸模型的训练和认证过程是同时渐进进行的,通过不断的训练和更新,所述人脸模型能够获得较好的认证准确度和自我维护能力。同时通过选择一部分人脸旋转角度不超过预定误差范围的若干帧图像来提取特征,也能够提高一定的认证准确度。
本发明同时提出了一种人脸认证装置,请参考图3,其示出了本发明的一个实施例中的人脸认证装置300的结构方框图。所述人脸认证装置300包括:图像采集模块301、人脸跟踪定位模块302、图像选择模块303、特征提取模块304、人脸认证模块305、特征添加模块306、增量学习模块307和人脸模型库308。
所述图像采集模块301可以是摄像头,用来采集用户的连续图像,比如:采用分辨率为1280*960的高清摄像头以每秒30帧的速度采集用户的一帧帧图像。
所述人脸跟踪定位模块302从所述连续图像中检测人脸区域,并在检测到人脸区域后进行跟踪和定位,所述定位可以通过人脸区域中的眼睛特征点和嘴巴特征点来定位。
所述图像选择模块303根据人脸区域中的眼睛特征点和嘴巴特征点来计算人脸旋转角度,挑选连续图像中的人脸旋转角度符合预定误差范围的若干帧图像。在图4所述实施例中,包括特征点提取单元402、旋转角度计算单元404和图像选择单元406,所述特征点提取单元402从连续图像的人脸区域中提取眼睛和嘴巴的特征点;所述旋转角度计算单元404通过所述特征点计算人脸旋转角度θ,计算公式如下:
其中,a为右眼特征点距嘴巴特征点的水平距离,b为左眼特征点距嘴巴特征点的水平距离,α属于20度-30度;所述图像选择单元406选择人脸旋转角度θ不超过预定误差范围的若干帧图像。
所述特征提取模块304从若干帧图像中提取人脸特征。具体地,所述特征提取模块304可以采用adaboost算法对不同尺度,不同方向的Gabor特征进行挑选,然后从中选择对认证最有效的前M维Gabor特征。
所述人脸特征模块305利用人脸模型库308判断所述若干帧图像中的人脸特征是否符合预设人脸模型,当所述符合预设人脸模型的图像数超过第一阀值时,认为所述若干帧图像中的人脸特征对应的用户认证成功。
所述特征添加模块306判断所述符合预设人脸模型的图像数是否超过第二阀值时,如果是,则提取所述若干帧图像中所有的人脸特征作为样本特征。
所述增量学习模块307利用所述样本特征对所述预设人脸模型进行增量训练,具体的增量学习训练方法可以参考前述方法。并且为了获得认证置信度较高的图像作为样本,所述第二阀值应当不小于第一阀值。
上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于所述具体实施方式。