人臉識別實驗報告_第1頁
人臉識別實驗報告_第2頁
人臉識別實驗報告_第3頁
人臉識別實驗報告_第4頁
人臉識別實驗報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、人臉識別一一特征臉方法賈東亞一、實驗?zāi)康?、學(xué)會使用PCA主成分分析法。2、初步了解人臉識別的特征法。3、更熟練地掌握matlab的使用。二、原理介紹1、PCA (主成分分析法介紹)引用一個網(wǎng)上的例子。假設(shè)有一份對遙控直升機操作員的調(diào)查,用x 飛行技能,x 2i)表示飛行員i喜歡飛行的程度。通常遙控直升飛機是很難操作的,只有那些u1所示,數(shù)據(jù)散非常堅持而且真正喜歡駕駛的人才能熟練操作。所以這兩個屬性x 1i)和x2i)相關(guān)性是非常強的。我們可以假設(shè)兩者的關(guān)系是按正比關(guān)系變化的。如下圖里的任意找的向量布在u1兩側(cè),有少許噪聲?,F(xiàn)在我們有兩項數(shù)據(jù), 是二維的。那么如何將這兩項變量轉(zhuǎn)變?yōu)橐粋€來描述飛

2、行員呢由圖中的點的分布可知,如果我們找到一個方向的U,所有的數(shù)據(jù)點在 U的方向上的投影之和最大,那么該U就能表示數(shù)據(jù)的大致走向。 而在垂直于U的方向,各個數(shù)據(jù)點在該方向的投影相對于在U上的投影如果足夠小, 那么我們可以忽略掉各數(shù)據(jù)在該方向的投影,這樣我們 就把二維的數(shù)據(jù)轉(zhuǎn)化成了在 U方向上的一維數(shù)據(jù)。為了將u選出來,我們先對數(shù)據(jù)進行預(yù)處理。先求出所有數(shù)據(jù)的平均值,然后用數(shù)據(jù)與 平均值的偏差代替數(shù)據(jù)本身。然后對數(shù)據(jù)歸一化以后,再代替數(shù)據(jù)本身。而我們求最大的投影和,其實就是求各個數(shù)據(jù)點在U上的投影距離的方差最大。而XTu就是投影的距離。故我們要求下式的最大值: mm1E( x(i )Tu)2 =

3、uT(1 E x(i)x(i)T)umm/i =1i = 1按照u是單位向量來最大化上式,就是求 1孚ix(i)xT的特征向量。而此式是數(shù)據(jù)集 m的協(xié)方差矩陣。在實際應(yīng)用中,我們不止面臨二維的數(shù)據(jù)。因此不能使用幾何的形式呈現(xiàn),但原理也是一樣。就是找到一組相互正交的單位向量u k,然后根據(jù)貢獻率考慮選擇其中的部分作為考量 的維數(shù),這也就實現(xiàn)了數(shù)據(jù)的降維。三、實驗步驟1、將庫里的400張照片分成兩組。一組作為訓(xùn)練,一組作為庫。每個人的前五張照片作為訓(xùn)練,后五張作為庫。訓(xùn)練的照片按照順序的數(shù)字重命名。庫的照片名字不變。2、庫照片處理。 將每一張庫的照片轉(zhuǎn)化成N維的向量。(庫里的照片是112*92,故

4、將轉(zhuǎn)化成的矩陣按列或行展開,就是個10304維的向量)我們稍后要對如此多維的向量用PCA進行降維。然后把這些向量存入一個矩陣里。而我是將這200個向量以列的形式存在了矩陣里。Z = r 1, r2, 3, r4r200 將這200個向量的每個元素相加起來求出平均值。再用Z里的每一個向量減去這個平均值得到每個的偏差。平均值?= 2I0愛0,rk,每個向量的偏差? k = rk- ? 即最后Z = ? 1, ? 2, ? 3, ? 4 ? 200 接下來我們就要針對這些預(yù)處理后的數(shù)據(jù)進行降維。我們要求的N個相互正交的向量就是協(xié)方差矩陣ZZT的特征向量,而對應(yīng)的特征值就是各個向量所占的比重。但是 Z

5、是個 10304*200的矩陣,那么ZZT就是個10304*10304的矩陣。使用 matlab直接求其特征值與特 征向量不太實際。所以我們考慮一個簡單的運算方法:協(xié)方差矩陣的 秩受到訓(xùn)練圖像的限制: 如果有 N個訓(xùn)練樣本,則最多有 N - 1個對應(yīng) 非零特征值的特征向量,其他的特征向量對應(yīng)的特征值都是0。如果訓(xùn)練樣本的數(shù)目比圖像的維數(shù)低,則可以通過如下方法簡化主成份的計算。設(shè) Z是預(yù)處理圖像的矩陣,每一列對應(yīng)一個減去均值圖像之后的圖像。則,協(xié)方差矩陣為S= TTT ,并且對 S的特征值分解為Sy i = TT y i =入 i y i然而,TTT是一個非常大的矩陣。因此,如果轉(zhuǎn)而使用如下的特

6、征值分解。TTTui =入 i Ui此時,我們發(fā)現(xiàn)如果在等式兩邊乘以T,可得到TTTTu =入皿這就意味著,如果 Ui是TTT的一個特征向量,則 v i = Tui是S的一個特征向量。我們的 庫里有200張112 * 92像素的圖像,則 TTT是一個200*200的矩陣,這就比原先的10304 * 10304的協(xié)方差矩陣要容易處理許多。需要注意的是,上面的特征向量v i沒有進行歸一化,如果需要,應(yīng)該在后面在進行處理。降維處理。上面的步驟已經(jīng)求到了所有的特征向量與特征值。而特征值就是各數(shù)據(jù)點在該特征向量上的方差。跟據(jù) PCA我們要選出占主要比重的特征向量即可,而判定標準就是特征值。先把方差(特征

7、值)降序排列,并把對應(yīng)的特征向量也排列好。依次選擇方差,使選出的方差和占所有方差和大約 95%左右。然后選擇對應(yīng)的特征向量。其余的特征向量與特征值可以拋棄不用了。這就完成了降維。(中一共有200個不為零的方差(特征值)歸一化處理。數(shù)據(jù)歸一化處理是數(shù)據(jù)挖掘的一項基礎(chǔ)工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到數(shù)據(jù)分析的結(jié)果, 為了消除指標之間的量綱影響, 需要進行 數(shù)據(jù)標準化處理,以解決數(shù)據(jù)指標之間的可比性。 原始數(shù)據(jù)經(jīng)過數(shù)據(jù)標準化處理后, 各指標處于 同一數(shù)量級,適合進行綜合對比評價。我使用的是Z-score法。經(jīng)過處理得數(shù)據(jù)符合標準正態(tài)分布,即均值為0,標準差為1,轉(zhuǎn)化

8、函數(shù)為? x- WX.= (T其中心為所有數(shù)據(jù)的均值,b為所有樣本數(shù)據(jù)的標準差。在里求得的特征值就是方差。所以我們要用,乘上每一個對應(yīng)的特征向量。,入k本來這個歸一化處理應(yīng)該放在第一步的數(shù)據(jù)預(yù)處理那里。但由于那里的計算還沒有涉及到協(xié)方差矩陣,而我們需要的方差在后面才出現(xiàn),故把歸一化處理放在這里。即中,1丫 i = =Tqa/X i這些特征向量都是 10304*1的大小,跟我們一開始處理后的照片向量的大小一樣。這些就是特征臉。特征臉可以線性組合成所有庫里的臉。 用特征臉對庫里的臉進行標示,也就是將庫里的每張臉圖數(shù)據(jù)轉(zhuǎn)化成各個特征臉所占的比重。即3k = YT? i,i = 1,2,3-200,k

9、 = 1,2,3-n, n 是最后選出的方差數(shù)量i = ci)1, Ci)2,GJ3,a)4,wn 人臉識別。先對訓(xùn)練的臉圖進行預(yù)處理。預(yù)處理即中所說的求偏差。求到訓(xùn)練圖的偏差向量后,如那樣用特征臉對訓(xùn)練圖進行標示。即求得Q?= gi)1, GD2,GD3,GD4,,Gi)n然后求 T與:的歐式距離,此距離表明兩圖的接近度。即,T T 2llQ?- Qi II該距離越小,則這兩張圖越接近,則越有可能是同一個人。四、編程實現(xiàn)代碼:函數(shù):zz , y, tzl=circ(), 對庫圖像的處理,并求出處理訓(xùn)練圖像需要的特征臉和數(shù)據(jù)平 均值。function LiZjy, 121J - circ( )

10、紅f是經(jīng)過特征臉標示的庫圖像版是庫圖像的效據(jù)平均值缸21是特征航F=zerQa(92*11);z=zeros (92* 112 200):d=l;for i=l:40for 10if x<1044j<10t= . nu»2str (i) ' 0T rLtnn2str <j). bmp ;a=imread t *;a=doubl? (a):y=y+a(:):z (:j d)=a(:) : d=d+l;else if10)t= J 00J ru*2str (i) J 10- trap-' 1 :a=imread t):y=y+a(:):2d)=a(: )

11、 : d=d+l ;else if i>=10&£j<10t= 0 num"si r (i) * 口* nuuiSstr (j 1 . bmp"; a=imread<t' ;a=double(a);y=y+a(:);z(f d)=a (:) ; d=d+l:else if i)=10&ij=10J y nun2str(i) ' IC. binpJ; a=imr«ad(t); a=double(a). y=jrl-3:); (ir d)(:) : d=d+l :end end end end end end

12、 y=y/200:時是平均值far 1=1:200 z(:, end sinz mn ; fsiTnvcc, b=cif,sin1 ;茍沒用,wimut二是特證向量集(si*),%fimva二是恃征值隼sunvalj lzid=SdtT . sii.valj - des c end"), siJnvec= suvec1 ind' 1;ETfc=O; for i=:210 sun= snjm+s i mval (i);endMu1為持證值的和d=0 r v*ighl=0, suml=0. while weight<0 95) dd+l: suml=simval (d) +

13、stunl ; veight=sujnl/sum:Jld為胞的特征向星的數(shù)量 ”£曲七為最整的比重end simval=£iiLvalklid, ii : sijnval,=5iiiv31. ' -Q. 5); simvec=sinvec(:j 1:d); til=;*sijii7ec*diag (sLiivali , zz=z' *lzl zz=z:J ;函數(shù):ws=ld(zz,y,tzl)這三個自變量都是上面的函數(shù)的輸出變量。Ws是200張訓(xùn)練人臉識別的正確性。if yushu=Oif zhengshu>8g1=zhengEhu,elseg l=&

14、quot;hengshu.endftmctiori ve = Id ( Z2? y t zl Jalse再"為"0張訓(xùn)練大臉識別的正確率if zhengshu>8ct=O :ws-0.gl=zherLgshu+l ;for k=l;ZOOelseks= niniZstr (k)'.匕硬 :jl=zhengshu+l :ss-ijnreads);andSiJiishovfss):end55=d.ouble * ssi :ky=mod(l£j 5):ss=ss(:)-y:kz=(k-ky1/5;SS=3SJ *t zl :if ky=05g=£

15、三;特定臉標示賓畢g2=kz:用開始識別elseOSJ=:g24工+1 ;far i= 1:200endos j= osjjnormss-zzf;, i)> 2):if El=g2endct 二 ct 十二;iuiujUj 凱石 dd =min 'cs j1 :endyTLEhu-modadd 5).ws=ct/200;zhengsliu=1 anadd-yushu) /5:end運行結(jié)果: » xjyj z=circ();» ws=ld(iJyJ z)vs =0. 9150200張訓(xùn)練圖片的識別率為 加了顯示代碼后顯示的圖片結(jié)果:五、實驗總結(jié)收獲:這次實驗讓我更加熟練地應(yīng)用了matlab。對矩陣的運算也理解地更加的透徹。學(xué)習(xí)了PCAPC成分分析法,這個方法在分析較多的數(shù)據(jù)時是非常有用的。在如今的大數(shù)據(jù)時代,是個非常實用的分析手段。這次在做實驗的過程中, 上網(wǎng)查閱了許多關(guān)于人臉識別的資料,發(fā)覺雖然自己完成了初步的人臉識別的功能,但遠遠沒有達到現(xiàn)實生活的需求。我們做實驗的orl 庫的像素不僅非常低, 而且每張人臉的位

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論