《人脸识别PCA算法matlab实现及详细步骤讲解.docx》由会员分享,可在线阅读,更多相关《人脸识别PCA算法matlab实现及详细步骤讲解.docx(15页珍藏版)》请在第壹文秘上搜索。
1、人险切N%PCA人脸设剂修订版.识别率88%ca1.cXnieaibsignKiAndigeigendeconritiona1.1.sanp1.cs=:%全部训缥图像fori=!:40furj=1:5a=iwead(MrcaUe?OR1.snum2Mrti).,V.nun2irtj).*.jg,);%imshow(八);b=i(1.:112*92);%b是行矢景1.xN,其中N=Io304,提取依次是先列后行,即从上到下,从左到右b=:%邛均图片.IXNfori=1.:200xme;m(i,:)=a1.1.sainp1.e$(i,:amp1.enan;%xnean是一个MXN矩阵,Xmei1.
2、n衽一行保存的数据是个图片数据平均图片”end;%获得特征值及特征向Ii1.Signu=xnwantxnwan;%MM阶矩阵vdI=Cig(Sigma);1.1.diag(d);%按特征值大小以降序排列dM)rt=11ipd(d1.):vsort=11ip1.r(v);%以下选择Wm的能量dsUm=sun(dsort);dsum.extract=0;p=0:whik(dsu11)-exracu,dsun0.9)P=P1;dsum.cx(rac1.=sum(dxort(kp);endi=i:%(i练阶段)i巩特征脸形成的坐标系base=xmcan,*vsort(:.1.:p)4diag(dsor
3、t(I:p).A(-12);%base是NXP阶矩阵,除以dsoMi)2)是对入脸图像的标itt化(使其方差为I)%详见?域于PCA的人脸识别肾法探讨?p31%XmCi1.n*VMtCi)是小矩阵的特征向收向大短阵特征向纸枝换的过程%whi1.c(i0)%baxe(:.i)=i1.uwi)A(-IZ2)xneanvsort(:,i);%base是NXP阶矩阵,除以dsoEi)*X2)是对人脸图像的标准化(使其方空为I)%详见?基于PCA的人脸识别算法探讨?p31%i=i+I;%XmCan,vsort(:.i)是小矩阵的特征向盘向大矩阵特征向此转换的过程%end%以下两行Sddbygonwxun
4、将训练样本对坐标系上进展投影.得到一个M4阶矩/a1.1.coora1.koor=a1.kamks*base:%a1.1.or里面是每张训练人脸图片在Wp了空向中的个点.即在了空间中的组合票数JuXU=(k%卜面的人脸识别过程中就是利用这些处分系数来进展识别%测试过程fori=1.:40Crj=6:IO%该入40x5码测试图像a=iweid(MrcaUe?OR1.snum2Mrti).,V.nun2irtj).*.jg,);b=a(1:10304):b=ub1.c(b);ICOOr=bbase:%计算坐标.1.阶矩阵fork=1.:200ndis(k)=nom(tcoor-a1.icoor(k
5、,:):end;%三阶近邻dis(jndex2=sort(11u1.is);c1.ass1.=f1.oor(indcx2(i-1.)1;c1.ass2=f1.oor(indcx2(2)-1.)5)+1.:c1.as1.=f1.r(ifkkx2(3)I)5)I;ifc1.ass1.-=c1.ass2&c1.ass2-=c1.as3c1.ass=c1.ass1.:ekeifc1.assI=chs2cass=c1.ass!:CkCifCkIS$2=CIaSS3c1.ass=c1.ass2;end;ifd三=iaccu=accuI;end;end;end;accuracy=accu*200%输出识别车
6、特征人J*function11=cigfacc()%ca1.cxmcan,sigmaanditseigendcconIPoSi1.iOna1.1.samp1.es=hCUft(ftfori=!:40for)=1:5a=iwead(MrcaUe?OR1.snum2Mrti).,V.nun2trtj).*.jg,);%imshow(八):b=a(1:112%);%b是行矢It1N,其中N=K)304,提取依次是先列后行,即从上到下,从左到右b=ub1.c(b):a1.1.sam1.esh1.samp1.es;b;%a1.1.samp1.es是个MIeN矩阵,Jsamp1.es中每一行数据代表一张图
7、片,其中A1=200endendsampkmcan=nan(a!1.sam1.cs:%邛均图片.IXNfori=1.2xmean(i,:)=aJ1.sanip1.eMi.:-sampkincan:%xnan足个MXN矩阵.xmcan珏一行保存的数据是个图片数据平均图片”end;%获得特征值及特征向Ii1.signa-nantx11a:%MM阶矩阵vd=eig(Mgma);d1.=diag(d);%按特征侦大小以降序排列dM)rt=iud(d1);VM)11=HipIrtvX%以下选杼90%的能量dsum=sum(dso11;dsum_ex(raci=(hp=0:whik(dsum.cxtrac
8、i,dsum0.9)P=P+I;dsumextract=sun(dsor(k);endP=199;%(训练阶段)计算特征聆形成的坐标系%whi1.e(i0%baxc(:J)=dsort(i)A(-1./2)xmean,vsorU.i);%base是Np阶矩阵,除以dsogiV(I是对人验图像的标准化,详见?基于PCA的人板识别獴法探讨?p31.%i=iI;%xmsn*VJiorWQit小斑阵的特征向I1.t向大矩阵特征向圻转换的过程%endbase=xmcan*vsort(:.1.:p)*diag(dM)11(kp.(-172):%生成特征8for(k=kp).enp=vshae(base(k
9、),112,92);IKwpath=dtcstVi112su(k),.jpg,:imvite(mat2gray(cmp).nexvpath);endavg=rcshac(sam1.cmcan.!12,92);imvite(mit2gray(avg).d:kspHivcragc.jpg);%将模型保存savc(cOR1.modc1.ma(.base,mpkmc4n,);AttMfunctionIJ=nxons1.nicU)1.oade:OR1.mode1.imi;%计算新图片在特征子空间中的系数img=,Drcst2IO.jpga=imrc4id(img);b=a(1.:112*92);%b是行
10、矢fitIXN,其中N=IO304,提取依次是先刑后行,即从上到下,从左到右bdoub1.c(b);b=bsam!enwan;c=b*basez%c是图片a在子空间中的系数.Jh1.p行矢贵%依据特征系数及特征股成建图%前15个I=15;temp=base(:.1:()*c(Itemp=temp+sampkmcan;i11nvie(nui2g11y(reshae(te11,112,92),dAte2Ijpg);%前50个I=50:temp=basc(z.kt)c(k,;en=ensamp1.emean1;imwrite(nat2gray(teshapc(tcm.II2.92).drtcs2t2
11、.jg,);%做100个I=100;temp=basc(:.!:()*c(I:()*;temp=temp+SajnPknIcan:imvie(ma2gra(reshae(en.112,92).*d:tesi2i3jpg);%的150个t=150:temp=basc(:.1.:O0c(kt:en=emsamp1.emean;innviic(mat2gray(rcshapc(tcn.II2.92)dtcs1.2,44.jg,);%的199个t=199:temp=hasc(:J:Oc(kt);temp=cmsampkncan,;imitc(mat2gray(rcshapc(tcmp.I1.2.92)
12、.d:tcst2M5.jpg);基于2DPCA与(2D)2PCA的人脸识别(其次5.】引言传统的PcA和1.DA方法在图也识别时都是基于图皎向R的,在这种人脸我别技术中,2D的人龄图2矩阵必缎先转变为ID的图象向量,然后再进行KA或IDA分析.禁点很明显:首先,将图金地阵转化为图令向目后,造成医也向取的继数一般较高.使为整个特征抽取过稗所耗微的计算量M当司规:其次.主成分分析的训故是非监督的.即PCA无法利用训练样本的类别信息;再次,实验袁明,恭于PCA的人脸识别方法随,看光照、妥毒警因素的引入,识别率急剧F降.因此这科方法还存&着缺陷.本文介绍r-钟E接基于图象知库的包含人类平均图家中的外别
13、信息的优压隼技术:二蜻主成分分析(2!)PCA)人舲识别方法皿“也叫侬广义主成分分析,量显著优点在于大大加怏了相征抽取的速度.5.2ZDKA人脸识别方法5.2.1 2DPCA的算法设X登示n维列向量,如Xn的图像矩阵A通过以下线性交换直接投影到Xt:Y=AX(5.I)得到一个nift列向量Y.X为投影轴.Y称为用IiA的投影特征向量“最佳投影他X可以根撤特行向量丫的散布情况来决定,采月的准则如F:x)-rr(S,)(S.2)其中,依示训经样本投影特特向*Y的的协方差短;K,内,)代表S.的迹,当准则(5.(2) 得余大T时的物理意义是:找到一个将房行训练样本投影在上面的的投影m.使档投影后所得特征危量的总体敷布矩阵(叩样本类间散布后阵)接大化.炬阵s,可以记成下式:(S.)=E(y-Erxr-Ery=(-2)(/-EnXy(5.3)tr(S,)EtY-EY-ETf=PA-E)X(A-EAX(5.3)所以,(5.4)tr(S,)XrE(A-EAY(A-)X我们来定义下述矩阵:G1=E(A-EAY(A-EA)(5.5)其中G被定义为图较协方差(散布矩阵,它是一个nxn(n是图像的列的象素值)的乖负定降,我们可以直接利用训练样本来计算G,.假设训练样本总数见”个,训炼图象样本是mXn的矩阵A,(j=1.,2,.M),所有训练样本的平均图象是&则G可以用下式计算:G,=