APP下载

基于主成分分析法的人脸识别的探讨与研究

2011-07-13叶玉堂邢同举吴建平周孟特王智芳

电子设计工程 2011年20期
关键词:特征向量特征值人脸

孙 强,叶玉堂,邢同举,吴建平,周孟特,王智芳

(电子科技大学 光电信息学院,四川 成都 610054)

人脸识别近些年已经成为计算机视觉和模式识别等人工智能领域中的最热门课题之一[1-4],它有广泛的应用前景,比如在安全控制和人机交互等领域。

经过多年的研究,现在形成了人脸识别的几个主流研究方向[5]:基于主成分分析的特征脸(Eigenface)方法、基于Fisher线性判别条件的Fisher脸(Fisherface)方法、弹性图匹配法(Elastic Graph Matching)以及局部特征脸(Local Feature Analysis)。特征脸方法作为一种比较成功的人脸技术掀起了人脸识别研究的第二次高潮。

基于特征脸的人脸识别算法[1]属于构造子空间的人脸识别方法,其理论依据是统计主成分分析(Principal Component Analysis,PCA),或者说 K-L 变换(Karhunan-Loeve Transform)。主成分分析通过求解训练样本的散布矩阵的特征值问题,给出一组远远小于样本空间维数的正交基来表示训练样本张成的子空间。从线性重建角度而言,这组基的优点在于可以最充分地表征样本。

PCA算法就是一种主成分分析的方法。这种方法将包含人脸图像的区域看做一种随机向量,因此可以采用K-L变换得到正交变换基,对应其中较大的特征脸的基底具有与人脸相似的形状。PCA算法利用这些基底的线性组合可以描述、表达人脸和逼近人脸,因此可以进行人脸的识别和重建。识别过程就是把待识别人脸映射到由特征脸张成的子空间中,与库中人脸的子空间位置进行比较。人脸的重建就是根据识别人脸在子空间的位置,还原到人脸空间中。

1 K-L变换的原理

PCA方法是由Turk和Pentland提出来的,它的基础就是Kauhunen-Loeve变换(简称K-L变换),是一种常用的正交变换。下面对K-L变换做简要的介绍[6]。

假设X为n维的随机变量,X可以用n个基向量的加权和来表示。

如果设 Φ=(φ1,φ2,…,φn),α=(α1,α2,…,αn)T,则式(1)可用矩阵表示为:

文中取基向量为正交向量,即:

将式(2)两边左乘ΦT,并考虑Φ的正交性ΦTΦ=I,得

设随机向量X的总体自相关矩阵为:R=E[XXT](6)

将(2)带入(6)得:R=E[XXT]=E[ΦααTΦT]=ΦE[ααT]ΦT(7)

要求向量α的各个分量互不相关,即满足下列条件:

将(10)式两边右乘Φ,并考虑Φ的正交性,得

可以看出,凡是λi的自相关矩阵R的本征值,φi是对应的本征向量。因为R为实对称矩阵,所以其不同的本征值对应的本征向量应正交。

综上所述,K-L展开式的系数可以用下列步骤求出:

Step 1:求随机向量X的自相关矩阵 R=E⎿XXT」,可以把数据的协方差矩阵Σ=E⎿(x-μ)(x-μ)T」作为 K-L 坐标系的产生矩阵,这里μ为总体均值向量。

Step 2:求出协方差矩阵Σ的特征值λi和特征向量φi,其中 i=1,2,…,n。 同时本征向量组成的矩阵为 Φ=(φ1,φ2,…,φn)。

Step 3:展开式系数向量即为:α=ΦTX

K-L变换的实质是建立了一个新的坐标系,将一个物体主轴沿特征矢量对齐的旋转变换,这个变换解除了原有数据向量的各个分量之间的相关性,从而有可能去掉那些带有较少信息的坐标系以达到降低特征空间维数的目的。

2 基于PCA的人脸识别原理

基于PCA算法的人脸识别系统的基本过程包括:导入训练样本集合测试样本集,计算样本特征值及特征向量的计算,计算特征脸向量,计算测试样本投影到特征脸空间的坐标系数,最后进行分类识别。即:

Step 1:读入人脸库图像,构成图像训练集矩阵;

Step 2:对图像训练集矩阵进行K-L变换得到特征脸空间,存储在模板中,以便系统利用其进行识别;

Step 3:把训练图像和待测图像投影到特征空间,得到它们在特征空间对应的坐标系数;

苗木质量(QI)指数采用苗木质量指数公式[17]计算: 苗木质量式中:苗高单位cm,地径单位mm,总干重、茎干重、根干重单位均为g。

Step 4:利用距离分类器判别输入的此待测的人脸图像所属的类别。

下面具体介绍利用此算法进行人脸识别计算过程。

1)载入人脸库

在载入人脸库图像前,必须对所有的图像进行几何归一化,即将所有的图像的维数统一为相同维数,不妨设为m×n。每幅图像 i(i=1,2,…M)按行优先并按列向量存贮为 N=m×n行的列向量 xi∈RN×1(i=1,2,…M)。 可视为 N 空间中的一个点。这样可以得到存贮所有人脸库的训练样本的矩阵X=(x1,x2,…,xM)∈RN×M。

2)利用K-L变换得到人脸特征空间[7]

首先定义平均人脸为:

则所有训练样本的协方差矩阵为:

每个人脸xi与平均人脸μx的差值向量为:wi=xi-μx(18)

文中差值图像为 W∈RM(N>>M),则 WWT∈RM的特征值可以由WTW∈RM得到。对WTW进行SVD分解得到其非零特征值(λ1,λ2,…,λr)(从大到小排序,1≤r<M)及对应的特征向量 V=(v1,v2,…,vr),则 WWT正交归一化特征向量为

则 C 的非零特征值为(λ1/M,λ2/M,…,λr/M)及其对应的单位正交特征向量(u1,u2,…ur)后,可以得到人脸特征子空间U=(u1,u2,…ur)∈RN×r。

3)把训练图像和待测图像投影到特征子空间

每一副人脸图像向特征脸子空间投影,得到一组坐标系数,就对应于子空间中的一个点。同样,子空间中的任一点对应于一副图像。这组系数便可作为人脸识别的依据,也就是这张人脸图像的特征脸特征。也就是说任何一副人脸图像都可以表示为这组特征脸的线性组合,各个加权系数就是K-L变换的展开系数,可以作为图像识别特征。

即上一步得到了特征空间U后,可以将所有训练样本图像X投影到此空间上,可以得到每幅图像在特征子空间中的坐标系数:

同样可以将待测图像xtest投影到特征子空间中,得到其对应的坐标系数为:

4)利用距离分类器进行识别

本文采用欧几里得距离,即向量的2-范数对ytest所属的类别进行识别。即目标函数为:

从而可以求得满足最小距离的图像,达到识别的目的。

3 算法实验及验证

1)载入人脸库,构成人脸库图像矩阵X

文中选用University of Essex的网站[9]上的faces94这个人脸库。此人脸库中包含153个不同人的人脸图像,20个female,113个male,20个malestaff,并且每个人又有 20个不同表情和姿态的人脸。其中图像的分辨率为200 pixel×180 pixel(将 RGB 图相同转化为灰度图像),即 m=200,n=180,则N=m×n=36 000。文中从这个人脸库中的malestaff中以及从female中分别选取5个人,并且每个人分别从20张中选取3张不同的人脸,组成训练集X∈RN×M,其中M=30。每个人选取的编号均为1,8,15。同时将每个人对应的编号为20的人脸作为测试集,如图1所示。

图1 人脸测试集Fig.1 Face test set

2)计算人脸特征子空间

在得到了人脸库图像X后,继而可以得到差值图像W,并且 rank(X)=30,rank(W)=rank(WWT)=rank(WTW)=29

计算 WTW得到特征值 di(i=1,2,…29)和对应的特征向量 vi(i=1,2,…,29),则协方差矩阵 C=WWT/M 的特征值为 di/M(i=1,2,…,29)以及对应的正交归一化向量为:

将得到的特征值 di(i=1,2,…29)从大到小排列,得到的分布图如图2所示,可以看出特征值的成指数分布。可以选用前几个特征值对用的特征向量构建特征子空间,进一步可以达到降维的目的。但文中选用的样本集本身不是很大,选用所有的特征值对应的特征向量构建特征子空间。

图2 人脸库图像特征值分布Fig.2 The distribution of face image database’s eigenvalues

协方差矩阵 C 的特征向量空间 U=(u1,u2, …,u29)∈R36000×29中的每一个向量构成的图像如图3所示,文中只展示第 1,3,6,8,11,14,22,29 个特征值对应的特征向量对应的图像。可以看出它们都很像人脸,所以称为特征脸。由这些特征脸张成的空间称为特征子空间。对于正交基选择的不同,对应较大特征值的特征向量(正交基)也称主分量,用于表示人脸的大体形状,如人脸框架,光照等,而对应于较小特征值的特征向量则用于描述人脸的具体细节,或者从频域来看,主分量表示了人脸的低频部分,较小的分量则描述了人脸的高频部分。

图3 部分特征脸Fig.3 Part of the eigenface

3)将所有训练集样本图像以及待测图像投影到特征子空间进行分类识别

将所有的训练样本图像和待测图像对特征子空间进行投影,得到对应的坐标系数:Y=UTW,ytest=UT(xtest-μx),进而利用最小距离分类器进行识别。匹配识别的结果如图4所示,可以看出所有待测图像都得到正确地匹配识别。

4)图像重建

对于一副图像xr(已转化为向量形式),其投影到特征子空间中的坐标系数为:yr=UT(xr-μx)。

图4 待测图像(编号为20)和识别结果图像Fig.4 Pending test images(index is 20) and the result of recognition images

图5 前5个待测图像(横向编号均为为20)和30个样本图像投影坐标向量的二范数(×104)Fig.5 The first five pending test images(all the indexes are 20) and the norm of 30 sample images’ projection vector (×104)

图6 后5个待测图像(横向编号均为为20)和30个样本图像投影坐标向量的二范数(×104)Fig.6 The end five pending test images(all the indexes are 20)and the norm of 30 sample images’ projection vector(×104)

利用投影系数yr和投影矩阵U可以对图像进行重建:

其中1:t表明选用前t个特征向量去重建图像。

文中选用4张图像进行图像重建实验,包括训练样本集中的2张图像(fordj.8和elduns.8),样本集外的malestaff中的图像anonym.1以及非人脸图像drill(PCB微型钻头显微图像)。分别取 t=2,6,10,14,18 得到的重建结果如图7 所示。从图7可以看到,来自样本集的2张图像可以得到很好地重建;而来自样本集外的人脸图像重建结果很模糊,得不到待重建的图像,虽然结果有人脸的轮廓;第四个非人脸图像重建的结果同样很模糊。

图7 图像重建结果Fig.7 The result of image reconstruction

4 结论及改进

从上面的实验结果可以看到,利用PCA算法进行人脸识别是有效的,属于训练样本集中人物的测试图像都能正确识别归类。同时可以推论到,不属于样本集中的人脸图像和非人脸图像也能得到一个匹配结果,这是现实中我们不希望发生的。所以以后的改进应加入衡量参数,将测试结果分为3类,输出结果包含3种情况:(a)输入的是人脸图像,但不是测试样本中的图像;(b)输入的测试样本中的第k张图像对应的人物;(c)输入的图像不是人脸图像。

如果取pλ=90%,计算30个样本集对应的合适的特征值个数为t0=10。即前10个特征脸足够用于人脸识别。

5 结束语

人脸识别是一个跨学科的富有挑战性的前沿课题,目前的人脸识别主要适用特定环境下、限定类别数量下的应用。光照、背景、人脸模式的多样性等条件都会影响识别效果,还有许多需要改进的地方。基于特征脸的人脸识别方法的重要贡献不仅为基于图像的目标识别提供了一种普遍的方法,还在于它的基本变换进行降维和特征提取的思想为目标识别提供了一种方法论[5]。

[1]Kumar N M.An efficient multimodal biometric facerecognition using speech signal[J].ICSIP,2010:201-206.

[2]Shekar B H.Face recognition using kernel entropy component analysis[J].Neurocomputing,2011,74(6):1053-1057.

[3]邓伟宏.高精度人脸识别算法研究[D].北京:北京邮电大学,2009.

[4]葛微.自动人脸识别关键技术研究[D].长春:中国科学院研究生院(长春光学精密机械与物理研究所),2010.

[5]田捷,杨鑫.生物特征识别理论与应用[M].北京:清华大学出版社,2009:241-242,251-253.

[6]谢立权.基于PCA的人脸识别系统的设计与实现[D].南京:东南大学,2007.

[7]Kyungnam K.Face recongnition using principle component analysis[J].IEEE Signal Processing Society,2002,9(2):40-42.

[8]黄廷祝,钟守铭,李正良.矩阵理论[M].北京:高等教育出版社,2003.

[9]Spacek L D.Computer Vision Science Research Projects[EB/OL].http://dces.essex.ac.uk/mv/allfaces/faces94.html (2011-08-20)[2011-09-20].

猜你喜欢

特征向量特征值人脸
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
一类内部具有不连续性的不定Strum-Liouville算子的非实特征值问题
一类带强制位势的p-Laplace特征值问题
有特点的人脸
一起学画人脸
单圈图关联矩阵的特征值
三国漫——人脸解锁
一类特殊矩阵特征向量的求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用