工程设计报告设计题目:基于PCA的人脸特征抽取及识别学院:电子工程学院专业:智能科学与技术姓名:钟佩学号:02085156时间:2011年11月指导教师:缑水平目录摘要................................................................................................................................31.PCA进行特征抽取和识别的方法及理论基础......................................................31.1K-L变换............................................................................................................31.2利用PCA进行人脸识别...............................................................................41.3PCA的理论基础..............................................................................................41.3.1投影.......................................................................................................41.3.2PCA的作用及其统计特性....................................................................51.3.3特征脸...................................................................................................61.3.4图片重建...............................................................................................71.3.5奇异值分解(SVD).............................................................................71.3.6利用小矩阵计算大矩阵特征向量.......................................................81.3.7图片归一化...........................................................................................82.结果.........................................................................................................................91.识别率.................................................................................................................92.特征脸.................................................................................................................93.人脸重构...........................................................................................................103.参考文献...............................................................................................................104附录—matlab源码................................................................................................114.1人脸识别.......................................................................................................114.2特征人脸.......................................................................................................124.3人脸重建.......................................................................................................14摘要对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量,如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。在本文中,我们将讨论PVA算法来对人脸进行特征抽取和识别。1.PCA进行特征抽取和识别的方法及理论基础1.1K-L变换PCA方法是由Turk和Pentlad提出来的,它的基础就是Karhunen-Loeve变换(简称KL变换),是一种常用的正交变换。下面我们首先对K-L变换作一个简单介绍:假设X为n维的随机变量,X可以用n个基向量的加权和来表示:式中:αi是加权系数,φi是基向量,此式还可以用矩阵的形式表示:取基向量为正交向量,即则系数向量为:α=ΦTX综上所述,K-L展开式的系数可用下列步骤求出:步骤一求随即向量X的自相关矩阵,由于没有类别信息的样本集的μ均值向量,常常没有意义,所以也可以把数据的协方差矩阵作为K-L坐标系的产生矩阵,这里μ是总体均值向量。步骤二求出自相关矩阵或协方差矩阵R的本征值和本征向量,步骤三展开式系数即为α=ΦTXK_L变换的实质是建立了一个新的坐标系,将一个物体主轴沿特征矢量对齐的旋转变换,这个变换解除了原有数据向量的各个分量之间相关性,从而有可能去掉那些带有较少信息的坐标系以达到降低特征空间维数的目的。1.2利用PCA进行人脸识别完整的PCA人脸识别的应用包括几个步骤:人脸图像预处理;读入人脸库,训练形成特征子空间;把训练图像和测试图像投影到上一步骤中得到的子空间上;选择一定的距离函数进行识别。下面详细描述整个过程(源码见’faceRec.m’)。1.读入人脸库归一化人脸库后,将库中的每人选择一定数量的图像构成训练集,其余构成测试集。设归一化后的图像是n*m,按列相连就构成N=n*m维矢量,可视为N维空间中的一个点,可以通过K-L变换用一个低维子空间描述这个图像。2.计算K-L变换的生成矩阵所有训练样本的协方差矩阵为(以下三个等价):是平均人脸,M训练人脸数,协方差矩阵CA是一个N*N的矩阵,N是xi的维数。为了方便计算特征值和特征向量,一般选用第2个公式。根据K-L变换原理,我们所求的新坐标系即由矩阵A·AT的非零特征值所对应的特征向量组成。直接求N*N大小矩阵CA的特征值和正交归一特征向量是很困难的,根据奇异值分解原理(见段落1.2.5和1.2.6),可以通过求解AT·A的特征值和特征向量来获得AT·A的特征值和特征向量。在计算得到CA的所有非零特征值(从大到小排序,1≤rM)及其对应的单位正交特征向量后,可以得到特征空间,从而可以计算一张图片X在特征空间上的投影系数(也可以理解为X在空间U中的坐标):3.识别利用公式(2),首先把所有训练图片进行投影,然后对于测试图片也进行同样的投影,采用判别函数对投影系数进行识别。1.3PCA的理论基础1.3.1投影设d维样本x1,x2,…,xn,以及一个d维基w,那么标量:yi=wTxi是相当于xi在基上的坐标值。如果w=1,yi就是把ix向方向为w的直线进行投影的结果,可以从图1看到。推广之,如果有一组基(m个)组成的空间,那么可以得到xi在空间W上的坐标为:。图1投影图进一步,表达式w=m+ae表示w是一条通过点m,方向为e的直线。1.3.2PCA的作用及其统计特性采用PCA对原始数据的处理,通常有三个方面的作用—降维、相关性去除、概率估计。下面分别进行介绍:■去除原始数据相关性从统计学上讲,E{[X−E(X)][Y−E(Y)]}称为随机变量X与Y协方差,记为Cov(X,Y)。令,称为随机变量X与Y的相关系数。ρXY=1则X与Y是相关的,ρXY=0,则X与Y是不相关的。命题1对于矩阵A来说,如果AAT是一个对角阵,那么A中的向量是非相关的。由PCA处理的人脸库数据的非相关性可以从两点进行说明。(1)基底的非相关性特征空间基是非相关的,即UUT=I。(2)投影系数的非相关性由SVD可知,其中,mx是平均人脸。根据公式(2)可以把A映射到特征空间上,得到:B=UT*A,其中B是非相关的,可由下面得到证明:Y的协方差矩阵为:由命题1可知,B是非相关的。■统计参数(均值及方差)均值即mx--平均人脸。命题2随机变量方差越大,包含的信息越多,当一个变量方差为0时,该变量为常数,不含任何信息。用PCA计算主分量,就是寻找一组向量,使得原始数据A={φ1,φ2,...,φM}在这组向量上的投影值的方差尽可能大。最大方差对应的向量就是第一主成份,以后递推就是第二主成份,第三主成份……。用PCA计算主分量就是求原始数据A={φ1,φ2,...,φM}(其中φi=xi–mx)协方差矩阵的特征向量,由公式(3)可知,是A在ui上的投影值,其中P的方差就ui对应的特征值λi,可以理解为:命题3所有原始数据在主分量ui上的投影值方差为λi。■降维如果在原始空间表示一幅n*m大小的图片X,那么需要一个N=n*m维矢量,但是当用公式(2)把它映射到特征空间后,只需要一个r*1维的向量就可。另外,由命题2可知,可以根据方差的大小来判断特征向量的重要性。由ORL图片库的200个人脸计算得到的特征值呈图2分布,可知特征向量重要性呈指数下降,据此可以只选用前面几个重要的特征向量来构建特征空间。通过计算,前71个特征值占了90.17%,因此r可以取71而非200,从而达到进一步降维的作用。图2特征值的分布1.3.3特征脸中的每一个单位向量都构成一个特征脸,如图3所示。由这些特征脸所张成的空间称为特征脸子空间,需要注意对于正交基的选择的不同考虑,对应较大特征值的特征向量(正交基)也称主分量,用于表示人脸的大体形状,而对应于较小特征值的特征向量则用于描述人脸的具体细节,或者从频域来看,主分量表示了人脸的低频部分,而此分量则描述了人脸的高频部分(源码见’EigenFace.m’)。12105070平均脸图3特征脸,分别是第1,2,10,50,70分量,最后一张是平均脸。1.3.4图片重建要进行图片X的重建,首先对X投影到特征空间上,得到系数,