模式识别报告模版_第1页
模式识别报告模版_第2页
模式识别报告模版_第3页
模式识别报告模版_第4页
模式识别报告模版_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程名称模式识别题目PCA数据分析-基于人脸数据实现任课老师王晓明年级专业2011级计算机应用技术姓名韩笑学号312011080605102时间2013年11月9日目录TOC\o"1-5"\h\z\o"CurrentDocument"一PCA数据分析-人脸识别介绍2\o"CurrentDocument"二PCA数据分析-人脸数据实现算法描述3\o"CurrentDocument"三PCA数据分析-基于人脸数据实现5\o"CurrentDocument"1数据读入5\o"CurrentDocument"2算法运行结果6\o"CurrentDocument"四总结和心得8\o"CurrentDocument"五附录一一核心算法的主要源代码.9\o"CurrentDocument"参考文献14PCA数据分析一PCA数据分析-人脸识别介绍随着计算机及网络技术的高速发展,将身份数字、隐性化、并准确鉴定身份、保证信息安全显示出前所未有的重要性。生物识别技术是通过计算机利用人类自身的生物特性进行身份认证,具有不易被修改、被盗或被人冒用,而且随时随地都可以使用等特点。因而,基于面相,语言、指纹等人的内在属性的生物识别技术以其稳定性和可靠性得到了广泛关注。相较指纹、基因等其他生物特性的鉴别方法,人脸识别具有更直接、友好、方便等特点,并以其非侵犯性更易为用户所接受。历史上最早的关于人脸识别的论文研究见于1965年,Chan&Bledsoe在PanoramicResearchInc发表的技术报告,到现在已经差不多五十多年的历史了。最近的30年来,人脸自动识别系统的开发研究取得了较大的进展,已经检索相关文献达到数千篇,还有专门的国际学术会议。自从1990年以来,人脸识别更得到了很大的发展,每年都有大量的学术论文发表。国内在人脸识别方面起步较晚,大约至1995年以来,在国内一些项目资金的资助下,开始了大量的研究,其中包括国内主要的计算机实验室和高校,他们在人脸识别领域总结了不少经验,每年都有大量的论文发表。由于技术上的一些局限性,以及复杂的环境因素的干扰,导致在各个领域还未能广泛的使用,只是在某些领域初步的应用。PCA,即PrincipalComponentAnalysis,主成分分析方法,是一种得到广泛应用的事实上的标准人脸识别方法。是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主成分的目的是将高维数据投影到较低维空间。给定n个变量的m个观察值,形成一个n'm的数据矩阵,n通常比较大。对于一个由多个变量描述的复杂事物,人们难以认识,那么是否可以抓住事物主要方面进行重点分析呢?如果事物的主要方面刚好体现在几个主要变量上,我们只需要将这几个变量分离出来,进行详细分析。但是,在一般情况下,并不能直接找出这样的关键变量。这时我们可以用原有变量的线性组合来表示事物的主要方面,PCA就是这样一种分析方法。PCA的目标是寻找r(r<n)个新变量,使它们反映事物的主要特征,压缩原有数据矩阵的规模。每个新变量是原有变量的线性组合,体现原有变量的综合效果,具有一定的实际含义。这r个新变量称为"主成分”,它们可以在很大程度上反映原来n个变量的影响,并且这些新变量是互不相关的,也是正交的。通过主成分分析,压缩数据空间,将多元数据的特征在低维空间里直观地表示出来。它的基本原理是:利用K-L变换抽取人脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到一组投影系数,通过与各个人脸图像比较进行识别。这种方法使得压缩前后的均方误差最小,且变换后的低维空间有很好的分辨能力。二PCA数据分析--人脸数据实现算法描述K-L变换PCA方法是由Turk和Pentlad提出来的,它的基础就是Karhunen-Loeve变换(简称K-L变换),是一种常用的正交变换。首先对K-L变换作一个简单介绍:假设X为n维的随机变量,X可以用n个基向量的加权和来表示:x=Ua。i=1式中:气是加权系数,七是基向量,此式可以用矩阵的形式表示:x=(0,0,..0..)(以a,a.)T.=0以12n12n系数向量为:a=0Tx综上所述,K-L展开式的系数可用下列步骤求出:步骤一求随机向量X的自相关矩阵R=E[xTx],由于没有类别信息的样本集的M均值向量,常常没有意义,所以也可以把数据的协方差矩阵£=E[(x-u)(x-uU]作为K-L坐标系的产生矩阵,这里^是总体均值向量。步骤二求出自相关矩阵或者协方差矩阵R的本征值人和本征向量0i,0=(01,02,……0〃)步骤三展开式系数即为a=0TxK-L变换的实质是建立一个新的坐标系,将一个物体主轴沿特征矢量对齐的转变换,这个变换解除了原有数据向量的各个分量之间相关性,从而有可能去掉那些带有较少信息的坐标系以达到降低特征空间维数的目的。PCA方法PCA方法,也被叫做特征脸方法(eigenfaces),是一种基于整幅人脸图像的识别算法,被广泛用于降维,在人脸识别领域也表现突出。一个NXN的二维脸部图片可以看成是N的一个一维向量,一张112X92的图片可以看成是一个10,304维的向量,同时也可以看成是一个10,304维空间中一点。图片映射到这个巨大的空间后,由于人脸的构造相对来说比较接近,因此,可以用一个相应的低维子空间来表示。我们把这个子空间叫做“脸空间”。PCA的主要思想就是找到能够最好地说明图片在图片空间中的分布情况的那些向量。这些向量能够定义“脸空间”,每个向量的长度为N,描述一张NXN的图片,并且是原始脸部图片的一个线性组合。对于一副MxN的人脸图像,将其每列相连构成一个大小为D=MxN维的列向量。D就是人脸图像的维数,也即是图像空间的维数。设n是训练样本的数目;0表示第j幅人脸图像形成的人脸向量,则所需样本的协方差矩阵为:町空〃)(气-.>j=i其中u为训练样本的平均图像向量:1Yu=—,xnjj=1令A=[x-u,x-u,.....x-u]则有sr=A^,其维数为DxD。12n,根据K-L变换原理,需要求得的新坐标系由矩阵AV的非零特征值所对应得特征向量组成。直接计算的计算量比较大,所以采用奇异值分解(SVD)定理,通过求解AAr的特征值和特征向量来获得AAr的特征值和特征向量。依据SVD定理,令l(i=1,2,……,r)为矩阵AAr的r个非零特征值u为AAr对应于/,的特征向量,则AAr的正交归一特征向量"为:u=—!=Av(i=1,2,r)(3)''i则特征脸空间为:w=("],u2,……u)。再举一个简单的例子,加深理解:对于一个训练集,100个sample(i=1,2,3,...,100),特征x是20维.「x,x,x,...x,…x](j=1,2,..,20),那么它可以建立一个20x100的样本矩阵Li1i2i3iji20」M。紧接着我们开始求这个样本的协方差矩阵,得到一个20x20的协方差矩阵,计算过程如下:•先求解出气的平均x=危以;•对每一个x,计算x-x,即M(第i行)变为M-x,记为M;iidviidvn则容易得到协方差矩阵Z为MXM'('表示转置)。然后求出这个协方差矩阵Z20x20的特征值和特征向量,一般情况下应该有20个特征值和特征向量,现在根据特征值的大小,取出较大的特征值以及其所对应的特征向量,(假设提取的特征值为较大的5个特征值),那么这5个特征向量就会构成一个20x5的矩阵V,这个矩阵就是我们要求的特征矩阵。用M'去乘以V,得到一个base矩阵(*),大小为100x5。任取一个样本1x100,乘上这个100x5的特征矩阵,就得到了一个1x5的新的样本,显然每个sample的维数下降了,然后再用这个1x5向量去比较相似性。三PCA数据分析--基于人脸数据实现1数据读入利用特征脸空间投影来识别人脸一般经过三个步骤:首先利用训练图像数据构建特征脸空间,然后将训练图像投影到特征子空间上,最后待识别图像也投影到特征子空间上,并且与投影后的训练图像相比较,得出识别结果。以下分别介绍这三个步骤:1.1读入人脸库归一化人脸库后,将库中的没人选择一定数量的图像构成训练集,其余的构成测试集。设归一化后的图像时〃xm维,按列相连就构成N=nxm维矢量,可视为N维空间中的一个点,可以空过K-L变换用一个低维子空间描述这个图像。1.2计算通过K-L变换的生成矩阵所有训练样本的协方差矩阵为(以下三个等价);C-^Mxxt/M—mmt1[kk力xxC1=AAtMA=(。,9,……9),0=x—m,其中m是平均人脸,M是训练人脸数,协方差12miixx矩阵C是一个NxN的矩阵,N是x的维数。注:特征值与特征向量的选取直到目前为止,我们创建用于投影的特征脸子空间使用的是所有k个非零的特征值对应的特征向量。虽然协方差矩阵。最多有对应于非零特征值的P个特征向量,且kVP,但是通常情况下,k仍然会很大,而事实上,根据应用的要求,并非所有的\都有很大的保留意义。而特征空间投影的计算速度是直接与创建子空间所用的特征向量的数目相关,若考虑到计算时间的因素,可以适当的减去一些信息量少的特征向量,而且,去掉这些特征向量之后不一定不利于分类结果,有的情况下反而能够提高识别性能。下面将讨论五种不同的特征值选择方法:(1)标准的特征空伺投影:所有k个对应于非零特征值的特征向量均被用于创建特征脸子空间。该方法在k值比较大的时候,计算速度比较慢,而且不利于分类。(2)丢弃最后40%的特征向量:因为特征向量是按照特征值降序来排列的,该方法丢弃了反映最少的40%图像间差异的特征向量。(3)保持前面的C-1个特征向量:将特征值按照降序排列,同时只保留最前面的C-1个特征向量。其中C为训练图像的类别数。(4)按照计算信息量来确定维数:不同于前面固定的丢弃一些特征向量,该方法采用保证剩余的特征向量所包含的信息与总的信息量相比大于一定的阀值e。可以依照下列公式计算:e=£人人j=1j=1(5)丢弃最前面的三个特征向量:对应于最大三个特征值的特征向量往往反应了图像间由于光线不同而造成的差异。为了解决光照问题,可以丢弃前面的三个特征向量。1.3识别利用公式r=utx,首先把所有图片进行投影,然后对于测试图片也进行同样的投影,采用判别函数对投影系数进行识别。即人脸的重新创建。2算法运行结果特征脸u=[〃0,%,……七一I中的每一个单位向量都构成一个特征脸,由这些特征脸所构成的空间称为特征脸子空间,需要注意对于正交基的选择的不同考虑,对应较大特征值的特征向量也称主分量,用于表示人脸的大体形状,而对于较小特征值的特征向量则用于描述人脸的具体细节,或者从频域来看,主分量表示了人脸的低频部分,而此分量则描述了人脸的高频部分。图1特征脸分别为1,2,10,50,70分量,最后一张是平均脸图片的重建要进行图片的重建,首先对X投影到特征空间上,得到系数yUT:X,然后选用一部分系数与特征向量进行原始图片的重建。本实验运行的环境是IntelCeleronCPU2.00GHz处理器、512MB内存,WindowsXP操作系统,对ORL人脸库样本训练时间为70.91s,识别率为90%,训练样本数目多增加人脸特征库的容量,会几何级增加人脸识别核心算法的时间和空间复杂度。在识别结果的显示窗口中,一共显示了在整个人脸图像库中最小的10个欧氏距离,它们的排列也是从小到大进行排列的,同时,换句话说,这10个欧氏距离,也就分别代表了与实验中选取的待识别的人脸图像最相近的10幅人脸图像。距离最近,当然也就是我们实验所需识别的人脸图像。四总结和心得人脸识别是目前较活跃的研究领域,本文详细给出了基于主成分分析的脸特征提取的原理与方法。并使用matlab作为工具平台,实现了一个人脸自动识别的系统原型。实验结果表明,该系统识别率为85%,达到预期的效果。如果想进一步提高人脸识别率,可以考虑与其他方法结合。仅单独使用任何一种现有的方法一般都不会取得很好的识别效果,将其他人脸识别方法组合是今后研究的一种趋势。本次论文主要作为判别矢量来实现数据的特征提取与数据压缩。由特征向量",u,…,u,组成的特征空间,称为“特征脸”。利用特征脸空间投影来识别人12k脸一般经过三个步骤:首先利用训练图像数据构建特征脸空间,然后将训练图像投影到特征子空间上,最后待识别图像也投影到特征子空间上,并且与投影后的训练图像相比较,得出识别结果。PCA识别技术是众多技术中比较经典的一种方法。该方法能将数据压缩和转换,将高维数据投影到低维的子空间去,提高了效率,同时该算法的原理也相对简单。五附录一一核心算法的主要源代码PCA算法functionFaceRecognitionclear%calcxmean,sigmaanditseigendecompositionallsamples=[];%所有训练图像fori=1:40forj=1:5a=imread(strcat('D:\rawdata\ORL\s',num2str(i),'\',num2str(j),'.pgm'));%imshow(a);b=a(1:112*92);%是行矢量1XN,其中N=10304,提取顺序是先列后行,即从上到下,从左到右b=double(b);allsamples=[allsamples;b];%allsample是一个M*N矩阵,allsamples中每一行数据代表一张图片,其中M=200endendsamplemean=mean(allsamples);%平均图片,1XNfori=1:200xmean(i,:)=allsamples(i,:)-samplemean;%xmea是一个MXN矩阵,xmean每一行保存的数据是“每个图片数据-平均图片”end;sigma=xmean*xmean';%M*M阶矩阵[vd]=eig(sigma);d1=diag(d);[d2index]=sort(d1);%以升序排序cols=size(v,2);%特征向量矩阵的列数fori=1:colsvsort(:,i)=v(:,index(cols-i+1));%vsort是一个M*col(注:col一般等于M)阶矩阵,保存的是按降序排列的特征向量,每一列构成一个特征向量dsort(i)=d1(index(cols-i+1));%dsor保存的是按降序排列的特征值,是一维行向量end%完成降序排列%以下选择90%的能量dsum=sum(dsort);dsum_extract=0;p=0;while(dsum_extract/dsum<0.9)p=p+1;dsum_extract=sum(dsort(1:p));endi=1;%(训练阶段)计算特征脸形成的坐标系while(i<=p&&dsort(i)>0)base(:,i)=dsort(i)八(-1/2)*xmean'*vsort(:,i);%ba^NXp阶矩阵,除以dsort(i)\1/2)是对人脸图像的标准化,详见《基于PCA的人脸识别算法研究》p31i=i+1;end%addbywolfsky就是下面两行代码,将训练样本对坐标系上进行投影,得到一个M*p阶矩阵allcoorallcoor=allsamples*base;accu=0;%测试过程fori=1:40forj=6:10%读入40x5副测试图像a=imread(strcat('D:\rawdata\ORL\s',num2str(i),'\',num2str(j),'.pgm'));b=a(1:10304);b=double(b);tcoor=b*base;计%算坐标,是1Xp阶矩阵fork=1:200mdist(k)=norm(tcoor-allcoor(k,:));end;三阶近邻[dist,index2]=sort(mdist);class1=floor(index2(1)/5)+1;class2=floor(index2(2)/5)+1;class3=floor(index2(3)/5)+1;ifclass1〜=class2&&class2〜=class3class=class1;elseifclass1==class2class=class1;elseifclass2==class3class=class2;end;ifclass==iaccu=accu+1;end;end;end;accuracy=accu/200%输出识别率PCA特征人脸%FaceRec.m%CQUPT%PCA识别率88%%calcxmean,sigmaanditseigendecompositionallsamples=[];所有训练图片fori=1:40forj=1:5a=imread(strcat('e:\ORL\s',num2str(i),'\',num2str(j),'.pgm'));b=a(1:112*92);是行矢量1*N,N=10304,提取顺序是先列后行,即从上到下,从左到右b=double(b);allsamples=[allsamples;b];%allsampl是一个M*N矩阵,allsamples中每一行数据代表一张图片%,其中M=200endendsamplemean=mean(allsamples);平均图片,1*Nfori=1:200xmean(i,:)=allsamples(i,:)-samplemean;%allsample是一个M*N矩阵,allsamples中每一行保存%的数据是''每个图片数据-平均图片”end;%获取特征植及特征向量sigma=xmean*xmean';%矩阵M[vd]=eig(sigma);d1=diag(d);%按特征值大小以降序排列dsort=flipud(d1);vsort=fliplr(v);%以下选择90%的能量dsum=sum(dsort);dsum_extract=0;p=0;while(dsum_extract/dsum<0.9)p=p+1;dsum_extract=sum(dsort(1:p));endp=199;%(训练阶段)计算特征脸形成的坐标系base=xmean'*vsort(:,1:p)*diag(dsort(1:p).八(-1/2));%生成特征脸for(k=1:p)temp=reshape(base(:,k),112,92);newpath=['e:\test\,int2str(k)'.jpg,];imwrite(mat2gray(temp),newpath);end%将模型保存Save('e:\ORL\model.mat,广base,,'samplemean,);PCA人脸重建%Reconstruct.m%CQUPTFunction[]=reconstruct()Loade:\ORL\model.mat;%计算新图片在特征子空间中的系数Img=,D:\test2\10.jpg,A=imread(img);b=a(1:112*92);b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论