計算機視覺基礎大作業(yè)人臉識別_第1頁
計算機視覺基礎大作業(yè)人臉識別_第2頁
計算機視覺基礎大作業(yè)人臉識別_第3頁
計算機視覺基礎大作業(yè)人臉識別_第4頁
計算機視覺基礎大作業(yè)人臉識別_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上計算機視覺基礎期末大作業(yè) 題目:基于matlab的人臉識別系統(tǒng)設計 物聯(lián)網工程 學院 計算機科學與技術 專業(yè)學 號 學生姓名 任課教師 二一六年六月專心-專注-專業(yè)目錄 摘要 人臉識別系統(tǒng)以人臉識別技術為核心,是一項新興的生物識別技術,是當今國際科技領域攻關的高精尖技術。這次設計主要是完成了基于主成分分析(PCA)方法的人臉識別,PCA方法的基本原理是:利用離散K-L變換提取人臉的主要成分,構成特征臉空間,識別時把測試樣本投影到該空間,構成一組投影系數,通過與特征臉的距離比較,距離最小的特征臉對應的即是識別結果?;赑CA的人臉識別其實一種統(tǒng)計性的模板比配方法,原理簡

2、單,易于實現(xiàn),但也有不足,它的識別率會隨著關照,人臉角度,訓練樣本集的數量而變換,但仍不失為一種比較好的方法。關鍵詞:人臉識別、PCA、特征提取1.概述1.1 人臉識別技術 人臉識別技術是采用某種技術和手段對人的身份進行標識,從而依據該標識對人進行身份識別,以達到監(jiān)督、管理和識別目的的一種技術。近年來由于在公安罪犯識別、安全驗證、安全驗證系統(tǒng)、信用卡驗證等方面的巨大應用前景而越來越成為當前模式識別和人工智能領域的一個研究熱點。 人臉識別基本上可分為兩個方面:一是給定一幅待識別人臉圖像,判別它是否是某人,即通常所說的身份驗證,這是個“一對一”的兩分類問題;另一個是給定一幅待識別人臉圖像,判斷它是

3、誰,即通常所說的身份識別,這是一個一對多的問題 基于人臉圖像整體特征的人臉識別方法由于不需要提取人臉圖像中器官的具體信息,而且充分利用到人臉圖像本身具有的灰度信息,因此可獲得更高的識別性能?;谌四槇D像整體特征的人臉識別方法主要有特征臉法,最佳鑒別矢量集法,貝葉斯法,基于傅立葉變換特征法,彈性圖匹配法,相關方法,線性子空間法,可變形模型法和基于人工神經網絡的方法等等。其中彈性圖匹配法和傅里葉不變特征法側重于表述人臉圖像;最佳鑒別矢量集法,貝葉斯法,基于人工神經網絡的方法側重于分類;特征臉法和線性子空間法等側重于人臉圖像的重構。1.2人臉識別基本方法1.2.1幾何特征的人臉識別幾何特征可以是眼、

4、鼻、嘴等的形狀和它們之間的幾何關系(如相互之間的距離)。這些算法識別速度快,需要的內存小,但識別率較低。 1.2.2基于特征臉(PCA)的人臉識別特征臉方法是基于KL變換的人臉識別方法,KL變換是圖像壓縮的一種最優(yōu)正交變換。的圖像空間經過KL變換后得到一組新的正交基,保留其中重要的正交基,由這些基可以低維線性空間。如果假設人臉在這些低維線性空間的投影具有可分性,就可以將這些投影用作識別的特征矢量,這就是特征臉方法的基本思想。這些方法需要較多的訓練樣本,而且完全是基于圖像灰度的統(tǒng)計特性的。目前有一些改進型的特征臉方法,也是本文所要講述的的方法。1.2.3神經網絡的人臉識別神經網絡的輸入可以是降低

5、分辨率的人臉圖像、局部區(qū)域的自相關函數、局部紋理的二階矩等。這類方法同樣需要較多的樣本進行訓練,而在許多應用中,樣本數量是很有限的。 1.3人臉識別新技術 傳統(tǒng)的主要是基于可見光圖像的人臉識別,這也是人們最熟悉的識別方式,已有30多年的研發(fā)歷史。但這種方式有著難以克服的缺陷,尤其在環(huán)境光照發(fā)生變化時,識別效果會急劇下降,無法滿足實際系統(tǒng)的需要。解決光照問題的方案有三維圖像人臉識別,和熱成像人臉識別。但目前這兩種技術還遠不成熟,識別效果不盡人意。 最近迅速發(fā)展起來的一種解決方案是基于主動近紅外圖像的多光源人臉識別技術。它可以克服光線變化的影響,已經取得了卓越的識別性能,在精度、穩(wěn)定性和速度方面的

6、整體系統(tǒng)性能超過三維圖像人臉識別。這項技術在近兩三年發(fā)展迅速,使人臉識別技術逐漸走向實用化。 2.人臉識別功能的實現(xiàn)2.1 PCA方法基本原理設人臉圖像為二維灰度圖像,用維列向量表示。人臉圖像訓練集為,其中為訓練集中圖像總數。根據訓練集構造總體散布矩陣:其中為所有訓練樣本的平均向量:選取一組標準正交且使得準則函數式(3.3)達到極值的向量作為投影軸,其物理意義是使投影后所得特征的總體散布量(類間散布量與類內散布量之和)最大。 其等價于:上式即為矩陣的Rayleig熵,由Rayleigh熵7的極值性質,最優(yōu)投影軸可取為的個最大的特征值所對應的標準正交的特征向量。對于人臉圖像,總體散布矩陣的大小為

7、,對它求解特征值和特征向量是很困難的,由奇異值定理,一種取而代之的方法是解個較小的矩陣。首先計算矩陣的特征向量:、矩陣的特征向量:由差值圖像與線性組合得到取的前個最大特征值的特征向量計算特征臉,由門限值確定:2.2 基于主成分分析法的人臉識別完整的PCA人臉識別的應用包括四個步驟:人臉圖像的預處理;讀入人臉庫,訓練形成特征臉空間;把訓練樣本和測試樣本投影到特征臉空間中;選擇一個距離函數按照某種規(guī)則進行識別。下面看一下詳細的過程:2.2.1 讀入人臉庫 這次設計中選用英國劍橋大學人臉庫即ORL人臉庫,此人臉數據庫有40人,每人有10幅圖像。這些圖像具有以下特點:有些圖像拍攝于不同的時期;人的臉部

8、表情和臉部細節(jié)有著不同程度的變化,比如,笑或不笑,眼睛或睜或閉,戴或不戴眼鏡;人臉姿態(tài)也有相當程度的變化,深度旋轉和平面旋轉可達20。;人臉的尺度也有多達10%的變化;圖像的分辨率是 112x92。在ORL人臉庫中選出每個人的前5幅圖像作為訓練圖像,構成一個200幅圖像的訓練集,剩下的200幅圖像構成測試集。每幅圖像按列相連構成10304維列向量,讀入的訓練樣本集就構成10304×200的矩陣。2.2.2 計算K-L變換的生成矩陣以訓練樣本集的總體散布矩陣為生成矩陣,即:其中為第幅訓練樣本的圖像向量,為訓練樣本集的均值向量,訓練樣本的總數為200。為了求的生成矩陣的特征值和正交歸一化

9、特征向量,由于矩陣維數過高,計算量太大,可以引進奇異值分解定理(SVD定理)。圖2.1 平均臉2.2.3 求解特征值和特征向量 SVD定理的定義:若矩陣,則存在正交矩陣,使得,即,則稱為奇異值分解。其中,為的奇異值,是或的特征值的平方根,即。 奇異值向量具有良好的穩(wěn)定性,所以它對圖像噪音、圖像光照條件引起的灰度變化具有不敏感的特性。計算特征值和特征向量的基本步驟是:(1)創(chuàng)建協(xié)方差矩陣;(2)計算協(xié)方差矩陣的特征值和 特征向量;(3)按特征值由小到大順序排列特征值和特征向量。 這些特征向量對應的圖像很像人臉,所以被稱為“特征臉”。有了這樣一個由“特征臉”組成的降維子空間,任何一幅圖像都可以向其

10、投影并獲得一組坐標系數,這組坐標系數表明了該圖像在“特征臉”子空間的位置,從而可以作為人臉識別的依據。 選擇了其中30個特征臉如下圖所示圖2.2 特征臉2.2.4 樣本投影與識別得到特征臉子空間以后,就要把訓練樣本和測試樣本都投影到特征臉子空間,每幅圖像得到一組坐標系數,對應子空間中的一個點。任何一幅圖像都可以有這組特征臉線性組合,加權系數就是K-L變換的系數。2.3 基于PCA算法人臉識別的matlab實現(xiàn)用matlab語言仿真PCA算法的人臉識別,分為以下幾個步驟:2.3.1 讀取人臉庫allsamples=; % allsample用于存儲讀取的人臉圖像矩陣for i=1:40 for

11、j=1:5 a=imread (strcat ('e: ORLs', num2str (i),'', num2str (j),'.pgm'); b=a (1:112*92); b=double (b); allsamples= allsamples; b; endEnd2.3.2 利用生成矩陣求特征值和特征向量samplemean=mean (allsamples);for i=1:200 xmean (i, :) =allsamples (i, :)-samplemean;endsigma=xmean*xmean'v d=eig (si

12、gma);2.3.3 選取閾值提取訓練樣本特征 上面得到的200個特征向量,雖然已經比較小了,但計算量還是比較大。其實不必要保留所有的特征向量,較大特征值對應的特征向量已經能夠提供足夠多的用于識別的特征。一般是通過計算閾值進一步降低維數,這種方法的具體做法是把特征向量和特征值從大到小排列,選取特征值占總特征值之和的比值大于一定值所對應的特征向量。閾值一般是取0.9。計算公式是。但發(fā)現(xiàn)在這里取0.91更好,識別率更高一點。通過程序運行可以發(fā)現(xiàn),閾值選擇為0.91時特征值個數減少為75個,就是說很多特征值是很小的,數值小的特征值對應的特征向量對識別只能提供很少的信息。所以通過閾值選擇,計算量減少了

13、很多。d1=diag (d);dsort=flipud (d1);vsort=fliplr (v);dsum=sum (dsort);dsum_extract=0;p=0;while (dsum_extract/dsum<0.91) p=p+1; dsum_extract=sum (dsort (1: p);endbase = xmean' * vsort(:,1:p) * diag(dsort(1:p).(-1/2);allcoor=allsamples*base;2.3.4 選取測試樣本進行識別 測試樣本識別的過程就是把測試圖像投影到特征臉子空間,得到一組特征系數,然后按照歐

14、式距離的最小近鄰法與訓練樣本集投影得到的系數匹配,找到距離最小的樣本就是識別的結果。但為了克服單個樣本的偶然性,這里選擇最近的3個樣本,然后把待識別人臉判別為這3個樣本中同類樣本最多的那個類別。a=imread (strcat ('e: ORLs', num2str (i),'', num2str (j),'.pgm');b=a (1:10304);b=double (b);tcoor=b*base; for k=1:200 mdist (k)=norm(tcoor-allcoor(k,:);end;dist, index2=sort (mdis

15、t);class1=floor (index2 (1)-1)/5) +1;class2=floor (index2 (2)-1)/5) +1;class3=floor (index2 (3)-1)/5) +1;if class1=class2 && class2=class3 class=class1;elseif class1=class2 class=class1;elseif class2=class3 class=class2;end;2.4 人臉識別代碼clear allclcallsamples=; % the array allsamples is used to

16、 restore all picturesfor i=1:40 for j=1:7 a=imread(strcat('e:ORLs',num2str(i),'',num2str(j),'.pgm'); b=a(1:112*92); b=double(b); allsamples=allsamples;b; endendsamplemean=mean(allsamples); %average the picturesfor i=1:280 xmean(i,:)=allsamples(i,:)-samplemean;endsigma=xmean*x

17、mean' %obtain the M*M arrayv d=eig(sigma);%vproduces a diagonal matrix D of eigenvalues and a % full matrix V whose columns are the corresponding eigenvectors so %that X*V = V*D.d1=diag(d);%obtain the diagonal of the sigmadsort=flipud(d1);vsort=fliplr(v);dsum=sum(dsort);dsum_extract=0;p=0;while(

18、dsum_extract/dsum<0.90) p=p+1; dsum_extract=sum(dsort(1:p);endbase = xmean' * vsort(:,1:p) * diag(dsort(1:p).(-1/2);allcoor=allsamples*base;accu = 0; for i=1:40 for j=8:10 a=imread(strcat('e:ORLs',num2str(i),'',num2str(j),'.pgm'); b=a(1:10304); b=double(b); tcoor=b*bas

19、e; for k=1:280 mdist(k)=norm(tcoor-allcoor(k,:); end;dist,index2=sort(mdist); class1=floor( (index2(1)-1)/7)+1; class2=floor(index2(2)-1)/7)+1; class3=floor(index2(3)-1)/7)+1; if class1=class2 && class2=class3 class=class1; elseif class1=class2 class=class1; elseif class2=class3 class=class2

20、; end; if class=i accu=accu+1; end; end;end;accuracy=accu/120 2.5 實驗結果及分析 對于ORL人臉庫,選用每人前5幅圖像作為訓練樣本,后5幅圖像作為測試樣本,訓練樣本和測試樣本總數均為200,閾值選為0.91。程序運行可得識別率為0.885。選取的特征空間的維數是88。PCA算法是基于人臉圖像整體特征的人臉識別方法,影響識別率的因素主要有很多,如人臉庫的差異,算法的差異,參數的選擇,都會產生很大的影響。但現(xiàn)在主要考慮兩點因素:(1)閾值的選擇,即特征空間的維數;(2)訓練樣本的數量。下面就看一下選擇不同的參數時候他們各自對識別率的

21、影響如表2.1所示。 表2.1 閾值及樣本數量對識別率的影響每人7幅每人6幅每人5幅每人4幅每人3幅每人2幅每人1幅0.200.35830.36880.32000.35000.36070.34690.32220.400.65000.63120.61500.56670.57140.53750.42500.600.86670.83130.76500.71670.70360.66560.60830.800.93330.89380.86000.80830.76430.73440.64440.850.94170.88750.86000.83330.78570.73750.66390.880.94170.

22、90630.87000.84170.78930.75000.66390.900.94170.90630.88000.84580.78930.75000.67780.920.93330.89380.88000.83330.79640.76250.68060.940.93330.90000.87500.82920.79640.75310.69720.960.93330.89380.88000.82500.78570.74690.6944從上表可以看出當閾值一定時,訓練樣本數的增加會使識別率提高,大概每人每增加一幅圖像,識別率提高4個百分點。在訓練樣本數一定時,閾值的改變也相應的影響識別率,閾值太小

23、的時候識別率顯然很低,大概閾值到0.8以上時,識別率變化不大,這就說明,降低特征矩陣維數不但可以減少計算量,而且基本上不會影響識別率太多。 3.實驗結果及實現(xiàn)功能MATLAB提供了專門的GUI設計工具圖形用戶界面開發(fā)環(huán)境(GUIDE),為了便于操作及演示的需要,利用GUIDE設計了可視化界面。3.1 文件部分 “文件”菜單中有“打開”、“保存”、“退出”二級子菜單,分別用于打開,保存處理后的圖像和退出界面操作。3.2 圖像預處理部分 “圖像處理”菜單主要是完成一些基本的圖像處理功能主要有兩個作用:一個是消除或減少噪聲,改善圖像質量;另一個是模糊圖像,使圖像看起來柔和自然。3.3 訓練部分3.4識別部分 4.總結4.1人臉識別的困難性 人臉識別被認為是領域甚至領域最困難的研究課題之一。人臉識別的困難主要是人臉作為生物特征的特點所帶來的。 4.1.1相似性 不同個體之間的區(qū)別不大,所有的人臉的結構都相似,甚至人臉器官的結構外形都很相似。這樣的特點對于利用人臉進行定位是有利

溫馨提示

  • 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

提交評論