基于PCA算法的Eigenfaces人脸识别算法毕业设计_第1页
基于PCA算法的Eigenfaces人脸识别算法毕业设计_第2页
基于PCA算法的Eigenfaces人脸识别算法毕业设计_第3页
基于PCA算法的Eigenfaces人脸识别算法毕业设计_第4页
基于PCA算法的Eigenfaces人脸识别算法毕业设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

摘要人脸识别技术就是利用计算机分析人脸图像,提取有效的识别信息来辨认身份或者判别待定状态的一门技术。它涉及模式识别、图像处理、计算机视觉等诸多学科的知识,是当前研究的热点之一。然而影响计算机人脸识别的因素非常之多,主要是人脸表情丰富,人脸随年龄增长而变化,人脸所成图像受光照、成像角度及成像距离等影响,极大地影响了人脸识别走向实用化。基于PCA算法的人脸识别过程大致分为训练、测试、识别这三个阶段完成,在训练阶段,通过寻找协方差矩阵的特征向量,求出样本在该特征向量上的投影系数;在测试阶段,通过将测试样本投影到特征向量上,得到测试样本在该特征向量上的投影系数。最后,采用最小欧氏距离,找到了与测试样本最相近的训练样本图像。关键词Eigenfaces、PCA算法、人脸识别算法、matlab、SVD。AbstractFacerecognitiontechnologyistheuseofcomputeranalysisoffacialimagestoextractvalididentificationinformationtoidentifyordeterminetheidentityofatechnologyPendingstate.Itinvolvesknowledgeofpatternrecognition,imageprocessing,computervision,andmanyotherdisciplines,isoneofthehotspotsofcurrentresearch.However,factorsaffectingthecomputerfacerecognitionverymuch,mainlyrichfacialexpression,facechangeswithage,faceapictureoftheaffectedlight,imagingandimagingdistance,angle,greatlyinfluencedtheFacetopracticaluse.PCAalgorithmbasedrecognitionprocessisroughlydividedintotrainingandtesting,theidentificationofthesethreestages,inthetrainingphase,tofindtheeigenvectorsofthecovariancematrixisobtainedonthesamplefeaturevectorprojectioncoefficient;inthetestphasebythetestfeaturevectorisprojectedontothesampletoobtainatestsampleontheprojectionofthefeaturevectorofcoefficients.Finally,theminimumEuclideandistance,thetestsampletofindtheclosestsampleimages.KeywordsEigenfacesPCAAlgorithm、FaceRecognitionAlgorithm、matlab、SVD.目录1绪论 的直线进行投影的结果。如图2-1图2-1图2-1投影xwHθ以上是一维的情况,我们推广到m维,这样就有一组基(m个)组成的空间,若样本投影到基上,可以得到:其中可以写成:为均值,是单位向量,且直线经过。2.3.2最小平方误差理论图2-3最佳拟合样本点的直线L图2-3最佳拟合样本点的直线LeX;kXkd;dxy图2-2图2-2二维样本表示yx如上图2-2,假设在二维坐标上有N个样本点,如何能找出一点(红色)能够很好的代表这N个样本点呢?问题2:如上图2-3,假设有这样的二维样本点,如何能求出一个线性函数使得直线能够最佳拟合样本点呢?问题3:若存在n个b维的样本,如何能用一个m(m≤b)维空间来代表这n个样本呢?以上问题归纳为:对于d维空间中的样本,,···,如何能把d维空间的n个样本投影到(≤d)维空间中来呢?(1)=0此时和问题1相似,即对于d维空间中的n个样本,,···,将样本点在d维向量(d维空间中的一点)上投影记为,则相当于要最小化这个公式称作最小平方误差,即当取值为最小时,向量能够代表这n个样本,,···。假设表示样本,,···均值,均值公式为则有:由于第二项式与无关,显然,在=时取得最小值。这表明在最小平方误差意义下能够最好的代表这n个样本,,···的d维向量就是这n个样本的均值。换句话说,样本均值是这n个样本,,···在零维下的表达,所有的样本都在零维空间下被投影到同一个点上。(2)=1如把所有的样本都投影到同一个点上,这将无法反映出各个样本之间的差异,也无法对样本进行分类,所以进一步考虑一维的情况。当=1时,和问题2一样,通过用一直线表示样本。同样是在最小平方误差意义下,把样本点投影到直线上,因此这条直线通过点,并确定直线的方向为,是这条通过均值的直线的单位方向向量,所以样本,,···可以用直线可以表示为:如下图2-4,其中k是一个实数,表示直线上的点到的距离。是点在直线上的垂直投影。图2-4图2-4样本的一维表达我们把作为的在直线的一维表示,记作上标(1)表示一维。因此样本,,··· 在一维空间上的表达式为: 把看做是在一维空间中的近似值。那么接下来怎么确定直线呢?我们知道确定一条直线,一般只需要确定一个点,再确定直线的方向即可,现在我们已经确定了点,所以只要确定的方向就行了。同样要在最小平方误差意义下使得最小。就是最小平方误差函数。所以我们求的是的最小值,如下:其中a1,a2···an和是未知变量,将式(2.3-10)展开得:其中,对进行求导得:这个结果意思是说,如果知道了,那么将与e做内积,就可以知道了在上的投影离的长度距离。我们的目标是在最小平方误差意义下,寻找的方向,因此消去,把(2.3-12)式带入(2.3-10)式得:其中S为:S称为散布矩阵,是协方差矩阵C的n-1倍。在式(2.3-13)中,第二项跟无关,所以,要使最小,必须要让最大,在这我们采用了拉格朗日数乘法来求解,这里有一约束条件是。令,其中为拉格朗日乘数,对求偏导得:令偏导为0得。在式中,S为一个d阶方阵,是一个d维向量,为一个实数,显然这是线性代数中的特征方程的典型形式,是特征值,是散布矩阵的特征向量。而对式(2.3-16)两边同时乘以得:为此得出结论,要使最大化,应当选取散布矩阵S的最大特征值所对应的特征向量作为投影直线的方向。也就是说,通过将全部n个样本,,···向以散布矩阵最大的特征值对应的特征向量为方向的投影,可以得到最小平方误差意义下这n个样本的一维表示。回到之前的三问题上,发现我们都在把n个样本进行投影变换,那么投影变换的本质是什么呢?从本质上来说,我们所做的投影变换实际上就是基的转换。在原来的d维空间中,d个基分别是每个坐标轴方向上的单位矢量,因此在原空间中样本由这组基表示为:投影到直线之后,在新的一维空间中,单位矢量成为了唯一的1个基,这样n个样本在一维空间中通过基可以表示为:因此就是原始样本经过投影变换降维后的一维空间下的描述。(3)当接近d维时,即≤d同样可以把n个样本点投影到二维(=2)及其高维(2≤≤d)空间,所以样本,,···可以表示为:新的最小平方误差函数为:不难证明在散布矩阵S的前个(从大到小)特征值所对应的特征向量时取得最小值。这些特征向量构成了在低维空间中的一组基向量,因此在低维()空间下n个样本,,···表示为:我们把上式称为重构式,其中称为分解式。对应于基的系数被称为主成分。而是原来d维空间的n个样本在基为所张长的维空间中的低维表示。是原来样本的一种近似。2.3.3PCA几何解释经以上计算,我们找到了一组基来表示样本数据,参见如下图2-5:图2-5图2-5二维空间中样本及其两个主轴 如图2-5,PCA实际上是寻找样本散布最大的那些主轴方向,通过向这些方向向量所张长的空间投影达到了对原样本降维的目的。从上图不难看出,PCA投影转换坐标的过程实际上就是去除数据的线性相关的过程[1]。2.4PCA降维计算本章的上一节的已经介绍了PCA降维的理论,下面我们以一个实例来帮助我们更好的了解上节的理论知识。【例2.4-1】主成分的计算计算下面的二维数据集合的主成分分量,并利用PCA方法降维至1维和2维。然后尝试用1个和2个主成分实现对第一个样本进行重构。T1=(1,2)、T2=(3,3)、T3=(3,5)、T4=(5,4)、T5=(5,6)、T6=(6,5)、T7=(8,7)、T8=(9,8)。解:我们使用matlab软件帮助计算录入数据,算出了样本数据集T,如T=[T1;T2;T3;T4;T5;T6;T7;T8],结果T为:计算样本均值根据公式:Matlab计算结果为:计算协方差均值C(散布矩阵S和协方差均值的关系是C=S/样本数)根据以上(2.3-14)式求得散布矩阵S为:首先令求出A,A=[T1-m;T2-m;T3-m;T4-m;T5-m;T6-m;T7-m;T8-m],令,则。再由散布矩阵和协方差矩阵的关系可知,协方差矩阵C为:。计算S的特征值和特征向量解式(2.3-16)中的特征方程,,其中I为2*2的单位矩阵解以上行列式得:,再将分别代入式(2.3-16)中,解得:,而且是相互正交的单位向量。、是S矩阵的特征值,、对应特征值、的S的特征向量。将样本降至一维通过将8个样本向其主轴投影,可以得到8个样本点的一维表示,如下:根据公式(2.3-23)有:得:从而一维表示为:降至二维通过将8个样本向其主轴、投影,根据式:,得:因此二维表示为:重构根据重构式(2.3-22)有:算出样本的一维和二维重构:一维重构:二维重构:近似度可以由重构值与原样本的欧氏距离来衡量:这是用1个主分量重构的欧氏距离,接下来用2个主分量重构的欧氏距离为:我们注意到了,,显然,近似度随着主成分的数目的增加而增加。3PCA在人脸识别中的应用3.1人脸识别技术简介人脸识别技术是基于人的脸部特征,利用计算机对人脸图像进行特征提取,并通过对提取的人脸特征信息进行分析,最终确定人的身份的一门计算机技术。它涉及模式识别、图像处理、计算机视觉等诸多学科的知识,是当前研究的热点之一。然而,由于识别结果往往容易受到表情,姿态和光照变化的影响,同时还要保证识别系统的实时性,极大地影响了人脸识别走向实用化。我们所说的人脸识别主要包括三个环节:图像预处理、特征提取、识别。3.2图片归一化对图片归一化属于图像预处理的工作,而图像预处理包括了图像的几何归一化、图像的灰度图归一化、图像的边缘检测及锐化等处理,而我们的实验所使用的人脸数据库是ORL,这个人脸数据库比较规范,而且光照变化不大,所以减去了好多图片预处理的工作,而在这我们只是简单的介绍一种归一化的方法。图片归一化就是对图片进行统一的标准,也就是标准化的意思,这个概念通常是一个整体的概念,主要的原理就是把图片归一到均值为0,方差为1的情况下,类似于一般正态分布向标准正态分布的转化[3]:如式:所以要对一组图片集中的一张图片进行归一化(标准化),只需减去均值,除以方差就可以了。均值为方差为:3.3基于PCA的人脸识别在这一节当中,以结合上一章的PCA理论知识,讲解PCA算法在人脸识别中的应用。3.3.1人脸数据特征提取这一小节代表着人脸识别的开始,属于人脸采集阶段,也是重要的一步。我们把人脸数据库中的图片分为两部分,一部分称为训练集,另一部分称为测试集。训练集是人脸数据库的重要组成部分,主要担任着人脸数据库的多张人脸的库存信息,而测试集是要与训练集进行比较相似度的相片信息,在识别的过程中,人脸识别系统只提取其中的一张相片作为测试用。假设现在训练集用M张人脸图片,那么我们采集到的人脸数据特征为:为人脸训练集图像矩阵,共存有M张人脸。3.3.2计算均值计算出训练集中的均值,根据均值公式:我们把称为平均人脸。3.3.3计算协方差矩阵C由第二章中的(2.3-14)式可知,协方差矩阵C为:令,有(其实分母M对识别没有多大的影响)。3.3.4求出协方差C的特征值和特征向量这一步是PCA计算中的主要工作,计算协方差均值C的特征值和特征向量由第一章的(2.3-16)式:可以求得。假设样本矩阵的大小为n*d(n个d维的特征向量),则协方差矩阵C将是一个大小为d*d的方阵,如果当d比较大的时候,比如d=10000,那么C的大小将是10000*10000的矩阵,如果直接计算C的特征值和特征向量的话,那非常的困难,那么怎么办?由此引入奇异值分解定理来解决维数过高的问题。避免了直接计算高维矩阵的问题。3.4奇异值分解定理奇异值分解定理(SingularValueDecomposition简称SVD定理)原理如下:设A(和上式的A相同)是一个秩为P的d*M维矩阵,则存在两个正交矩阵和一个对角矩阵满足下式:其中、为:其中为矩阵(协方差矩阵C)和的非零特征值。与分别为和对应于的正交归一特征向量。而由(3.4-1)式推论得:令,称L为构造矩阵。而构造矩阵L的大小为M*M,很容易求得特征值和特征向量,因此,只要计算出构造矩阵L的特征向量,再通过(3.4-5)式就能算出协方差矩阵的特征向量来。如下式:为的特征向量,特征值为。这样就避免直接计算协方差矩阵特征的特征向量了[5]。3.5基于PCA的人脸识别的训练经以上的准备之后,我们已经计算出了协方差矩阵的特征值和特征向量(不需要单位化)。也就是找到了能很好的表示训练集图像的一组基。下面我们把样本投影到这组基上,得到了在新的基下的坐标表示形式。3.5.1训练集的主成分计算根据式(2.3-23),我们可以计算出训练集样本在方向向量为下的投影,如下式:其中i为所降的维数,这里的i=m=M,维数和之前的维数相等,k是图片数。称为主成分,是M张训练集图片降至m(m=M)维的在基下的系数。3.5.2训练集图片重建在新的基下对训练集图片进行表示,根据重构式(2.3-24)得:是训练集的近似表示。3.6识别基于特征脸的人脸识别过程由训练阶段和识别阶段两个阶段组成。在训练阶段:计算训练集图片的所有主成分:在识别阶段:把待识别的图像R映射到特征脸空间,得到主成分向量:把待识别的主成分分别和训练集的所有主成分取欧氏距离,如下:取的最小值,最小值的索引号对应的训练集中的图片就是和测试图片最相似的。其主要的缺点是,当测试的图像不在训练集里,那么得到的欧氏距离最小结果并不是我们要的结果,基于这点,所以我们使用基重建测试图像,看看显示结果是不是我们要找的人,当测试图片不在训练集里,那么重建的结果将显示面目模糊,看不清的现象,识别是我们可以控制的,虽然最小欧氏距离识别不是那么理想。4实验这一章我们主要根据上二章的理论作为基础,主要实现了基于PCA算法的人脸识别。4.1实验环境操作系统:win7,实验所使用的软件是:matlab。版本为:7.0。4.2PCA人脸识别实验过程在matlab当前路径:‘C:\MATLAB7\work’下准备了训练图片集TrainDatabase和测试图片集TestDatabase,TrainDatabase和TestDatabase作为我们的人脸库,如图4-1。图4-1图4-1matlab当前路径下的人脸库本实验所采用的人脸图片来自著名的人脸数据库ORL。其中训练集TrainDatabase中的人脸原图像如下图4-2,实验主要分为训练阶段和测试阶段。4.2.1训练阶段图4-2训练集原始图像图4-2训练集原始图像(1)获得训练集图片设S为存储训练集人脸图片的矩阵,则获取训练集图片信息的源代码如下:clearallcloseallclcM=20;%训练集图片数um=100;ustd=80;%这一步读取与显示训练集中的图片S=[];%训练集矩阵figure(1);addpath('C:\MATLAB7\work\TrainDatabase');%设计raindatabase路径fori=1:Mstr=strcat(int2str(i),'.jpg');%连接两字符串形成图片的文件名eval('img=imread(str);');%读取图片存储在img中在matlab中执行subplot(ceil(sqrt(M)),ceil(sqrt(M)),i)%把窗口分成4X5显示imshow(img);%显示读取到的图片ifi==3title('Trainingset','fontsize',18)%设计窗口标题及大少enddrawnow;%刷新[irowicol]=size(img);%提取一种图片的行与列的大少temp=reshape(img,irow*icol,1);%创建一个(N1*N2)x1的列向量S=[Stemp];%创建N1*N2xM的列向量end在matlab中执行以上代码后,得到的结果为:S是36000*20的矩阵,可以看出S存储20张人脸图片。其中T为36000*1的列向量。代码的执行还显示了我们采集到的图片如图4-3,之所以要加显示功能,是为了能够很好的跟踪代码实现的步骤。当我们采集到了训练集的图片数据,并已经保存在了变量S中。图4-3图4-3采集到的训练集图像(2)对训练集图像进行规格化对训练集图像S进行规格化,matlab源代码为:%这部分改变所有的图像的均值和标准值,对图像进行规格化fori=1:size(S,2)temp=double(S(:,i));%获取S矩阵的第i个列矩阵并双精度化m=mean(temp);%求列向量的均值st=std(temp);%求temp的标准偏差(是样本标准差)S(:,i)=(temp-m)*ustd/st+um%由此公式对S进行均值化end(3)显示规格化的图像figure(2);fori=1:M%把S集合中的第i列向量转为大少为irow*icol的矩阵img=reshape(S(:,i),irow,icol);subplot(ceil(sqrt(M)),ceil(sqrt(M)),i)%按4X5的行列显示imshow(img)%显示规格化后的图像drawnow;%刷新ifi==3title('NormalizedTrainingSet','fontsize',18)%窗口标题endend执行这段代码后,训练集S的图片规格化后显示如图4-4:图4-4图4-4规格化后的训练集图像(4)计算训练集S的平均脸并显示根据式3.3-2,计算出训练集图像的平均值,使用mean函数计算,代码如下:%这一步显示平均脸m=mean(S,2);%获得行的均值(平均人脸)tmimg=uint8(m);img=reshape(tmimg,irow,icol);%转换成图片显示格式figure(3);imshow(img);%显示平均脸title('MeanImage','fontsize',18)%设计平均脸窗口的标题为平均图片,称为平均人脸,如下图4-5:图4-5平均人脸图4-5平均人脸(5)计算构造矩阵L计算构造矩阵L的目的是通过它的特征值和特征向量来求出协方差矩阵C的特征向量和特征值,根据式,matlab代码为:%这一步求出A矩阵tmimg=reshape(img,irow*icol,1);%把平均脸转成向量的形式A=[];fori=1:MA(:,i)=(S(:,i))-tmimg;endL=A'*A;%得到构造矩阵L构造矩阵L为:我们发现L矩阵的维数比较小,这样我们就很容易计算L的特征值和特征向量了。(6)计算出构造矩阵L的特征值和特征向量并对其进行规格化求出矩阵L的特征值dd与特征向量vv,代码为:[vvdd]=eig(L);%vv是L的特征向量构成的列向量,dd是L特征值构成的对角阵为构造矩阵L的特征向量,大少为20*20。为构造矩阵L的特征值,是对角阵,我们可以看看dd的具体内容,如下图4-6:图4-6图4-6训练集的特征值dd是个对角阵,以上面的理论一致。消去为零的特征值对应的特征向量并对特征值进行从小到大的排序,代码为:%消去特征值为零的特征向量和特征值v=[];d=[];fori=1:size(vv,2)if(dd(i,i)>1e-4)%1e-4=0.00011e-4科学计数法v=[vvv(:,i)];d=[ddd(i,i)];endend%结果这循环后,吧dd变换为dd=1xMd为L的特征值[Bindex]=sort(d);%对d进行从小到大排序,排序结果存在B中,index是B在d中的索引号执行后,消去为零的特征值,vv、dd变量保存在v、d里,如下:v为构造矩阵L的特征向量。d为构造矩阵L的特征值。同样我们也可以看看d到底是什么样了,如下图4-7:图4-7图4-7去除零值后的特征值d把L的特征值和特征向量进行适应处理,如下代码:ind=zeros(size(index));dtemp=zeros(size(index));vtemp=zeros(size(v));len=length(index);%此循环的目的是把特征值d和特征向量v按左右翻转了从大到小fori=1:len%循环20次dtemp(i)=B(len+1-i);%将B(len+1-i)的值给dtemp(i)倒序了,比如B(20)=dtemp(1)目的是:把B(也就是L的来的特征值)临时存储在变量dtemp中ind(i)=len+1-index(i);%也是把index索引倒序了,为了和dtemp变量一样vtemp(:,ind(i))=v(:,i);%Vtemp存储特征向量V,按左右翻转存储endd=dtemp;%左右翻转后把值保持好d为L特征值按左右翻转的结果v=vtemp;%左右翻转后把值保持好v为L特征向量按左右翻转的结果对构造矩阵L的特征向量进行规格化,代码如下:%把矩阵L特征向量规格化fori=1:size(v,2)%循环数和矩阵v的列数相等20次kk=v(:,i);temp=sqrt(sum(kk.^2));v(:,i)=v(:,i)./temp;end(7)求出协方差矩阵C的特征向量完成对构造矩阵的特征值和特征向量的规格化后,接下来将通过L的特征值和特征向量求出协方差矩阵C的特征向量,计算式为:代码为:u=[];%协方差矩阵C的特征向量fori=1:size(v,2)%循环次数和矩阵v的列数相等20次temp=sqrt(d(i));u=[u(A*v(:,i))./temp];end结果为:U是我们要找的协方差矩阵C的特征向量,是新的一组基,也就是我们所说的主成分脸,也称特征脸。接下来对U进行规格化并显示特征脸,如下代码:%特征向量的规格化fori=1:size(u,2)%循环次数为U向量个数,为20次kk=u(:,i);%将U的一个向量给予kk大少为36000X1%取一个临时变量,命名为temp,将kk每一项元素进行平方运算.然后求和,再取平方根赋给temptemp=sqrt(sum(kk.^2)); u(:,i)=u(:,i)./temp;End%显示特征脸figure(4);fori=1:size(u,2)%循环次数为U向量个数,为20次img=reshape(u(:,i),irow,icol);%从向量的显示转为图片大少img=histeq(img,255);subplot(ceil(sqrt(M)),ceil(sqrt(M)),i)%分行列显示imshow(img)%显示图片drawnow;%刷新ifi==3title('Eigenfaces','fontsize',18)%设计标题endend特征脸如图4-8:图4-8图4-8训练集图像的特征人脸(8)将每个已知人脸,映射到由特征脸组成的子空间U上,得到训练集的主成分计算式为:%找到每个人脸在训练中的权值omega=[];%建立一个空矩阵omega存储训练集的主成分forh=1:size(A,2)%循环20次WW=[];%外层循环建立一个空矩阵WWfori=1:size(u,2)%循环20次t=u(:,i)';WeightOfImage=dot(t,A(:,h));WW=[WW;WeightOfImage];endomega=[omegaWW];%omega是M张已知人脸投影到特征子空间ui上的坐标endOmega变量就是训练集主成分。以上部分即完成了图像的读入、规格化、特征空间的训练、特征脸的形成,并且显示出训练图像、规格化图像、均值图像和特征脸。以下部分为识别的部分。4.2.2测试阶段这节主要的工作是识别输入的图片。其主要的步骤如下:(1)获得一个新图片并对输入的图片进行规格化代码如下:%获得一个新图片并对输入的图片进行规格化InputImage=input('请输入测试集图片(输入一张)\n','s');%输入一字符串比如1.jpgInputImage=imread(strcat('C:\MATLAB7\work\TestDatabase\',InputImage));figure(5)subplot(1,2,1);%一个窗口分1X2显示imshow(InputImage);%显示输入的图像colormap('gray');%title('Inputimage','fontsize',18);%设计窗口标题在命令行处输入:1.jpg,回车。这样就测试集输入第一张图片。显示输入的图片4-9:图4-9图4-9输入测试集第一张人脸对输入的测试集图片进行规格化:InImage=reshape(double(InputImage),irow*icol,1);%把输入的图片转换为(N1*N2)x1的列向量temp=InImage;me=mean(temp);%求列向量的均值,默认求列的均值st=std(temp);%求的标准偏差(是样本标准差)temp=(temp-me)*ustd/st+um;%由此公式对图片进行均值化NormImage=temp;%保存规格化后的图片在NormImage变量中(2)把待识别的图像R投影到特征脸空间,得到输入图像的主成分计算式为:代码为:Difference=temp-m;%m是训练集合S里的均值,得到差值向量,即是(R-Ψ)%得到输入图像在UT上的坐标p=[];%测试图片主成分aa=size(u,2);%循环20次数是训练集图片数fori=1:aapare=dot(u(:,i)',Difference);p=[p;pare];%p存储输入图片在子空间u上的坐标,称主成分endP就是输入图像的再上的投影,p就是,称为主成分,是在上的系数。4.2.3采用欧氏最小距离识别现在我们已经计算出了训练集的主成分和测试集的主成分,如下:omega和p,omega是,p是,根据式:把p与omega做差,再求最小,得出最小的就是与输入图片相近的图片,代码实现如下:InImWeight=p;ll=1:M;figure(68)subplot(1,2,1)stem(ll,InImWeight)title('WeightofInputFace','fontsize',14)e=[];%测试图片与训练集的欧氏距离只差fori=1:size(omega,2)q=omega(:,i);DiffWeight=InImWeight-q;mag=norm(DiffWeight);e=[emag];endkk=1:size(e,2);subplot(1,2,2)stem(kk,e)title('Euclediandistanceofinputimage','fontsize',14)但是,如果输入的图片不在训练集里,那么致使最小的那张图片,也不是和测试的图片。为此我们把测试图片重建并显示,代码如下:MaximumValue=max(e)MaxnimumValue=max(e)这两行代码显示图3.4-2%重建ReshapedImage=m+u(:,1:aa)*p;%m为均值图像,u是特征向量,取u矩阵的1到aa列与p矩阵相乘,再与m相加ReshapedImage=reshape(ReshapedImage,irow,icol);%ReshapedImage=ReshapedImage';%showthereconstructedimage.subplot(1,2,2)imagesc(ReshapedImage);%显示重构图片colormap('gray');title('Reconstructedimage','fontsize',18);4.3实验结果图4-10图4-10输入图像和重建图像除此之外还显示图4-11:图4-11图4-11训练集图像权值和测试图像与训练集图像的欧氏距离如图4-11,红圈里的是训练集的第一张图片,和输入的图片符号。虽然显示重建效果并不是理想,但还是过得去,重建效果取决于在训练集里的图片数。5总结5.1.1内容总结:文章主要的内容是通过结合PCA理论知识实现一个典型的基于PCA计算的人脸识别算法,重点讲述了PCA的理论基础以及如何实现PCA在人脸识别中的应用。在理解他人的研究成果基础上,按照另一种思路重新编写并实现了基于PCA算法的人脸识别,文章中提到了,人脸图像的归一化,人脸特征的提取,并通过奇异值分解定理间接计算出训练集图像的协方差矩阵的特征向量以特征值,把人脸原始图像投影到协方差矩阵的一组特征值上,得到在这组向量上的坐标表示,再通过这组向量对原始图像就行近似重建。本算法采用的分类识别方法是最小欧氏距离,通过比较找出输入图像的与训练集图像之间的欧氏距离的最小值,找出了最为相近的图像。5.1.2工作总结:学习了matlab基本编程,基本熟悉matlab编程语法。由于本文作者知识浅薄,所以经过查阅有关线性代数的教程,理解了本文章所需的相关的线性代数概念。阅读关于PCA的有关资料并理解和实现基于PCA人脸识别算法过程。(4)通过研究学习、分析前人PCS算法的实现程序,并吸取了养分,以致文章完成。6致谢首先,我要感谢我的导师刘博老师的给予我指引与督促,其次,感谢爸妈的养育之恩,再次,感谢我的宿舍同学给我一个良好的宿舍环境,最后,感谢所有给过我帮助的同学、朋友、老师、亲戚朋友。参考文献[1]张铮、王艳平、薛桂香编著《数据图像处理与机器视觉》人民邮电出版社2010年4月[2]JerryLead《主成分分析(Principalcomponentsanalysis)-最小平方误差解释》2011年4月18日[3]龚勋《PCA与人脸识别及其理论基础》2007年4月29日[4]邓楠《基于主成分分析的人脸识别研究》2006年6月15日[5]作者:田印中,董志学,黄建伟《基于PCA的人脸识别算法研究及实现》2010[6]StephenChapman著邢树军、郑碧波译《matlab编程》第二版清华大学出版社2008年01月[7]陈维新编著《线性代数》第二版科学出版社2006年1月[8]SantiagoSerranoDrexelUniversity/~sis26/Computer%20Vision.htm[9]张翠平、苏光大《人脸识别技术综述》来自“中国图像图形学报”2000年11月[10]齐兴敏,刘冠梅《基于PCA的人脸识别方法的比较研究》来自现代电子技术2007年第6期总第269期。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研

温馨提示

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

评论

0/150

提交评论