人脸模型训练模块及方法、人脸实时认证系统及方法

文档序号:6554846阅读:227来源:国知局
专利名称:人脸模型训练模块及方法、人脸实时认证系统及方法
技术领域
本发明涉及一种人脸图像的模型训练模块及方法,与人脸实时认证系统及方法,尤其涉及一种基于Gabor特征和支持向量机的人脸模型训练模块及方法,与实时认证系统及方法。
背景技术
人脸识别是将输入的人脸图像与已知库中的模板进行比较并确定身份相似程度,是目前计算机视觉与模式识别研究领域非常热门的一个研究课题。与其它生物特征(如指纹、虹膜、DNA等)相比,利用人脸进行身份识别更直接、自然。而其它一些生物特征则需要采用主动的信息采集方式,需要使用者的合作与配合,也给使用者带来不便。而人脸识别采用被动式的信息获取方式,在识别的整个过程中无需使用者的介入,因而使用起来更友好、更方便。另外,人脸是人们区分不同人的重要途径,是最主要的信息来源之一,因此人脸识别是一种较指纹、视网膜和虹膜更自然的识别方式,具有更广泛的应用前景和实用价值。
人脸认证是人脸识别的一个分支,人脸认证系统要求计算机不仅可以识别训练库中已训练好用户的人脸,还可以拒识不是库中用户的人脸。人脸认证算法在多个领域如视频监控、签到系统、人机交互、系统开机等有着非常大的应用潜力。
数十年来,大量研究人员在人脸识别领域提出了非常多的研究方法。最早的方法是基于特征点的方法,即根据人脸关键特征点的结构关系识别人脸,其次是基于图像的方法,从人脸的输入图像抽取特征,并采用统计识别方法进行识别,或者在训练模板与测试模板间采取模板匹配的方法。后来又出现了基于三维的方法,目的是识别各种不同姿态的人脸。但总体来说,在人脸认证的精度和稳定度上尚须进一步的提高。

发明内容
本发明所要解决的技术问题在于提供一种人脸模型训练模块及方法,以及人脸实时认证系统及方法,以实现人脸模型的生成,以及精确的人脸识别与认证。
为解决上述技术问题,本发明提供了一种人脸实时认证方法,包括如下步骤(1)通过人脸样本图像,为每个需要认证的用户训练获得一个支持向量机人脸模型;(2)采集摄像头输入的视频图像,搜索并检测图像中的正面人脸,并对其进行持续追踪与验证,确保追踪的人脸是正面人脸;(3)自动标定正面人脸中的器官特征点,并据此对检测到的人脸进行预处理;(4)计算经过预处理后的人脸图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;(5)将挑选后的低维特征向量输入到所述人脸模型中,进行人脸识别,返回与各人脸模型的相似度数据;(6)根据所述返回的相似度数据,输出最终的人脸认证结果。
其中,所述步骤(1)包括(1A)针对每个需要认证的用户,采集正样本与反样本人脸图像;(1B)对所有样本人脸进行标定,确定人脸样本中的人脸器官特征点位置;(1C)根据标定结果,对所有样本图像进行预处理;(1D)计算经过预处理后的样本图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;(1E)利用所述低维特征向量,采用支持向量机对不同认证用户进行训练,为每个用户获得一个支持向量机人脸模型。
为解决上述技术问题,本发明还提供一种人脸模型训练方法,包括如下步骤(A)针对每个需要认证的用户,采集正样本与反样本人脸图像;(B)对所有样本人脸进行标定,确定人脸样本中的人脸器官特征点位置;(C)根据标定结果,对所有样本图像进行预处理;(D)计算经过预处理后的样本图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;(E)利用所述低维特征向量,采用支持向量机对不同认证用户进行训练,为每个用户获得一个支持向量机人脸模型。
为解决上述技术问题,本发明进而提供一种人脸实时认证系统,包括训练模块,用于通过人脸样本图像,为每个需要认证的用户训练获得一个支持向量机人脸模型;认证模块,包括采集追踪单元,用于采集摄像头输入的视频图像,搜索并检测图像中的正面人脸,并对其进行持续追踪与验证,确保追踪的人脸是正面人脸;预处理单元,用于自动标定正面人脸中的器官特征点,并据此对检测到的人脸进行预处理;特征计算单元,用于计算经过预处理后的人脸图像的Gabor特征;特征挑选单元,用于从计算获得的高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;识别认证单元,用于将挑选后的低维特征向量输入到所述人脸模型中,进行人脸识别,返回与各人脸模型的相似度数据,并根据所述返回的相似度数据,输出最终的人脸认证结果。
其中,所述训练模块,可以包括
样本采集单元,用于针对每个需要认证的用户,采集正样本与反样本人脸图像;预处理单元,用于根据对所有样本人脸中的人脸器官特征点位置的标定,对所有样本图像进行预处理;特征计算单元,用于计算经过预处理后的人脸图像的Gabor特征;特征挑选单元,用于从计算获得的高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;模型训练单元,用于利用所述低维特征向量,采用支持向量机对不同认证用户进行训练,为每个用户获得一个支持向量机人脸模型。
为解决上述技术问题,本发明还提供一种人脸模型训练模块,包括样本采集单元,用于针对每个需要认证的用户,采集正样本与反样本人脸图像;预处理单元,用于根据对所有样本人脸中的人脸器官特征点位置的标定,对所有样本图像进行预处理;特征计算单元,用于计算经过预处理后的人脸图像的Gabor特征;特征挑选单元,用于从计算获得的高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;模型训练单元,用于利用所述低维特征向量,采用支持向量机对不同认证用户进行训练,为每个用户获得一个支持向量机人脸模型。
本发明提出的人脸模型训练模块及训练方法,以及视频序列中人脸的实时认证系统及方法,利用人脸跟踪结果将一段时间的识别结果结合起来,大大提高了识别的准确率,并且可准确拒识非训练用户的人脸,算法有一定的抗光照干扰和姿态干扰能力,抗表情等干扰能力强。


图1为根据本发明实施例所述的人脸认证系统的框图;图2为根据本发明实施例所述的人脸认证流程图;图3为根据本发明实施例所述的样本训练流程示意图;图4为根据本发明实施例所述的人脸样本的标定与采集示意图;图5为根据本发明实施例所述的人脸图像非线性矫正示意图;图6为根据本发明实施例所述的非线性矫正原理示意图;图7为根据本发明实施例所述的人脸图像光照处理结果示意图;图8为根据本发明实施例所述的基于AdaBoost的特征抽取方法流程图;图9为根据本发明实施例所述的支持向量机最优分类面示意图;图10A、图10B为根据本发明实施例所述的人脸认证输出结果示意图。
具体实施例方式
本发明的实施例中,首先提供了一种基于Gabor特征和支持向量机的人脸模型训练模块,包括样本采集单元,用于针对每个需要认证的用户,采集正样本与反样本人脸图像;预处理单元,用于根据对所有样本人脸中的人脸器官特征点位置的标定,对所有样本图像进行预处理;特征计算单元,用于计算经过预处理后的人脸图像的Gabor特征;特征挑选单元,用于从计算获得的高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;模型训练单元,用于利用所述低维特征向量,采用一对多支持向量机对不同认证用户进行训练,为每个用户获得一个一对多的支持向量机人脸模型。
该训练模块对应的训练方法,可以包括针对每个需要认证的用户,采集正样本与反样本人脸图像;对所有样本人脸进行标定,确定人脸样本中的人脸器官特征点位置;根据标定结果,对所有样本图像进行预处理;计算经过预处理后的样本图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;利用所述低维特征向量,采用一对多支持向量机对不同认证用户进行训练,为每个用户获得一个一对多的支持向量机人脸模型。
利用上述训练模块与训练方法获得的人脸模型,本发明实施例进一步实现了完整的人脸实时认证过程,可以从摄像头拍摄的图像序列中实时检测并跟踪序列中的人脸,对目标人脸进行识别和认证。实际上,本发明提供的人脸认证系统及方法,并不依赖于上述人脸模型训练模块及训练方法,使用任何训练模块与训练方法获得的人脸模型,都可以适用于本发明的认证过程。
下面,以利用上述训练模块获得的人脸模型为例,对本发明所述的人脸实时认证过程进行详细说明本发明实施例在系统上可以包括训练和认证两个模块,其中训练模块需要采集用户的人脸样本并进行训练,获取多个用户的人脸模型,而认证模块则将视频序列中人脸的检测跟踪结果与训练好的人脸模型结合起来,判断输入人脸是否是训练好的用户;如果不是,系统给出拒识的结果。
如图1所示,为根据本发明实施例所述的人脸认证系统的框图。训练模块的目的是由大量的人脸样本图像训练用户的人脸识别模型。首先获取大量的反样本人脸,即这些样本中肯定不会包含用户的人脸,接着采集多个认证用户的正面人脸数据;对所有的正反样本人脸进行标定,确定人脸样本两个眼睛和嘴巴的精确位置;我们结合标定结果对所有的样本图像进行归一化和矫正,将所有样本的眼睛和嘴巴矫正到固定的位置;人脸矫正完毕后我们结合一幅标准的灰度图像对矫正后的样本进行光照处理,使样本图像各个部分的平均光照与标准图像保持一致;接着采用FFT变换和FFT反变换计算所有样本图像的多尺度多方向Gabor特征;由于每个样本的Gabor特征维数达到了8万,对这么高维的特征进行训练将是非常困难的,因此本发明的实施例采用了基于AdaBoost的特征挑选方法,结合正反样本数据从这些特征中挑选出分类能力最强的数千维特征出来,将挑选出的特征组成新的低维Gabor特征向量;特征选择完毕后再采用一对多的支持向量机(SVM)算法对不同用户进行训练,在对各个用户进行训练时,训练的正样本特征就是该用户样本对应的挑选后的低维Gabor特征向量,而反特征则包含了所有的反样本的特征向量以及其他用户的特征,这样我们可以为每个用户获取一个一对多SVM模型。至此,人脸模型训练完毕。
人脸认证模块需要从视频摄像头的输入图像序列中实时检测跟踪人脸,并结合人脸模型进行识别,综合多帧识别数据输出最后的认证结果。我们首先实时采集摄像头输入的视频图像,搜索并检测图像中的正面人脸,接着对检测的人脸进行持续跟踪,并随时进行验证,判断跟踪的人脸是否是正面人脸;如果跟踪人脸是正面人脸,认证模块自动标定正面人脸中的眼睛和嘴巴,获取三个标定点;由眼睛、嘴巴三个标定点对检测的人脸进行预处理,包括人脸矫正、人脸归一化和光照处理;预处理完毕后接着计算人脸的Gabor特征;结合训练模块中AdaBoost的特征挑选算法的返回结果从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;将挑选的特征向量输入到人脸模型中,进行人脸识别,返回各个人脸的相似度数据;最后再将当前人脸前面数帧图像的相似度数据与当前帧的相似度数据结合起来,输出最终的人脸认证结果。
如图2所示,为根据本发明实施例所述的人脸认证流程图,首先通过人脸样本图像,为每个需要认证的用户训练获得一个一对多的支持向量机人脸模型(步骤201);采集摄像头输入的视频图像,搜索并检测图像中的正面人脸,并对其进行持续追踪与验证,确保追踪的人脸是正面人脸(步骤202);自动标定正面人脸中的器官特征点,并据此对检测到的人脸进行预处理(步骤203);然后计算经过预处理后的人脸图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量(步骤204);将挑选后的低维特征向量输入到所述人脸模型中,进行人脸识别,返回与各人脸模型的相似度数据(步骤205);结合连续数帧图像的相似度数值,输出最终的人脸认证结果(步骤206)。
图2中步骤201所述的训练过程,可以采用多种方式进行训练,如图3所示,为本发明实施例采用的样本训练流程示意图,首先针对每个需要认证的用户,采集正样本与反样本人脸图像(步骤301);对所有样本人脸进行标定,确定人脸样本中的人脸器官特征点位置(步骤302);根据标定结果,对所有样本图像进行预处理(步骤303);计算经过预处理后的样本图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量(步骤304);利用所述低维特征向量,采用一对多支持向量机对不同认证用户进行训练,为每个用户获得一个一对多的支持向量机人脸模型(步骤305)。
图2中步骤202所述的人脸追踪,也可以通过多种方法实现,例如中国专利申请200510135668.8中提供的一种视频序列中人脸的实时检测与持续追踪的方法及系统,该申请采用AdaBoost训练算法训练正面人脸的分层检测模型,并分尺度搜索输入的视频图像,确定图像中多个人脸的位置;接着系统对检测的人脸在后续几帧进行验证,验证完毕再结合基于Mean shift和颜色直方图的人脸跟踪算法实现人脸的持续跟踪;在跟踪过程中可进行人脸的验证,确定跟踪结果的准确性。该系统已在多场景中对多个人脸进行了测试,测试结果表明本文的人脸检测和跟踪算法可以快速准确检测不同表情、不同肤色、不同光照条件下的多个正面人脸,可以检测-20°到20°深度旋转、-20°到20°平面旋转的人脸,可实时跟踪任意姿态人脸,包括侧面、旋转人脸等。
图2中步骤203所述的人脸器官特征点定位,也有很多种方法可以实现,例如中国专利申请200610011673.2中提供的定位方法。根据本发明的实施例,可以通过以下步骤确定双眼位置(1)在已获人脸位置信息的基础上,采用统计方式确定左眼搜索区域和右眼搜索区域,并确定左眼初选位置与右眼初选位置;(2)在所述左眼与右眼搜索区域内,分别采用左眼局部特征检测器与右眼局部特征检测器,对所有左眼初选位置和右眼初选位置进行判别,并为每个初选位置确定一个单眼相似度数值;(3)从所有左眼初选位置与右眼初选位置中,分别选择相似度数值最大的前N1个位置作为左眼候选位置和右眼候选位置,并将所有左眼和右眼候选位置配成双眼候选对,以每一个候选对为基准确定双眼区域;(4)采用双眼区域检测器作为全局约束,对所述每一个双眼区域进行判别,为其中每个双眼候选对确定一个双眼相似度数值;(5)选择双眼相似度数值最大的前M1个双眼候选对,对其中的所有左眼候选位置与所有右眼候选位置分别计算平均值,作为左眼特征点位置与右眼特征点位置。
并可以通过以下步骤确定嘴巴位置(1)在已获眼睛位置信息的基础上,采用统计方式确定嘴巴位置搜索区域,并确定嘴巴初选位置;(2)在嘴巴位置搜索区域内,采用嘴巴局部特征检测器对每一个嘴巴初选位置进行判别,并为之确定一个嘴巴局部相似度数值;(3)选择嘴巴局部相似度数值最大的前N2个初选位置作为嘴巴候选位置,对于每个候选位置,以左眼特征点位置、右眼特征点位置、嘴巴候选位置为基准,确定脸部区域;(4)采用脸部区域检测器作为全局约束,对每个所述确定的脸部区域进行判别,为其中的每个嘴巴候选位置确定一个嘴巴全局相似度数值;(5)选择嘴巴全局相似度数值最大的前M,个候选位置,计算这些候选位置的平均值,作为嘴巴特征点位置。
图2中步骤203所述的预处理步骤,以及图3中步骤303所述的预处理步骤,过程都是相似的,下面主要以对样本图像的预处理为例来进一步说明。
在进行人脸识别前,必须对输入人脸图像的尺寸、位置和灰度进行预处理,使不同的人脸图像的尺寸、灰度保持一致。另外,不同图像中人脸的位置应该保持一致,这可通过眼睛、嘴巴定位的方法,使输入图像中人脸眼睛、嘴巴的位置基本固定,再对整幅图像进行仿射变换或非线性矫正。只有经过这些预处理后,同一个人的多个输入人脸在某些特征上才会具有一定的相似性,而不同的人脸也才会具有一定的差异,此时才可以采用统计模式识别算法进行模型的训练与识别。
参考图3中的步骤301,由于本发明采用支持向量机(SVM)的方式实现人脸认证(对于支持向量机的算法描述,可以参见边肇祺、张学工等人所著的《模式识别》,清华大学出版社,2000年),因此需要收集大量反样本人脸,以提高人脸认证的准确度。这些反样本最好应尽量覆盖不同表情、不同肤色、不同年龄的人脸,包含-20°到20°深度旋转的人脸,包含戴与不戴眼镜人脸。
人脸认证的正样本人脸是指待认证用户的人脸样本,这类数据需要在实际应用时由程序自动采集用户的样本,并自动对用户样本进行预处理和特征计算。
参考图3中的步骤302,对所有反样本,本发明可以通过手动标定所有反样本人脸的关键特征点,为每个正样本人脸标定了三个点两眼中心、嘴巴中心。而对于待认证用户的正样本可以采取自动标定的方法,获取三个点的坐标,如图4所示。
接着,本发明根据这些标定点可以对各个人脸进行几何归一化,即将人脸图像的主要器官位置矫正到标准位置,减小样本间的尺度、平移和平面旋转差异,然后根据器官位置剪裁出人脸区域成为人脸样本,使人脸样本尽量少地引入背景干扰,且不同人脸样本的器官位置具有一致性。
本发明引入了一幅标准人脸图像对各个人脸样本进行几何归一化和人脸区域的裁剪。首先确定待识别人脸窗口的尺度wd×ht为44×48,即宽为44,高为48。接着获取一幅标准的正面人脸图像,标准图像中两眼的y坐标一致,人脸也完全对称,如图4中的4A所示,标定该图像的三个关键特征点。根据该图像中双眼的距离和位置确定裁剪的正方形人脸区域的位置。设两眼的距离为r,两眼连线的中心点为(xcenter,ycenter),采集矩形的宽设为2r,即两倍双眼间距,则矩形裁剪区域的坐标(xleft,ytop,xright,ybottom)为xleftytopxrightybottom=xcenter-rytop-0.5rxcenter+rytop+ht]]>将裁剪的人脸区域归一化到44×48的尺寸,如图4中的4B,并获取归一化后三个标定点的坐标[xstad(i),ystad(i)],i=0,1,2,前两个为眼睛中心点,最后一个为嘴唇中心点。
任意给定原始人脸样本和标定的三个特征点[xlabel(i),ylabel(i)],i=0,1,2,如图4中的4C,比较直接的裁剪方法是计算这三个点与标准图像归一化后三点坐标间的仿射变换系数。另外,仿射变换式中不能加入人脸各个方向的拉伸变换,我们仅考虑旋转和整体缩放两个变换。接着由仿射变换系数可以计算该裁剪图像中任意一点到原始样本中对应点坐标,进而获取裁剪人脸中所有点的象素值,如图4中的4D所示。
不过基于仿射变换的算法存在着比较明显的缺陷。首先当人脸样本带表情或者输入人脸非正面时,采用这种方法获取的裁剪人脸的眼睛嘴唇中心点与标准图像的眼睛嘴唇中心点偏差会比较大,特别是带姿态样本裁剪后的嘴唇中心点还不在图像垂直中心轴上,眼睛位置也有差异,如图5所示,5A是原始图像和标定点,5B是裁剪图像。因此对于同一人不同姿态表情的人脸,其裁剪图像中人脸眼睛嘴唇位置差异较大,这一定程度会降低识别算法抗表情、姿态干扰的能力。
本发明的实施例采用了一种非线性矫正方法,即采用非线性的方法将输入人脸三个中心点完全矫正到标准人脸三点的位置。首先仅考虑眼睛的两个中心点,采用仿射变换算法在输入人脸与标准人脸的标定点之间计算仿射变换系数,此时同样只考虑旋转和整体缩放两个变换。即xlabel(i)ylabel(i)=scosθ-ssinθssinθscosθxstad(i)ystad(i)+ab=c-dadcbxstad(i)ystad(i)1,i=0,1]]>上式中有四个未知数,四个等式,只有唯一的一个解,设为(a,b,c,d),图5中的5C是仅采用这四个系数获取的裁剪结果。由这个仿射变换系数可以计算出输入样本中三个特征点在裁剪人脸中的对应点,设为[xtrans(i),ytrans(i)],i=0,1,2。前两个变换坐标即眼睛的位置与标准脸的眼睛位置完全一致,但受姿态、表情等干扰,嘴巴位置差别可能比较大。为此我们需要将嘴巴位置矫正到标准位置。
如图6所示,图中A、B点是标准图像中的中心点,D点是A、B的中央点,Cstad是标准嘴唇中央点,C是变换后的嘴唇点。非线性矫正过程分两步进行,首先在y方向进行矫正,使矫正后嘴唇点的y坐标与Cstad一致,如图6中的C′点。然后再进行x方向的矫正,我们将D与C′连接起来,DC′连线将人脸分为左右半边,考虑水平方向的某条直线,设其y坐标为y1,其与DC′直线的交点坐标E为(x1,y1)。由于我们需要将(x1,y1)移至(xD,y1),其中xD为D的x坐标,因此需要对(xD,y1)左右两边的点分别进行线性变换,将E移至中轴线DCstad上。考虑某点(x,y1),对左边的点x<x1,其矫正后点的坐标为(x·xD/x1,y1),对右边的点x≥x1,其矫正后点的坐标为[2xD-xD·(2xD-x)/(2xD-x1),y1]。可以看出,如果C′在Cstad的右侧,则需要对左侧的人脸进行压缩,对右侧人脸进行拉伸,这样可以将DC′直线上所有点都矫正到人脸垂直中轴线DCstad上。
在获取非线性矫正系数后,接着结合原始图像获取矫正后的人脸,设裁剪后的人脸图像为I,该图像尺寸为44×48,其中某点坐标为(x,y),根据非线性矫正系数获取其矫正前的坐标(x′,y′),再由仿射变换系数获取原始图像中该点的坐标(xori,yori)xoriyori=c-dadcbx′y′1]]>为消除噪声的影响,裁剪后的图像中(x,y)的象素值设为对应点(xori,yori)邻域范围内所有点象素值的均值,如图5中的5D所示。
此外,受外界光照、成像设备等因素干扰,人脸图像亮度或对比度会出现异常,出现强阴影或反光等情况,另外不同人种的肤色间也存在这差异,因此需要对几何归一化和矫正后的人脸样本进行灰度均衡化处理,改善其灰度分布,增强模式间的一致性。不过,人脸识别中的光照问题一直是比较困难但也是非常重要的问题。多年来已经有了非常多的光照处理算法,但性能都比较一般,抗各种环境光干扰的能力都比较差。由于基于统计方法的人脸识别算法需要采集人脸的正样本并进行训练,但人脸正样本的光照一般比较单一,即使对加入不同光照的正样本,训练数据也只能覆盖少数几种光照分布。而实际场景中光照是非常复杂的,而同样的人脸但光照差别较大时灰度也会存在这明显的差异,计算出的图像特征也会存在这差别。另外,如果输入人脸的光照不均匀,部分区域光照强,部分区域光照弱一些,此时即使对图像进行全图的归一化、直方图均衡等,都很难得到光照比较均匀的人脸数据,这就会大大降低人脸识别的精度。
本发明实施例采用的光照处理算法可以分两步进行,首先对图像进行整体的灰度归一化,接着结合标准图像进行局部的灰度归一化。
整体归一化比较简单,给定一幅标准人脸图像,如图4中的4B,计算标准人脸灰度的均值Ps和方差σs,接着计算输入样本灰度的均值P和方差σ,其任一象素值I(x,y)归一化后的象素值为I′(x,y)=[I(x,y)-P]·σs/σ+Ps设标准图像某点(x,y)的象素值为S(x,y),输入人脸灰度归一化后该点值为I′(x,y)。由于这两幅图像中眼睛、嘴巴的位置已经完全对应,因此样本中各个器官的位置与标准人脸的器官位置差别也不会太大。也就是说两幅图像各个局部的灰度应该近似一致,如果灰度不一致,则可以认为是输入人脸的光照不均匀,需要进行灰度的矫正,由此可以用标准人脸的灰度去矫正输入人脸的灰度。
基于此考虑,本发明实施例对各个象素点分别进行处理,考虑其中某个点(x,y),抽取其邻域范围内所有象素点,邻域长宽均为W,我们统计输入样本中(x,y)邻域内W×W个点灰度的均值,设为AI(x,y),再统计标准样本中(x,y)邻域内W×W个点灰度的均值,设为AS(x,y)。AI(x,y)反映的当前邻域内亮度的大小,AS(x,y)反映的是标准人脸局部光照的强度,如果两者差异较大,则表示输入人脸当前点附近光照不均匀,需要对该点的灰度进行矫正,又AS(x,y)与AI(x,y)的比值可以近似反映光照强度的比值,因此可以直接将该点的灰度值乘以这个比值,作为矫正结果,即(x,y)点处理后新的灰度值Ir(x,y)为Ir(x,y)=I′(x,y)·AS(x,y)/AI(x,y)W的选择比较关键,W不能太大,否则灰度矫正没有效果,W也不能太小,否则矫正后的人脸图像与标准人脸比较接近,本文将W设为15,获取最佳结果。如图7所示,为光照处理前和光照处理后的结果对比示意图,其中,7A为整体灰度归一化后的人脸图像;7B为根据本发明的实施例进行灰度矫正后的人脸图像。
图2中步骤204以及图3中步骤304所述的特征抽取步骤,在人脸识别中是非常关键的环节。常用的特征有灰度特征、边缘特征、小波特征、Gabor特征等。其中Gabor为人脸图像提供多尺度、多方向的精细描述,表现出优秀的时频聚集性,具备很强的刻画细节与局部结构的能力。它具有带通滤波的性质,既能部分地抵抗慢变光照的影响,也能滤去一些高频噪声。同时,二维Gabor滤波器的冲激响应函数与哺乳动物的视皮层中简单型细胞对图像信号的响应非常相似,在理论上具备坚实的基础。因此,本发明的实施例在实现人脸识别时选择Gabor特征。
二维Gabor滤波器的冲激响应表示为
ψj(x)=||kj||σ2exp(-||kj||·||x||2σ2)[exp(ikjx)-exp(-σ22)]]]>其中σ=2π,我们考虑了5个频率v=0,...,4,8个方向μ=0,...,7,则有 在人脸图像的每个点,可以都计算5个频率,8个方向,共40维Gabor特征,计算方式是将输入图像与各个频率各个方向的冲激响应进行卷积,即Gj(x)=∫Ir(x′)ψj(x-x′)dx′为了提高Gabor特征的计算效率,可以采用FFT算法对这个卷积过程进行加速,先对Ir(x′)和ψj(x′)分别进行FFT变换,将变换后的结果相乘再进行反FFT变换,就可以得到图像中所有点对于某个频率某个方向的Gabor特征。总的Gabor特征数为5×8×44×48=84480,这个数据量是非常大的,直接采用分类算法对如此高维的特征进行训练和识别是非常困难的,因此还需要进行特征的挑选,大幅度降低特征的维数。
每幅人脸Gabor特征的维数高达84480,而总的训练样本数有一万多,而在分类器训练时采用的是1对多的SVM算法,因此可以采用基于AdaBoost的特征挑选算法,结合1对多的分类方式和正反样本数据从这些特征中挑选出分类能力最强的数千维特征如2000维特征出来,将挑选出的特征组成新的低维Gabor特征向量,特征选择完毕后再采用一对多的支持向量机(SVM)算法对不同用户进行训练。这样训练算法的计算量和存储的人脸模型的数据量都大大降低。在认证过程中,算法只需要计算出人脸的Gabor特征,结合已有的特征挑选结果挑选出低维特征,再对低维特征向量进行识别。
下面简单介绍一下本发明实施例所采用的基于AdaBoost的特征抽取方法,如图8所示步骤801给定两类样本,样本数为L,正样本数为Lp,反样本数为Ln。
步骤802初始化,设置权重,正样本为1/2Lp,反样本为1/2Ln。
首先,为正反图像样本集设定权值,在一个具体的实施例中,可以将反图像样本集所占的权重设置为1/2,将所有正图像样本集所占的权重设置为1/2。当然,在其它的实施例中,也完全可以将所有反图像样本集所占的权重设置为2/5,将所有反图像样本集所占的权重设置为3/5。也就是说,可以根据需要为正反图像样本集设定权重。之后,要为每个正反图像样本设定权重,在一个具体的实施例中,可以设定每个正样本的权重为正样本集权重的1/Lp,设定每个反样本的权重为反样本集总权重的1/Ln。当然,也可以将重要的正反图像样本设定较高的权重。
步骤803设定迭代轮次t=1,2,...,T。
步骤804考虑所有从未入选的特征,利用单个特征训练弱分类器,根据训练样本集的权值得到最优的阈值参数,使得所有样本的加权错误率最小,这样可以为每个弱分类器及其对应的特征获取一个错误率。
采用第j个弱分类器hj(x)根据设定的阈值与每个图像样本的第j个特征Gj(x)去判断各个样本图像是正样本还是反样本,由此可以统计出该弱分类器的加权错误率。
每个弱分类器都只处理对应的一个特征,其可表示为hj(x)=1,ifgj(x)>low_θjandgj(x)<high_θj0,otherwise]]>其中,low_θj是弱分类器hj(x)的低阈值,high_θj是弱分类器hj(x)的高阈值,如果当前图像样本的第j个特征Gj(x)的数值大于低阈值且低于高阈值时,所述弱分类器hj(x)输出为1,其表示当前图像样本被判断为正样本;反之,所述弱分类器hj(x)输出为0,其表示当前图像样本被判断为反样本。其中,弱分类器hj(x)的低阈值和高阈值是根据图像样本的权重设定。
关于弱分类器对图像样本的分类,具体来讲就是,首先,第j个弱分类器hj(x)根据第1个图像样本第j个特征Gj(x)判断第1个图像样本是正样本还是反样本,接下来,根据第2个图像样本第j个特征Gj(x)判断第2个图像样本是正样本还是反样本,......,直到,第j个弱分类器hj(x)根据第L个图像样本第j个特征Gj(x)判断第L个图像样本是正样本还是反样本。
步骤805统计出每个弱分类器hj(x)的错误率,选定错误率最小的预定数目个弱分类器并将其对应的特征作为当前轮的特征挑选结果。
每个弱分类器hj(x)都要对L个图像样本是正样本还是反样本进行判断,其中必定有判断错的样本,换句话说,弱分类器hj(x)可能将正样本认定为反样本,也可能将正样本认定为反样本。将该弱分类器统计错误的图像样本的权重求得,就可以得到这个弱分类器hj(x)的加权错误率。之后,将错误率最小的预定数目个弱分类器对应的特征作为当前轮的特征挑选结果。在一个实施例中,所述预定数目是1,也可以是,2或3等等,操作者可以根据实际情况设定这个数目。
步骤806减小选定的弱分类器判断正确的图像样本的权重,增加选定的弱分类器判断错误的图像样本的权重,并对更新后的图像样本的权重进行归一化,使所有样本的权重之和等于1,返回103,进入下一轮迭代,直至完成设定轮次,挑选出预定数目的特征。
上面的挑选方法针对的是两类问题。对于多类问题,可以结合模式分类算法的实现架构设计挑选方法。如果模式分类算法采用的是一对多的架构,我们将特征挑选过程分解为多个两类问题,每个两类问题中其中一类是某类样本,另一类则对应其他样本。如果模式识别问题采用的是一对一的架构,即将多类模式识别问题分解为多个两类一对一问题,每个两类问题中的一类为任一类输入样本,第二类为另一类输入样本。这样在特征挑选时需要考虑多个类似图8的AdaBoost模块流程,我们将各个AdaBoost模块流程同步实现,即将所有AdaBoost模块的第t轮弱分类器返回的错误率加起来,将总的错误率最小的特征返回,作为该轮的特征挑选结果。各轮特征挑选完毕后再根据当前的各个AdaBoost模块的错误率更新权重,挑选下一组特征。
图2中步骤201以及图3中步骤305所述支持向量机(SVM)是统计学习理论发展出的一种模式识别方法。该算法是从线性可分情况下的最优分类面提出的。考虑图9中所示的两类线性可分情况,设样本集(xi,yi),i=1,…,n,x∈Rd,y∈{+1,-1},其中yi是模式xi的类别标号,Hw·x+b=0为分类界面,H1、H2分别为平行于H且与H距离为1/‖w‖的两平面,它们之间的距离叫做分类间隔(margin)。支持向量机的基本思想就是希望找到一个最优线性分类面,使分类间隔尽量大,即‖w‖尽量小,并且在训练集上分类错误尽量少。最优分类面的求解问题实际上一个不等式约束下的二次函数极值问题,其最优解为w=Σi=1nαiyixi]]>其中αi为权重。对多数样本αi为为零,少数不为零的αi对应的就是支持向量,即位于H1和H2两平面上的样本。最优分类函数则为f(x)=sgn[(w·x)+b]=sgn[Σi=1nαiyi(xi·x)+b]]]>sgn()为符号函数。f(x)为1则表示识别为第一类样本,即y=1,否则认为识别为第二类样本。将上式中特征向量的点击运算改为内积,且内积满足Mercer条件,就可以将线性SVM扩展为广义的非线性SVM,即f(x)=sgn[(w·x)+b]=sgn[Σi=1nαiyiK(xi,x)+b]]]>采用不同的内积函数将导致不同的支持向量机算法,如多项式内积、S形函数、径向核函数(RBF)等,与线性SVM相比,非线性SVM将最优分类面扩展为非线性的,可以实现很多线性不可分情形的分类,因此分类准确率也得到提高。我们在实现人脸识别时,采用了基于RBF的SVM算法,即K(x,xi)=exp{-||x-xi||σ2}]]>SVM在用于多类人脸的识别时,有一对一和一对多两种实现形式。一对一的SVM是在算法为任两类样本训练SVM分类器,这样如果有N类样本,则需要训练N×(N-1)/2个分类器。识别时将样本依次输入到各个SVM分类器中,每次判决都将淘汰一类样本。当然如果某个分类器对应的两个样本均已淘汰,则跳过该分类器,所有判决完成后剩下的那个类别就是识别结果。一对一分类器的主要问题是训练时只考虑了各类训练样本,大量的反样本数据都浪费掉了,且这种分类器无法实现反样本的拒识,因此无法应用于人脸认证算法。
一对多的SVM算法只需要为每个类别分别训练一个分类器,每次训练时正样本就是该类别的训练数据,而反样本则包含了其他各类数据及所有的反样本数据。由于这个方法考虑了众多的反样本数据,训练完后得到的最优分界面可以比较准确地将当前类别样本与其他类别样本分离开来,因此在实现多个人脸的自动认证时,一对多的SVM算法有非常好的应用价值。
一对多SVM的认证过程也比较简单,将输入样本挑选后的特征输入到N个SVM分类器中,如果所有分类器会拒识输入特征,则认为输入人脸与训练库中所有类别都不相似,算法输出拒识的结果;反之,如果输入特征仅通过了一个分类器,而被其他所有分类器拒识,则该分类器对应的类别就是人脸识别的结果;另一种特殊情况就是输入特征通过了不止一个SVM分类器,算法认为其与多个类别相似,从我们实验结果看,这种情形非常少见,因为我们在分类器训练时各类样本都互为其他类别的反样本,但当不同类别的人脸比较相似时,这种情况也会出现。此时我们采取一种简化方法解决这个问题,由于各个一对多SVM算法都会为每个样本输出一个判决数值J(x)=Σi=1nαiyiK(xi,x)+b,]]>这个数值在一定程度上也反映了输入样本与对应类别的接近程度,及与对应反样本的差距大小。该数值越大,则表示输入样本与当前类别越相似,与其他类别差异越大。因此我们根据这个判决数值的大小处理这种特殊情况,即将来输出拒识结果的SVM分类器返回的J(x)=Σi=1nαiyiK(xi,x)+b]]>进行排序,将最大数对应的类别作为人脸识别的结果。这尽管是一个近似的结果,但从实际结果看,这个方法的效果还是非常不错的。
下面结合一对多SVM,对图2中步骤205、206所述的相似度的计算进行说明。
基于一对多SVM的人脸认证算法会为每个输入人脸输出一个判决数据Jn(x),n=0,1,…,N-1,反映了当前人脸与对应类别的相似程度。我们将各个类别脸形数帧的判决数据组合起来,得到一个反映多帧识别信息的新的判决数Ln(x),n=0,1,…,N-1,我们将这个数作为各个类别的识别相似度。设在前面k-1帧我们求得一个相似度为Lnk-1(x),n=0,1,…,N-1,第k帧的SVM返回数为Jnk(x),n=0,1,…,N-1,则k帧的相似度计算式为Lnk(x)=min(max(Lnk-1(x)+Jnk,min_data),max_data)]]>即人脸的相似度是累加的,不过累加数需要限制最大和最小值。这样当连续数帧某个类别的Jn(x)都大于零时,则总的相似度Ln(x)将逐渐增加;反之则逐渐减少。如果在第k帧所有类别的Lkn(x)都小于零,则拒识该人脸;如果有一个或者多个Lkn(x)大于零,则将数值最大Lkn(x)对应的类别作为人脸认证的结果。如图10A所示,为一帧输入人脸,图10B是输出结果,图中各人的Lkn(x)用柱状图显示,中间黑线是相似度判决阈值,本发明将这个阈值直接设为零。
综上所述,本发明的识别对象主要是正面人脸,输入摄像头是视频摄像头。本发明实现人脸的认证时,采取的是基于图像的方法,在人脸检测与关键器官定位的基础上,采用统计识别算法对输入人脸进行识别,首先检测出图像中的正面人脸,接着获取人脸两眼中心点、嘴巴中心点的位置。基于这三个点对人脸样本进行归一化和光照处理,抽取多分辨率多方向Gabor特征,并将处理后的Gabor特征输入到支持向量机(SVM)中,进行训练和识别。另外,本发明的输入对象是视频摄像头采集的图像序列,因此可以在人脸跟踪的基础上将多帧人脸的认证结果综合起来,提高人脸认证的精度和稳定度。
权利要求
1.一种人脸实时认证方法,其特征在于,包括如下步骤(1)通过人脸样本图像,为每个需要认证的用户训练获得一个支持向量机人脸模型;(2)采集摄像头输入的视频图像,搜索并检测图像中的正面人脸,并对其进行持续追踪与验证,确保追踪的人脸是正面人脸;(3)自动标定正面人脸中的器官特征点,并据此对检测到的人脸进行预处理;(4)计算经过预处理后的人脸图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;(5)将挑选后的低维特征向量输入到所述人脸模型中,进行人脸识别,返回与各人脸模型的相似度数据;(6)根据所述返回的相似度数据,输出最终的人脸认证结果。
2.如权利要求1所述的方法,其特征在于,所述步骤(6),是结合连续数帧图像的相似度数值,输出最终的人脸认证结果。
3.如权利要求1所述的方法,其特征在于,所述步骤(1)包括(1A)针对每个需要认证的用户,采集正样本与反样本人脸图像;(1B)对所有样本人脸进行标定,确定人脸样本中的人脸器官特征点位置;(1C)根据标定结果,对所有样本图像进行预处理;(1D)计算经过预处理后的样本图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;(1E)利用所述低维特征向量,采用支持向量机对不同认证用户进行训练,为每个用户获得一个的支持向量机人脸模型。
4.如权利要求1或3所述的方法,其特征在于,所述器官特征点包括双眼与嘴巴特征点。
5.如权利要求4所述的方法,其特征在于,所述预处理步骤,包括(A1)根据标定的双眼位置,采用仿射变换算法在输入人脸图像与标准人脸图像的标定点之间计算仿射变换系数;(B1)利用所述仿射变换系数,根据预定的待识别人脸窗口的尺度,获得基于双眼的人脸裁剪图像;(C1)根据所述仿射变换系数,计算出输入图像中双眼与嘴巴特征点在裁剪图像中的对应点A、B、C,并根据双眼位置A、B确定双眼中心点D与标准嘴巴中心点Cstad;(D1)将C点在y方向上进行矫正,使矫正后的嘴巴中心点C′的y坐标与Cstad的y坐标一致;(E1)以DC′连线为分界线,如果C′在Cstad的右侧,则对所述分界线左侧的人脸进行压缩,对分界线右侧的人脸进行拉伸,如果C′在Cstad的左侧,则对所述分界线右侧的人脸进行压缩,对分界线左侧的人脸进行拉伸,以将DC′直线上的点矫正到人脸垂直中轴线DCstad上。
6.如权利要求5所述的方法,其特征在于,进一步包括(F1)将矫正后的裁剪图像中的象素值(X,Y)设为对应点(Xort,Yort)邻域范围内所有点象素值的均值,其中,所述对应点(Xort,Yort)通过点(X,Y)在矫正前的坐标(X′,Y′)利用仿射变换系数获得。
7.如权利要求1或3所述的方法,其特征在于,所述预处理步骤,包括(A2)确定一副标准灰度人脸图像,并计算人脸图像灰度的均值Ps和方差σs;(B2)计算当前输入人脸图像的灰度的均值P和方差σ,并利用公式I′(x,y)=[I(x,y)-P]·σs/σ+Ps对输入人脸图像进行整体灰度归一化,其中,I(x,y)为整体归一化前的输入人脸图像象素灰度值,I′(x,y)为整体归一化后的输入人脸图像象素灰度值。
8.如权利要求7所述的方法,其特征在于,所述预处理步骤,进一步包括(C2)利用公式Ir(x,y)=I′(x,y)·AS(x,y)/AI(x,y),对当前输入人脸图像进行局部灰度归一化,其中,AI(x,y)为当前输入图像中象素点(x,y)邻域内的灰度均值,AS(x,y)为所述标准人脸图像中对应象素点(x,y)邻域内的灰度均值,Ir(x,y)为局部归一化后的输入人脸图像象素灰度值。
9.如权利要求2所述的方法,其特征在于,步骤(6)所述连续数帧图像的相似度数值的计算公式为Lnk(x)=min(max(Lnk-1(x)+Jnk,min_data),max_data);]]>其中,Lkn(x)为第K帧所有人脸模型的相似度,Jn(x),n=0,1,…,N-1,为不同人脸模型为每个人脸图像返回的相似度判决数据,Lnk-1(x),n=0,1,…,N-1,为前面K-1帧的相似度。
10.如权利要求9所述的方法,其特征在于,如果在第k帧所有人脸模型的Lkn(x)都小于零,则拒识该人脸;如果有一个或者多个Lkn(x)大于零,则将数值最大的Lkn(x)对应的人脸模型作为人脸认证的结果。
11.一种人脸模型训练方法,其特征在于,包括如下步骤(A)针对每个需要认证的用户,采集正样本与反样本人脸图像;(B)对所有样本人脸进行标定,确定人脸样本中的人脸器官特征点位置;(C)根据标定结果,对所有样本图像进行预处理;(D)计算经过预处理后的样本图像的Gabor特征,从高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;(E)利用所述低维特征向量,采用支持向量机对不同认证用户进行训练,为每个用户获得一个的支持向量机人脸模型。
12.如权利要求11所述的方法,其特征在于,所述步骤(C),包括(C1)确定一副标准灰度人脸图像,并计算人脸图像灰度的均值Ps和方差σs;(C2)计算当前输入人脸图像的灰度的均值P和方差σ,并利用公式I′(x,y)=[I(x,y)-P]·σs/σ+Ps对输入人脸图像进行整体灰度归一化,其中,I(x,y)为整体归一化前的输入人脸图像象素灰度值,I′(x,y)为整体归一化后的输入人脸图像象素灰度值。
13.一种人脸实时认证系统,其特征在于,包括训练模块,用于通过人脸样本图像,为每个需要认证的用户训练获得一个支持向量机人脸模型;认证模块,包括采集追踪单元,用于采集摄像头输入的视频图像,搜索并检测图像中的正面人脸,并对其进行持续追踪与验证,确保追踪的人脸是正面人脸;预处理单元,用于自动标定正面人脸中的器官特征点,并据此对检测到的人脸进行预处理;特征计算单元,用于计算经过预处理后的人脸图像的Gabor特征;特征挑选单元,用于从计算获得的高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;识别认证单元,用于将挑选后的低维特征向量输入到所述人脸模型中,进行人脸识别,返回与各人脸模型的相似度数据,并根据所述返回的相似度数据,输出最终的人脸认证结果。
14.如权利要求13所述的系统,其特征在于,所述识别认证单元,是结合连续数帧图像的相似度数值,输出最终的人脸认证结果。
15.如权利要求13所述的系统,其特征在于,所述训练模块,包括样本采集单元,用于针对每个需要认证的用户,采集正样本与反样本人脸图像;预处理单元,用于根据对所有样本人脸中的人脸器官特征点位置的标定,对所有样本图像进行预处理;特征计算单元,用于计算经过预处理后的人脸图像的Gabor特征;特征挑选单元,用于从计算获得的高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;模型训练单元,用于利用所述低维特征向量,采用支持向量机对不同认证用户进行训练,为每个用户获得一个支持向量机人脸模型。
16.一种人脸模型训练模块,其特征在于,包括样本采集单元,用于针对每个需要认证的用户,采集正样本与反样本人脸图像;预处理单元,用于根据对所有样本人脸中的人脸器官特征点位置的标定,对所有样本图像进行预处理;特征计算单元,用于计算经过预处理后的人脸图像的Gabor特征;特征挑选单元,用于从计算获得的高维Gabor特征中挑选出分类能力最强的部分Gabor特征组成低维特征向量;模型训练单元,用于利用所述低维特征向量,采用支持向量机对不同认证用户进行训练,为每个用户获得一个支持向量机人脸模型。
全文摘要
本发明公开了一种人脸模型训练模块及方法,与人脸实时认证系统及方法,认证过程中,首先通过人脸样本图像,为每个需要认证的用户训练获得一个支持向量机人脸模型;再通过采集摄像头输入的视频图像,搜索并检测图像中的正面人脸,并对其进行持续追踪与验证;然后自动标定正面人脸中的器官特征点,并据此对检测到的人脸进行预处理;计算经过预处理后的人脸图像的Gabor特征,从高维Gabor特征中挑选出低维特征向量;将挑选后的低维特征向量输入到所述人脸模型中,进行人脸识别,返回与各人脸模型的相似度数据;根据所述返回的相似度数据,输出最终的人脸认证结果。本发明提高了人脸识别认证的准确率。
文档编号G06K9/36GK1885310SQ20061001208
公开日2006年12月27日 申请日期2006年6月1日 优先权日2006年6月1日
发明者黄英, 邓亚峰, 王浩 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1