PCA人臉識別理論基礎(chǔ)附源碼_第1頁
PCA人臉識別理論基礎(chǔ)附源碼_第2頁
PCA人臉識別理論基礎(chǔ)附源碼_第3頁
PCA人臉識別理論基礎(chǔ)附源碼_第4頁
PCA人臉識別理論基礎(chǔ)附源碼_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

-.z.1 PCA與人臉識別及其理論根底1.1問題描述[1]對于一幅圖像可以看作一個由像素值組成的矩陣也可以擴展開看成一個矢量如一幅N*N象素的圖像可以視為長度為N2的矢量,這樣就認為這幅圖像是于2一個點這種圖像的矢量表示就是原始的圖像空間但是這個空間僅是可以表示或者檢測圖像的許多個空間中的一個不管子空間的具體形式如何這種方法用于圖像識別的根本思想都是一樣的首先選擇一個適宜的子空間圖像將被投影到這個子空間上然后利用對圖像的這種投影間的*種度量來確定圖像間的相似度,最常見的就是各種距離度量。變換[1]PCA方法是由urk和Pentlad提出的,它的根底就是Karhunen-ove變換(簡稱KL變換),是一種常用的正交變換。下面我們首先對K-L變換作一個簡單介紹:假設(shè)*為n維的隨機變量,*可以用n個基量的加權(quán)和來表示:n*=∑αiii1-.z.式中:αi是加權(quán)系數(shù),i是基向量,此式還可以用矩陣的形式表示:-.z.-.z.12 n 1 2 n*=φ,φ,"12 n 1 2 n=Φα-.z.-.z.取基向量為正交向量,即T1i=j T-.z.則系數(shù)向量為:ΦΦj=?0?0i≠j?ΦΦj=I-.z.α=ΦT*綜上所述,K-L展開式的系數(shù)可用以下步驟求出:步驟一求即向量*的自相關(guān)矩陣R=E?*T*?,由于沒有類別信息的樣本集的μ均值向-.z.量,常常沒有意義,所以也可以把數(shù)據(jù)的協(xié)方差矩陣∑K_L坐標的產(chǎn)生矩陣,這里μ是總體均值向量。=E?(*?μ(*?μT?作為-.z.步驟二求自相關(guān)矩陣或協(xié)方差矩陣R的本值i和本征向量i,Φ=1,i,",φn)步驟三展式系數(shù)即為α=ΦT*KL換的實質(zhì)是建立了一個新的坐標系,將一個物體主軸沿特征矢量對齊的旋轉(zhuǎn)變換,這個變換解除了原有數(shù)據(jù)向量的各個分量之間相關(guān)性,從而有可能去掉那些帶有較少信息的坐標系以到達降低特征空間維數(shù)的目的。-.z.利用PCA進展人臉識別完整的PCA人臉識別的應(yīng)用包括幾個步驟:人臉圖像預(yù)處理;讀入人臉庫,訓(xùn)練形成特征子空間;把訓(xùn)練圖像和測試圖像投影到上一步驟中得到的子空間上;選擇一定的距離函數(shù)進展識別。下面詳細描述整個過程〔源碼見’faceRe.。1. 讀入人臉庫歸一人臉庫后將庫中的每人選擇一定數(shù)量的圖像構(gòu)成訓(xùn)練集其余構(gòu)成測試集設(shè)歸一化后的圖像是n*,按列相連就構(gòu)成N=n*m維矢量,可視為N維空間中的一個點,可以通過K-L變換用一個低維子空間描述這個圖像。2. 計算K-L變換的生成矩陣所有訓(xùn)練樣本的協(xié)方差矩陣為〔以下三個等價:-.z.?1.TT TCA=(M∑k1kik)/M?m*im*-.z.?A?2.C?A=(iT)/M〔1〕-.z.??M?-.z.?3.C?A=?∑?i1(*?m(*?mT?ii * i *-.z.-.z.A=1,φ2,...,φM},i=i?m*,m*是平均人臉,M訓(xùn)練人臉數(shù),協(xié)方差矩陣CA是-.z.一個N*N的矩陣,N是i的維數(shù)。A為了方便計算特征值和特征向量一般選用第個公式根據(jù)K-L變原理我們所求的新坐標系即由矩陣iT的非零特征值所對應(yīng)的特征向量組成直接求N*N大小矩陣C的特征值和正交歸一特征向量是很困難的,根據(jù)奇異值分解原理〔見段落1.2.5和12.6,可以A通過求解TiA的特征值和特征向量來獲得TiA的特征值和特征向量。N*r在計算得到CA的所有非零特征值[0,1,",r1〔從大到小排序1≤r<M及其對應(yīng)的單位正交特征向量[u0,1,",ur1]后,可以得到特征空間U=[u0,1,",urN*r計算一張圖片*在特征空間上的投影系數(shù)〔也可以理解為*在空間U中的坐標:-.z.3. 識別Y=UT**∈?r〔2〕-.z.利用公式〔,首先把有訓(xùn)練圖片進展投影,然后對于測試圖片也進展同樣的投影,采用判別函數(shù)對投影系數(shù)進展識別。1.2PCA的理論根底投影[2]設(shè)d維樣本1,*2,",*n,以及一個d維基w,則標量:-.z.i iy=i i-.z.是相當于*i在基上的坐標值。如果w=1,i就是把*i向方向為w的直線進展投影的結(jié)果,-.z.可以從圖1看到推廣之如果有一組〔m個組成的空間W=[w1,w2,",wm]則可Tm以得到*i在空間W上的坐標為:Y=W*∈?。-.z.i* 證明:wT*=iw又∵θyw?*?osθ*?cosθ=y, w=1-.z.i?wT*=yi圖1投影圖進一步,表達式w=m+ae表示w是一條通過點m,方向為e的直線。1.2.2PCA的作用及其統(tǒng)計特性[3]采用PCA對原始數(shù)據(jù)的處理,通常有三個方面的作用—降維、相關(guān)性去除、概率估計。下面分別進展介紹:? 去除原始數(shù)據(jù)相關(guān)性從統(tǒng)計學(xué)上講,E[*?E(*)]Y?EY)}稱為隨機變量*與Y協(xié)方差,記為-.z.Cov(*,Y)。令ρY=Cov(*,Y),稱為隨機變量*與Y的相關(guān)系數(shù)。ρY=1則*與-.z.D(*)DY)-.z.Y是相關(guān)的,ρY=0,則*與Y是不相關(guān)的。T-.z.命題1矩陣A來,如果是一對角陣A的量是非關(guān)。-.z.由PCA處理的人臉庫數(shù)據(jù)的非相關(guān)性可以從兩點進展說明?!?〕基底的非相關(guān)性-.z.T特征空間基U=[u0,1,",ur1]是非相關(guān)的,即UUT=I。-.z.-.z.〔2〕投影系數(shù)的非相關(guān)性T由SVD可知A=1,φ2,...,φM}=UΛVT,其中i=i?*,m*是平均人臉根-.z.-.z.據(jù)公式〔2可以把A映射到特征空間上,得到:關(guān)的,可由下面得到證明:B=UT*A,其中B是非相-.z.Y的協(xié)方差矩陣為:C=1BBT=1UTATU=1Λ23〕-.z.BM M M由命題1知,B是相關(guān)的。? 統(tǒng)計參數(shù)〔均值及方差〕-.z.均值即m*--平均人臉。命題2隨變量方越,包含信越多,一變量方差為0時,該量常數(shù),不含任何息。用PCA計算主分量,就是尋找一組向量,使得原始數(shù)據(jù)A=1,φ2,...,φM}在這組向量上的投影值的方差盡可能大最大方差對應(yīng)的向量就是第一主成份以后遞推就是第二主成份,第三主成份……。用PCA計算主分量就是求原始數(shù)據(jù)A=1,φ2,...,φM}〔其中i=i?*協(xié)方差-.z.T矩陣的特征向量U=[u0,1,",ur1]由公〔3可知,P=uiTA=(1,p2,",pm)是A在ui-.z.上的投影值,其中P的方差就是ui對應(yīng)的特征值i,可以理解為:命題3所原始數(shù)在分量ui上的投值方差為i。? 降維如果在始空間表示一幅n*m大小的圖片*則需要一個N=nm維矢量但是當用公式(2)把它映射到特征空間后,只需要一個r*1維的量就可。另外命題2可可以根據(jù)方差的大小來判斷特征向量的重要性由ORL圖片庫的20人臉計算得到的特征值呈圖2分可知特征向量重要性呈指數(shù)下降據(jù)此可以只選用前面幾個重要的特征向量來構(gòu)建特征空間。通過計算前1個特值占了9.17%因此r以取1而非20從而進一步降維的作用。圖2特征的分布特征臉U=[u0,1,",ur1]中的每一個單位向量都構(gòu)成一個特征臉如圖3所示由這些特征臉所張成的空間稱為特征臉子空間需要注意對于正交基的選擇的不同考慮對應(yīng)較大特征值的特征向量(正交基)也稱主分量用于表示人臉的大體形狀而對應(yīng)于較小特征值的特征向量則用于描述人臉的具體細節(jié),或者從頻域來看,主分量表示了人臉的低頻局部,而此分量則描述了人臉的高頻局部〔源碼見’EignFace。-.z.1 2 10 50 70 averae圖3特征,分別第,2,0,,70分量最后一是均臉。圖片重建-.z.*要進展圖片*的重建首先對*投影到特征空間上得到系數(shù)Y=UT(*?m*),然后選用一-.z.局部系數(shù)與特征向量進展原始圖片的重建:*'=m*+U1:t)*Y1:t)其中1:t表示取前t個元素〔見’recontrut.’〕在圖4中其中前兩張圖片來自訓(xùn)練樣本第3張來自測樣本可以看到對于訓(xùn)練樣本,PCA系數(shù)可以對圖片實現(xiàn)很好重建,而對于訓(xùn)練樣本以外的圖片重建效果很差。-.z.Original15 50 10 50 199-.z.圖4人臉像重建第張圖片輸原始圖其列圖片重結(jié)果,字示t的目。奇異值分解〔VD〕[1]設(shè)A是秩為r的*n〔>>n〕維矩,則存在兩個正交矩陣和一個對角陣:TA=[1,a2,",ar]=UΛVT-.z.T其中U=[u0,1,",ur1],V=[0,1,",r1],Λ=diag(0,1,",r1),且UUT=I,VVT=I,-.z.2Tm*mTn*n TT-.z.i呈降序排列其中i為A∈?和AA∈?的非零特征值i和i分別是A和AA-.z.i對應(yīng)于λ2的特征向量。可得一個推論:iU=AVΛ?1可以計算TA的特征值λ2及相應(yīng)的正交歸一特征向量v后,可由推論知T的正交歸一特ii-.z.征向量λiu=1λiiiiAi-.z.-.z.注意,協(xié)方差矩陣CA=(iT)/M的特征值為:λ2/M。-.z.利用小矩陣計算大矩陣特征向量高階矩陣的特征向量可以轉(zhuǎn)化為求低階矩陣的特征向量:-.z.設(shè):A是秩為r的*n〔>>n〕維矩陣,C*=T∈?m*m,是一個矩陣,現(xiàn)在要求C的-.z.-.z.*特征值及特征向量,可通過先求小矩陣TA∈?n*n的特征向量[v,v,",v*]和特征值-.z.01r1[0,1,",r1],兩者之間有以下關(guān)系:i i iTA?i i ii i iA→T(A?v)=λi i i-.z.顯然,C=T的特征向量是A?v〔注意沒有單位化,[λ,λ,",λ]亦為其特征值。-.z.* i01r1-.z.結(jié)論與1.2.6方法計算協(xié)方差矩陣的特征向量特征值的結(jié)果是一致的只是要注意中的特征值要除以M,中的特向量要單位化。圖片歸一化圖片標準化通常是一個整體概念,要求把圖片歸一到均值為0,方為1下情下。這個概念類似于一般正態(tài)分布向標準正態(tài)分布的轉(zhuǎn)化:命題4假設(shè)*~N(μ,σ2),則Z=*?μ~N(,)σ所以要對一組圖片中的一張*i進展歸一〔標準化只需要去均值除以方差就可以了。M-.z.T均值m*=∑*iTiM,方差為D=E?(*?m*(*?m*)?-.z.1.3參考文獻[1]鄧楠,基于成份分析的人臉識別,北大學(xué)碩士學(xué)位論文,2006.06[2da,E.Hart,andD..tork,attenClasifcaton,econded.Johnly&Sons,201.[3]SaiRodhni.FaceIageAnlsisusngautpleFeatureFitigtrteg.PDThesis,UniverstyofBasel,Switzelad,Jnary205.[4]SaiRodhni.ACERECOGNITIONUSINGPRINCIALPONENTSANAYSIS.1.4附錄—matlab源碼人臉識別%Faceec.m%PCA人臉識別修訂版,識別率8%%clc*ea,sigaandtseiendeposiinallsaples=[]%所有訓(xùn)練圖像fori=1:40forj=1:5=iread(strct(e:\ORL\s,nu2str(i),\,nu2str(j),.jpg));%ishow(a);b=a(1:12*92);%b是行矢量1×N其中N=1004提取順序是先列后行即從上到下,從左到右b=oblebllsaples[llsaples;b]; %alsaples是個M*N陣allsaples中每一行數(shù)據(jù)代表一張圖片,其中M=20ndendsapleeanean(allsaples); %平均圖,1×Nfori=1:200*mean(i,:)=allaples(i,:)-spleean; %*ean是一個M×N矩陣,*ean每一行保存的數(shù)據(jù)是"每個圖片數(shù)據(jù)-平均圖片〞end;%獲取特值及特征向量siga=*ean**ean; %M*M矩陣[vd]=eig(sigma);d1dag(d);%按特征大小以降序排列dsort=flpdd1);vsort=flplrv);-.z.%以下選擇0%的能量dsum=su(dsort);dsu_e*tract=;p=0;wile(du_e*tratdum<0.9)p=p+1;ds_e*tract=u(dsort(1:p);-.z.i=;nd-.z.%(訓(xùn)練階段)計算特征臉形成的坐標系base=*ean'*vsort(:1p)*iagdsort(:p).^(-12));%bae是×p階矩陣除以dsort(i)(1/2是對臉圖像的標準化〔使其方差為1〕%詳見"于PCA的人臉識別算法研究"p1%*ean'*vsort(:,i是小陣的特征向量向大矩陣特征向量轉(zhuǎn)換的過程%while(i<p&&dsort(i))%ase(:i)=dsot(i)^(-12)**ean'*vsort(:i);%bae是Np階矩陣以dsorti)^(12)是對人臉圖像的標準化〔使其方差為1〕%詳見"于PCA的人臉識別算法研究"p1% i=i+1; %*ean'*vsort(,i小矩陣的特征向量向大矩陣特征向量轉(zhuǎn)換的過程%end%以下兩行addbygong*un將訓(xùn)練本對坐標系上進展投影,得到一個*p階矩陣lcooralloor=llsples*base;%alcor里面是每張訓(xùn)練人臉圖片在Mp空間中的一個點,即在子空間中的組合系數(shù),accu=0;%面的人臉識別過程中就是利用這些組合系數(shù)來進展識別%測試過程fori=1:40forj=6:10%讀入40*5副測試像=read(strcat('e:\ORL\s,num2str(i),\,num2str(j),.jpg));b=a1:004;b=oble(b;cr=b*ase;計算坐標,是1p階陣ork=:00dist()=nor(tcoo-alloor(,:));ed;%階近鄰[istide2]sort(dist);las1=flor((inde*21)-1)/5)+1;class2=loor((inde*2(2)-1)/5)+1;class3=loor((inde*2(3)-1)/5)+1;-.z.ifcass1~clas2&&class2~=lass3cass=cass1;lsefclass==las2cass=cass1;lsefclass==las3cass=cass2;n;ifcass==iacuacu;-.z.end;n;n;-.z.accuacy=au/200%輸識別率特征人臉%egfac.mfuncin[]=igfae()%clc*ea,sigaandtseiendeposiinallsaples=[]%所有訓(xùn)練圖像fori=1:40forj=1:5=iread(strct(e:\ORL\s,nu2str(i),\,nu2str(j),.jpg));%ishow(a);b=a(1:12*92);%b是行矢量1×N其中N=1004提取順序是先列后行即從上到下,從左到右b=oblebllsaples[llsaples;b]; %alsaples是個M*N陣allsaples中每一行數(shù)據(jù)代表一張圖片,其中M=20ndendsapleeanean(allsaples); %平均圖,1×Nfori=1:200*mean(i,:)=allaples(i,:)-spleean; %*ean是一個M×N矩陣,*ean每一行保存的數(shù)據(jù)是"每個圖片數(shù)據(jù)-平均圖片〞end;%獲取特值及特征向量siga=*ean**ean; %M*M矩陣[vd]=eig(sigma);d1dag(d);-.z.d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論