基于2DDPCA的人脸识别算法

2016-06-23 06:03刘明珠
电视技术 2016年1期
关键词:特征提取人脸识别

刘明珠,武 琪,李 昌

(哈尔滨理工大学 测控技术与通信工程重点实验室,黑龙江 哈尔滨 150080)



基于2DDPCA的人脸识别算法

刘明珠,武琪,李昌

(哈尔滨理工大学测控技术与通信工程重点实验室,黑龙江哈尔滨150080)

摘要:主成分分析法(PCA)是人脸识别传统方法之一,是模式识别中一种普遍的线性组合算法。传统PCA算法因光照等外界因素和计算量较大等问题导致识别率较低。为了抑制这些缺点,主要研究基于PCA人脸识别算法改进的二维主成分分析法(2DPCA)和在2DPCA算法的基础上进行第二次特征提取的2DDPCA算法,并对PCA,2DPCA,2DDPCA这3种人脸识别算法在ORL和Yale人脸数据库上进行实验。实验主要从两方面进行分析,特征向量的维数、训练样本数与识别率的关系以及3种方法分别在数据库的时间对比。实验结果表明,提出的2DDPCA算法在不明显降低识别率的基础上,能有效提高识别速率,重建性能好。

关键词:人脸识别;主成份;特征提取

随着科技的进步和社会的发展,作为人内在属性的生物特征如语音、指纹、虹膜、人脸等方面有了广阔的应用前景,已成为当前的研究热点。其中基于人脸的识别受到了广泛的关注和普遍的应用,主要是因为其安全、友善、便利的这些优点能轻易被人所采纳。传统的PCA(Principle Component Analysis)[1]人脸识别算法,来源于通信理论中K-L[2]变换,宗旨是在低维空间中表示原高维数据[3],但是识别率并不高[4]。首先,因其受到光照、尺寸、表情、背景、角度等外界不可控制因素的影响;其次,PCA算法构造协方差必须将原始图像转换成一维行或者列向量。而2DPCA(Two Dimension PCA)[5]算法首先对图像矩阵进行线性变换的预处理,再直接采用原始图像矩阵构造协方差,相比之下2DPCA算法在提取特征上更为显而易见,运算量相对较小,速度较快。但是其提取的特征向量空间维数相对较大,占用内存较多,识别率还有待提高[6]。因此本文提出了一种改进的2DPCA算法,即2DDPCA(Two Dimension Double PCA)算法,该算法的主要特点是基于2DPCA算法第二次特征提取,使得最后提取得到的特征向量空间维数比2DPCA算法进一步减小,压缩率更高,并且识别率更好。

12DPCA算法原理

人脸识别的关键在于提取特征空间,一般可分为以下3个步骤。首先将人脸数据库的部分样本用来训练,计算得出相应的投影空间。然后将训练样本直接投影在这个投影空间上,计算其特征矩阵即主成分量。最后将需要识别的图像投影在这个投影空间上,计算出主成分量,将其与训练样本的主成分量一一对比,识别人脸。

PCA算法在运算时,需要把二维图像相应的首尾相连转变成一维行或者列向量。然而当二维图像矩阵维数较大时,计算量也会变得相当繁重。为了解决PCA算法的不足之处,Yang Jian、David Zhang于2004年提出直接基于原始图像矩阵的算法,即2DPCA算法。该算法的优点是对原始图像矩阵进行计算,不必转变,这样使运算量得到相应的简化,这是人脸识别又一意义非凡的里程碑。

2DPCA算法的思想:设X∈R1×n,训练样本原始图像A大小为m×n,先把A经过线性变换的预处理过程以减小外界因素的影响,然后再根据Y=AX投影在X上,就可以计算出Y,Y∈R1×m。Y称为图像A的投影特征向量。怎样确定合适投影方向,找到最佳投影轴,需要借助Y的协方差矩阵Sx迹tr(Sx)的最大值,如下[7]

J(X)=tr Sx

(1)

接下来求J(X)的最大值

Sx=E(Y-E(Y))(Y-E(Y)T=

E[AX-E(AX)][AX-E(AX)]T

(2)

tr(Sx)=XT[E(A-E(A))T(A-E(A))]X

(3)

设G为样本A的协方差

G=E[(A-E(A))T(A-E(A))]

(4)

可求得G是一个非负n×n维的矩阵。假设训练样本总数是M,Ai(i=1,2,…,M)表示第i个人,G计算则如式(5)所示

(5)

(6)

由此可得

J(X)=XTGX

(7)

式(7)称为广义总离散度准则[8]。当J(X)最大,求得G的r个非零的特征值所对应的特征向量记为Xopt,称为最佳投影轴[9]。将A投影在这个Xopt上,就可以得到Y的最大总离散度。

这里取p≤r构建特征空间如下所示

X1,X2,…,Xp=argmaxJ(X),

(8)

这些特征向量既满足广义离散度准则,又相互正交[10]。

把前期训练和需要测试的样本分别投影在这个X1,X2,…,Xp空间上,可以获得相应的特征矩阵即主成分量。在最后识别阶段采用最近邻分类器,求出上一阶段两种样本主成分量之间的间距[11],以其最小为依据确认此人属于本数据库中的哪个人。

22DDPCA算法原理

利用PCA算法提取特征时,为了计算训练样本的协方差矩阵必须将原始图像矩阵先转变为一维列向量或者行向量,使得整个过程的运算量相当大。2DPCA算法在计算协方差上面更简单,针对原始图像,不必转换,在提取特征上相对直观。基于2DPCA算法提取的特征向量空间维数相对较大,占用内存较多,识别率还有待提高。本文提出改进的2DDPCA算法,首先利用2DPCA算法进行第一次特征提取,构建成训练样本集,然后通过2DDPCA算法进行第二次特征提取,最后再进行人脸识别。这样不仅有利于提高特征提取的识别率,还有利于压缩特征向量空间维数,加快识别速度。

2.1第一次提取

计算图像均值和协方差矩阵如式(9)和(10)所示

(9)

(10)

根据准则式(7)只保留最大信息量即G1前p个最大特征值

G1Xi=λiXi

(11)

(12)

2.2第二次提取

计算新的图像均值和新的协方差矩阵如式(13)和(14)所示

(13)

(14)

[X1,X2,…,Xp]TAT[Z1,Z2,…,Zh]

(15)

2.3识别阶段

为了获取相应的特征矩阵Ut和主成分量Ut(1),Ut(2),…,Ut(h),将需要检测的图像ω在Z=(Z1,Z2,…,Zh)上进行投影,Ut表示为

Ut=[Ut(1),Ut(2),…,Ut(h)]=[X1,X2,…,

Xp]TωT[Z1,Z2,…,Zh]

(16)

本文利用最近邻分类器,它是根据最小距离来确定人脸图像到底是属于哪个类别,将需要识别的图像特征矩阵和所有训练样本的特征矩阵一一对比,当其之间距离最小则可以确定。距离度量准则[13]如式(17)所示

(17)

样本A通过2DDPCA算法提取得到的特征矩阵U是p×h维的,而通过2DPCA算法提取的特征矩阵Y是m×p维的,其中h≤m,因此有效地起到压缩特征矩阵维数的目的,减少了维数,有利于提高分类识别速率。

3实验结果

本文借助ORL库和Yale库来完成以下实验。ORL库40人,400张人脸图像,Yale库15人,165张图像。ORL库人脸图像倾斜变化和旋转变化20%左右,光照和表情变化轻微,部分人脸图像如图1所示。Yale库这些图像优点在于对比差异特别明显,包括左光源和右光源的不同对比、是否戴眼镜的对比和大幅度表情变化的对比。

根据上文的分析,这里只保留h(h≤10)个特征值及其特征向量。取图1第一张人脸图像作为实验样本,可以得到h不同取值时的各重建子图。h=1,3,5,8,10时的各重建子图像如图2所示。

通过图2可以看到,第一幅子图涵盖的原始图像信息量是最多的,而其他子图相比第一幅明显要少很多。经验证,随着特征值h的不断增加,则提供的信息量已不能明显改善识别率。通过图3对比特征值和图像信息量,可以知道,特征值h取值越大,原始图像的信息量越小。当h<5时,人脸信息有一定的保留,但当h≥5时,可提供的信息量趋于0,几乎无法重建人脸图像。因此,在本文的新算法中,选取的h不大于5。

重建公式

(18)

(19)

根据重建公式将多个子图相加就可以获得一个无限接近原始图像的重建图像,如图4所示。图4上边A′是基于2DDPCA算法根据式(19),下边A″是基于2DPCA算法根据式(18)。通过对比可知,2DDPCA算法当h=5时,重建的图像看起来很清楚,与原图像很接近。而2DPCA当p=10时,图像还没有重建好,需要更多的特征值进行重建。

图5和图6分别是在ORL、Yale人脸数据库上实验得到的特征空间维数(自变量)和识别率(因变量)的关系图。在图5中,当自变量取10时,2DDPCA的因变量高于PCA约10.5%,高于2DPCA约8%;当自变量取30时,2DDPCA的因变量高于PCA约8.5%,高于2DPCA约3.5%;当自变量取55时,2DDPCA的因变量高于PCA算法约5.5%,高于2DPCA约1.8%。2DDPCA算法的识别率在自变量较低时比PCA、2DPCA算法要高很多一部分,随着自变量的不断增加,虽然与其他两种算法识别率之间的差距在缩小,但仍然是三者中最好的。后面的实验将特征向量维数取为55维,主要是因为不是自变量越高,因变量越好,随着自变量达到55左右时,三者的因变量也达到峰值,当自变量越来越高,反而会降低因变量。

当自变量取10时,PCA、2DPCA、2DDPCA三种方法在图6上的识别率分别为76.3%、80.2%、86.7%,相应的取值条件下图5中3种方法的因变量分别为79.5%、82%、90%;随着自变量增加到55时,图6中3种方法的因变量为86%、90.5%、92%,图5相应的因变量为87.5%、91.2%、93%。图6各方法识别率相对低于图5,主要是因为图6用于实验的Yale数据库图像光照表情变化较大,对识别率造成了影响。在外界环境变化较大的这种情况下,2DDPCA算法识别率仍然优于PCA、2DPCA算法,可见2DDPCA算法具有很好的鲁棒性。

为了测试训练样本数目对识别率的影响,分别在ORL、Yale库上进行实验,得到相应的关系图如图7、图8。实验中,将特征向量维数值取为55,再将训练样本数从1取值到5,记录3种算法识别率的变化情况。由图7和图8所示的实验结果,可以发现不论是变化轻微的ORL数据库还是变化明显的Yale数据库都随着样本数目的增加,PCA、2DPCA、2DDPCA算法的识别率不断提升,但当样本数增加到3个以后,识别率将不明显上升,可见样本数不是越多越好,在2DDPCA算法中,样本数选4~5个即可满足要求。

ORL和Yale库的3种识别算法的识别时间如表1所示。表1的各种算法所需的识别时间都明显大于表2,主要是Yale数据库训练样本人数相对ORL数据库较少。在进行训练前期准备工作时,样本数取1,3,5,ORL库用于训练的总人数分别为40,120,200,而Yale库则分别为15,45,75。由表1、表2可知,在识别速度上来看2DDPCA算法明显比PCA、2DPCA算法要好的多。主要原因是PCA算法的识别率,因其识别率相对较低,必须对比多次才能正确识别,易浪费时间。而2DPCA算法需要增加相应的识别时间,是因为X=(X1,X2,…,Xp)的维数大于Z=(Z1,Z2,…,Zh)。

表1ORL3种识别算法的识别时间 ms

表2Yale3种识别算法的识别时间 ms

4结语

文中的2DDPCA算法是一种提取两次特征矩阵的新算法,该算法不但可以达到对图像进一步降维,减小识别时间的目的,还可以获得接近于2DPCA算法的识别率。综合考虑计算量、待处理数据量以及识别率等因素,本文提出的2DDPCA算法在计算量和识别时间上明显优于其他两种方法。

参考文献:

[1]冯亚丽,蒋文文.一种改进的基于肤色分割和PCA人脸检测方法[J].科学技术与工程,2010,10(10):2343-2347.

[2]张道华.基于PCA算法的人脸识别技术研究[J].吉林广播电视大学学报,2013,140(8):68-69.

[3]王志良.人脸工程学[M].北京:机械工业出版社,2010.

[4]李荣健,韩其龙,杨鑫华.改进的PCA人脸识别新算法[J].大连交通大学学报,2008,29(4):48-51.

[5]罗婵娟.快速二维PCA方法在人脸识别中的应用研究[D].无锡:江南大学,2003.

[6]王玉德,张学志,封玲娟.基于支持向量机的人脸识别算法研究[J].科学技术与工程,2011,11(34):8624-8627.

[7]齐兴敏,刘冠梅.基于PCA算法的人脸识别技术研究[J].现代电子技术,2007,29(6):77-79.

[8]黄泉龙.基于PCA的人脸识别研究[D].西安:西安电子科技大学,2012.

[9]YANG J,DAVID Z.Two-dimensional PCA:a new approach to appearance-based face representation and Recognition[J].IEEE PAMI,2004,26(1):131-137.

[10]刘凤娟,方丽英.通用学习框架结合2DPCA的鲁棒人脸识别[J].电视技术,2014,38(11):177-182.

[11]XIE X D,KIN M L.Gabor-based kernel PCA with doubly nonlinear mapping for face recognition with a single faceimage[J].IEEE transactions on image processing,2006,15(9):2481-2492.

[12]尹飞,冯大政.基于PCA算法的人脸识别[J].计算机技术与发展,2008,18(10):31-33.

[13]刘彦隆,赵福梅,郭建军.人脸识别算法在嵌入式系统中的研究与实现[J].电视技术,2014,38(9):212-213.

刘明珠(1973— ),女,副教授,硕士研究生导师,主要研究领域为通信信号处理;

武琪(1991— ),女,硕士研究生,主要研究领域为通信与信息系统;

李昌(1992— ),硕士研究生,主要研究领域为电子信息工程。

责任编辑:闫雯雯

Comparative study on face recognition based on 2DDPCA

LIU Mingzhu,WU Qi,LI Chang

(HarbinUniversityofScienceandTechnology,Harbin150080,China)

Key words:face recognition; principle component; feature extraction

Abstract:The algorithm of principle component analysis (PCA) is one of the traditional methods for face recognition, which is a commonly used method of linear combinations in pattern recognition. Traditional PCA method can cause a lower recognition rate mainly due to a large amount of calculation and some external factors such as light issues. In order to suppress these disadvantages, an improved two dimension principal component analysis (2DPCA) which based on the traditional PCA face recognition algorithm has been introduced in the paper, and then second feature extraction method has been used in the 2DPCA algorithm, which has been called 2DDPCA algorithm. To test the performances of the three face recognition methods such as the PCA, 2DPCA and 2DDPCA, a large number of experiments had been done with ORL and Yale face database. These experiments focus on two main aspects, one is the effect on recognition rate by the dimensions of feature space and the number of training samples, the other one is comparing the recognition time which is spend by three ways on database. By comparison, the theoretical principle of the improved algorithm is corrected and its performances are reliably. The experimental results show that the 2DDPCA algorithm is proposed in this paper when the recognition rate not changed significantly, can effectively improve the recognition rate and better reconstruction performance.

中图分类号:TP391.4

文献标志码:A

DOI:10.16280/j.videoe.2016.01.024

作者简介:

收稿日期:2015-06-08

文献引用格式:刘明珠,武琪,李昌.基于2DDPCA的人脸识别算法[J].电视技术,2016,40(1):122-126.

LIU M Z,WU Q,LI C.Comparative study on face recognition based on 2DDPCA [J].Video engineering,2016,40(1):122-126.

猜你喜欢
特征提取人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
基于Gazebo仿真环境的ORB特征提取与比对的研究
人脸识别技术的基本原理与应用
基于Daubechies(dbN)的飞行器音频特征提取
人脸识别技术在高速公路打逃中的应用探讨
基于(2D)2PCA-LBP 的人脸识别方法的研究
人脸识别在高校安全防范中的应用
Bagging RCSP脑电特征提取算法
一种基于LBP 特征提取和稀疏表示的肝病识别算法