




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人脸识别实验报告- 基于PCA和欧氏距离相似性测度一、理论知识1、PCA原理主成分分析(PCA) 是一种基于代数特征的人脸识别方法,是一种基于全局特征的人脸识别方法,它基于K-L分解。基于主成分分析的人脸识别方法首次将人脸看作一个整体,特征提取由手工定义到利用统计学习自动获取是人脸识别方法的一个重要转变1。简单的说,它的原理就是将一高维的向量,通过一个特殊的特征向量矩阵,投影到一个低维的向量空间中,表示为一个低维向量,并不会损失任何信息。即通过低维向量和特征向量矩阵,可以完全重构出所对应的原来高维向量。特征脸方法就是将包含人脸的图像区域看作是一种随机向量,因此,可以采用K-L变换获得其正交K-L基底。对应其中较大特征值的基底具有与人脸相似的形状,因此又称为特征脸。利用这些基底的线性组合可以描述、表达和逼近人脸图像,因此可以进行人脸识别与合成。识别过程就是将人脸图像映射到由特征脸张成的子空间上,比较其与己知人脸在特征空间中的位置,从而进行判别。2、基于PCA的人脸识别方法2.1 计算特征脸设人脸图像f(x,y)为二维NM灰度图像,用维向量R表示。人脸图像训练集为,其中P为训练集中图像总数。这P幅图像的平均向量为:对训练样本规范化,即每个人脸与平均人脸的差值向量: =- (i= 1,2,P)其中列向量表示一个训练样本。训练图像由协方差矩阵可表示为:其中训练样本P维矩阵特征脸由协方差矩阵C的正交特征向量组成。对于人脸图像,协方差矩阵C的大小为,对它求解特征值和特征向量是很困难的,由此引入奇异值分解定理来解决维数过高的问题。2.2 奇异值分解定理奇异值分解定理( Singular ValueDecomposition简称SVD定理)原理表述如下:其中A是一个秩为r的nr维矩阵,则存在两个正交矩阵:以及对角矩阵且满足下试: 其中: 为矩阵和的非零特征值, 与分别为和对应于的特征向量。上述分解称为矩阵A的奇异值分解(简称SVD),为A的奇异值。由上述定理可以得到一个推论:由于协方差矩阵,故构造矩阵: ,容易求出其特征值及相应的正交归一特征向量 (i=1,2,p)。有上述推论可知, C的正交归一特征向量为:这就是图像的特征向量,它是计算PP低维矩阵L的特征值和特征向量而间接求出来的。实际上个K(KP)个特征值足够用于人脸识别。因此仅取L的前K个最大特征值的特征向量计算特征脸。2.3 特征向量的选取我们总共得到了P(训练样本数目)个特征向量。虽然P比NM小很多。但通常情况下,P仍然会太大。根据应用的要求,并不是所有的都有很大的保留意义。考虑到使用K-L变换做为对人脸图像的压缩手段,可以选取最大的前K个特征向量,使得:在实际中,可以选择=0.90,或者自定义的其他值。这说明样本集在前K个轴上的能量占到整个能量的90%以上。2.4 基于特征脸的人脸识别基于特征脸的人脸识别过程由训练阶段和识别阶段两个阶段组成。在训练阶段,每个已知规范化后的人脸映射到由特征脸张成的子空间上,得到K维向量:其中,P为人脸数目。在识别阶段,首先把待识别的图像规范化后的人脸映射到特征脸空间,得到向量:其中计算和的欧氏距离,有:找到最小的,则待识别图像与第i个训练样本匹配。二、实现方法步骤1、 获取数据。在编程时具体是把一幅二维的图像转换成一维的;2、 减去均值,实现图像数据的规范化处理。3、 计算协方差矩阵根据SVD原理得到的构造矩阵。4、 计算构造矩阵的特征向量和特征值。5、 根据构造矩阵的特征值和特征向量得到协方差矩阵的特征向量。6、 根据能量比选择主成分特征向量。7、 得到训练集中样本在主成份上的投影系数,得到待识别图像在主成份上的投影系数,根据已给相似度准则(欧氏距离)对各投影系数进行判别以确定匹配样本。8、 统计识别率,随机输出几个匹配结果进行观察。三、实验结果如图所示,对测试集中1192个图像数据的总识别率为69.27%,用时338秒对于随机输出的四个匹配结果可以看出PCA法能较准确的对人脸进行识别,但是错误率也比较高。四、参考文献【1】 边肇其,张学工.模式识别【M】.第2版.北京.:清华大学出版社,2000【2】 周杰,卢春雨,张长水,李衍达,人脸自动识别方法综述【J】.电子学报,2000,5(4):102-106【3】 田印中,董志学,黄建伟,基于PCA的人脸识别算法研究及实现【J】.内蒙古科技与经济,2010.3【4】 张俊虎,郝晓剑,邢昊,人脸图像识别中的PCA算法实现【J】.微计算机信息,2010,26(71)五、附录(matlab 程序代码)用一个文件face_recongnition.m实现从读取文件数据到PCA主成份提取和人脸识别的整个过程tic;SampleFiles = dir(F1);%返回目录中的文件%经测试图片文件从3到1193allsample = ;%样本矩阵fnum=3;lnum=1193;for i = fnum : lnum filename = SampleFiles(i).name;%读图片名 filename=strcat(F1,filename); sample = imread(filename); row,col=size(sample); pix_num=row*col;%图片像素点数目 %figure(i); %subplot(2,2,1);imshow(sample); %subplot(2,2,2);imshow(sample); temp=reshape(sample,pix_num,1);%返回一个m*1的矩阵temp,将二维图像数据变成一维列向量 allsample=allsample temp;%将所有图片数据变成一个样本矩阵endallsample = uint8(allsample);%主成分分析(PCA)%计算平均图片数据%m = mean(allsample,2); %计算样本每一维平均值 img_num = size(allsample,2);%返回列数,也即训练图片数目%计算每个图像与均值的差%A = zeros(pix_num,img_num);%行为图片像素个数,列为图片数目m1=ones(1,img_num);%用于构造矩阵运算A = double(allsample) - m*m1; %计算协方差矩阵的特征矢量和特征值%L = A*A; %由SVD理论构造矩阵L=A*A用于计算特征值和特征向量V D = eig(L);%计算矩阵A的特征值D和特征向量矩阵Vd1=diag(D);% 按特征值大小以降序排列dsort = flipud(d1);vsort = fliplr(V);%以下选择95%的能量dsum = sum(dsort);dsumtemp = 0;char_num = 0;%特征值主分量个数while( dsumtemp/dsum 0.95) char_num = char_num + 1; dsumtemp = sum(dsort(1:char_num);end%计算特征脸主分量%U=zeros(pix_num,char_num);%主分量特征向量vsort=vsort(:,1:char_num);dsort=dsort(1:char_num).(-1/2);dsort=diag(dsort);U=A* vsort*dsort;%求协方差矩阵的特征向量主分量%计算训练集中人脸在特征空间中的投影表示%Train_pro=zeros(char_num,img_num);Train_pro=U*A;%对测试集中人脸进行识别%testFiles = dir(F2);%返回目录中的文件()%经测试图片文件从3到1193alltest = ;%样本矩阵for i = fnum : lnum tfilename = testFiles(i).name; tfilename=strcat(F2,tfilename); test = imread(tfilename); row,col=size(test); ttemp=reshape(test,row*col,1);%返回一个m*1的矩阵temp,将二维图像数据变成一维列向量 alltest=alltest ttemp;%将所有图片数据变成一个样本矩阵endalltest = uint8(alltest);%计算减去均值后的人脸矩阵%tA = zeros(pix_num,img_num);tA = double(alltest) - m*m1; %计算测试集中人脸在特征空间中的投影表示%Test_pro=zeros(char_num,img_num);Test_pro=U*tA;%测试集中人脸和训练集中人脸相似性进行匹配%pro_match=zeros(char_num,img_num);mtemp=ones(1,img_num);diatance=zeros(img_num,img_num);sum1=0;%sum1为匹配成功的数目for i=1:img_num %测试集中的第i个图片数据 pro_match=Test_pro(:,i)*mtemp-Train_pro; distance=pro_match*pro_match; distance=diag(distance); mat_min,match(i)=min(distance); if(i=match(i) sum1=sum1+1; endendrec_perc=(sum1/img_num)%随机抽取5个图形做代表显示匹配效果%for i=1:5 ri=(round(100*rand(1,1); figure(i); subplot(121); r=allsample(:,ri); imshow(reshape(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品开发进度跟踪表-新产品开发流程
- 薪资详情与奖金补助证明书(6篇)
- 移民招聘考试试题及答案
- 医院中级考试试题及答案
- 六一创意集体活动方案
- 六一夹珠子活动方案
- 医学考试试题及答案详解
- 六一扶贫活动方案
- 六一校园集体活动方案
- 六一活动小食品活动方案
- 四川省安全员《A证》考试题库及答案
- 职业生涯规划书成长赛道
- 林木育种的种质与材质性状评价
- 大模型在航空航天领域的应用:智能探索宇宙的无限可能
- 《直流电源》课件
- 内燃机车柴油机 课件 2-1-1 16V280型柴油机 固定件认知
- 解决多模穴流动不平衡问题之流道翻转技术
- FMECA方法及工程应用案例
- 抖音新号怎么养号
- 国开02316-中级财务会计(一)机考复习资料
- 大数据技术求职个人简历模板
评论
0/150
提交评论