




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于 Matlab 的人臉識別系統(tǒng)設(shè)計與仿真 摘要摘要人臉識別即指利用分析比對人臉視覺特征信息從而達到身份鑒別效果的計算機技術(shù)。人臉識別是一項當(dāng)下十分熱門的計算機技術(shù)的研究領(lǐng)域,該項技術(shù)可以人臉明暗偵測,并且自動調(diào)整動態(tài)曝光補償,同時對人臉追蹤偵測,并自動調(diào)整影像放大;這項技術(shù)屬于生物特征識別技術(shù)的一種,是利用生物體(一般指人)本身的生物特征從而達到區(qū)分生物體個體的目的。人臉識別技術(shù)目前主要用做身份識別。由于視頻監(jiān)控的飛速普及,使這項應(yīng)用迫切的需要一種能實現(xiàn)在用戶非配合狀態(tài)下、遠距離的進行快速身份識別的技術(shù),以求能在遠距離之下快速識別人員身份,從而實現(xiàn)智能預(yù)警的功能。最佳的選擇無疑是人臉識別技
2、術(shù)。采用快速人臉檢測識別技術(shù)可以從視頻監(jiān)控圖象中實時捕獲到人臉信息,并與人臉數(shù)據(jù)庫中的已存信息進行實時比對,從而達到快速身份識別的效果。報告利用 MATLAB 軟件來實現(xiàn)人臉信息檢測與識別,利用 YCbCr 空間以及灰度圖像來實現(xiàn)人臉的邊緣分割, 將真彩圖像轉(zhuǎn)換為灰度圖像,并根據(jù)膚色在YCbCr 色度空間上的分布范圍,來設(shè)定門限閥值,從而實現(xiàn)人臉區(qū)域與非人臉區(qū)域的分割,通過圖像處理等一系列的操作來剔除干擾因素,再通過長寬比和目標(biāo)面積等方法在圖像中定位出人臉區(qū)域,經(jīng)試驗,該方法能夠排除面部表情、衣著背景、發(fā)型等干擾因素,從而定位出人臉區(qū)域。關(guān)鍵詞:Matlab 軟件;灰度圖像;邊緣分割;人臉區(qū)域
3、1AbstractFace recognition especially use comparative analysis face visual feature information for identification of computer technology. Face recognition is a hot research field computer technology, face detection, light and shade can be automatically adjusted dynamically exposure compensation, huma
4、n face tracking detection, automatic adjustment of image magnification; It belongs to the biometric identification technology, it is of organisms (generally refers to a person) individual biological characteristics to distinguish between the organism itself.Face recognition is mainly used for identi
5、fication. Because of the video monitoring is fast popularization, many of the video monitoring application is an urgent need to a long distance, the user not cooperate condition of rapid identification technology, in order . Face recognition technology is undoubtedly the best choice, the fast face d
6、etection technology to monitor in real-time video image search from face, and with real-time than face database, so as to realize rapid identification.Report using MATLAB software to realize face information detection and recognition, using YCbCr space and gray image to realize the face edge segment
7、ation, the true color image is converted to a grayscale image, and according to the color of skin in YCbCr chroma space distribution, to set the threshold threshold, so as to realize the segmentation of face region with the face region, through a series of operations such as image processing to elim
8、inate interference factors, and through such means as aspect ratio and the target area locate the face region in the image, the experiment, this method can eliminate facial expressions, clothes, hair background 2interference factors, so as to locate the face region.Keywords:Matlab;Gray image;edge se
9、gmentation;face region目錄摘要摘要.1 1ABSTRACTABSTRACT.2 2目錄目錄.3 3第第 1 1 章章 緒論緒論.4 41.1 課題的研究背景、目的及意義 .41.1.1 課題的研究背景 .41.1.2 研究目的及意義 .51.2 本課題的主要內(nèi)容 .5第第 2 2 章章 圖像處理的圖像處理的 MATLABMATLAB 實現(xiàn)實現(xiàn).6 62.1 識別系統(tǒng)構(gòu)成 .62.2 人臉圖像的讀取與顯示 .72.3 圖像類型的轉(zhuǎn)換 .72.4 圖像增強 .82.5 灰度圖像平滑與銳化處理 .92.6 邊緣檢測 .11第第 3 3 章章 人臉識別計算機系統(tǒng)人臉識別計算機系統(tǒng)
10、.12123.1 系統(tǒng)基本構(gòu)架 .123.2 人臉檢測定位算法 .123.3 匹配與識別 .17結(jié)論結(jié)論.2424致謝致謝.2525參考文獻參考文獻.2626附錄附錄 1 1 人臉識別的人臉識別的 MATLABMATLAB 源程序源程序 .2727附錄附錄 2 2 外文參考文獻及翻譯外文參考文獻及翻譯 .31313第 1 章 緒論1.1 課題的研究背景、目的及意義1.1.1 課題的研究背景數(shù)字圖像處理技術(shù)是 20 世紀(jì) 60 年代發(fā)展起來的一門新興技術(shù)。近 30 多年來,在計算機科技和大規(guī)模集成電路技術(shù)的迅猛發(fā)展、離散數(shù)學(xué)理論創(chuàng)立和完善,以及工業(yè)、軍事、醫(yī)學(xué)等方面的應(yīng)用需求在不斷增長,人臉識別
11、技術(shù)已經(jīng)在人機交互、安全驗證系統(tǒng)、系統(tǒng)公安(罪犯識別等)、醫(yī)學(xué)、檔案管理、信用卡驗證、視頻會議等方面的巨大應(yīng)用前景而越來越成為當(dāng)前模式識別和人工智能領(lǐng)域的一個研究熱點。目前,人臉識別技術(shù)應(yīng)用最廣泛的地方就是各大公司、商場、政府保密機構(gòu)的門禁考勤系統(tǒng)。20 世紀(jì) 90 年代后期以來,一些商業(yè)性的人臉識別技術(shù)系統(tǒng)逐漸進入市場。自美國遭遇恐怖分子襲擊事件后,這一技術(shù)引起了社會各方的廣泛關(guān)注。由于隱蔽性十分好,該項技術(shù)逐漸成為國際反恐及安全防范的重要手段之一。人臉識別技術(shù)在中國也有迅猛發(fā)展的歷史。國家“十一五”科技發(fā)展規(guī)劃就將人臉識別技術(shù)的研究與發(fā)展列入其中,并明確指出“要在生物特征識別技術(shù)領(lǐng)域縮小與
12、世界先進水平的差距,開展生物特征識別應(yīng)用技術(shù)研究,開發(fā)具有高安全性、低誤報率的出入口控制新產(chǎn)品。 ”在這種形勢下,國內(nèi)一些科研院所在人臉識別技術(shù)上有了重大發(fā)展和突破。如清華大學(xué)、中科院計算機所、中科院自動化所等自主研發(fā)的人臉識別技術(shù)已經(jīng)達到了國際先進的水平。經(jīng)過多年的研發(fā)探索,在世界各大研究機構(gòu)的研發(fā)人員的共同努力下,人臉識別技術(shù)這一領(lǐng)域取得了豐碩的成果,這些研究成果的取得和科技的進步,更進一步推動了人類對人臉識別技術(shù)這一高端技術(shù)的深入研究。人臉識別技術(shù),顧名思義,指利用采集、分析、比較人臉視覺特征信息來進行身份鑒別的計算機技術(shù)。廣義的人臉識別實際包括構(gòu)建人臉識別系統(tǒng)的一系列相關(guān)技術(shù),包括人臉
13、圖像采集、人臉定位、人臉識別預(yù)處理、身份確認以及身份查找等;而狹義的人臉識別特指通過人臉進行身份確認或者身份查找的4技術(shù)或系統(tǒng)。它是人們一直所追求的讓機器智能化技術(shù),就是讓機器具備和人類一樣的思考能力,識別能力以及處理事務(wù)的能力。而人臉識別技術(shù)的研究就是在這樣的背景下發(fā)展起來的。1.1.2 研究目的及意義目前,人臉識別技術(shù)已經(jīng)廣泛用于軍隊、政府、社會福利保障、銀行、安全防務(wù)及電子商務(wù)等領(lǐng)域。而我們研究這項技術(shù)的目的就是讓其更好地服務(wù)于人類社會,在這個生活快節(jié)奏的前提下,與人方便。例如京滬高鐵三站將建立人臉識別系統(tǒng),即使整容也能被識別。鐵路部門發(fā)布計劃時表示,將在京滬高鐵段的天津西站、濟南西站、
14、上海虹橋站這三個站點,建立人臉識別系統(tǒng)工程,以此來協(xié)助公安部門甄別、抓捕在逃罪犯。利用這個系統(tǒng),即使作案后的犯罪分子進行整容,也會被識別。研究人臉識別技術(shù),在現(xiàn)實意義上具有重大意義:一是能進一步加強對人類視覺系統(tǒng)本身的認知;二是能夠滿足人類社會中對人工智能應(yīng)用的廣泛需要。同時人臉識別技術(shù)又有自然性、無侵犯性、成本低、智能化等幾個顯著優(yōu)勢。人臉識別技術(shù)的研究也有重大的學(xué)術(shù)價值。由于人類有非常復(fù)雜的細節(jié)變化,例如眼鏡、胡須、發(fā)型等附屬物的干擾,這就給該項技術(shù)帶來了巨大挑戰(zhàn)。成功構(gòu)造出人臉識別系統(tǒng)將為解決其他與之類似的復(fù)雜問題提供重要的啟示。1.2 本課題的主要內(nèi)容本次課題主要講述了人臉識別中應(yīng)用
15、Matlab 對圖像進行預(yù)處理,通過人臉檢測、人臉跟蹤、人臉比對來實現(xiàn)基于 Matlab 的人臉識別系統(tǒng)的仿真。利用Matlab 實現(xiàn)一個集多種預(yù)處理方法于一體的通用的人臉識別仿真系統(tǒng),將該系統(tǒng)作為圖像預(yù)處理模塊嵌入在人臉識別系統(tǒng)中,并利用灰度圖像的直方圖比對來實現(xiàn)人臉圖像的識別判斷。文中在研究人臉識別技術(shù)的仿真過程中,主要涉及了 YCbCr 空間、灰度圖像轉(zhuǎn)換、噪聲消除、圖像填孔、圖像重構(gòu)、人臉區(qū)域確定、邊緣檢測等技術(shù)。通過多次實驗并比對各個算法和技術(shù)的優(yōu)缺點,有效地實現(xiàn)了基于 Matlab 的人臉識別系統(tǒng)的設(shè)計與仿真,并達到了預(yù)期目標(biāo)和效果。5第 2 章 圖像處理的 Matlab 實現(xiàn)2.
16、1 識別系統(tǒng)構(gòu)成人臉識別技術(shù)系統(tǒng)主要可分為四個組成部分,分別為:人臉圖像采集及檢測、人臉圖像預(yù)處理、人臉圖像特征提取以及匹配與識別。一般人臉識別系統(tǒng)構(gòu)架如圖 2.1 所示:人臉圖像采集及檢測人臉圖像預(yù)處理人臉圖像特征提取匹配與識別圖 2.1 人臉識別系統(tǒng)構(gòu)架(1)人臉圖像采集及檢測 人臉圖像采集:人臉圖像信息都能通過攝像鏡頭采集記錄下來,比如不同位置、不同表情、靜態(tài)圖像、動態(tài)圖像等方面都能得到很好的采集。當(dāng)目標(biāo)在采集設(shè)備拍攝的范圍內(nèi)時,采集設(shè)備會自動搜索并采集目標(biāo)的人臉圖像;人臉檢測:在實際中主要應(yīng)用于人臉識別的預(yù)處理,即在采集到的圖像中準(zhǔn)確定位出人臉的位置。人臉圖像中包含的模式特征非常豐富,
17、如模板特征、結(jié)構(gòu)特征、直方圖特征、顏色特征等。人臉檢測就是挑出這其中有用的特征信息,并利用這些特征來實現(xiàn)人臉識別。(2)人臉圖像預(yù)處理 人臉圖像預(yù)處理:所謂人臉圖像預(yù)處理,就是基于人臉檢測結(jié)果,并對人臉圖像進行處理,最終服務(wù)于人臉特征提取的過程。系統(tǒng)獲取的原始人臉圖像由于受到隨機干擾和各種條件的限制,通常不能直接使用,所以必須在人臉圖像處理過程中要先對它進行灰度圖像、噪聲過濾等圖像預(yù)處理。而對于人臉圖像,預(yù)處理的過程主要涉及灰度變換、人臉圖像的光線補償、幾何校正、直方圖均衡化、歸一化、濾波以及銳化等。(3)人臉圖像特征提取 人臉圖像特征提?。喝四樧R別系統(tǒng)通常會使用的特征分為視覺特征、人臉圖像變
18、換系數(shù)特征、像素統(tǒng)計特征以及人臉圖像代數(shù)特征等。所謂人臉特征提取即針對人臉的某些特征進行的提取。人臉特征提取,也被稱為人臉表征,是對人臉特征進行建模的過程。人臉特征提取的方法總結(jié)6起來可以分為兩大類:一種是基于統(tǒng)計學(xué)習(xí)或代數(shù)特征的表征方法;另一種是基于知識的表征方法。(4)匹配與識別 人臉圖像的匹配與識別:將提取到的圖像特征數(shù)據(jù)與數(shù)據(jù)庫中已存的特征模板進行搜索匹配,設(shè)定一個閾值,當(dāng)相似度超過這一閾值時,則把匹配所得到的結(jié)果輸出。人臉識別就是將待識別的人臉特征與已存儲的人臉特征模板進行比對,依據(jù)相似度對該人臉圖像的身份信息進行判別。這一過程主要分為兩步:第一步是確認,就是一對一進行圖像比較的過程
19、,第二步是辨認,就是一對多進行圖像匹配對比的過程。2.2 人臉圖像的讀取與顯示人臉圖像的讀取和顯示可通過 imread( )和 imshow( )指令來實現(xiàn);圖像的輸出可以用 imwrite( )函數(shù),很方便快捷的將圖像輸出到電腦硬盤上;另外還可以通過 imcrop( )、imrisize( )、imrotate( )等函數(shù)來實現(xiàn)圖像的裁剪、縮放與旋轉(zhuǎn)等功能。2.3 圖像類型的轉(zhuǎn)換Matlab 支持多種圖像類型,在很多圖像操作處理中,對圖像的類型有要求,所以就涉及到了對圖像的類型進行轉(zhuǎn)換。Matlab7.0 圖像處理工具箱包含了不同圖像類型之間相互轉(zhuǎn)換的大量函數(shù),如 rgb2gray()可以將
20、顏色映像表或 RGB圖像轉(zhuǎn)換為灰度圖像,通過 mat2gray()函數(shù)能實現(xiàn)矩陣轉(zhuǎn)換為灰度圖像的功能。在類型轉(zhuǎn)換的處理過程中,我們還會經(jīng)常遇到數(shù)據(jù)類型不匹配的問題,針對這一問題,Matlab7.0 工具箱中為我們提供了各種數(shù)據(jù)類型之間相互轉(zhuǎn)換的函數(shù),例如 double()函數(shù)的功能就是將數(shù)據(jù)轉(zhuǎn)換為雙精度數(shù)據(jù)類型。因為后續(xù)的圖像增強、邊緣檢測等都是針對灰度圖像進行的,而原圖像是RGB 圖像,所以我們首先要對原圖像進行類型轉(zhuǎn)換。實現(xiàn)過程代碼如下:i=imread(F:2.JPG);j=rgb2gray(i);imshow(j);imwrite(j,F:2.tif)7轉(zhuǎn)換后的灰度圖像如圖 2.2 所
21、示:圖 2.2 灰度圖像2.4 圖像增強圖像增強的目的是改善圖像的視覺效果,或者使圖像更適合于人或機器進行分析處理。通過圖像增強,可以減少圖像中的噪聲,提高目標(biāo)與背景的對比度,也可以強調(diào)或抑制圖像中的某些細節(jié)。例如,消除照片中的劃痕,改善光照不均勻圖像,突出目標(biāo)的邊緣等。實現(xiàn)圖像的灰度轉(zhuǎn)換的方法有很多,其中最常用到的是直方圖變換的方法,即直方圖的均衡化。該種方法是使輸出圖像直方圖近似服從均勻分布的變換方法。Matlab7.0 圖像處理工具箱中為我們提供了圖像直方圖均衡化的函數(shù)histeq(),我們也可以通過 imhist()函數(shù)計算和顯示圖像的直方圖。通過原圖與直方圖均衡化后圖像對比可以發(fā)現(xiàn),
22、圖像變得更加清晰,并且均衡化后的直方圖相對于原直方圖的形狀更為理想。實現(xiàn)過程代碼如下:i=imread(F:2.tif);j=histeq(i);imshow(j);figure,subplot(1,2,1),imhist(i);subplot(1,2,2),imhist(j)執(zhí)行后得到的圖像如下所示:8 圖 2.3 均衡化后的灰度圖像 圖 2.4 均衡化前后的直方圖對比圖2.5 灰度圖像平滑與銳化處理平滑濾波器的作用是模糊圖像或者消除噪聲,Matlab7.0 圖像處理工具箱為我們提供了 wiener2()來實現(xiàn)對圖像噪聲的自適應(yīng)濾波,medfilter2()函數(shù)用來實現(xiàn)中值濾波。在本文案例中
23、,為使濾波效果更加明顯,我們預(yù)先為人臉圖像人為增加噪聲,然后用自適應(yīng)濾波方法對圖像進行濾波處理。銳化處理的作用是用來強調(diào)圖像中被模糊的細節(jié),在本案例中,采用了預(yù)定義高斯濾波器的方法對圖像進行銳化濾波。實現(xiàn)過程的代碼如下:i=imread(F:2.tif);j=imnoise(i,gaussian,0,0.02);subplot(1,2,1),imshow(j);j1=wiener2(j);subplot(1,2,2),imshow(j1);h=fspecial(gaussian,2,0.05);j2=imfilter(i,h);figure,subplot(1,2,1),imshow(i)su
24、bplot(1,2,2),imshow(j2)9執(zhí)行上述代碼后得到的圖像如下所示:圖 2.5 平滑濾波效果圖圖 2.6 銳化濾波效果圖圖 2.5 中,第一個為加入噪聲的圖像,第二個為濾波后的圖像;圖 2.6 中,第一個為原灰度圖像,第二個為銳化后的圖像。102.6 邊緣檢測數(shù)字圖像的邊緣檢測是目標(biāo)區(qū)域識別、圖像分割、區(qū)域形狀提取等圖像分析過程中十分重要的基礎(chǔ)步驟,也是人臉圖像識別中用來實現(xiàn)提取圖像特征的一個重要步驟。通過計算一階導(dǎo)數(shù)或二階導(dǎo)數(shù)可以快捷地檢測出圖像中每個像素在其鄰域內(nèi)的灰度變化,從而檢測出邊緣。常用的有梯度算子, ,Roberts 算子,canny 算子,Log 算子等。Matl
25、ab7.0 工具箱中為我們提供的 edge()函數(shù)可以用來進行邊緣檢測,同時也可以根據(jù)案例所需要的選擇合適的算子及其參數(shù)。Matlab7.0 圖像處理工具箱中提供了 edge()函數(shù)來實現(xiàn)圖像邊緣檢測,還有各種方法算子供我們選擇,在本案例中采用了 canny 算子來進行圖像邊緣檢測,程序代碼如下:i=imread(F:2.tif);j=edge(i,canny,0.04,0.25,1.5);imshow(j)執(zhí)行上述程序后得到如下圖像: 圖 2.1 原灰度圖像 圖 2.7 邊緣檢測效果圖11第 3 章 人臉識別計算機系統(tǒng)3.1 系統(tǒng)基本構(gòu)架人臉識別是一個十分復(fù)雜的過程,一般人臉識別的計算機系統(tǒng)
26、流程如圖3.1 所示。它包括幾個步驟:進行圖像采集,對于采集到的圖像,首先進行人臉檢測,得出有無人臉的結(jié)果;然后進行人臉定位,找出人臉的位置并提取出來。對于人臉定位,在輸入的是圖像序列時,一般也被稱為人臉跟蹤。通常檢測和定位同步進行。借助人臉描述對提取出來的人臉就可以進行人臉識別,即通過提取人臉特征來確定其身份。開開 始始圖像采集圖像采集檢測定位檢測定位是否定位成功是否定位成功是否處理成是否處理成功圖像預(yù)處理圖像預(yù)處理人臉識別人臉識別是否識別成是否識別成功識別結(jié)果識別結(jié)果結(jié)結(jié) 束束是是是圖 3.1 基本框架圖3.2 人臉檢測定位算法人臉檢測定位算法可分為兩大類:一類是基于隱式特征的方法;另一類
27、是基于顯式特征的方法所謂的顯式特征,即指人類肉眼可以直觀看到的特征,如膚色、臉部結(jié)構(gòu)、臉部輪廓等?;陲@式特征的方法是指通過肉眼的觀察,總結(jié)概括出人臉區(qū)域12區(qū)別于“非人臉”區(qū)域的特征,根據(jù)與被檢測區(qū)域的對比,即是否滿足這些人臉特征,從而判定該區(qū)域包含人臉與否。根據(jù)所選擇的“人臉特征” ,基于顯式特征的方法可以分為三類:模板匹配的方法、基于膚色模型的方法、基于先驗知識的方法。以上三類方法的優(yōu)缺點概括見表 3-1:表 3-1 優(yōu)缺點對比基于隱式特征的方法就是將人臉區(qū)域看成一類模式,通過“人臉” 、 “非人臉”樣本、構(gòu)造分類器的使用,判別圖像中全部可能區(qū)域是否符合“人臉模式”的一類方法來實現(xiàn)人臉的
28、檢測。這類方法可以分為:神經(jīng)網(wǎng)絡(luò)法、特征臉法、積分圖像法、支持向量法。以上四種方法的優(yōu)缺點比較見表 3-2:表 3-2 優(yōu)缺點對比表檢測方法優(yōu) 點缺 點神經(jīng)網(wǎng)絡(luò)法效率較高,錯誤報警數(shù)較少,網(wǎng)絡(luò)監(jiān)測速度較快多樣本訓(xùn)練所耗的費時間多,網(wǎng)絡(luò)監(jiān)測錯誤報警數(shù)較多本征臉法能抽象人臉全部信息,運算時間相通過模板測效率較低,多模板雖然增加檢測方法優(yōu) 點缺 點模板匹配具有較強的直觀性和較好的適應(yīng)性對面部表情的變換敏感;對于模板的選擇、參數(shù)的確定很困難膚色模型檢測速度相對較快陽光、背景光線等會使人臉區(qū)域被分割,導(dǎo)致被漏檢先驗知識的方法對于復(fù)雜圖像中的人臉檢測有較大優(yōu)勢依賴于先驗知識;工作量較大,運算時間較長13對
29、較短了效率,但是檢測時間較長積分圖像分析法檢測速度較快,滿足實時檢測的要求,檢測效率相對較高錯誤報警數(shù)與檢測率成反比支撐向量法具有更好的泛化能力“非人臉”的復(fù)雜造成支持向量數(shù)目較多,導(dǎo)致運算復(fù)雜度變大運用 matlab 軟件仿真進行人臉檢測定位實例:人臉檢測定位程序:% Reading of a RGB image原始圖像 i=imread(F:2.JPG);I=rgb2gray(i);BW=im2bw(I);figure,imshow(BW) %灰度圖像及均衡化灰度圖像 n1 n2=size(BW);r=floor(n1/10);c=floor(n2/10);x1=1;x2=r;s=r*c;
30、 for i=1:10 y1=1;y2=c; for j=1:10 if (y2=9*c) | (x1=1 | x2=r*10) loc=find(BW(x1:x2, y1:y2)=0);14 o p=size(loc); pr=o*100/s; if prmx & (BB2(1,k)/BB2(1,k+1)1.815 mx=p; j=k; endendfigure,imshow(I);hold on;rectangle(Position,BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j),EdgeColor,r ) 1.原始圖片 2.灰度圖片 3.均衡化灰度圖片 4
31、.人臉定位163.3 匹配與識別人臉人別系統(tǒng)的最后一步是人臉識別。人臉識別,即通過對所采集到的人臉圖像進行一系列處理,提取待識別人臉圖像的特征信息,通過與已存人臉數(shù)據(jù)庫信息進行匹配識別,確定待識別人臉圖像的基本信息。運行如下代碼:function varargout = faceCore(varargin)% FACECORE M-file for faceCore.fig% FACECORE, by itself, creates a new FACECORE or raises the existing% singleton*.% H = FACECORE returns the hand
32、le to a new FACECORE or the handle to% the existing singleton*.% FACECORE(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in FACECORE.M with the given input arguments.% FACECORE(Property,Value,.) creates a new FACECORE or raises the% existing singleton*. Starting from
33、the left, property value pairs are% applied to the GUI before faceCore_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to faceCore_OpeningFcn via varargin.17% *See GUI Options on GUIDEs Tools menu. Choose GUI allows
34、 only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help faceCore% Last Modified by GUIDE v2.5 28-May-2009 10:21:26% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State =
35、struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, faceCore_OpeningFcn, . gui_OutputFcn, faceCore_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_S
36、tate, varargin:);else gui_mainfcn(gui_State, varargin:);18end% End initialization code - DO NOT EDIT% - Executes just before faceCore is made visible.function faceCore_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% event
37、data reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to faceCore (see VARARGIN)% Choose default command line output for faceCorehandles.output = hObject;% Update handles structureguidata(hObject, hand
38、les);% UIWAIT makes faceCore wait for user response (see UIRESUME)% uiwait(handles.figure1);% - Outputs from this function are returned to the command line.function varargout = faceCore_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject
39、handle to figure19% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = handles.output;% - Executes on button press in pushbutton1.function pushbutton1_Callbac
40、k(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global TrainDatabasePath ;TrainDatabasePath = uigetdir(strcat(matlabroot,work), 訓(xùn)練庫路徑選擇. );% - Execute
41、s on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global TestDatabasePath;TestDatabasePath
42、= uigetdir(strcat(matlabroot,work), 測試庫路徑選擇.);% - Executes on button press in pushbutton3.20%function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user
43、 data (see GUIDATA)%filename,pathname=uigetfile(*.jpg;*.bmp,);%str=pathname filename;%im=imread(str);%axes(handles.axes1);%imshow(im);% - Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved -
44、 to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global TrainDatabasePath ;global TestDatabasePath;global T;T = CreateDatabase(TrainDatabasePath);%m V_PCA V_Fisher ProjectedImages_Fisher = FisherfaceCore(T);% - Executes on button press in pushbu
45、tton5.function pushbutton9_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)21% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global im;filename,pathname=uigetfile(*.jpg;*.bmp,選擇測試圖片.);str=pat
46、hname filename;im=imread(str);axes(handles.axes1);imshow(im);% - Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with hand
47、les and user data (see GUIDATA)%T = CreateDatabase(TrainDatabasePath);global T;global im;global TrainDatabasePath ;m V_PCA V_Fisher ProjectedImages_Fisher = FisherfaceCore(T);OutputName = Recognition(im, m, V_PCA, V_Fisher, ProjectedImages_Fisher);SelectedImage = strcat(TrainDatabasePath,OutputName)
48、;SelectedImage = imread(SelectedImage);axes(handles.axes2);imshow(SelectedImage);%title(Equivalent Image);22% - Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future
49、 version of MATLAB% handles structure with handles and user data (see GUIDATA)clear all;clcclose(gcf);執(zhí)行上述代碼后效果如下圖所示:如上圖所示,當(dāng)我們選擇待識別照片后,點擊圖像匹配,可以快速匹配到與該測試圖像特征信息相符合的訓(xùn)練庫中的人臉圖像,效果圖如下:23結(jié)論圖像是人類日常生活和工作中獲取和交換信息的重要來源,人臉圖像的識別技術(shù)已經(jīng)應(yīng)用到了生活中的方方面面?;?Matlab 的人臉識別系統(tǒng)的仿真的研究很有意義。目前到處可見攝像頭,監(jiān)控錄像,這些的普及,使人臉識別具有重大商業(yè)價值。在本文圖
50、像處理時,用到如灰度變化、格式轉(zhuǎn)換和濾波銳化等基本方法來實現(xiàn)圖像處理。通過對一些算法,方法的比較,選擇了比較合理的方法進行圖像預(yù)處理。在比較人臉識別的幾種方法后,我們最終選擇了通過人臉圖像的直方圖差值進行比較從而實現(xiàn)了人臉識別。事實證明,這種方法對人臉能更好的分類,但其對于人臉圖像的像素質(zhì)量等要求較高,而我們只是采用 Orl 標(biāo)準(zhǔn)的人臉數(shù)據(jù)庫中的圖像完成測試,因此可以得到較高的識別率。在對大量參考文獻資料的閱讀的基礎(chǔ)上,本設(shè)計對基于 Matlab 的人臉識別這一技術(shù)做了詳細的綜述。然而,在現(xiàn)實生活中由于受到采集距離、光線明暗、人臉角度等因素的影24響,采集到的人臉圖像與人臉庫進行匹配識別時,識
51、別率很難可以達到測試要求。因此,在實際應(yīng)用時還要根據(jù)具體情況進行分析。本次基于 Matlab 的人臉識別系統(tǒng)的仿真設(shè)計到這里就結(jié)束了,在設(shè)計過程中,雖然對幾種方法進行了對比選擇,但是還是有很多不足,可能很多問題想的不夠充分,設(shè)計中有些數(shù)據(jù)可能會有偏差,因此在今后的學(xué)習(xí)生活中要更加努力,不斷地提高自己的科學(xué)文化水平和各方面素質(zhì)。致謝在佳木斯大學(xué)的學(xué)習(xí)生活即將結(jié)束,現(xiàn)在想想對母校還是有很多留戀。在做畢業(yè)設(shè)計的這段時間里,我的老師、同學(xué)們對我給予了非常多的幫助,在這里,謹向他們致以最真誠的感謝!尤為感謝的,是我的導(dǎo)師周經(jīng)國老師。周老師學(xué)識淵博,思想敏銳,洞察力超強,治學(xué)態(tài)度嚴謹,平易近人。在我做畢業(yè)
52、設(shè)計的這段時間里,常常會被一些難題所困擾,弄得焦頭爛額。是周老師教導(dǎo)我,激勵我,對我給予了細心地指導(dǎo)和悉心的教誨,讓我擺脫困境,重新找回自信心。同時,我也要感謝教導(dǎo)過我的所有老師。是你們毫無保留的指導(dǎo)和細致耐心的幫助,我才能順利完成這次畢業(yè)設(shè)計。最后,我還要感謝身邊的朋友和同學(xué),在大學(xué)生活的四年里,我在你們的陪伴中成長,謝謝你們在做畢業(yè)設(shè)計這段日子里給予我的幫助。真心的感謝所有在生活、學(xué)習(xí)中幫助過我的良師益友,謝謝你們!25參考文獻1何東健,耿楠,張義寬.數(shù)字圖像處理(第二版).西安電子科技大學(xué)出版社,2008.5:1-3252于萬波.基于 MATLAB 的圖像處理.清華大學(xué)出版社,2008.
53、3:1-2183陳書海,傅錄祥.實用數(shù)字圖像處理.北京科學(xué)出版社,20054崔屹.數(shù)字圖像處理與應(yīng)用.北京:電子工業(yè)出版社,19975何東健,楊青.實用圖像處理技術(shù).陜西科學(xué)技術(shù)出版社,19986呂風(fēng)軍.溯溪圖像處理編程入門.清華大學(xué)出版社,19997章毓晉.圖像工程:圖像處理和分析(上).清華大學(xué)出版社,19998章毓晉.圖像工程:圖像分析(中).清華大學(xué)出版社,20059章毓晉.圖像工程:圖像理解與計算機視覺(下).清華大學(xué)出版社,200010朱秀昌,劉峰,胡棟.數(shù)字圖像處理與圖像通信.北京郵電大學(xué)出版社,200211韓曉軍.數(shù)字圖像處理技術(shù)與應(yīng)用M.北京:電子工業(yè)出版社,200912劉剛
54、.MATLAB 數(shù)字圖像處理M.北京:機械工業(yè)出版社,20102613徐倩,鄧偉. 一種融合兩種主成分分析的人臉識別方法J.計算機學(xué)報,200714郭文強,侯勇嚴.數(shù)字圖像處理.西安電子科技大學(xué)出版社,200915張宜華.精通 MATLAB5.清華大學(xué)出版社,199916張兆禮.現(xiàn)代圖像處理技術(shù)及 MATLAB 實現(xiàn).人民郵電出版社,200117Wangmeng Zuo,Kuanquan Wang,David Zhang,Hongzhi Zhang. Combination of two novel LDA-based methods for face recognitionC.Proceed
55、ings of the IEEE,200718何東風(fēng).人臉識別技術(shù)綜述J.計算機學(xué)報,200319The Mathworks.MATLAB User GUIdesDB/OL.2009附錄 1 人臉識別的 MATLAB 源程序(1)色彩空間轉(zhuǎn)換:function r,g=rgb_RGB(Ori_Face)R=Ori_Face(:,:,1);G=Ori_Face(:,:,2);B=Ori_Face(:,:,3);R1=im2double(R); % 將 uint8 型轉(zhuǎn)換成 double 型G1=im2double(G);B1=im2double(B);RGB=R1+G1+B1;row=size(
56、Ori_Face,1); % 行像素column=size(Ori_Face,2); % 列像素for i=1:row27for j=1:column rr(i,j)=R1(i,j)/RGB(i,j); gg(i,j)=G1(i,j)/RGB(i,j);endendrrr=mean(rr);r=mean(rrr);ggg=mean(gg);g=mean(ggg);(2)找區(qū)域邊界function left, right, up, down = bianjie(A)m n = size(A);left = -1;right = -1;up = -1;down = -1;for j=1:n, fo
57、r i=1:m, if (A(i,j) = 0) left = j; break; end; end; if (left = -1) break; end;end;for j=n:-1:1,for i=1:m,if (A(i,j) = 0) right = j; break;28end;end;if (right = -1) break; end;end;for i=1:m,for j=1:n, if (A(i,j) = 0) up = i; break; end;end; if (up = -1) break; end;end;for i=m:-1:1, for j=1:n, if (A(i
58、,j) = 0) down = i; break; end; end; if (down = -1) break; end;end;(3)模板匹配function ccorr, mfit, RectCoord = mobanpipei(mult, frontalmodel,ly,wx,cx, cy, angle)frontalmodel=rgb2gray(frontalmodel); 29model_rot = imresize(frontalmodel,ly wx,bilinear); % 調(diào)整模板大小model_rot = imrotate(model_rot,angle,bilinear
59、); % 旋轉(zhuǎn)模板l,r,u,d = bianjie(model_rot); % 求邊界坐標(biāo)bwmodel_rot=imcrop(model_rot,l u (r-l) (d-u); % 選擇模板人臉區(qū)域modx,mody =center(bwmodel_rot); % 求質(zhì)心morig, norig = size(bwmodel_rot); % 產(chǎn)生一個覆蓋了人臉模板的灰度圖像mfit = zeros(size(mult);mfitbw = zeros(size(mult);limy, limx = size(mfit);% 計算原圖像中人臉模板的坐標(biāo)startx = cx-modx;sta
60、rty = cy-mody;endx = startx + norig-1;endy = starty + morig-1;startx = checklimit(startx,limx);starty = checklimit(starty,limy);endx = checklimit(endx,limx);endy = checklimit(endy,limy);for i=starty:endy,for j=startx:endx,mfit(i,j) = model_rot(i-starty+1,j-startx+1);end;end;ccorr = corr2(mfit,mult)
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度合同終止糾紛處理及律師代理服務(wù)協(xié)議
- 二零二五年度辦公室文員應(yīng)急響應(yīng)能力合同
- 二零二五年度魚塘養(yǎng)殖基地合同轉(zhuǎn)讓及管理服務(wù)
- 2025年度施工安全責(zé)任協(xié)議書(含合同終止)
- 二零二五年度委托中介出售帶閣樓手房合同
- 2025年度鐵路運輸設(shè)備維修與維護合同范本
- 二零二五年度電梯大修與安全防護合同
- 二零二五年度培訓(xùn)機構(gòu)學(xué)員退學(xué)退費責(zé)任合同
- 2025年度知識產(chǎn)權(quán)置換許可合同
- 2025年度藝人經(jīng)紀(jì)藝人海外發(fā)展代理合同
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)(創(chuàng)新創(chuàng)業(yè)課程)完整全套教學(xué)課件
- 人教版小學(xué)數(shù)學(xué)四年級下冊第一單元測試卷附答案(共9套)
- 提高地下室管線一次性安裝合格率
- 小學(xué)三年級數(shù)獨比賽“六宮”練習(xí)題
- 實驗一、儀器的認領(lǐng)、洗滌、干燥及樣品的稱量
- 通橋(2013)8388A常用跨度梁橋面附屬設(shè)施_圖文
- SF_T 0112-2021 法醫(yī)臨床影像學(xué)檢驗實施規(guī)范_(高清版)
- 財務(wù)經(jīng)理的績效考核辦法
- 油田科研單位有效發(fā)揮技術(shù)專家作用初探
- 席位卡A4紙打印模板(共3頁)
- 陽泉氣象地質(zhì)資料
評論
0/150
提交評論