人臉識別課程設(shè)計附帶代碼_第1頁
人臉識別課程設(shè)計附帶代碼_第2頁
人臉識別課程設(shè)計附帶代碼_第3頁
人臉識別課程設(shè)計附帶代碼_第4頁
人臉識別課程設(shè)計附帶代碼_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.../人臉識別中圖像預(yù)處理的研究1.課程設(shè)計目的隨著人工智能技術(shù)的興起,以及人類視覺研究的進展,人們逐漸對人臉圖像的機器識別投入很大的熱情,并形成了一個人臉圖像識別研究領(lǐng)域,這一領(lǐng)域除了它的重XX論價值外,也極具實用價值。如同人的指紋一樣,人臉也具有唯一性,也可用來鑒別一個人的身份。人臉圖像的自動識別系統(tǒng)較之指紋識別系統(tǒng)、DNA鑒定等更具方便性,開發(fā)研究的實際意義更大。然而人臉圖像受很多因素的干擾,給識別帶來很大難度。國外對于人臉圖像識別的研究較早,現(xiàn)己有實用系統(tǒng)面世,只是對于成像條件要求較苛刻,應(yīng)用范圍也就較窄,國內(nèi)也有許多科研機構(gòu)從事這方而的研究,并己取得許多成果。2.方法綜述2.1特征臉法〔PCA:把單個圖像看成一維向量,眾多的一維向量形成了人臉圖像特征空間,再將其變換到一個新的相對簡單的特征空間,通過計算矩陣的特征值和特征向量,利用圖像的代數(shù)特征信息,尋找"人臉"、"非人臉"兩種模式在該特征空間中的分布規(guī)律。2.2人工神經(jīng)網(wǎng)絡(luò)〔ANN法:通過訓(xùn)練一個網(wǎng)絡(luò)結(jié)構(gòu),把模式的統(tǒng)計特性隱含在神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)之中?;谌斯ど窠?jīng)網(wǎng)絡(luò)的方法對于復(fù)雜的、難以顯式描述的模式,具有獨特的優(yōu)勢。2.3支撐向量機〔SVM法:在統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上發(fā)展出的一種新的模式識別方法,它基于結(jié)構(gòu)風(fēng)險最小化的原理,較之于基于經(jīng)驗風(fēng)險最小化的人工神經(jīng)網(wǎng)絡(luò),一些難以逾越的問題,如:模型選擇和過學(xué)習(xí)問題、非線性和維數(shù)災(zāi)難問題、局部極小點問題等都得到了很大程度上的解決。但是直接使用SVM方法進行人臉識別有兩方面的困難:第一,訓(xùn)練時需要求解二次規(guī)劃問題計算復(fù)雜度高,內(nèi)存需求量巨大;第二,在非人臉樣本不受限制時,需要極大規(guī)模的訓(xùn)練集合,得到的支持向量會很多,使得分類器的計算量過高。2.4基于積分圖像特征的人臉檢測方法:是Viola等新近提出的一種算法,它綜合使用了積分圖像描述方法、Adaboost學(xué)習(xí)算法及訓(xùn)練方法、級聯(lián)弱分類器。3.實驗結(jié)果與分析圖像獲取人臉定位圖像獲取人臉定位圖像預(yù)處理人臉識別圖3.1

人臉識別技術(shù)處理流程圖3.1.1人臉圖像的獲取一般來說,圖像的獲取都是通過攝像頭攝取,但攝取的圖像可以是真人,也可以是人臉的圖片或者為了相對簡單,可以不考慮通過攝像頭來攝取頭像,而是直接給定要識別的圖像。3.1.2人臉定位對人臉圖像打上網(wǎng)格,對區(qū)域塊圖像做二值分析,通過像素比例來做處理,進而得到人臉區(qū)域。在彩色圖像中,顏色是人臉表面最為顯著的特征之一,利用顏色檢測人臉是很自然的想法。研究人員在考察了不同種族、不同個體的膚色后,認(rèn)為人類的膚色能在顏色空間中聚成單獨的一類,而影響膚色值變化的最主要因素是亮度變化。因此他們采用廣泛使用的RGB顏色空間,在濾去亮度值的圖像中通過比較像素點的r、g值與膚色范圍來推斷該像素點及其鄰域是否屬于人臉區(qū)域。除了RGB顏色空間,還有諸如HIS,LUV,GLHS等其它顏色空間被使用。尋找到膚色區(qū)域后,必須進行驗證,排除類膚色區(qū)域。利用膚色像素的連通性分割出區(qū)域,使用橢圓擬合各個區(qū)域,根據(jù)橢圓長短軸的比率判斷是否為人臉。如圖3.2所示。圖3.2人臉定位過程3.1.3圖像預(yù)處理①濾波去噪:空域濾波按照空域濾波器的功能又可分為平滑濾波器和銳化濾波器。平滑濾波器可以用低通濾波實現(xiàn),目的在于模糊圖像或消除噪聲;銳化濾波器是用高通濾波來實現(xiàn),目的在于強調(diào)圖像被模糊的細(xì)節(jié)。②灰度變換:有多種方法可以實現(xiàn)圖像的灰度變換,其中最常用的就是直方圖變換的方法,即直方圖的均衡化。這種方法是一種使輸出圖像直方圖近似服從均勻分布的變換算法。③邊緣檢測:數(shù)字圖像的邊緣檢測是圖像分割、目標(biāo)區(qū)域識別、區(qū)域形狀提取等圖像分析領(lǐng)域十分重要的基礎(chǔ),也是圖像識別中提取圖像特征的一個重要屬性。邊緣檢測算子可以檢查每個像素的鄰域并對灰度變化率進行量化,也包括對方向的確定,其中大多數(shù)是基于方向?qū)?shù)掩模求卷積的方法。常用的有Sobel算子,Prewitt算子,Roberts算子,Log算子等。3.4.4人臉識別把單個圖像看成一維向量,眾多的一維向量形成了人臉圖像特征空間,再將其變換到一個新的相對簡單的特征空間,通過計算矩陣的特征值和特征向量,利用圖像的代數(shù)特征信息,尋找"人臉"、"非人臉"兩種模式在該特征空間中的分布規(guī)律。傳統(tǒng)主成成份分析方法的基本原理是:利用K-L變換抽取人臉的主要成分,構(gòu)成特征臉空間,識別時將測試圖像投影到此空間,得到一組投影系數(shù),通過與各個人臉圖像比較進行識別。對于一幅M*N的人臉圖像,將其每列相連構(gòu)成一個大小為D=M*N維的列向量。D就是人臉圖像的維數(shù),即是圖像空間的維數(shù)。設(shè)n是訓(xùn)練樣本的數(shù)目;Xj表示第j幅人臉圖像形成的人臉向量,則所需樣本的協(xié)方差矩陣為:其中U為訓(xùn)練樣本的平均圖像向量:令A(yù)=[x1-u,x2-u,...xn-u],則有Sr=AAT,其維數(shù)為D×D。根據(jù)K-L變換原理,需要求得的新坐標(biāo)系由矩陣AAT的非零特征值所對應(yīng)的特征向量組成。直接計算的計算量比較大,所以采用奇異值分解<SVD>定理,通過求解ATA的特征值和特征向量來獲得AAT的特征值和特征向量。依據(jù)SVD定理,令li<i=1,2,…,r>為矩陣ATA的r個非零特征值,vi為ATA對應(yīng)于li的特征向量,則AAT的正交歸一特征向量Ui為:則"特征臉"空間為:w=<U1,U2,...,Un>將訓(xùn)練樣本投影到"特征臉"空間,得到一組投影向量Ω=wTu,構(gòu)成人臉識別的數(shù)據(jù)庫。在識別時,先將每一幅待識別的人臉圖像投影到"特征臉"空間,再利用最鄰近分類器比較其與庫中人臉的位置,從而識別出該圖像是否是庫中的人臉,如果是,是哪一幅人臉。圖3.1.4測試圖像與對比結(jié)果3.2實驗過程具體分析3.2.1人臉檢測人臉檢測的任務(wù)是判斷靜態(tài)圖像中是否存在人臉。若存在人臉,給出其在圖像中的坐標(biāo)位置、人臉區(qū)域大小等信息。而人臉跟蹤則需要進一步輸出所檢測到的人臉位置、大小等狀態(tài)隨時間的連續(xù)變化情況。3.2.2特征提取通過人臉特征點的檢測與標(biāo)定可以確定人臉圖像中顯著特征點的位置〔如眼睛、眉毛、鼻子、嘴巴等器官,同時還可以得到這些器官及其面部輪廓的形狀信息的描述。根據(jù)人臉特征點檢測與標(biāo)定的結(jié)果,通過某些運算得到人臉特征的描述。3.2.3基于人臉圖像比對的身份識別通過將輸入人臉圖像與人臉數(shù)據(jù)庫中的所有已知原型人臉圖像計算相似度并對其排序來給出輸入人臉的身份信息。這包括兩類識別問題:一類是閉集人臉識別問題,即假定輸入的人臉一定是人臉庫中的某個個體;另一類是開集識別,即首先要對輸入人臉是否在已知人臉庫中做出判斷,如果是,則給出其身份。3.2.4基于人臉圖像比對的身份驗證即人臉確認(rèn)問題。系統(tǒng)在輸入人臉圖像的同時輸入一個用戶宣稱的該人臉的身份信息,系統(tǒng)要對該輸入人臉圖像的身份與宣稱的身份是否相符作出判斷。實驗結(jié)果分析人臉識別的優(yōu)勢在于其自然性和不被被測個體察覺的特點。人臉識別的困難主要是人臉作為生物特征的特點所帶來的。相似性:不同個體之間的區(qū)別不大,所有的人臉的結(jié)構(gòu)都相似,甚至人臉器官的結(jié)構(gòu)外形都很相似。這樣的特點對于利用人臉進行定位是有利的,但是對于利用人臉區(qū)分人類個體是不利的。易變性:人臉的外形很不穩(wěn)定,人可以通過臉部的變化產(chǎn)生很多表情,而在不同觀察角度,人臉的視覺圖像也相差很大,另外人臉識別還受光照條件、人臉的很多遮蓋物、年齡等多方面因素的影響。特征臉?biāo)惴ā睵CA使得壓縮前后的均方誤差最小,且變換后的低維空間有很好的分辨能力,但是在種方法在處理人臉圖像時,要將二維圖像矩陣轉(zhuǎn)換成一維的列向量,使圖像的維數(shù)達(dá)到上萬維,計算工作量非常大,特征提取速度慢。為了克服傳統(tǒng)PCA的不足,研究者們相繼提出了二維PCA<2DPCA>方法、PCA+2DPCA等一些方法。這些方法的提出不僅有效地解決了圖像處理的高維問題,而且大大提高了人臉的識別率。5.心得體會通過本學(xué)期對數(shù)字圖象處理課程的學(xué)習(xí),是我對數(shù)字圖像處理領(lǐng)域有了一定的了解與體會,熟悉了圖像處理的流程與方式方法,加深了我對數(shù)字領(lǐng)域的理解。通過matlab實驗,是我對matlab應(yīng)用有了更進一步的掌握與學(xué)習(xí),為下一步學(xué)習(xí)打下了良好的基礎(chǔ)。參考文獻(xiàn)[1]阮秋琦.數(shù)字圖像處理學(xué)[M].北京:電子工業(yè)出版社,2000.4[2]賀興華.MATLAB7.x圖像處理[M].北京:人民郵電出版社,2006.11[3]王耀南.計算機圖像處理與識別技術(shù)[M].北京:高等教育出版社,2001.6[4]章毓晉.圖像工程[M].北京:清華大學(xué)出版社,2001.9[5]胡學(xué)龍.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2006.9[6]羅軍輝.MATLAB7.0在圖像處理中的應(yīng)用[M].北京:機械工業(yè)出版社,2005.6[7]劉文耀.數(shù)字圖像采集與處理[M].北京:電子工業(yè)出版社,2007.8[8]繆紹綱.數(shù)字圖像處理——活用MATLAB[M].XX:西南交通大學(xué)出版社,2001.7[9]羅良正.數(shù)字圖像處理[M].XX:東南大學(xué)出版社,1999.8附錄代碼:〔運行exampae.m文件%Ch1Img=imread<'1.jpg'>;ifndims<Img>==3I=rgb2gray<Img>;elseI=Img;endBW=im2bw<I,graythresh<I>>;%二值化figure;imshow<Img>;title<'原圖像'>;holdon;[xt,yt]=meshgrid<round<linspace<1,size<I,1>,10>>,...round<linspace<1,size<I,2>,10>>>;mesh<yt,xt,zeros<size<xt>>,'FaceColor',...'None','LineWidth',3,...'EdgeColor','r'>;imshow<BW>;title<'二值圖像'>;[n1,n2]=size<BW>;r=floor<n1/10>;%分成10塊,行c=floor<n2/10>;%分成10塊,列x1=1;x2=r;%對應(yīng)行初始化s=r*c;%塊面積fori=1:10y1=1;y2=c;%對應(yīng)列初始化forj=1:10if<y2<=c||y2>=9*c>||<x1==1||x2==r*10>%如果是在四周區(qū)域loc=find<BW<x1:x2,y1:y2>==0>;[p,q]=size<loc>;pr=p/s*100;%黑色像素所占的比例數(shù)ifpr<=100BW<x1:x2,y1:y2>=0;endendy1=y1+c;%列跳躍y2=y2+c;%列跳躍endx1=x1+r;%行跳躍x2=x2+r;%行跳躍end[L,num]=bwlabel<BW,8>;%區(qū)域標(biāo)記stats=regionprops<L,'BoundingBox'>;%得到包圍矩形框Bd=cat<1,stats.BoundingBox>;[s1,s2]=size<Bd>;mx=0;fork=1:s1p=Bd<k,3>*Bd<k,4>;%寬*高ifp>mx&&<Bd<k,3>/Bd<k,4>><1.8%如果滿足面積塊大,而且寬/高<1.8mx=p;j=k;endendimshow<I>;holdon;rectangle<'Position',Bd<j,:>,...'EdgeColor','r','LineWidth',3>;title<'標(biāo)記圖像'>;%CreateDatabasefunctionT=CreateDatabase<TrainDatabasePath>%Alignasetoffaceimages<thetrainingsetT1,T2,...,TM>%%Description:Thisfunctionreshapesall2Dimagesofthetrainingdatabase%into1Dcolumnvectors.Then,itputsthese1Dcolumnvectorsinarowto%construct2Dmatrix'T'.%%%Argument:TrainDatabasePath-Pathofthetrainingdatabase%%Returns:T-A2Dmatrix,containingall1Dimagevectors.%SupposeallPimagesinthetrainingdatabase%havethesamesizeofMxN.Sothelengthof1D%columnvectorsisMNand'T'willbeaMNxP2Dmatrix.%%Seealso:STRCMP,STRCAT,RESHAPE%OriginalversionbyAmirHosseinOmidvarnia,October2007%Email:aomidvar@ece.ut.ac.ir%%%%%%%%%%%%%%%%%%%%%%%%FilemanagementTrainFiles=dir<TrainDatabasePath>;Train_Number=0;fori=1:size<TrainFiles,1>ifnot<strcmp<TrainFiles<i>.name,'.'>|strcmp<TrainFiles<i>.name,'..'>|strcmp<TrainFiles<i>.name,'Thumbs.db'>>Train_Number=Train_Number+1;%Numberofallimagesinthetrainingdatabaseendend%%%%%%%%%%%%%%%%%%%%%%%%Constructionof2Dmatrixfrom1DimagevectorsT=[];fori=1:Train_Number%Ihavechosenthenameofeachimageindatabasesasacorresponding%number.However,itisnotmandatory!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];%'T'growsaftereachturnend%EigenfaceCorefunction[m,A,Eigenfaces]=EigenfaceCore<T>%UsePrincipleComponentAnalysis<PCA>todeterminethemost%discriminatingfeaturesbetweenimagesoffaces.%%Description:Thisfunctiongetsa2Dmatrix,containingalltrainingimagevectors%andreturns3outputswhichareextractedfromtrainingdatabase.%%Argument:T-A2Dmatrix,containingall1Dimagevectors.%SupposeallPimagesinthetrainingdatabase%havethesamesizeofMxN.Sothelengthof1D%columnvectorsisM*Nand'T'willbeaMNxP2Dmatrix.%%Returns:m-<M*Nx1>Meanofthetrainingdatabase%Eigenfaces-<M*Nx<P-1>>Eigenvectorsofthecovariancematrixofthetrainingdatabase%A-<M*NxP>Matrixofcenteredimagevectors%%Seealso:EIG%OriginalversionbyAmirHosseinOmidvarnia,October2007%Email:aomidvar@ece.ut.ac.ir%%%%%%%%%%%%%%%%%%%%%%%%Calculatingthemeanimagem=mean<T,2>;%Computingtheaveragefaceimagem=<1/P>*sum<Tj's><j=1:P>Train_Number=size<T,2>;%%%%%%%%%%%%%%%%%%%%%%%%CalculatingthedeviationofeachimagefrommeanimageA=[];fori=1:Train_Numbertemp=double<T<:,i>>-m;%ComputingthedifferenceimageforeachimageinthetrainingsetAi=Ti-mA=[Atemp];%Mergingallcenteredimagesend%%%%%%%%%%%%%%%%%%%%%%%%SnapshotmethodofEigenfacemethos%WeknowfromlinearalgebratheorythatforaPxQmatrix,themaximum%numberofnon-zeroeigenvaluesthatthematrixcanhaveismin<P-1,Q-1>.%Sincethenumberoftrainingimages<P>isusuallylessthanthenumber%ofpixels<M*N>,themostnon-zeroeigenvaluesthatcanbefoundareequal%toP-1.SowecancalculateeigenvaluesofA'*A<aPxPmatrix>insteadof%A*A'<aM*NxM*Nmatrix>.ItisclearthatthedimensionsofA*A'ismuch%largerthatA'*A.Sothedimensionalitywilldecrease.L=A'*A;%ListhesurrogateofcovariancematrixC=A*A'.[VD]=eig<L>;%DiagonalelementsofDaretheeigenvaluesforbothL=A'*AandC=A*A'.%%%%%%%%%%%%%%%%%%%%%%%%Sortingandeliminatingeigenvalues%AlleigenvaluesofmatrixLaresortedandthosewhoarelessthana%specifiedthreshold,areeliminated.Sothenumberofnon-zero%eigenvectorsmaybelessthan<P-1>.L_eig_vec=[];fori=1:size<V,2>if<D<i,i>>1>L_eig_vec=[L_eig_vecV<:,i>];endend%%%%%%%%%%%%%%%%%%%%%%%%Calculatingtheeigenvectorsofcovariancematrix'C'%EigenvectorsofcovariancematrixC<orso-called"Eigenfaces">%canberecoveredfromL'seiegnvectors.Eigenfaces=A*L_eig_vec;%A:centeredimagevectors%example%Asamplescript,whichshowstheusageoffunctions,includedin%PCA-basedfacerecognitionsystem<Eigenfacemethod>%%Seealso:CREATEDATABASE,EIGENFACECORE,RECOGNITION%OriginalversionbyAmirHosseinOmidvarnia,October2007%Email:aomidvar@ece.ut.ac.irclearallclccloseall%YoucancustomizeandfixinitialdirectorypathsTrainDatabasePath=uigetdir<'D:\ProgramFiles\MATLAB\R2006a\work','Selecttrainingdatabasepath'>;TestDatabasePath=uigetdir<'D:\ProgramFiles\MATLAB\R2006a\work','Selecttestdatabasepath'>;prompt={'Entertestimagename<anumberbetween1to10>:'};dlg_title='InputofPCA-BasedFaceRecognitionSystem';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<TrainDatabasePath,'\',OutputName>;SelectedImage=imread<SelectedImage>;imshow<im>title<'TestImage'>;figure,imshow<SelectedImage>;title<'EquivalentImage'>;str=strcat<'Matchedimageis:',OutputName>;disp<str>%RecognitionfunctionOutputName=Recognition<TestImage,m,A,Eigenfaces>%Recognizingstep%%Description:Thisfunctioncomparestwofacesbyprojectingtheimagesintofacespaceand%measuringtheEuclideandistancebetweenthem.%%Argument:TestImage-Pathoftheinputtestimage%%m-<M*Nx1>Meanofthetraining%database,whichisoutputof'EigenfaceCore'function.%%Eigenfaces-<M*Nx<P-1>>Eigenvectorsofthe%covariancematrixofthetraining%database,whichisoutputof'EigenfaceCore'function.%%A-<M*NxP>Matrixofcenteredimage%vectors,whichisoutputof'EigenfaceCore'function.%%Returns:OutputName-Nameoftherecognizedimageinthetrainingdatabase.%%Seealso:RESHAPE,STRCAT%OriginalversionbyAmirHosseinOmidvarnia,October2007%Email:aomidva

溫馨提示

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

最新文檔

評論

0/150

提交評論