基于PCA和BP神經網絡的人臉識別方法_第1頁
基于PCA和BP神經網絡的人臉識別方法_第2頁
基于PCA和BP神經網絡的人臉識別方法_第3頁
基于PCA和BP神經網絡的人臉識別方法_第4頁
基于PCA和BP神經網絡的人臉識別方法_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于PCA和BP神經網絡的人臉識別方法摘要:基于PCA和BP神經網絡的人臉識別方法是針對PCA方法中存在的問題和它對未訓練過的樣本識別率低的缺點而提出的。該方法在預處理的基礎上,利用PCA處理人臉特征,提取其中分類能力強的特征,實現(xiàn)在識別精度不變的情況下,有效的去除冗余信息;然后將約簡后的屬性輸入到神經網絡進行規(guī)則提取,利用神經網絡非線性映射和并行處理的特點,增強對人臉圖像識別的泛化能力。實驗證明,使用該方法在識別率上有一定的提高。關鍵詞:人類識別、BP神經網絡、PCA、特征提取引言人臉識別特指利用分析比較人臉視覺特征信息進行身份鑒別的計算機技術。人臉識別是一項熱門的計算機技術研究領域,可以將

2、人臉明暗偵測,自動調整動態(tài)曝光補償,人臉追蹤偵測,自動調整影像放大;它屬于生物特征識別技術,是對生物體(一般特指人)本身的生物特征來區(qū)分生物體個體。進行人臉圖像識別研究具有很大的使用價值。如同人的指紋一樣,人臉也具有唯一性,也可用來鑒別一個人的身份。現(xiàn)在己有實用的計算機自動指紋識別系統(tǒng)面世,并在安檢等部門得到應用,但還沒有通用成熟的人臉自動識別系統(tǒng)出現(xiàn)。人臉圖像的自動識別系統(tǒng)較之指紋識別系統(tǒng)、DNA鑒定等更具方便性,因為它取樣方便,可以不接觸目標就進行識別,從而開發(fā)研究的實際意義更大。并且與指紋圖像不同的是,人臉圖像受很多因素的干擾:人臉表情的多樣性;以及外在的成像過程中的光照,圖像尺寸,旋轉

3、,姿勢變化等。使得同一個人,在不同的環(huán)境下拍攝所得到的人臉圖像不同,有時更會有很大的差別,給識別帶來很大難度。因此在各種干擾條件下實現(xiàn)人臉圖像的識別,也就更具有挑戰(zhàn)性。當前大多數人臉識別算法是基于統(tǒng)計的方法,如特征臉方法(PCA)、Fisher臉方法、奇異值分解方法、神經網絡方法和支持向量機等,這些方法中影響較大的是Turk和Pentland提出的特征臉(EigenFace)方法即PCA方法。PCA是基于主元分析的特征提取,把所有的不同人臉的樣本放在一起提取,以所有人的人臉樣本最優(yōu)重建為目的。因此,對于人臉樣本之間的差異而言它存在著明顯的缺陷,從這方面講它來描述人臉識別的特征是不充分的。而且它

4、對未訓練過的樣本識別率較低,所以我們可提出一種基于PCA和BP神經網絡的人臉識別方法。1、系統(tǒng)設計的基本原理PCA的基本原理主成分分析(PrincipalComponentAnalysis,PCA)或者主元分析。是一種掌握事物主要矛盾的統(tǒng)計分析方法,它可以從多元事物中解析出主要影響因素,揭示事物的本質,簡化復雜的問題。計算主成分的目的是將高維數據投影到較低維空間。給定n個變量的m個觀察值,形成一個n的數據矩陣,n通常比較大。對于一個由多個變量描述的復雜事物,人們難以認識,那么是否可以抓住事物主要方面進行重點分析呢?如果事物的主要方面剛好體現(xiàn)在幾個主要變量上,我們只需要將這幾個變量分離出來,進行

5、詳細分析。但是,在一般情況下,并不能直接找出這樣的關鍵變量。這時我們可以用原有變量的線性組合來表示事物的主要方面,PCA就是這樣一種分析方法。舉一個例子來說,對于一個訓練集,100個對象模板,特征是10維,那么它可以建立一個100*10的矩陣,作為樣本。求這個樣本的協(xié)方差矩陣,得到一個10*10的協(xié)方差矩陣,然后求出這個協(xié)方差矩陣的特征值和特征向量,應該有10個特征值和特征向量,我們根據特征值的大小,取前四個特征值所對應的特征向量,構成一個10*4的矩陣,這個矩陣就是我們要求的特征矩陣,100*10的樣本矩陣乘以這個10*4的特征矩陣,就得到了一個100*4的新的降維之后的樣本矩陣,每個特征的

6、維數下降了。當給定一個測試的特征集之后,比如1*10維的特征,乘以上面得到的10*4的特征矩陣,便可以得到一個1*4的特征,用這個特征去分類。所以做PCA實際上是求得這個投影矩陣,用高維的特征乘以這個投影矩陣,便可以將高維特征的維數下降到指定的維數。BP神經網絡基本原理BP(BackPropagation)網絡是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W絡,是目前應用最廣泛的神經網絡模型之一。BP網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規(guī)則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。BP神經網絡模型拓撲結構

7、包括輸入層(input)、隱層(hidelayer)人工神經網絡是由簡單的處理單元所組成的大量并行分布的處理機,這種處理機具有存儲和應用經驗知識的自然特性,它與人腦的相似之處概括為兩個方面:一是通過學習過程利用神經網絡從外部環(huán)境中獲取知識;二是內部神經元用來存儲獲取的知識信息。BP神經網絡是采用有教師學習算法的典型的多層前向神經網絡。它具有強大的計算能力,能通過訓練掌握學習樣本蘊含的輸入輸出映射關系,在分類和預測當中都有著廣泛的應用。輸人層輸出層圖1單層前饋網絡圖2多層前饋網絡2、系統(tǒng)設計思路采用PCA+最鄰近分類器來演示一個簡單的人臉識別系統(tǒng)。采用PCA+最鄰近分類器針對ORL人臉數據庫計算

8、其識別率。采用PCA+BP神經網絡針對ORL人臉數據庫來探索PCA維數,BP神經網絡各參數對人臉識別率的影響。本設計主要介紹第三種設計方法,選取影響較大的特征臉方法,即PCA人臉識別方法進行研究,針對特征臉方法提取出的特征維數過高和姿態(tài)變化時泛化能力不強的缺點,提出一種PCA和神經網絡相結合的人臉識別方法。該方法首先,運用PCA方法對人臉圖像進行特征提??;然后,對PCA方法提取的特征按照屬性重要度的大小進一步進行約簡,只保留那些屬性重要度比較大的屬性;最后,將提取出的最終人臉特征輸入神經網絡進行訓練和識別。開始樣本矩陣求出協(xié)方差矩陣計算特征值特征值從大到小排序選出了滿足要求的前q個特征值計算對

9、應特征向量投影矩陣圖3PCA流程圖圖4BP神經網絡流程圖(1)基本流程:1)將原始人臉圖像集A中的每幅圖像進行尺寸歸一化處理,得到歸一化后的人臉圖像集;2)利用經典PCA方法計算特征子空間以及每張人臉在特征子空間中的投影系數。其中特征子空間由按特征值大小進行降序排列的特征向量組成;3)按照重要度選擇特征子空間中屬性重要度大的特征主分量;4)將選擇出的重要度大的特征主分量輸入BP神經網絡進行訓練,直到神經網絡收斂或滿足停止訓練的條件;5)識別過程。(2)人臉空間的建立假設一幅人臉圖像包含N個像素點,它可以用一個N維向量PI表示。這樣,訓練樣本庫就可以用P(i=l,,M)表示。協(xié)方差矩陣C的正交特

10、征向量就是組成人臉空間的基向量,即特征臉。將特征值由大到小排列:X1X2.Xr,其對應的特征向量為s。這樣每一幅k人臉圖像都可以投影到由ul,u2,.,ur張成的子空間中。因此,每一幅人臉圖像對應于子空間中的一點。同樣,子空間的任意一點也對應于一幅圖像。(3)特征向量的選取雖然協(xié)方差矩陣Q最多有對應于非零特征值的k(k遠小于M)個特征向量,但是通常情況下,k仍然很大,而事實上,根據應用的要求,并非所有的特征向量都有需要保留,而特征空間投影的計算速度是直接與創(chuàng)建子空間所用的特征向量的數目相關,若考慮到計算時間的因素,可以適當的減去一些信息量少的特征向量,而且,去掉這些特征向量之后不一定不利于分類

11、結果,有的情況下反而能夠提高識別性能。(4)BP神經網絡的算法BP學習算法實際包含了兩類信號不同方向的傳播過程,一類是施加輸入信號由輸入層經隱層到輸出層,產生輸出響應的“輸入模式正向傳播”過程;另一類是希望輸出與實際輸出之間的誤差信號由輸出層返回隱層和輸入層,反向逐層修正連接權值和神經元輸出閾值的“誤差逆?zhèn)鞑ァ边^程?!拜斎肽J秸騻鞑ァ焙汀罢`差逆?zhèn)鞑ァ边^程反復交替進行網絡訓練,最終達到網絡的全局誤差向極小值收斂(即實際輸出逐漸逼近希望輸出)而結束學習過程。BP學習算法具體編程步驟:初始化;2提供訓練樣本;3.輸入模式正向傳播過程計算;4誤差的逆?zhèn)鞑ミ^程計算;各層網絡權值和閾值的修正計算;返回提

12、供訓練樣本步驟重新計算直到全局誤差E,或者達到最大學習次數結束學習;3、實驗結果及分析1)PCA+最鄰近分類器人臉識別系統(tǒng)實驗中選取的圖像經過簡單的分類器識別后,都能進行正確的識別。在使用該系統(tǒng)時,只需測試者提供三張頭像圖片,將其壓縮成與原數據庫圖片相同大小,然后2張放入訓練數據庫,1張用來測試。數據庫采用ORL人臉數據庫,該數據庫有400張人臉。40個人,每個人10張頭像(每個人每張頭像或表情不同,或傾斜度不同)。設計中,每個人選取前5張頭像,共200張構成訓練樣本集,另外200張頭像構成測試樣本集。運行程序得到識別率為0.88。2)PCA+BP神經網絡識別系統(tǒng)數據庫仍采用ORL人臉數據庫,

13、先在400張人臉中選取一部分作為訓練樣本集,對其進行PCA降維,形成特征臉子空間;再將剩余的人臉作為檢測集,將其投影到特征臉子空間;采用BP神經網絡對訓練樣本集進行訓練,然后再用檢測集進行識別率測試1、BP神經網絡識別中存在的問題在采用BP神經網絡進行訓練過程中,由于可調參數過多,會對識別率產生一定的影響,故在設計中針對可調參數反復進行測試,對比來尋找最快,最優(yōu)識別的網絡參數。下面列出可能影響網絡性能的各個參數:(1)BP網絡訓練函數的選?。?)BP網絡學習速率,迭代次數,誤差,梯度的設定(3)PCA主成分比例的選?。?)BP網絡隱層節(jié)點數的選?。?)訓練集和測試集容量的選取2、網絡訓練函數的

14、選取當采用一般的基于梯度下降的BP網絡進行訓練時,由于固定的學習速率,有限的迭代次數,較小的設定誤差和截止梯度,致使網路有較長的訓練時間,而且還不一定能達到要求的精度,這會大大影響識別率。經過多次訓練函數的嘗試,最終選擇帶有動量相的自適應學習率的訓練函數traingdx。下面表格顯示出了三種訓練函數在訓練速度上的對比:主成分比例嚴數據維數F隱層節(jié)點數”識別率屮誤差盧迭代歸數屮學習率護訓綢函數函數存訓練時間s)申420.0001運行時0血缶D一站0.0001w;沒有記0.9111P4仙。血Q.QW錄:最03111P1孵0.7050.0001W短不低0.9112附0.7150.0001w:于s分0

15、或112化血0.0001W鐘心Q.244加叮&井0.0001P0.72E100*盡管采用添加動量相的BP算法,由于學習速率固定,網絡的訓練速度仍舊很慢。如果盲目的增加學習速率,又會造成網絡在某處的波動。因此,訓練函數采用帶動量相的自適應學習速率的算法較為合適。修改之后,網絡的訓練時間均在10s鐘左右,大大提供了識別速率。3、BP網絡性能參數的設定上表中,為了縮短運行時間,通過加大截止誤差和設定迭代次數的方法來加快程序運行,這樣會在一定程度上降低識別率。當采用traingdx的訓練函數后,網絡運行速度加快,將截止誤差設定為0,迭代次數仍設定為10000,發(fā)現(xiàn)每次促使訓練停止的為默認的截止梯度。此

16、時的網絡誤差已足夠小。4、維數、隱層節(jié)點數的選取1.下面一組實驗將ORL人臉數據庫中每個人的前9張頭像作為訓練集(共360張),第10張頭像作為測試集(40張);BP網絡訓練函數為traingdx,截止誤差設為0,截止迭代次數為10000,截止梯度為默認;分別對PCA主成分為0.8P0.0001中221320.79O.OOOOI&2=2Z圧20.820.000001*2120.72(K匕20.815O.OOOOOU3d2=22加0.20.000001+2購W031121000.741.08e-1041扣31122皿“0.74g氐4062oa1121500.7559丸-L24熾3:從上表可以看出

17、:0.7、0.8、0.9,隱層節(jié)點數為30:10:150下進行網絡訓練,并通過測試集計算識別率得到下表王成廿比例叮卩主成分比例0加主成分比例0*數據維數血數據維數4笄數摒錐數10卻隱層節(jié)點數“識別率心隱啟節(jié)點數:識別斡隱啟節(jié)點數*識別率“0.825(;3加0.8M:0戲眇0.85000.S25OP0.80000.8505加0.80000.7750妙初曲0.82500.850043720.87500.82500.82500.87500舫血0.8750血0.925(:血血O.875OP100p0舫血JOOp0.875P0.8500P11W0.825011喊颶110.87501220.8000*L2

18、W0.8750:12W0.825(13OP0.850(130P0.90MP1弧O.85Q0P1400鬼血1400.9(W140150p爐150p0.875015(OJOAOp從上表數據得出:(1)不同隱層節(jié)點數時,識別率變化不大,大多集中在0.8到0.9之間。隱層節(jié)點數和識別率不成線性變化,當隱層節(jié)點數增加時,識別率波動變化。這說明,隱層節(jié)點數的選取在一準則下確定初值后還需要帶進網絡進行試湊。(2)當PCA選擇不同的主成分比例時,數據降到不同的維數,比較不同維數下的識別率,幾乎還是集中在0.8到0.9之間。(3)不同維數下相同的隱層節(jié)點數不具有可比性。其他參數不變,將ORL人臉數據庫中每個人的

19、前8張頭像作為訓練集(共320張),后2張頭像作為測試集(80張);分別對PCA主成分為0.7、0.8、0.9,隱層節(jié)點數為30:10:150下進行網絡訓練,并通過測試集計算識別率得到下表:主成分比例上沖主成兌比例0.S4主成分比例0腫數據維數23數據維數A2數據維數W隱層節(jié)點數申1識別率衛(wèi)隱層節(jié)點數門識另!率申隱層節(jié)點數屮識別率衛(wèi)0.537532O.B51543仙0.825(40P0.875OP0.8875P0.83750.8625P0.9W0.7875620.90000.800070POJOOOPO.925OP0.8375O.S75OPg仙0.SS7543血0.875(颶0.8750PD.

20、900043弧0.86259砂鷲盼0.88751WP0.33750.9250110430.8500120業(yè)21血0.88?5如0.850G+0.9250P1300.90G(P13W.86254仙14t冊0.8623匕2G.9000*115(0.9125匕20.8375其他參數不變,將ORL人臉數據庫中每個人的前7張頭像作為訓練集(共280張),后3張頭像作為測試集(120張);分別對PCA主成分為0.7、0.8、0.9,隱層節(jié)點數為30:10:150下進行網絡訓練,并通過測試集計算識別率得到下表:王成甘比例叮卩王成分比例0朋主成竹比例陽數據維數珈數1S維數3汩數據維數8隱層節(jié)點數卩識別率卩隱層

21、節(jié)點數卩:識別率存隱層節(jié)點數衛(wèi)識別率衛(wèi)0.8417、O.775DP:竝;.77500.8157WO.SCOOp0.8(XX0.8667-0.8500P0.78330.875(O.8833P:娥:0.80837如0.875(O.85ODP7如0.S1W妙10.8567g腫O.85OOP1C.8(XX)gw0.8&67妙0.8833:92|0.8333伽0.875(loopO.8833P站0.7171血01917hopO.875OP11W0.816712W0.875(、12“0.8667心:12W0.85001330.925(1300.8833如0.808314(10.875014O.875OP1

22、40.85831曲O.Q167中150p:0.5000O.S333其他參數不變,將ORL人臉數據庫中每個人的前5張頭像作為訓練集(共200張),后5張頭像作為測試集(200張);分別對PCA主成分為0.7、0.8、0.9,隱層節(jié)點數為30:10:150下進行網絡訓練,并通過測試集計算識別率得到下表:主成分比例0*主成分比例0腫主成分比例仙數據維數1沖數據維數3如數據維數73隱層節(jié)點數卩識別率r隱層節(jié)點數p識別率卩隱層節(jié)點數屮;識別率|0.665043330血巧20.67500.665f餉0.74500.705(0.6050卩0.76500.735(。.血20.7&?07腫0.7250430馬5

23、0心妙0.7750;妙:0.735(0.65500.7750gw.0.750(颶吠冊叫0.77001000.735(10O.68(H0.7800:hop:0.7200120.6650權廝0.7&50P如”畑臥0.67504130OJdCOP1300.7600鼻0.675014E0.7500140p0.725(14Z(.675(150p0.7750P150p-0.725(;15(5、訓練集和測試集容量的選?。?)比較表2到表5中數據發(fā)現(xiàn):表2到表4人臉的識別率變化不大,集中在0.8到0.9之間;表5中整體識別率明顯小于表2到表4,這說明識別率與訓練樣本集存在一定的關系,訓練樣本集越大,包含的信息

24、越多,越容易識別。(2)從表5中也觀察到:PCA主成分升高,識別率有了一定程度的減小。這說明了,在某些條件下,PCA主成分的比例還是會影響到識別率的大小??偨Y本次課程設計,我們在給定人臉數據庫的前提下,完成了人臉的PCA特征提取,并且會采用最鄰近分類器(歐氏距離)BP神經網絡分類器進行人臉的模式分類及識別。我們將主要工作集中在了PCA+BP神經網絡識別系統(tǒng)的研究上。在不斷測試過程中,我們得出:(1)固定的學習速率會影響網絡的訓練速度(2)在網絡訓練速度較慢時,截止誤差,迭代次數都會影響識別率(3)相同數據下,采用帶動量相的自適應學習率訓練函數(traingdx)可以大大加快網絡訓練速度(4)P

25、CA主成分比例的選取與隱層節(jié)點數的選擇沒有得到結論性成果,只能從數據中分析出它們在某些情況下影響識別率,因此,設計時,它們的選取必須結合數據來試湊出最佳的識別方案(5)訓練樣本集越大,包含信息越多,越易于識別遇到的問題及后續(xù)研究:設計過程中,不論參數如何調整,都不能達到百分之百的識別率。在算法原理、程序都無誤的前提下,只能是遇到方法的瓶頸。后續(xù)工作中,可以從改進算法上進行入手,也可以從其他算法上進行識別率的對比研究。致謝在設計過程中,感謝大家從網上找到了許多資料和程序,經過我們共同討論、研究確定了這個與我們所學課程相結合的課題;在編程過程中,大家對程序提出了許多寶貴的意見,這些對于我們課題的順

26、利進行至關重要;程序編制完成后,正是在大家的分工合作下,才得到這么多寶貴的數據;感謝大家這兩個星期來的共同努力!經過本次課程設計,我們組的成員對PCA降維的原理和使用以及對BP神經網絡參數的調整有了更深刻的掌握;提高了自身matlab的編程能力;同時對我們模式識別的課程進行了鞏固。參考文獻1龔勛.PCA與人臉識別及其理論基礎。2007年4月2蔣遂平.人臉識別技術及應用簡介。北京:中國計算機世界出版社,2003年12月司馬江龍,鄧長壽.基于BP神經網絡的人臉識別系統(tǒng)。江蘇:九江學院學報(自然科學版).20114鄭明偉.基于PCA和BP神經網絡的人臉識別方法。山東:濰坊職業(yè)學院.2011年9月附錄

27、一:組構成及分工組長:馬偃亳組員:杜鵬飛鄭博邢凱麗盧亞南張超李亞萍李莎莎孫源呈朱妍雯王苗苗張曉參路亞緹分工:查找文獻、資料:張超,路亞緹文獻、資料篩選:孫源呈,張曉參人臉數據庫搜索及人臉圖像采集:王苗苗程序編制及調試:邢凱麗,馬偃亳數據采集及結果分析:盧亞南,杜鵬飛6.ppt制作:李亞萍,鄭博7.課程設計報告:朱妍雯,李莎莎附錄二:程序代碼:1.PCA+最鄰近分類器用于簡單人臉識別的演示程序:(1)主程序:example.mclearallclccloseall%YoucancustomizeandfixinitialdirectorypathsTrainDatabasePath=uigetd

28、ir(C:UsersAdministratorDesktopidentifyPCA_basedFaceRecognitionSystem,Selecttrainingdatabasepath);TestDatabasePath=uigetdir(C:UsersAdministratorDesktopidentifyPCA_basedFaceRecognitionSystem,Selecttestdatabasepath);prompt=Entertestimagename(anumberbetween1to10):;dlg_title=InputofPCA-BasedFaceRecogniti

29、onSystem;num_lines=1;def=1;TestImage=inputdlg(prompt,dlg_title,num_lines,def);TestImage=strcat(TestDatabasePath,char(TestImage),.jpg);im=imread(TestImage);T=CreateDatabase(TrainDatabasePath);m,A,Eigenfaces=EigenfaceCore(T);OutputName=Recognition(TestImage,m,A,Eigenfaces);SelectedImage=strcat(TrainDa

30、tabasePath,OutputName);SelectedImage=imread(SelectedImage);imshow(im)title(TestImage);figure,imshow(SelectedImage);title(EquivalentImage);str=strcat(Matchedimageis:,OutputName);disp(str)(2)將人臉圖像讀入構成人臉矩陣數據庫:functionT=CreateDatabase(TrainDatabasePath)TrainFiles=dir(TrainDatabasePath);Train_Number=0;fo

31、ri=1:size(TrainFiles,1)ifnot(strcmp(TrainFiles(i).name,.)|strcmp(TrainFiles(i).name,.)|strcmp(TrainFiles(i).name,Thumbs.db)Train_Number=Train_Number+1;%NumberofallimagesinthetrainingdatabaseendendT=;fori=1:Train_Number%Ihavechosenthenameofeachimageindatabasesasacorresponding%number.However,itisnotma

32、ndatory!str=int2str(i);str=strcat,str,.jpg);str=strcat(TrainDatabasePath,str);img=imread(str);img=rgb2gray(img);irowicol=size(img);temp=reshape(img,irow*icol,1);%Reshaping2Dimagesinto1DimagevectorsT=Ttemp;%Tgrowsaftereachturnend形成特征臉子空間:functionm,A,Eigenfaces=EigenfaceCore(T)m=mean(T,2);Train_Number

33、=size(T,2);A=;fori=1:Train_Numbertemp=double(T(:,i)-m%ComputingthedifferenceimageforeachimageinthetrainingsetAi=Ti-mA=Atemp;%MergingallcenteredimagesendL=A*A;%ListhesurrogateofcovariancematrixC=A*A.VD=eig(L);%DiagonalelementsofDaretheeigenvaluesforbothL=A*AandC=A*A.L_eig_vec=;fori=1:size(V,2)if(D(i,

34、i)1)L_eig_vec=L_eig_vecV(:,i);endendEigenfaces=A*L_eig_vec;end識別程序:functionOutputName=Recognition(TestImage,m,A,Eigenfaces)ProjectedImages=;Train_Number=size(Eigenfaces,2);fori=1:Train_Numbertemp=Eigenfaces*A(:,i);%ProjectionofcenteredimagesintofacespaceProjectedImages=ProjectedImagestemp;endInputIm

35、age=imread(TestImage);temp=InputImage(:,:,1);irowicol=size(temp);InImage=reshape(temp,irow*icol,1);Difference=double(InImage)-m;%CenteredtestimageProjectedTestImage=Eigenfaces*Difference;%TestimagefeaturevectorEuc_dist=;fori=1:Train_Numberq=ProjectedImages(:,i);temp=(norm(ProjectedTestImage-q)A2;Euc

36、_dist=Euc_disttemp;endEuc_dist_min,Recognized_index=min(Euc_dist);OutputName=strcat(int2str(Recognized_index),.jpg);2.PCA+最鄰近分類器計算人臉識別率:functionFaceRec()allsamples=;fori=1:40forj=1:5a=imread(strcat(C:UsersAdministratorDesktopidentifyORLs,num2str(i),num2str(j),.bmp);b=a(1:112*92);b=double(b);allsampl

37、es=allsamples;b;endendsamplemean=mean(allsamples);fori=1:200 xmean(i,:)=allsamples(i,:)-samplemean;endsigma=xmean*xmean;vd=eig(sigma);d1=diag(d);dsort=flipud(d1);vsort=fliplr(v);dsum=sum(dsort);dsum_extract=0;p=0;while(dsum_extract/dsum0.9)p=p+1;dsum_extract=sum(dsort(1:p);endi=1;base=xmean*vsort(:,

38、1:p)*diag(dsort(1:p).八(-1/2);allcoor=allsamples*base;accu=0;fori=1:40forj=6:10a=imread(strcat(C:UsersAdministratorDesktopEEA3ESEEA3EyYaORLs,num2str(i),num2str(j),.bmp);b=a(1:10304);b=double(b);tcoor=b*base;fork=1:200mdist(k)=norm(tcoor-allcoor(k,:);enddist,index2=sort(mdist);class1=floor(index2(1)-1)/5)+1;class2=floor(index2(2)-1)/5)+1;class3=floor(index2(3)-1)/5)+1;ifclass1=class2&class2=class3class=class1;elseifclass1=class2class=class1;elseifclass2=class3class=class2;endifclass=iaccu=accu+1;endendaccuracy=accu/2003.PCA+BP神經網絡計算人臉識別率functionrenlian2()%clc;clear;allsamples=;n1=40;n2=10;testn

溫馨提示

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

評論

0/150

提交評論