一种基于图像的人脸识别方法、装置、系统及设备 【技术领域】
本发明属于模式识别领域,尤其涉及一种基于图像的人脸识别方法、装置、系统及设备。
背景技术
20世纪90年代以来,随着需要的剧增,人脸识别技术成为一个热门的研究话题。虽然在这方面的研究已经取得了一些可喜的成果,在很多领域也得到了一些应用,例如公安系统的罪犯身份识别,驾驶执照、身份证及护照等与实际持证人的核对,银行的安全系统,海关的监控系统及自动门卫系统等领域。在实际应用中,很多情况需要用到姿态不变的人脸识别算法,并且目前多数人脸识别系统都是针对正面人脸的,但现有的人脸识别系统在人脸摆动较大的情况下却并不能保证输入的人脸是准正面,这样对识别的正确率会造成一定影响,如何保证尽可能拍摄到正面人脸图像一个值得研究的问题。
【发明内容】
本发明实施例的目的在于提供一种基于图像的人脸识别方法,旨在解决现有人脸识别系统在人脸摆动较大的情况下不能保证输入的人脸是准正面的问题。
本发明实施例是这样实现的,一种基于图像的人脸识别方法,所述方法包括下述步骤:
在多点采集人脸图像;
从多点采集到的人脸图像中提取出最佳人脸图像;
从所述最佳人脸图像中提取人脸特征,根据提取的人脸特征从人脸特征库中识别出人脸所属类别;
所述从多点采集到的人脸图像中提取出最佳人脸图像的步骤具体为:
在各采集到的人脸图像中检测人脸位置,并抛弃检测不到人脸位置的人脸图像;
在检测到人脸位置的各人脸图像中检测人眼位置,并抛弃检测不到人眼位置的人脸图像;
比较检测到人眼位置的各人脸图像中两眼瞳孔的距离与瞳距标准距离的差值,将差值最小的人脸图像确定为最佳人脸图像;
所述检测人脸位置和检测人眼位置采用优化的ADABOOST人脸检测算法形成强分类器,所述优化的ADABOOST人脸检测算法包括下述更新样本的误差权重的步骤:
![]()
其中,w
t,i为第t次循环中第i个样本的误差权重,x
i为第i个样本数据,yi=0表示第i个样本为假,yi=1表示第i个样本为真,h
t(x
i)为弱分类器h
t对样本x
i的分类结果,ε
t为弱分类器h
t对应的错误率,β
t=ε
t/(1‑ε
t)。
本发明实施例的另一目的在于提供一种基于图像的人脸识别装置,所述装置包括:
图像采集单元,用于在多点采集人脸图像;
图像提取单元,用于从所述图像采集单元在多点采集到的人脸图像中提取出最佳人脸图像;以及
识别单元,用于从所述最佳人脸图像中提取人脸特征,根据提取的人脸特征从人脸特征库中识别出人脸所属类别;
所述图像提取单元包括:
人脸检测模块,用于在各采集到的所述人脸图像中检测人脸位置,并抛弃检测不到人脸位置的人脸图像;
人眼检测模块,用于在检测到人脸位置的各所述人脸图像中检测人眼位置,并抛弃检测不到人眼位置的人脸图像;以及
图像确认模块,用于比较检测到人眼位置的各所述人脸图像中两眼瞳孔的距离与瞳距标准距离的差值,将差值最小的人脸图像确定为最佳人脸图像;
所述人脸检测模块和人眼检测模块采用优化的ADABOOST人脸检测算法形成强分类器,所述优化的ADABOOST人脸检测算法包括下更新样本的误差权重的步骤:
![]()
其中,w
t,i为第t次循环中第i个样本的误差权重,x
i为第i个样本数据,yi=0表示第i个样本为假,yi=1表示第i个样本为真,h
t(x
i)为弱分类器h
t对样本x
i的分类结果,ε
t为弱分类器h
t对应的错误率,β
t=ε
t/(1‑ε
t)。
本发明实施例的另一目的在于提供一种包含上述基于图像的人脸识别装置的模式识别系统。
本发明实施例的另一目的在于提供一种包含上述模式识别系统的电子设备。
在本发明实施例中,通过从多点采集到的人脸图像中判断得出最佳的人脸图像,并提取人脸特征,根据提取的人脸特征从人脸特征库中识别出人脸所属类别,实现了一种基于图像的人脸识别方法,在人脸摆动较大的情况下依然能得到人脸的正面图像、识别正确率高,并且实现成本低。
【附图说明】
图1是本发明实施例提供的基于图像的人脸识别方法的实现流程图;
图2是本发明实施例提供的摄像头的排列示意图;
图3是本发明实施例提供的选用矩形特征的示意图;
图4是本发明实施例提供的两眼的瞳距的示意图;
图5是本发明实施例提供的将最佳的人脸图像从上到下等分为5块以提取LDA特征的示意图;
图6是本发明实施例提供的基于图像的人脸识别装置的结构图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过从多点采集到的人脸图像中判断得出最佳的人脸图像,并提取人脸特征,根据提取的人脸特征从人脸特征库中识别出人脸所属类别,即根据提取的人脸特征确认采集到的是特征人脸库中谁的人脸图像。
图1示出了本发明实施例提供的基于图像的人脸识别方法的实现流程,详述如下:
在步骤S101中,在多点采集人脸图像;
在步骤S102中,从多点采集到的人脸图像中提取出最佳人脸图像;
在步骤S103中,从最佳人脸图像中提取人脸特征,根据提取的人脸特征从人脸特征库中识别出人脸所属类别。
在本发明实施例中,通过5个处于同一平面,且分别位于一正方形四边的中点和正方形的中心点的摄像头等图像采集模块采集人脸图像,拍摄时人脸距离5个摄像头所在平面的距离为100CM,并且人脸与摄像头所构成的正方形中心的连线垂直于该正方形所在平面,5个摄像头与人脸所在位置的示意图如图2所示。在一般人脸识别中,正面人脸图象允许倾斜的角度在5度之内,由下面公式可以计算出每个摄象头的安装距离L:
L≤100×tan(15°)=26.8(cm);
计算得出两摄像头的安装距离L只要在26.8CM以内即可。这里,我们取整得两摄像头的安装距离,即正方形1/2边长为20CM,得到5个摄像头的排列示意图如图2所示。
然后,判断最佳的人脸图像,步骤S102的实现流程,详述如下:
步骤1.在各采集到的人脸图像中检测人脸位置,并抛弃检测不到人脸位置的人脸图像;
步骤2.在检测到人脸位置的各人脸图像中检测人眼位置,并抛弃检测不到人眼位置的人脸图像;
步骤3.比较检测到人眼位置的各人脸图像中两眼瞳孔的距离与瞳距标准距离的差值,将差值最小的人脸图像确定为最佳人脸图像。
这里,采用优化的ADABOOST人脸检测算法完成步骤1中对人脸位置的检测,基于MITEX人脸数据库进行人脸位置检测,共正面姿态人脸图像2706幅,非人脸图像3841幅,图像大小20×20像素。由于在本发明中识别的为正面人脸,所以优化选用如图3所示的部分简单的矩形特征,可以提高人脸检测分类器的训练速度、检测速度及准确率。当然,除了采用图3所示的矩形特征,也可以选择其他类型的矩形特征。
其中,优化的ADABOOST人脸检测算法详述如下:
1.选取N个训练样本(x
1,y
1),...,(x
n,y
n)组成的样本集;
其中x
i为样本数据(即人脸图像),y
i={0,1},i=1,2,...,n,y
i=1则表示该样本为真,y
i=0则表示该样本为假,其中正样本(即要检测的目标物体,在本发明实施例中为人脸图像)k个,负样本m个。
2.设w
t,j为第t次循环中第j个样本的误差权重;
对训练样本中的误差权重按如下公式初始化:对于y
j=0的样本,w
t,j=1/2m;对于的样本y
j=1,w
t,j=1/2k。
3.通过迭代运算,选择最优的弱分类器;
设迭代次数为T次,T可以取15、20等,迭代次数T一般开始取20,然后根据下面得到的强分类器的识别精度修改,如强分类器识别精度不够,则要增加T值,否则可减少。对于第t次迭代,进行如下操作:
(1)先进行权重归一化,用
![]()
为w
t,j赋值;
(2)对于每个特征j,训练出其弱分类器h
j,每个弱分类器的表达式为:
![]()
其中,f
j为对应特征j,样本x的矩形特征的值。确定阈值θ
j、偏值p
j和f
j,使器目标函数
![]()
达到最小。
(3)从上面确定的弱分类器中找出具有最小错误率ε
t的弱分类器h
t;
(4)更新样本的误差权重:
![]()
其中,h
t(x
i)为弱分类器h
t对样本x
i的分类结果,ε
t为弱分类器h
t对应的错误率,β
t=ε
t/(1‑ε
t)。
相对于一般的ADABOOST算法,这里通过增加采用上式更新样本权重的步骤,可以有效防止死循环、过训练、精度不高等问题。
4.形成强分类器:
![]()
在采用优化的ADABOOST人脸检测算法形成强分类器的基础上,构建级联分类器,具体过程详述如下:
1.用正、负样本集合训练相应层的分类器,使得该层分类器的误识率小于预设的最大误识率,通过率大于预设通过率,并将得到的误识率与该层目标误识率的乘积作为对应下层的目标误识率;
2.判断对应下层的目标误识率是否大于目标误识率,并在其大于目标误识率时,用当前级联检测器扫描非人脸图像,收集所有误识到负样本集合。
本发明实施例提供的构建级联分类器的方法可以提高人脸检测分类器的训练速度,其对应的算法详述如下:
1.设定每层最大误识率f,每层最小通过率d和整个检测器的目标误识率F
target,已知正样本集合Pos和负样本集合Neg;
2.初始化F
1=1,i=1;
3.判断F
i>F
target时,执行步骤4,否则结束;
4用Pos和Neg训练第i层并设定阈值b,使得误识率f
i小于f,通过率大于d;
5用f
iF
i为F
i+1赋值,用i+1为i赋值,用
![]()
为Neg赋值;
6若F
i>F
target,则用当前级联检测器扫描非人脸图象,并收集所有判断错误的样本到集合Neg,完成后执行4;否则,结束。
在上述步骤2中,也采用优化的ADABOOST人脸检测算法完成对人眼位置的检测,基于MIT‑CBCL人脸数据库进行人眼位置检测。该MIT‑CBCL数据库共有10人,3200张训练图象,图象大小200×200,通过手工裁剪出正面人眼图象1000幅,背景图片2700张,图象大小20×20像素。然后采用上述训练方法进行训练。
通过实验,本发明实施例提供的上述算法得到了很好的效果,在人脸面对摄象头矩阵倾斜角度不超过30度(包括上、下、左、右方向的倾斜)的范围内,均可快速的捕捉到人眼,实时性很高。
根据对亚洲和欧洲人的瞳距的统计结果,亚洲人的瞳距平均值为65CM,欧洲人的瞳距平均值为63CM。本发明实施例中,如图4所示,将检测到的两人眼的中心点的距离作为两眼的瞳距,根据针对的人群,瞳距标准距离采用65CM,对检测到人眼的人脸图象的瞳距进行排序,最接近65CM的为最佳人脸图像。
得出最佳人脸图像后,根据该最佳人脸图像确定人脸所属类别,上述步骤S103具体包括三个步骤,详述如下:
步骤1.根据两人眼的倾斜角度对最佳的人脸图像进行倾斜校正;
步骤2.将校正后的人脸图像分块提取线性鉴别分析(Linear Discrirninant Analysis,LDA)特征;
这里,将最佳的人脸图像从上到下等分为如图5所示的5块,然后分块投影到投影矩阵并提取LDA特征。
步骤3.根据提取到的LDA特征和三阶近邻分类算法从人脸特征库中识别出人脸所属类别,即确认采集到的是特征人脸库中谁的人脸图像。
三阶近邻分类算法具体为:
(1)将上述提取到的LDA特征与特征人脸库中的人脸计算欧式距离,得到距离最小的三个特征人脸;
(2)判断是否至少有两个得到的特征人脸属于特征人脸库中的同一个类别;
(3)如果其中至少两个得到的特征人脸属于同一个类别,则待识别的人脸属于该类别;
(4)如果得到的三个特征人脸分别属于不同的类别,则待识别的人脸属于距离最小的那个特征人脸所属的类别。
上述特征人脸库根据下述算法得到,详述如下:
(1)将训练样本图象矩阵按照与提取LDA特征所采用的相应方式分块;
设训练样本共分成C类,每类样本的数量分别为:n
1、n
2、...、n
c,则训练样本图象矩阵A
ij分成5块,可表示成如下:
A
ij=[(ξ
ij)
1 (ξ
ij)
2 (ξ
ij)
3 (ξ
ij)
4 (ξ
ij)
5]
T;
其中,j取决于训练样本的种类C,i≤C;j取决于各类样本的数据,j≤n
1、n
2......n
c;(ξ
ij)
1为第一块的图像数据,(ξ
ij)
2为第二块的图像数据,...,(ξ
ij)
5为第五块的图像数据。
(2)计算训练样本的特征空间矩阵;
把训练样本图象中的所有子图象均看训练样本向量,则所有训练图像样本的子图像矩阵的类间散布矩阵为:
![]()
所有训练图像样本的子图像矩阵的类内散布矩阵为:
![]()
其中,
![]()
为第i类训练样本所有子图像矩阵的均值,
![]()
为所有训练样本子图像矩阵的均值,M为所有子图象矩阵数目。
接着,找出
![]()
的前r个最大特征值所对应的特征向量u
1、u
2、...、u
r。其中,r根据具体图片的大小等参数来确定。
设投影矩阵为U=[u
1,u
2,…,u
r],则训练样本A
ij的特征空间矩阵为:
A
ij=[U
T(ξ
ij)
1 U
T(ξ
ij)
2 U
T(ξ
ij)
3 U
T(ξ
ij)
4 U
T(ξ
ij)
5]
T。
(3)将所有的训练样本分块投影到投影矩阵U=[u
1,u
2,…,u
r],得到特征人脸库。
为了降低摄像头采集人脸图像时,因焦距、光圈、增益、白平衡等参数设置区别而影响采集到的人脸图像数据的变化,保证采集到的人脸图像数据的稳定性,作为本发明的一个优选实施例,通过红外摄像头来采集人脸图像。
当然,也可以采用数码相机等图像采集模块采集人脸图像,还可以根据需要修改图像采集模块的排列方式。在提取人脸图像的LDA特征时,也可以将人脸图像按照其他方式分为多块。但是,将校正后的人脸图像分为5块有利于进行LDA特征提取。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等,该程序用来执行如下步骤:
1.在多点采集人脸图像;
2.从多点采集到的人脸图像中提取出最佳人脸图像;
3.从最佳人脸图像中提取人脸特征,根据提取的人脸特征从人脸特征库中识别出人脸所属类别。
图6示出了本发明实施例提供的基于图像的人脸识别装置的结构,为了便于说明仅示出了与本发明实施例相关的部分。
该装置可以用于各种模式识别系统,这些模式识别系统可以装载于电子设备,例如计算机、个人数码助理(Personal Digital Assistant,PDA)等,该基于图像的人脸识别装置可以是运行于这些电子设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些电子设备中或者运行于这些电子设备的应用系统中,其中:
图像采集单元601,在多点采集人脸图像,包括多个图像采集模块6011。在本发明实施例中,图像采集模块6011为摄像头,图像采集单元601包括5个处于同一平面,且分别位于一正方形四边的中点和正方形的中心点的摄像头,摄像头通过USB接口与图像提取单元602通信,其实现方式如上所述,不再赘述。
图像提取单元602,从图像采集单元601在多点采集到的人脸图像中提取出最佳人脸图像。
识别单元603,从最佳人脸图像中提取人脸特征,根据提取的人脸特征从人脸特征库中识别出人脸所属类别。
在本发明实施例中,图像提取单元602包括:
人脸检测模块6021,在各采集到的人脸图像中检测人脸位置,并抛弃检测不到人脸位置的人脸图像,其实现方式如上所述,不再赘述。
人眼检测模块6022,在检测到人脸位置的各人脸图像中检测人眼位置,并抛弃检测不到人眼位置的人脸图像,其实现方式如上所述,不再赘述。
图像确认模块6023,比较检测到人眼位置的各人脸图像中两眼瞳孔的距离与瞳距标准距离的差值,将差值最小的人脸图像确定为最佳人脸图像。
在本发明实施例中,识别单元603包括:
校正模块6031,根据两人眼的倾斜角度对最佳的人脸图像进行倾斜校正。
特征提取模块6032,将校正后的人脸图像分块提取LDA特征,具体实现如上所述,不再赘述。
类别确认模块6033,根据提取到的LDA特征和三阶近邻分类算法从人脸特征库中识别出人脸所属类别,具体实现如上所述,不再赘述。
为了降低摄像头采集人脸图像时,因焦距、光圈、增益、白平衡等参数设置区别而影响采集到的人脸图像数据的变化,保证采集到的人脸图像数据的稳定性,作为本发明的一个优选实施例,通过红外摄像头来采集人脸图像。
在本发明实施例中,通过从多点采集到的人脸图像中判断得出最佳的人脸图像,并提取人脸特征,根据提取的人脸特征从人脸特征库中识别出人脸所属类别,实现了一种基于图像的人脸识别方法,在人脸摆动较大的情况下依然能得到人脸的正面图像、识别正确率高,并且实现成本低。并且,采用红外摄像头和LDA计算对人脸图像进行处理,统计提取到的人脸特征,采用三阶近邻分类算法对人脸进行分类,有效解决了光照不均的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。