基于PCA的人臉特征提取和識(shí)別_第1頁
基于PCA的人臉特征提取和識(shí)別_第2頁
基于PCA的人臉特征提取和識(shí)別_第3頁
基于PCA的人臉特征提取和識(shí)別_第4頁
基于PCA的人臉特征提取和識(shí)別_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、工程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:基于PCA的人臉特征抽取及識(shí)別學(xué) 院: 電子工程學(xué)院 專 業(yè): 智能科學(xué)與技術(shù) 姓名: 鐘佩 學(xué)號(hào): 02085156 時(shí) 間: 2011年11月 指導(dǎo)教師: 緱水平 目錄摘要31PCA進(jìn)行特征抽取和識(shí)別的方法及理論基礎(chǔ)31.1 K-L 變換31.2 利用 PCA 進(jìn)行人臉識(shí)別41.3 PCA 的理論基礎(chǔ)41.3.1 投影41.3.2 PCA 的作用及其統(tǒng)計(jì)特性51.3.3 特征臉61.3.4 圖片重建71.3.5 奇異值分解(SVD)71.3.6 利用小矩陣計(jì)算大矩陣特征向量81.3.7 圖片歸一化82結(jié)果91.識(shí)別率92.特征臉93.人臉重構(gòu)103參考文獻(xiàn)104 附錄

2、matlab 源碼114.1 人臉識(shí)別114.2 特征人臉124.3 人臉重建14 摘要對(duì)于一幅圖像可以看作一個(gè)由像素值組成的矩陣,也可以擴(kuò)展開,看成一個(gè)矢量,如一幅N*N 象素的圖像可以視為長(zhǎng)度為N2 的矢量,這樣就認(rèn)為這幅圖像是位于N2 維空間中的一個(gè)點(diǎn),這種圖像的矢量表示就是原始的圖像空間,但是這個(gè)空間僅是可以表示或者檢測(cè)圖像的許多個(gè)空間中的一個(gè)。不管子空間的具體形式如何,這種方法用于圖像識(shí)別的基本思想都是一樣的,首先選擇一個(gè)合適的子空間,圖像將被投影到這個(gè)子空間上,然后利用對(duì)圖像的這種投影間的某種度量來確定圖像間的相似度,最常見的就是各種距離度量。在本文中,我們將討論P(yáng)VA算法來對(duì)人臉

3、進(jìn)行特征抽取和識(shí)別。1PCA進(jìn)行特征抽取和識(shí)別的方法及理論基礎(chǔ)1.1 K-L 變換PCA 方法是由Turk 和Pentlad 提出來的,它的基礎(chǔ)就是Karhunen-Loeve 變換(簡(jiǎn)稱KL變換),是一種常用的正交變換。下面我們首先對(duì)K-L 變換作一個(gè)簡(jiǎn)單介紹:假設(shè)X 為n 維的隨機(jī)變量,X 可以用n 個(gè)基向量的加權(quán)和來表示:式中: i 是加權(quán)系數(shù),i 是基向量,此式還可以用矩陣的形式表示:取基向量為正交向量,即則系數(shù)向量為: = T X綜上所述,K-L 展開式的系數(shù)可用下列步驟求出:步驟一求隨即向量X 的自相關(guān)矩陣,由于沒有類別信息的樣本集的 均值向量,常常沒有意義,所以也可以把數(shù)據(jù)的協(xié)方

4、差矩陣作為K-L 坐標(biāo)系的產(chǎn)生矩陣,這里 是總體均值向量。步驟二 求出自相關(guān)矩陣或協(xié)方差矩陣R 的本征值 和本征向量,步驟三 展開式系數(shù)即為 = T XK_L 變換的實(shí)質(zhì)是建立了一個(gè)新的坐標(biāo)系,將一個(gè)物體主軸沿特征矢量對(duì)齊的旋轉(zhuǎn)變換,這個(gè)變換解除了原有數(shù)據(jù)向量的各個(gè)分量之間相關(guān)性,從而有可能去掉那些帶有較少信息的坐標(biāo)系以達(dá)到降低特征空間維數(shù)的目的。1.2 利用 PCA 進(jìn)行人臉識(shí)別完整的PCA 人臉識(shí)別的應(yīng)用包括幾個(gè)步驟:人臉圖像預(yù)處理;讀入人臉庫,訓(xùn)練形成特征子空間;把訓(xùn)練圖像和測(cè)試圖像投影到上一步驟中得到的子空間上;選擇一定的距離函數(shù)進(jìn)行識(shí)別。下面詳細(xì)描述整個(gè)過程(源碼見faceRec.m

5、)。1. 讀入人臉庫歸一化人臉庫后,將庫中的每人選擇一定數(shù)量的圖像構(gòu)成訓(xùn)練集,其余構(gòu)成測(cè)試集。設(shè)歸一化后的圖像是n*m,按列相連就構(gòu)成N=n*m 維矢量,可視為N 維空間中的一個(gè)點(diǎn),可以通過K-L 變換用一個(gè)低維子空間描述這個(gè)圖像。2. 計(jì)算 K- L 變換的生成矩陣所有訓(xùn)練樣本的協(xié)方差矩陣為(以下三個(gè)等價(jià)): 是平均人臉, M 訓(xùn)練人臉數(shù),協(xié)方差矩陣 CA 是一個(gè)N*N的矩陣, N 是xi的維數(shù)。為了方便計(jì)算特征值和特征向量,一般選用第2個(gè)公式。根據(jù)K - L 變換原理,我們所求的新坐標(biāo)系即由矩陣A·AT 的非零特征值所對(duì)應(yīng)的特征向量組成。直接求N*N大小矩陣CA 的特征值和正交歸

6、一特征向量是很困難的, 根據(jù)奇異值分解原理(見段落1.2.5和1.2.6),可以通過求解AT·A的特征值和特征向量來獲得AT·A的特征值和特征向量。在計(jì)算得到 CA 的所有非零特征值(從大到小排序,1 r < M )及其對(duì)應(yīng)的單位正交特征向量 后,可以得到特征空間,從而可以計(jì)算一張圖片X在特征空間上的投影系數(shù)(也可以理解為X在空間U中的坐標(biāo)):3. 識(shí)別利用公式(2),首先把所有訓(xùn)練圖片進(jìn)行投影,然后對(duì)于測(cè)試圖片也進(jìn)行同樣的投影,采用判別函數(shù)對(duì)投影系數(shù)進(jìn)行識(shí)別。1.3 PCA 的理論基礎(chǔ)1.3.1 投影設(shè)d 維樣本x1, x 2, , xn ,以及一個(gè)d 維基w ,那

7、么標(biāo)量:yi =wT xi是相當(dāng)于xi在基上的坐標(biāo)值。如果w = 1 , yi就是把i x 向方向?yàn)閣 的直線進(jìn)行投影的結(jié)果,可以從圖 1 看到。推廣之,如果有一組基(m 個(gè))組成的空間,那么可以得到xi 在空間W上的坐標(biāo)為: 。圖 1 投影圖進(jìn)一步,表達(dá)式w = m+ ae表示w 是一條通過點(diǎn)m,方向?yàn)閑的直線。1.3.2 PCA 的作用及其統(tǒng)計(jì)特性采用PCA 對(duì)原始數(shù)據(jù)的處理,通常有三個(gè)方面的作用降維、相關(guān)性去除、概率估計(jì)。下面分別進(jìn)行介紹: 去除原始數(shù)據(jù)相關(guān)性從統(tǒng)計(jì)學(xué)上講, EX E(X )Y E(Y) 稱為隨機(jī)變量X 與Y 協(xié)方差,記為Cov(X,Y)。令,稱為隨機(jī)變量X 與Y 的相關(guān)

8、系數(shù)。XY = 1則X 與Y 是相關(guān)的,XY = 0,則X 與Y 是不相關(guān)的。命題 1 對(duì)于矩陣A 來說,如果AAT是一個(gè)對(duì)角陣,那么A中的向量是非相關(guān)的。由 PCA 處理的人臉庫數(shù)據(jù)的非相關(guān)性可以從兩點(diǎn)進(jìn)行說明。(1) 基底的非相關(guān)性特征空間基是非相關(guān)的,即UUT = I 。(2) 投影系數(shù)的非相關(guān)性由 SVD 可知, 其中 , mx 是平均人臉。根據(jù)公式(2)可以把A 映射到特征空間上,得到: B =UT * A,其中B 是非相關(guān)的,可由下面得到證明:Y的協(xié)方差矩陣為: 由命題 1 可知,B 是非相關(guān)的。 統(tǒng)計(jì)參數(shù)(均值及方差)均值即 mx -平均人臉。命題 2 隨機(jī)變量方差越大,包含的信

9、息越多,當(dāng)一個(gè)變量方差為0 時(shí),該變量為常數(shù),不含任何信息。用 PCA 計(jì)算主分量,就是尋找一組向量,使得原始數(shù)據(jù)A = 1,2 ,.,M 在這組向量上的投影值的方差盡可能大。最大方差對(duì)應(yīng)的向量就是第一主成份,以后遞推就是第二主成份,第三主成份。用 PCA 計(jì)算主分量就是求原始數(shù)據(jù)A = 1,2 ,.,M (其中i= xi mx )協(xié)方差矩陣的特征向量 ,由公式(3)可知, 是A在 ui上的投影值,其中P 的方差就ui 對(duì)應(yīng)的特征值i ,可以理解為:命題 3 所有原始數(shù)據(jù)在主分量ui上的投影值方差為i 。 降維如果在原始空間表示一幅n*m 大小的圖片X,那么需要一個(gè)Nn*m 維矢量,但是當(dāng)用公

10、式(2)把它映射到特征空間后,只需要一個(gè)r*1 維的向量就可。另外,由命題2 可知,可以根據(jù)方差的大小來判斷特征向量的重要性。由ORL 圖片庫的200 個(gè)人臉計(jì)算得到的特征值呈圖2 分布,可知特征向量重要性呈指數(shù)下降,據(jù)此可以只選用前面幾個(gè)重要的特征向量來構(gòu)建特征空間。通過計(jì)算,前71 個(gè)特征值占了90.17%,因此r 可以取71 而非200,從而達(dá)到進(jìn)一步降維的作用。 圖 2 特征值的分布1.3.3 特征臉 中的每一個(gè)單位向量都構(gòu)成一個(gè)特征臉,如圖 3 所示。由這些特征臉?biāo)鶑埑傻目臻g稱為特征臉子空間,需要注意對(duì)于正交基的選擇的不同考慮,對(duì)應(yīng)較大特征值的特征向量(正交基)也稱主分量,用于表示人

11、臉的大體形狀,而對(duì)應(yīng)于較小特征值的特征向量則用于描述人臉的具體細(xì)節(jié),或者從頻域來看,主 分 量 表 示了人臉的低頻部分, 而此分量則描述了人臉的高頻部分( 源碼見EigenFace.m)。 1 2 10 50 70 平均臉圖 3 特征臉,分別是第1,2,10,50,70 分量,最后一張是平均臉。1.3.4 圖片重建要進(jìn)行圖片X的重建,首先對(duì)X投影到特征空間上,得到系數(shù),然后選用一部分系數(shù)與特征向量進(jìn)行原始圖片的重建: ,其中1: t表示取前t 個(gè)元素。(見reconstruct.m)在圖 4 中,其中前兩張圖片來自訓(xùn)練樣本,第3 張來自測(cè)試樣本,可以看到對(duì)于訓(xùn)練樣本,PCA 系數(shù)可以對(duì)圖片實(shí)現(xiàn)

12、很好重建,而對(duì)于訓(xùn)練樣本以外的圖片重建效果很差。原始圖像 t=15 t=50 t=100 t=150 t=199圖 4 人臉圖像重建。第1列圖片是輸入原始圖,其它列圖片是重建結(jié)果,數(shù)字表示t 的數(shù)目。1.3.5 奇異值分解(SVD)設(shè)A 是秩為r 的m*n(m>>n)維矩陣,則存在兩個(gè)正交矩陣和一個(gè)對(duì)角陣:其中,且UUT= I ,VVT= I ,i呈降序排列。其中i2為AAT 和ATA 的非零特征值,ui 和vi 分別是AAT 和ATA對(duì)應(yīng)于i2的特征向量??傻靡粋€(gè)推論:可以計(jì)算 ATA的特征值i2及相應(yīng)的正交歸一特征向量i v 后,可由推論知AAT 的正交歸一特征向量 注意,協(xié)方

13、差矩陣的特征值為:i2/ M 。1.3.6 利用小矩陣計(jì)算大矩陣特征向量高階矩陣的特征向量可以轉(zhuǎn)化為求低階矩陣的特征向量:設(shè):A 是秩為r 的m*n(m>>n)維矩陣,是一個(gè)矩陣,現(xiàn)在要求Cx的特征值及特征向量,可通過先求小矩陣的特征向量和特征值,兩者之間有以下關(guān)系:顯然,Cx = AAT 的特征向量是A vi (注意沒有單位化),亦為其特征值。結(jié)論:1.2.5 與1.2.6 的方法計(jì)算協(xié)方差矩陣的特征向量,特征值的結(jié)果是一致的,只是要注意1.2.5 中的特征值要除以M,1.2.6 中的特征向量要單位化。1.3.7 圖片歸一化圖片標(biāo)準(zhǔn)化通常是一個(gè)整體概念,要求把圖片歸一到均值為0,

14、方差為1 下情況下。這個(gè)概念類似于一般正態(tài)分布向標(biāo)準(zhǔn)正態(tài)分布的轉(zhuǎn)化:命題 4 若X N(,2 ),則所以要對(duì)一組圖片中的一張 Xi 進(jìn)行歸一化(標(biāo)準(zhǔn)化),只需要減去均值,除以方差就可以了。均值,方差為2結(jié)果1.識(shí)別率2.特征臉3.人臉重構(gòu)3參考文獻(xiàn)1 數(shù)字圖像處理與機(jī)器視覺Visual C+與Matlab實(shí)現(xiàn) 張錚 王艷平 薛桂香著4 附錄matlab 源碼4.1 人臉識(shí)別% FaceRec.m% PCA 人臉識(shí)別修訂版,識(shí)別率88% calc xmean,sigma and its eigen decompositionallsamples=;%所有訓(xùn)練圖像for i=1:40for j=1

15、:5a=imread(strcat('D:ORLs',num2str(i),'',num2str(j),'.pgm');% imshow(a);b=a(1:112*92); %b是行矢量 1×N,其中N10304,提取順序是先列后行,即從上到下,從左到右b=double(b);allsamples=allsamples; b; % allsamples 是一個(gè)M * N 矩陣,allsamples 中每一行數(shù)據(jù)代表一張圖片,其中M200endendsamplemean=mean(allsamples); % 平均圖片,1 ×

16、Nfor i=1:200 xmean(i,:)=allsamples(i,:)-samplemean; % xmean 是一個(gè)M × N 矩陣,xmean每一行保存的數(shù)據(jù)是“每個(gè)圖片數(shù)據(jù)-平均圖片”end;% 獲取特征值及特征向量sigma=xmean*xmean' % M * M 階矩陣v d=eig(sigma);d1=diag(d);% 按特征值大小以降序排列dsort = flipud(d1);vsort = fliplr(v);%以下選擇90%的能量dsum = sum(dsort);dsum_extract = 0;p = 0;while( dsum_extrac

17、t/dsum < 0.9)p = p + 1;dsum_extract = sum(dsort(1:p);endi=1;% (訓(xùn)練階段)計(jì)算特征臉形成的坐標(biāo)系base = xmean' * vsort(:,1:p) * diag(dsort(1:p).(-1/2);%base 是N×p 階矩陣,除以dsort(i)(1/2)是對(duì)人臉圖像的標(biāo)準(zhǔn)化(使其方差為1) % xmean' * vsort(:,i)是小矩陣的特征向量向大矩陣特征向量轉(zhuǎn)換的過程%while (i<=p && dsort(i)>0)%base(:,i) = dsort

18、(i)(-1/2) * xmean' * vsort(:,i); % base 是N×p 階矩陣,除以dsort(i)(1/2)是對(duì)人臉圖像的標(biāo)準(zhǔn)化(使其方差為1)% i = i + 1; %xmean' * vsort(:,i)是小矩陣的特征向量向大矩陣特征向量轉(zhuǎn)換的過程%end% 以下兩行add by gongxun 將訓(xùn)練樣本對(duì)坐標(biāo)系上進(jìn)行投影,得到一個(gè) M*p 階矩陣allcoorallcoor = allsamples * base; % allcoor 里面是每張訓(xùn)練人臉圖片在M*p 子空間中的一個(gè)點(diǎn),即在子空間中的組合系數(shù)accu = 0; %下面的人臉

19、識(shí)別過程中就是利用這些組合系數(shù)來進(jìn)行識(shí)別% 測(cè)試過程for i=1:40for j=6:10 %讀入40 x 5 副測(cè)試圖像a=imread(strcat('D:ORLs',num2str(i),'',num2str(j),'.pgm');b=a(1:10304);b=double(b);tcoor= b * base; %計(jì)算坐標(biāo),是1×p 階矩陣for k=1:200mdist(k)=norm(tcoor-allcoor(k,:);end;%三階近鄰dist,index2=sort(mdist);class1=floor( (ind

20、ex2(1)-1)/5 )+1;class2=floor(index2(2)-1)/5)+1;class3=floor(index2(3)-1)/5)+1;if class1=class2 && class2=class3class=class1;elseif class1=class2class=class1;elseif class2=class3class=class2;end;if class=iaccu=accu+1;end;end;end;accuracy=accu/200 %輸出識(shí)別率4.2 特征人臉% eigface.mfunction = eigface()%

21、 calc xmean,sigma and its eigen decompositionclose all;clc;clear all;allsamples=;%所有訓(xùn)練圖像for i=1:40for j=1:5a=imread(strcat('D:ORLs',num2str(i),'',num2str(j),'.pgm');% imshow(a);b=a(1:112*92); % b 是行矢量 1×N,其中N10304,提取順序是先列后行,即從上到下,從左到右b=double(b);allsamples=allsamples; b;

22、 % allsamples 是一個(gè)M * N 矩陣,allsamples 中每一行數(shù)據(jù)代表一張圖片,其中M200endendsamplemean=mean(allsamples); % 平均圖片,1 × Nfor i=1:200 xmean(i,:)=allsamples(i,:)-samplemean; % xmean 是一個(gè)M × N 矩陣,xmean每一行保存的數(shù)據(jù)是“每個(gè)圖片數(shù)據(jù)-平均圖片”end;% 獲取特征值及特征向量sigma=xmean*xmean' % M * M 階矩陣v d=eig(sigma);d1=diag(d);%按特征值大小以降序排列d

23、sort = 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;% (訓(xùn)練階段)計(jì)算特征臉形成的坐標(biāo)系%while (i<=p && dsort(i)>0)% base(:,i) = dsort(i)(-1/2) * xmean' * vsort(:,i); % base 是N&#

24、215;p 階矩陣,除以dsort(i)(1/2)是對(duì)人臉圖像的標(biāo)準(zhǔn)化% i = i + 1; % xmean' * vsort(:,i)是小矩陣的特征向量向大矩陣特征向量轉(zhuǎn)換的過程%endbase = xmean' * vsort(:,1:p) * diag(dsort(1:p).(-1/2);% 生成特征臉,并顯示出來for (k=1:p),temp = reshape(base(:,k), 112,92);if(k<21)figure(1);subplot(4,5,k),imshow(mat2gray(temp);elseif(k<41) figure(2);

25、 subplot(4,5,(k-20),imshow(mat2gray(temp);elseif(k<61) figure(3); subplot(4,5,(k-40),imshow(mat2gray(temp);elseif(k<81) figure(4); subplot(4,5,(k-60),imshow(mat2gray(temp);elseif(k<101) figure(5); subplot(4,5,(k-80),imshow(mat2gray(temp); elseif(k<121) figure(6); subplot(4,5,(k-100),imsh

26、ow(mat2gray(temp); elseif(k<141) figure(7); subplot(4,5,(k-120),imshow(mat2gray(temp);elseif(k<161) figure(8); subplot(4,5,(k-140),imshow(mat2gray(temp); elseif(k<181) figure(9); subplot(4,5,(k-160),imshow(mat2gray(temp);else(k<200) figure(10); subplot(4,5,(k-180),imshow(mat2gray(temp);endendavg = reshape(samplemean, 112,92);subplot(4,5,20),imshow(mat2gray(avg),title('平均臉');%將模型保存save('D:ORLmodel.mat', 'base', 'samplemean');4.3 人臉重建% Reconstruct.mfunction = reconstruct()close all;clear all;clcload D:ORLm

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論