结合主成分分析和局部导数模式的人脸识别方法

2014-09-15 08:18高娜彭亚丽高佳美刘侍刚
现代电子技术 2014年18期
关键词:主成分分析法人脸识别

高娜+彭亚丽+高佳美+刘侍刚

摘 要: 针对基于局部模式的人脸识别方法特征维数高、计算复杂度高、识别时间长的问题,提出一种结合主成分分析和局部导数模式的人脸识别方法,并针对如何解决光照、人脸表情等方面的问题提出了改进的编码方法。该方法首先将人脸图像分成很多小的区域,然后在每一个小区域中用改进的编码方法进行编码,并建立该区域的局部导数直方图,然后采用主成分分析法对所有直方图向量进行降维得到特征向量,最后利用最近邻分类器计算相似度。实验表明,这里提出的结合主成分分析和局部导数模式方法无论在识别率还是在运算速度上都优于传统的识别算法。

关键词: 人脸识别; 局部导数模式; 主成分分析法; 相似度计算

中图分类号: TN919?34; TP317.4 文献标识码: A 文章编号: 1004?373X(2014)18?0001?05

Face recognition method combining principal component analysis with local derivative pattern

GAO Na1, 2, PENG Ya?li1, 2, GAO Jia?mei2, LIU Shi?gang2

(1. Key Laboratory of Modern Teaching Technology of Ministry of Education, Xian 710062, China;

2. School of Computer Science, Shaanxi Normal University, Xian 710062, China)

Abstract:In order to solve the problems of high feature dimension, high computational complexity and long recognition time caused by the face recognition method based on local pattern, a face recognition method combining principal component analysis and local derivative model is presented in this paper. The improved coding method is introduced to solve the problems of illumination, facial expression and so on. The face image is divided into many small regions, and then each small area is coded by the improved coding method and a LDP histogram of the region is created. The dimension of histogram vectors are reduced by using principal component analysis. Finally, the nearest neighbor classifier is used to calculate the similarity. Experimental results show that the presented method is superior to the traditional method in the recognition rate and the speed.

Keywords: face recognition; local derivative pattern; principal component analysis; similarity calculation

0 引 言

人脸识别是模式识别和图像处理中最热门的研究主题之一[1?3], 而特征提取是人脸识别的前期基础,它不仅可以从原始人脸信息中提取最有利于分类的特征,而且可以极大地降低样本的维数,直接影响后期的识别效率。对于人脸识别,有效的特征提取从某种意义上讲是解决问题的关键。目前特征提取的方法主要有两种:一种是基于全局模式,另一种是基于局部模式。

基于全局模式方法中最具代表性的有主成分分析法(Principal Component Analysis,PCA)[4?6],线性判别分析法(Linear Discriminate Analysis,LDA)[7]。PCA方法对光照和表情发生变化敏感,当图像发生变化时,他很难做出准确的判断,因此在光照和表情发生变化的情况下识别率比较低。线性判别分析法是由主成分分析法发展而来的,具有代表性的是Fisher线性判别分析法。线性判别分析法适用于样本比较大的情况,对于小样本,线性判别分析法求解特征向量困难,类内和类间离散度不能完全描述人脸的变化,导致识别率的降低。

相对于基于全局模式方法而言,基于局部模式方法在图像的姿态和光照变化的问题上显示了很好的鲁棒性,因而成为目前研究的热点。近年来,研究人员提出了一些基于局部模式的方法局部二值模式(Local Binary Pattern,LBP)[8],Gabor小波[9]和局部非负矩阵分解(Local Non?negative Matrix Factorization,LNMF)[10]等。LBP方法虽然对光照的鲁棒性好,计算简单;但表达人脸特征时维数过高而且无法提取人脸细节特征。Gabor小波方法虽然具有良好的生物视觉特性,可以捕获图像在不同频率和方向下的局部显著特征;但特征维数高,识别时间长,存储开销大。LNMF方法虽然有非负约束,可以处理大规模的数据,提取局部特征;但他分解速度慢并且基空间不适应欧氏距离度量。由此可以看出,虽然基于局部模式的方法在图像的姿态和光照变化的问题上显示了很好的鲁棒性,但基于局部模式方法得到的人脸表达通常具有较高的维数,计算复杂度高,人脸识别的速度慢。

本文主要针对基于局部模式方法进行人脸识别时,特征维数高、运算速度慢的问题,提出了结合主成分分析法和局部导数模式的人脸识别方法。该方法是在基于局部导数模式的特征描述上,采用主成分分析法来降低人脸特征的维数,从而降低了计算的复杂性,并使用改进的编码方式来解决光照及表情变化的问题,提高了识别正确率。

1 相关知识

1.1 基于局部二值模式的人脸识别算法

局部二值模式[11]基本思想是:用其中心像素的灰度值与它的邻域相比较得到的二进制码来表述局部纹理特征。LBP 算子定义为在3×3的窗口,以窗口中心像素点为关键点,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心点的值,则该像素位置被标记1,否则为0。将得到的值按顺序连接起来,这样可产生一个8位的数,这个8位的数就是该中心点的LBP编码。

LBP算子通过一个简单的阈值函数对图像进行了一阶导数编码,因而这种方法并不能够描述出人脸更为详细的信息。为了表示出图像中更详细的信息,一些研究者用高阶局部模式对人脸进行表示,即局部导数模式(Local Derivative Pattern,LDP)[12]。

1.2 基于局部导数模式的人脸识别算法

LDP表示高阶导数信息而LBP则表示一阶导数信息,这些高阶导数信息包含了更多的可被识别的特征,而且这些信息在只能表示出一阶导数信息的LBP中是无法得到的。

假设方向为[0°],[45°],[90°]和[135°]的一阶导数分别为[I0°′(z0)],[I45°′(z0)],[I90°′(z0)]和[I135°′(z0)]其中[zi(i=1,2,…,8)]是围绕着点[z0]的8邻域点。

[z0]的二阶导数用[LDP2α(z0)]表示为:

[LDP2α(z0)={f(Iα′(z0),Iα′(z1)),…,f(Iα′(z0),Iα′(z8))}]

式中:

[f(Iα′(z0),Iα′(zi))=0, Iα′(z0)×Iα′(zi)>01, Iα′(z0)×Iα′(zi)≤0] (1)

最终,二阶LDP即[LDP2(z)]表示为:4个8位并具有方向的一阶LDP的组合:

[LDP2(z)=LDP2α(z)α=0°,45°,90°,135°] (2)

LDP通过对两个梯度方向上的两个相邻像素的比较得出取值并连接这些结果,从而得到一个32位的二进制的字符串。梯度方向的比较由式(1)定义。由此可以看出一个二阶LDP计算的过程,可以分为3个点和4个点的情况,当他们为单调递增或单调递减时,转折点被编码为0;反之编码为1。

相对于局部二值模式,局部导数模式[13]考虑了更多的细节特征,局部二值模式只编码了局部区域的邻点之间的关系,局部导数模式还编码了局部区域上的空间关系,而不仅仅是邻点关系。所以,局部导数模式比局部二值模式方法在人脸识别时准确率更高,但这同时也增加了他的计算复杂度和识别速度。为了得到较好的识别准确率的同时,解决复杂度高、识别速度慢的问题,本文引入了主成分分析法。

1.3 主成分分析法

主成分分析(PCA)是用一种较少数量的特征对样本进行描述以达到降低特征空间维数的方法,它的本质实际上是K?L变换,这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推得到数据在新坐标系下的投影来表示原数据,从而用较少的数据反映了原来的复杂问题。

基于主成分分析法的一大优点是能够对数据进行降维处理,通过PCA方法求出数据集的主元,选取最重要的部分,将其余的维数省去,从而达到降维和简化模型的目的,间接地对数据进行了压缩处理,同时很大程度上保留了原数据的信息。所以,可以运用PCA方法来解决基于局部模式方法进行人脸特征提取维数高的问题。

2 结合主成分分析和局部导数模式方法

局部二值模式只编码了局部区域邻点之间的关系,而基于局部导数模式的人脸识别方法同时还编码了局部区域上的空间关系,因此能够提取更多的人脸细节特征。但基于局部导数模式的方法包含了更多的人脸信息,导致数据维数过高,识别人脸时速度过慢,为了解决这一问题,本文提出了结合主成分分析和局部导数模式方法。

结合主成分分析和局部导数模式方法是将基于局部导数模式方法和主成分分析法结合起来,首先利用基于局部导数模式方法提取人脸特征信息,然后利用主成分分析法对提取的维数较高的人脸信息进行特征提取,得到用少量特征描述的特征脸,最后利用特征脸进行人脸识别的方法。

该方法利用主成分分析法降维的效果,将其应用到基于局部导数模式的方法中,以达到降低维数、加快识别速度的目的。同时,利用基于局部导数模式方法提取有效的人脸信息,提高主成分分析法识别的准确率。因此,结合主成分分析和局部导数模式方法能够充分的提取人脸的全局和局部特征,在保证识别率的基础上,还大大地降低了计算的复杂度,提高了识别速度。但在实际应用过程中发现,虽然局部导数模式对光照变化具有一定的鲁棒性,但在当把他用于光照和表情都发生较大变化的情况下时,他的表现并不能让人满意。为了解决这个问题,在结合主成分分析和局部导数模式方法中,本文使用了一种改进的阈值编码规则。

传统的局部方法,总是把阈值选择为0,这在光照条件下并不能很好的表现鲁棒性。在结合主成分分析和局部导数模式方法法是按照实验数据来选择阈值,也就是如果光线充足时,阈值就会相对变大;反之阈值就会相对变小。

下面是结合主成分分析和局部导数模式方法的阈值编码规则的表达式:

[f'(I(z0),I(zi))=0, |I(zi)-I(z0)| ≤threshold1, |I(zi)-I(z0)| >threshold] (3)

即用邻近的像素与中心的像素相减,如果结果等于或者小于阈值,则将结果设定为0;倘若结果大于阈值,那么就将结果设定为1。

3 算法实现

结合主成分分析和局部导数模式方法进行人脸识别主要分为4个步骤:

(1) 将人脸图像分成几块比较小的区域;

(2) 统计图像各个区域的LDP直方图,并将各个局部直方图连接成一个增强直方图向量;

(3) 采用主成分分析法对向量进行降维;

(4) 采用最近邻分类器计算相似度。

下面给出结合主成分分析和局部导数模式方法进行人脸识别的详细流程。

首先,将一幅人脸图像被分为[n]个区域[(1,2,…,n)],这[n]个小区域的LDP直方图被分别计算出来。那么这[n]个直方图就可以组成空间增强的直方图,这种直方图能表示面部区域的表观和空间关系的信息。因此在本文中首先把一副人脸图像分成几块比较小的部分,这些局部图像的LDP特征被独立的提取出来,然后对每一小块的图像建立直方图,如图1所示。

图1 基于局部导数模式的直方图的建立

通过上述的LDP直方图,可以得到一个直方图向量[xi]。设一共有[N]个训练样本脸,用主成分分析法对样本脸进行降维得到特征脸和人脸数据库的步骤如下:

(1) 计算训练样本脸的平均向量:

[u=1Ni=1Nxi]

(2) 计算每个样本脸与平均脸的差值:

[A=[x1-u,x2-u,…,xN]]

(3) 计算[N]个样本脸的协方差矩阵[S]:

[S=i=1N(xi-u)(xi-u)T=AAT]

(4) 计算[AAT]的特征值[λi]和特征向量[νi];

(5)计算[S=AAT]的正交归一化特征向量[μi=λ-1/2iAvi (i=1,2,…,r)];

(6) 按照特征值[λi]的大小选取前[d]个特征值对应的特征向量构成特征脸空间[W=(μ1,μ2,…,μd)];

(7) 将[N]个样本脸向特征脸空间[W]做投影,得到人脸识别的数据库[Ω=WTu]。

最后,在识别过程中,先将每一幅待识别的人脸图像投影到特征子空间[W],再采用最近邻分类器计算其与库[Ω]中人脸的相似度。

4 实验结果和分析

为了验证基于结合主成分分析和局部导数模式方法的有效性,分别在ORL和YALE人脸库上进行了实验。

4.1 基于ORL数据库的实验

为了测试训练样本的个数对算法性能的影响,以及在人脸表情和姿态发生变化的情况下,结合主成分分析和局部导数模式方法的识别效果,本文选择在ORL数据库上进行测试。数据库ORL包含40个人的图像,其中每人有10张互不相同的图像:包括不同的表情和姿态,如图2所示。

在实验中,第一次,从ORL数据库中随机选取一个人的一张图像做训练样本,剩余的图像作为测试样本。第二次再选取两张图像做训练样本,余下的图都作为测试样本;第三次取3张做训练样本,依此类推逐渐增多训练样本的数目,得到的实验结果如图3所示。

图2 ORL数据库

图3 本文方法与其他方法在数据库Yale下的实验结果

由图3的实验结果可以看出:随着选取训练图像数目的增加,结合主成分分析和局部导数模式方法的正确率也在逐渐变大,并且大于其他三种方法。这个实验结果表明,本文提出的方法在人脸的表情和姿态发生变化的情况下,表现出很好的鲁棒性。同时,也可以看出,基于局部模式的方法(LBP和LDP)的识别率要高于基于全局模式方法(PCA),而基于局部导数模式方法又比基于局部二值模式方法表现出更好的识别效果。

4.2 基于Yale数据库的实验

Yale人脸数据库用来比较在不同光照变化和表情变化的情况下,本文提出的结合主成分分析和局部导数模式方法与传统方法LDP,LBP方法的表现情况。此数据库包含15个人的165张不同的图片,每一个人都有在不同光照下的11张图片。图4 是Yale人脸数据库中的一个部分样本。

图4 Yale数据库中一个人的正脸图像的样本

与在ORL人脸数据库中进行的实验一样,在本次实验中,同样采取顺序增多训练样本的方法,第一次从Yale人脸库中随机选取一个人的一张图像做训练样本,剩余的图像作为测试样本。第二次再选取两张图像做训练样本,余下的都作为测试样本,依此类推逐渐增多训练样本的数目,观察各种方法识别的准确度,实验结果如图5所示。同时记录结合主成分分析和局部导数模式方法与基于梯度导数模式方法在Yale数据库下运行时间如表1所示。

图5 本文方法与其他方法在Yale数据库下的实验结果

表1 本文方法与其他方法在Yale数据库下运行时间的比较

图5的实验结果清楚的表明,采用改进的编码规则进行编码的结合主成成分析和局部导数模式方法,在光照和表情发生改变的条件下比其他几个传统的方法表现得更好更有效,也更能从人脸图像中提取更有辨别性的信息。与图5的结论一样,识别率又高到低排列:结合主成成分析和局部导数模式方法、基于局部导数模式方法、基于局部二值模式方法、基于全局模式方法(PCA)。

猜你喜欢
主成分分析法人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
基于(2D)2PCA-LBP 的人脸识别方法的研究
人脸识别在高校安全防范中的应用
山东省旅游产业竞争力评价研究
中国装备制造业阶段竞争力研究
陕西省各地区人力资本水平综合评价与分析
基于主成分分析的煤层气赋存影响因素分析
基于主成分分析法的高校财务风险评价指标体系构建
基于类独立核稀疏表示的鲁棒人脸识别