基于Fihserfaces算法的人脸识别
2015-04-25杨阿庆黄华盛
杨阿庆,黄华盛
(广东科技学院 计算机系,广东 东莞523000)
生物特征识别是利用人体本身的特征进行身份认证的技术。相比其他身份认证技术,人脸识别由于具有非接触式采集、隐性操作、远程传输、快速跟踪等特点,在身份认证、视频监控、罪犯跟踪等领域中有巨大的潜力。因此,人脸识别的研究不仅有理论意义,而且具有广阔的应用前景[1]。
目前常用的人脸识别算法有基于几何特征的人脸识别、基于线性子空间的人脸识别、基于核映射非线性子空间的人脸识别、基于神经网络的人脸识别等等。在众多的人脸识别算法中,以特征脸(Eigenfaces)和鉴别脸(Fisherfaces)方法为代表的子空间方法(Subspace based Methods)已成为人脸识别领域中的基准方法[2-3]。
Sirovich和Kirby[4]首先采用主元分析法(Principal Component Analysis,PCA)算法将K一L变换用于人脸图像的最优表征。Turk和Pentland[5]具体将K一L变换应用于人脸识别,提出了特征脸(Eigenfaees)算法。从压缩能量的角度来说,K一L变换是最优的,变换后的低维空间有较好的人脸表达能力,但具有较好的人脸表达能力并不一定具有很好的人脸判别能力[1]。与PCA算法不同,Fisherfaces算法利用了训练样本的类标信息,是一种有监督的特征提取方法[6]。PCA提取的特征是最具表征力的特征(Most Expressive Feature,MEF),LDA提取的特征是最具判别力的特征(Most-Discriminating Feature,MDF)[7]。由于LDA在训练过程中加入了训练样本的类别信息,因此提取的特征具有更高的分类性能。1997年,Belhumeur等最早将LDA用于人脸识别,提出了鉴别脸(Fisherfaces)方法。
本文使用Fisherfaces算法进行人脸识别,且分别在ORL人脸库和YALE人脸库上进行了对比试验。根据统计,Fisherfaces算法在这两个人脸库的识别率分别为94%和89%。
1 Fihserfaces分析方法
1.1 Fisherfaces算法的原理
Fisher线性鉴别分析是通过投影降低图像的维数,该算法将n维空间中所有样本的原始信息都投影到一个方向轴上,最终将n维数据压缩成了一维数据[8]。由于Fisher鉴别会将特征投影到最有区分性的维度,因此在投影后的维度上,不同类别的样本能够得到有效区分。图1形象地展示了Fisher鉴别的过程。
图1 Fisher鉴别的投影过程
图1中白色点和绿色点表示不同的样本。在原坐标系(x-y)中,不论将样本点投影到x轴还是y轴都不能有效区分样本点的类别。但是,通过Fisher鉴别选择新的坐标维度(w轴),将所有的样本点都投影到这个维度上,即能简单而有效区分样本点的类别。
1.2 Fisherfaces算法的步骤
将Fisherfaces算法用于特征提取,实质上是寻找一个投影空间,得到训练样本在该投影空间中的特征数据。
步骤1样本图像进行中心化,计算“平均脸”。
步骤2对协方差矩阵进行奇异值分解,构造投影矩阵w。
步骤3通过计算表示样本类内离散程度的矩阵Sw和类间离散程度的矩阵Sb,然后将其投影到矩阵w中,得到投影后的类内离散度矩阵S'w和类间离散度矩阵S'b。
步骤4提取(S'w)-1S'b的特征值,寻找最优投影空间。
步骤5将(S'w)-1S'b特征值前K个最大特征值降序排列,对应特征向量构成投影矩阵Q。
步骤6将Ω=w·Q作为最终投影矩阵。
步骤7全部样本图像进行中心化处理,然后全部投影到Ω上,得到K维识别特征。
步骤8设计分类器进行识别。
2 实验结果
为测试Fisherfaces算法的识别性能,本文采用ORL人脸库[9]和YALEA人脸数据库[10]进行了识别实验。
2.1 针对ORL人脸数据库的实验
ORL人脸库由英国剑桥大学实验室研究制作,该数据库共包括40个人,每人10幅不同图像,每幅图像为256个灰度级,图像大小为112×92。ORL人脸库是在不同时间、不同光照条件、不同脸部表情和不同脸部细节的条件下拍摄的。人脸库中某个人的10幅图像如图2所示。该数据库中图像的变化较少,适合研究初期对人脸识别算法的实验。
图2 ORL人脸库中某个人的10幅图像
实验中,对每个人的10幅图像,随机去除其中的5幅作为训练样本,另外的5幅作为测试样本。表1给出了不同特征维数的条件下,Fisherfaces算法在ORL人脸库中识别率的比较。
在子空间算法的训练过程中,由于对协方差矩阵的特征值进行排序。因此,位置越靠前的特征对于分类的贡献越大。从表1也可看出,只需取前面的31个特征,即能达到较高的准确率。此外,再加入后面的其他特征对识别率也无较大影响,因此实验结果和理论分析相符。
表1 不同维数在ORL人脸数据库中的识别率比较
2.2 在YALEA人脸数据库上的实验
为了检验不同条件下Fisherfaces算法的识别率,本文在YALEA人脸数据库上进行了人脸识别的对比实验。YALE人脸库共有15个人,每人11幅图像,总共有165幅人脸图像,这些图像是在不同光照条件和脸部表情下拍摄。图3是YALE人脸库中某人的11幅图像。
相比ORL人脸库,YALEA人脸库的识别难度更高,因其中还包括了大部分的背景区域,且光线和表情的变化较大,如图2所示。
图3 YALE人脸库中某个人的11幅图像
实验中,对每个人的11幅人脸图像,随机取6幅作为训练数据集,另外5幅作为测试数据集。表2是在不同特征维数下,Fisherfaces算法对YALEA人脸库识别率的比较。
表2 不同特征维数下Fisherfaces算法对YALEA人脸库的识别率比较
3 结束语
本文采用了Fisherfaces算法进行人脸识别。该方法首先利用PCA对人脸图像完成第一次降维处理,接下来利用Fisher鉴别进行二次降维,最终得到人脸图像的特征数据。除了理论分析,本文在ORL人脸库和YALEA人脸库上进行了人脸识别的实验。根据统计,该算法对ORL和YALEA人脸库的识别率分别为94.00%和89.33%。实验结果表明,Fisherfaces算法对于人脸库中的图像有较高的识别率。
[1] 张成元.基于子空间分析的人脸识别算法研究[D].北京:北京交通大学,2009.
[2] 刘青山,卢汉清,马颂德.综述人脸识别中的子空间方法[J].自动化学报,2003,29(6):900-911.
[3]Rao A,Noushath S.Subspace methods for face recognition[J].Computer Science Review,2010,4(1):1-17.
[4]Sirovich M,Kirby L.Applicaion of karhunen-Loeve procedure for the characterization of human faces[J].IEEE Transactions on PAMI,1990,3(1):71-79.
[5]Turk M A,Pentland A P.Eigenfaces for recognition[J].Journal of Cognitive Neuroscience,1991,3(1):71-86.
[6] 崔法毅.改进的Fisher鉴别分析两步算法研究及其在人脸识别中的应用[D].秦皇岛:燕山大学,2012.
[7]Swets D L,Weng J.Using discriminant eigenfeatures for image retrieval[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1996,18(8):831-836.
[8] 李国齐,赵广社,孙照莹.Fisher准则K-L变换和SVM在分类中的应用[J].计算机工程与应用,2006(19):147-150.
[9]Cambridge University,Engineering Department.ORL face database[EB/OL].(1994-08-12)[2014-11-29]http://www.uk.research.att.com/face database.html.
[10]Yale University.YALE face database[EB/OL].(1999-06-11)[2014-10-20]http://cvc.yale.edu/projects/yalefaces/yalefaces.html.