基于MATLAB的人脸考勤识别系统
基于MATLAB的人臉考勤識別系統
摘 要
人臉識別是模式識別和圖像處理等學科的一個研究熱點,它廣泛應用在身份驗證、刑偵破案、視頻監視、機器人智能化和醫學等領域,具有廣闊的應用價值和商用價值。人臉特征作為一種生物特征,與其他生物特征相比,具有有好、直接、方便等特點,因
此使用人臉特征進行身份識別更易于被用戶所接受。
人臉識別技術在過去的幾十年得到了很大的發展,但由于人臉的非剛性、表情多變等因素,使得人臉識別技術在實際應用中面臨著巨大的困難。本文針對近年來國內外相關學術論文及研究報告進行學習和分析的基礎上,利用圖像處理的matlab實現人臉識別方法,這種實現簡單且識別準確率高,但其缺點是計算量大,當要識別較多人員時,該方法難以勝任。
利用MATLAB實現了一個集多種預處理方法于一體的通用的人臉圖像預處理仿真系
統,將該系統作為圖像預處理模塊可嵌入在人臉識別系統中,并利用灰度圖像的直方圖比對來實現人臉圖像的識別判定。
第1章 緒 論
本章提出了本文的研究背景及應用前景。首先闡述了人臉圖像識別意義;然后介紹了人臉圖像識別研究中存在的問題;接著介紹了自動人臉識別系統的一般框架構成;最后簡要地介紹了本文的主要工作和章節結構。
1.1 研究背景
人臉識別是人類視覺最杰出的能力之一。它的研究涉及模式識別、圖像處理、生物學、心理學、認知科學,與基于其它生物特征的身份鑒別方法以及計算機人機感知交互領域都有密切聯系。人臉識別早在六七十年代就引起了研究者的強烈興趣。20世紀60年代,Bledsoe提出了人臉識別的半自動系統模式與特征提取方法。70年代,美、英等發達國家開始重視人臉識別的研究工作并取得進展。1972年,Harmon用交互人臉識別方法在理論上與實踐上進行了詳細的論述。同年,Sakai設計了人臉圖像自動識別系統。80年代初T. Minami研究出了優于Sakai的人臉圖像自動識別系統。但早期的人臉識別一般都需要人的某些先驗知識,無法擺脫人的干預。進入九十年代,由于各方面對人臉識別系統的迫切需求,人臉識別的研究變的非常熱門。
人臉識別的方法有了重大突破,進入了真正的機器自動識別階段,如Karhunen-Loève變換等或新的神經網絡技術。人臉識別研究得到了前所未人臉識別方法的分析與研究 有的重視,國際上發表有關人臉識別等方面的論文數量大幅度增加,僅從1990年到2000年之間,SCI及EI可檢索到的相關文獻多達數千篇,這期間關于人臉識別的綜述也屢屢可見。國外有許多學校在研究人臉識別技術,研究涉及的領域很廣。這些研究受到軍方、警方及大公司的高度重視和資助,國內的一些知名院校也開始從事人臉識別的研究。
人臉識別是當前模式識別領域的一個前沿課題,但目前人臉識別尚處于研究課題階段,尚不是實用化領域的活躍課題。雖然人類可以毫不困難地由人臉辨別一個人,但利用計算機進行完全自動的人臉識別存在許多困難,其表現在:人臉是非剛體,存在表情變化;人臉隨年齡增長而變化;發型、眼鏡等裝飾對人臉造成遮擋;人臉所成圖像受光照、成像角度、成像距離等影響。人臉識別的困難還在于圖像包括大量的數據,輸入的像素可能成百上千,每個像素都含有各自不同的灰度級,由此帶來的計算的復雜度將會增加。現有的識別方法中,通過從人臉圖像中提取出特征信息,來對數據庫進行檢索的方法速度快,而利用拓撲屬性圖匹配來確定匹配度的方法則相對較快。
1.2 人臉圖像識別的應用前景
人臉識別系統現在在大多數領域中起到舉足輕重的作用,尤其是用在機關單位的安全和考勤、網絡安全、銀行、海關邊檢、物業管理、軍隊安全、智能身份證、智能門禁、司機駕照驗證、計算機登錄系統。我國在這方面也取得了較好的成就,國家863項目“面像檢測與識別核心技術”通過成果鑒定并初步應用,就標志著我國在人臉識別這一當今熱點科研領域掌握了一定的核心技術。
就從目前和將來來看,可以預測到人臉圖像識別將具有廣闊的應用前景,如表1-1中所列舉就是其中已經實現或逐步完善的應用。
表1-1 人臉識別的應用
| 應用 | 優點 | 存在問題 |
| 信信用卡、汽車駕照、護照以及個人身份驗證等 | 圖像攝取可控圖像分割可控圖像質量好 | 需要建立龐大的數據庫 |
| 嫌疑犯照片匹配 | 圖像質量不統一多幅圖像可用 | 潛在的巨大圖像庫 |
| 互聯網應用 | 視頻信息價值高多人參與 | 存在虛假 |
| 銀行/儲蓄安全 | 監控效果好 | 圖像分割不可控圖像質量較差 |
| 人群監測 | 圖像質量高可利用攝像圖像 | 圖像分割自由圖像質量低、實時性 |
1.3 本文研究的問題
本文介紹了人臉圖像識別中所應用MATLAB對圖像進行預處理,應用該工具箱對圖像進行經典圖像處理,通過實例來應用matlab圖像處理功能,對某一特定的人臉圖像處理,進而應用到人臉識別系統。本文在總結分析人臉識別系統中幾種常用的圖像預處理方法基礎上,利用MATLAB實現了一個集多種預處理方法一體的通用的人臉圖像預處理仿真系統,將該系統作為圖像預處理模塊可嵌入在人臉識別系統中,并利用灰度圖像的直方圖比對來實現人臉圖像的識別判定。
其中涉及到圖像的選取,臉部定位,特征提取,圖像處理和識別幾個過程。
1.4 識別系統構成
人類似乎具有“與生俱來”的人臉識別能力,賦予計算機同樣的能力是人類的夢想之一,這就是所謂的“人臉識別”系統。假設我們把照相機、攝像頭、掃描儀等看作計算機的“眼睛”,數字圖像可以看作計算機觀察到的“影像”,那么AFR賦予計算機根據其所“看到”的人臉圖片來判斷人物身份的能力。
廣義的講,自動人臉識別系統具有如圖1.1所示的一般框架并完成相應功能的任務。
人臉圖像獲取
人臉檢測
特征提取
人臉識別
圖1.1 人臉識別系統一般框架
(1)人臉圖像的獲取
一般來說,圖像的獲取都是通過攝像頭攝取,但攝取的圖像可以是真人,也可以是人臉的圖片或者為了相對簡單,可以不考慮通過攝像頭來攝取頭像,而是直接給定要識別的圖像。
(2)人臉的檢測
人臉檢測的任務是判斷靜態圖像中是否存在人臉。若存在人臉,給出其在圖像中的坐標位置、人臉區域大小等信息。而人臉跟蹤則需要進一步輸出所檢測到的人臉位置、大小等狀態隨時間的連續變化情況。
(3)特征提取
通過人臉特征點的檢測與標定可以確定人臉圖像中顯著特征點的位置(如眼睛、眉毛、鼻子、嘴巴等器官),同時還可以得到這些器官及其面部輪廓的形狀信息的描述。
根據人臉特征點檢測與標定的結果,通過某些運算得到人臉特征的描述(這些特征包括:全局特征和局部特征,顯式特征和統計特征等)。
(4)基于人臉圖像比對的身份識別
即人臉識別(Face Identification)問題。通過將輸入人臉圖像與人臉數據庫中的所有已知原型人臉圖像計算相似度并對其排序來給出輸入人臉的身份信息。這包括兩類識別問題:一類是閉集(Close Set)人臉識別問題,即假定輸入的人臉一定是人臉庫中的某個個體;另一類是開集(Open Set)識別,即首先要對輸入人臉是否在已知人臉庫中做出判斷,如果是,則給出其身份。
(5)基于人臉圖像比對的身份驗證
即人臉確認(Face Verification)問題。系統在輸入人臉圖像的同時輸入一個用戶宣稱的該人臉的身份信息,系統要對該輸入人臉圖像的身份與宣稱的身份是否相符作出判斷。
1.5 論文的內容及組織
第二章主要介紹人臉識別系統中所用到的仿真軟件Matlab,介紹了在人臉圖像識別過程中所需要的圖像處理技術,包括:一些基本操作、格式轉換、圖像增強等。并做了一個Matlab圖像處理功能的實例
第三章主要始涉三個方面:首先是對人臉識別系統的構成做詳細論述;其次就是對人臉識別過程中的關鍵環節人臉檢測、特征提取和圖像預處理做詳細介紹;最后就是Matlab在人臉識別系統中的具體應用,即人臉圖像識別的具體技術,并用Matlab進行仿真試驗并得到結果。
第四章是對人臉圖像識別體系構架的設計,并給出了人臉識別用到的理論知識即直方圖差異對比,并編寫matlab代碼實現人臉圖像識別。
第2章 圖像處理的Matlab
2.1 Matlab簡介
MATLAB是由美國mathworks公司發布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。
MATLAB和Mathematica、Maple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優點,使MATLAB成為一個強大的數學軟件。在新的版本中也加入了對C,FORTRAN,C++,JAVA的支持。可以直接調用,用戶也可以將自己編寫的實用程序導入到MATLAB函數庫中方便自己以后調用,此外許多的MATLAB愛好者都編寫了一些經典的程序,用戶可以直接進行下載就可以用。編輯本段基本應用
MATLAB 的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。附加的工具箱(單獨提供的專用MATLAB 函數集)擴展了MATLAB 環境,以解決這些應用領域內特定類型的問題。20世紀70年代,美國新墨西哥大學計算機科學系主任Cleve Moler為了減輕學生編程的負擔,用FORTRAN編寫了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市場。到20世紀90年代,MATLAB已成為國際控制界的標準計算軟件。
2.2 數字圖像處理及過程
數字圖像處理(Digital Image Processing)是通過計算機對圖像進行去除噪聲、增強、復原、分割、提取特征等處理的方法和技術。數字圖像處理的產生和迅速發展主要受三個因素的影響:一是計算機的發展;二是數學的發展(特別是離散數學理論的創立和完善);三是廣泛的農牧業、林業、環境、軍事、工業和醫學等方面的應用需求的增長。
2.2.1圖像處理的基本操作
讀取和顯示圖像可以通過imread()和imshow()來實現;圖像的輸出用imwrite()函數就可以很方便的把圖像輸出到硬盤上;另外還可以用imcrop()、imrisize()、imrotate()等來實現圖像的裁剪、縮放和旋轉等功能。
2.2.2圖像類型的轉換
Matlab支持多種圖像類型,但在某些圖像操作中,對圖像的類型有要求,所以要涉及到對圖像類型進行轉換。Matlab7.0圖像處理工具箱為我們提供了不同圖像類型相互轉換的大量函數,如mat2gray()函數可以將矩陣轉換為灰度圖像,rgb2gray()轉換RGB圖像或顏色映像表為灰度圖像。在類型轉換的時候,我們還經常遇到數據類型不匹配的情況,針對這種情況,Matlab7.0工具箱中,也給我們提供了各種數據類型之間的轉換函數,如double()就是把數據轉換為雙精度類型的函數。
2.2.3圖像增強
圖像增強的目的是為了改善圖像的視覺效果,提高圖像的清晰度和工藝的適應性,以及便于人與計算機的分析和處理,以滿足圖像復制或再現的要求。圖像增強的方法分為空域法和頻域法兩大類,空域法主要是對圖像中的各個像素點進行操作;而頻域法是在圖像的某個變換域內對整個圖像進行操作,并修改變換后的系數,如傅立葉變換、DCT變換等的系數,然后再進行反變換,便可得到處理后的圖像。下面以空域增強法的幾種方法加以說明。
(1).灰度變換增強
有多種方法可以實現圖像的灰度變換,其中最常用的就是直方圖變換的方法,即直方圖的均衡化。這種方法是一種使輸出圖像直方圖近似服從均勻分布的變換算法。Matlab7.0圖像處理工具箱中提供了圖像直方圖均衡化的具體函數histeq(),同時我們可以用函數imhist()函數來計算和顯示圖像的直方圖。
(2).空域濾波增強
空域濾波按照空域濾波器的功能又可分為平滑濾波器和銳化濾波器。平滑濾波器可以用低通濾波實現,目的在于模糊圖像或消除噪聲;銳化濾波器是用高通濾波來實現,目的在于強調圖像被模糊的細節。在Matlab中,各種濾波方法都是在空間域中通過不同的濾波算子實現,可用fspecial()函數來創建預定義的濾波算子,然后可以使用imfilter()或filter2()函數調用創建好的濾波器對圖像進行濾波。
2.2.4邊緣檢測
數字圖像的邊緣檢測是圖像分割、目標區域識別、區域形狀提取等圖像分析領域十分重要的基礎,也是圖像識別中提取圖像特征的一個重要屬性。邊緣檢測算子可以檢查每個像素的鄰域并對灰度變化率進行量化,也包括對方向的確定,其中大多數是基于方向導數掩模求卷積的方法。常用的有Sobel算子,Prewitt算子,Roberts算子,Log算子等。Matlab7.0工具箱中提供的edge()函數可以進行邊緣檢測,在其參數里面,可以根據需要選擇合適的算子及其參數。
2.3 本章小結
以上實例只是對Matlab圖像處理工具箱函數的一小部分運用,從這些功能的運用可以看出,Matlab語言簡潔,可讀性強。作為人臉識別系統中圖像預處理工具,有非常好的處理功能。
在這段學習Matlab圖像處理軟件的過程中,也遇到了很多的問題,感謝在老師和同學的幫助下讓我更熟練的掌握這款軟件,這將會在我以后工作和運用當中受用一生。其中最大的阻礙是軟件里是全英文的,因此我得更加要學好英語、重視英語。也同時學會了要善于利用各種資源。
第3章 人臉區域定位
3.1人臉區域粗定位
3.1.1膚色區域標記編碼
經在進行區域分析和計算之前,先對其進行統計編碼,已確定篩選的對象。
區域標記的具體算法流程如下:
(1)掃描整幅圖像.把所有膚色,類膚色區域的邊界點標記出來:
(2)從每個區域的一個邊界點出發并標記,利用四鄰域的原則搜索所有為標記的邊界點,并標記出來。根據連通性的原理,在編碼處理過程中,屬于同樣碼號的像素就屬于同一個區域。同時編碼后可得到膚色像素點的數量,也即該區域的面積。
(3)根據每個連通區域邊界點的不同標記把所有的連通區域分割開來,這樣就得到了所有可能的人臉區域。邊界由膚色像素點和非膚色像素點所組成。
3.1.2基于區域面積和長寬比的粗定位
在進行人臉區域篩選之前,首先考慮到這樣一個問題:人的面部近似為橢圓形,在長寬比上存在一定的比例。但是一些膚色區域也可能在長寬比上存在一定比例,如人的手攥成拳頭時,這就需要考慮另一個因素——區域的面積。人臉區域在圖像中(除去背景)相對占有較大的比例?;谶@些想法,結合文獻,本文采用如下的方法:
首先對人臉圖像進行處理,將其分為網格狀,由于部分人臉可能存在一些旋轉傾斜,因此直接利用區域的上、下、左、右4個頂點的坐標值進行判斷存在一定的困難。利用提取區域邊界進行操作,而區域邊界是根據對圖像各區域進行編碼時獲得的。然后對其各網格進行二值分析,通過像素比例來做處理,滿足面積比例的再對其長寬比進行篩選,最后得到選出的人臉區域。
詳細操作如下:
(3-1)
利用該方法,對圖像進行處理,結果如下圖所示:
圖3.1粗定位后的圖像
3.2特征點定位
經過上述步驟之后,可得到粗略定位的人臉區域??蓪⒃搱D作為姿態估計的輸入圖像,但是利用沒有進行人臉對齊的圖像進行人臉姿態估計.效果往往不是很好。這里進一步采取了特征點定位算法來提取出人臉上的特征點,根據特征點的相對位置來進行輸入圖像的規范化,進一步提高姿態估計的精確度。
3.2.1特征點選取
人體面部結構組成的有眼睛、鼻子、嘴巴、下巴、顴骨,還有部分毛發特征比如胡須,眉毛等。這些特征是人與人區別的主要標志,因此對這些器宮的形狀和結構關系的幾何描述,可以作為人臉特征描述的重要特征。幾何特征提取即是用適當的方法對眼睛、鼻子、嘴巴、下巴等器官的形狀、大小和結構關系進行幾何描述。
本文選取了眼靖和嘴融作為特征點來進行特征點定位。眼睛用作人臉檢測驗證方法的依據是:兩眼之間的間距和嘴角距離不受光照或表情變化影響,特征突出易于定位。
3.2.2嘴唇定位
在色彩空間中,嘴唇的顏色與面部的其他部位的區別是很明顯的: 一是亮度比其他膚色暗一些,二是紅色在三基色中占比例較大。具有這些特征的區域可假設為嘴唇。
由嘴唇和膚色色度分析可知,在YCbCr 色彩空間中,嘴唇比膚色具有較高的Cr 分量。因此,構建嘴唇的提取模型:
為的取值范圍。 (3-2)
在CVL圖像庫中,選取膚色和嘴唇像素,進行統計,得到:。
3.2.3眼睛定位
目前實現眼睛定位的算法很多,主要有區域分割法、灰度投影法、邊緣提取法、統計學習法,模板法等。
區域分割法首先對人臉的二值圖像進行區域分割,然后設定一系列經驗值和支持函數定位眼睛;
灰度投影法對人臉圖像進行水平和垂直方向的投影,根據波峰、波谷的分布信息來定位眼睛;
邊緣提取法主要是針對灰度單人臉圖像,根據圖像的灰度投影曲線來確定人臉的左右上下邊緣,利用預測法確定人眼在眉眼區域的大概位置,通過檢測眉眼部分的邊緣及邊緣分組,確定雙眼的坐標位置。
霍夫變換法主要針對眼球進行研究。在用霍夫變換檢測眼球前,先用Canny算法提取邊緣。設圖像空間為(i,j),i和j分別表示行和列,三維變換空間為(ie,je,R),其中ie、je分別代表眼球圓心的行和列,R為半徑。下半圓表達式為:
(3-3)
對于變化空間的每一個坐標點(ie,je,R),在圖像空間都對應一個半圓,在這個半圓上存在的邊緣點數就是變換空間上坐標點(ie,je,R)對應的值。實驗表明,霍夫變換具有抗干擾能力強的優點。
統計學習法將人眼區域看作一類模式,使用大量不同條件下的人眼與非人眼樣本,借助統計分析理論和機器學習方法提取人眼共有的一些特征,實現人眼檢測。
根據眼睛的特性,本文采用一種檢測近眼物的算法:
眼睛有一項特殊的特性,即明顯的黑白區域相鄰。由黑白顏色的特點可以得到,虹膜的RGB值很小,眼白的RGB值很大,并且兩者的RGB兩兩差值很小。因此利用RGB三色的兩兩差值的絕對值F作為眼睛像素進行識別。
(3-4)
經過上一步分割出可能含有眼睛的區域之后,利用圓形模板來對其進行進一步篩選檢測。圓形模板的優點在于不受人臉角度的限制。這里將待測區域再次分割標記為黑區和白區,分別賦值為1和2,其他區域則賦值為0。
具體算法如下:
構造圓形二值模板,R=3,4,5,…,15。從最小的模板開始進行匹配,當找到匹配區域后,重復匹配直到匹配度不再增加,保留匹配程度好的區域。計算擴大模板后,被覆蓋區域里白色像素比例是否有很大程度的增加。是,則判斷為眼睛。
由于眼睛與嘴巴構成等腰三角形,利用這一特征進行最終的人臉區域確定。
假設嘴巴中心和任意兩個近眼物可構成一系列三角形,設瞳距為1,則其與嘴巴中心的距離d因近似為1,考慮到角度等其他影響,取值1.0<d<1.3。
處理結果如圖3.2所示。
3.3實驗結果和分析
部分實驗結果圖像上圖所示,用符號“+”代表定位的眼睛位置。
圖3.2 特征點定位的圖像
由圖可以看出對于不同表情、不同光照、不同姿態和佩戴眼鏡的情況都有較好的定位結果。
但是當配戴黑色邊框眼鏡且眼鏡上邊緣距離眼球較近、或者光照太強時容易產生錯誤定位的情況。另外當由于光照角度太側而造成臉部陰影嚴重時也會產生錯誤的定位。
3.4本章小結
本章主要描述了人臉區域定位的過程,考慮到人臉圖像的復雜性,將人臉區域定位分為兩方面:人臉區域粗定位,基于特征點的精確定位。
首先根據人臉面積比和長寬比,對于類似人臉的區域進行篩選,去除大部分背景干擾。但仍有部分其他干擾如裸露的皮膚等,這里采用對眼睛和嘴唇的精確定位,排除其他類人臉區域。
通過以上人臉圖像的定位,其定位結果表明文中提出的定位算法有較強的適應性它可以有效地運用于不同尺寸,不同姿態,深色或淺色背景等的情況,是一種有效的人臉定位方法,但是此方法也存在一定的局限性例如只能對簡單背景的正面單人圖像成功定位,在復雜的背景下可能出現定位錯誤的情況。
人臉識別是一項熱門的計算機技術研究領域,它屬于生物特征識別技術,是對生物體(一般特指人)本身的生物特征來區分生物體個體。廣義的人臉識別實際包括構建人臉識別系統的一系列相關技術,包括人臉圖像采集、人臉定位、人臉識別預處理、身份確認以及身份查找等;而狹義的人臉識別特指通過人臉進行身份確認或者身份查找的技術或系統。其他識別無法人臉識別的優勢在于其自然性和不被被測個體察覺的特點。雖然人臉識別有很多比擬的優點,但是它本身也存在許多困難。人臉識別被認為是生物特征識別領域甚至人工智能領域最困難的研究課題之一。人臉識別的困難主要是人臉作為生物特征的特點所帶來的。所有的人臉的結構都相似,而人可以通過臉部的變化產生很多表情。所以還需進一步的改進人臉定位的算法,使定位的效果更加準確,快速。
第4章 人臉圖像識別系統實現
4.1 引言
計算機人臉識別是一個非?;钴S的研究領域,因其在公安刑偵破案、銀行密碼系統、計算機安全系統以及動態監視系統等方面都有廣泛應用,已成為當前模式識別、計算機視覺領域的研究熱點。人臉識別系統一般包括人臉檢測與定位、人臉圖像預處理、特征提取和匹配識別四個組成部分。其中,人臉圖像預處理,作為特征提取和識別的前提步驟,是計算機人臉識別系統中的必要環節。其目的是在去除噪聲,加強有用信息,對輸入設備或其他因素造成的退化現像進行復原,為后續的特征提取和識別作準備。
不同的人臉識別系統根據其采用的圖像來源和識別算法需要不同,采用的預處理方法也不同。常用的人臉圖像預處理方法有:濾波去噪、灰度變換、圖像二值化、邊緣檢測、尺寸歸一化、灰度歸一化等。用在同一系統中的可能只有其中一種或幾種預處理方法,但一旦庫中采集到的原始圖像質量發生較大變化(如人臉大小、光照強度、拍攝條件、成像系統等方面變化),原有的預處理模塊便不能滿足特征提取的需要,還要更新,這是極不方便的。
鑒于此,作者在總結分析了灰度變換、濾波去噪、邊緣檢測三種廣泛應用于不同人臉識別系統中的預處理方法基礎上,設計了一個通用的人臉圖像預處理仿真系統。該系統可對不同條件下的原始圖像進行相應的預處理。如,用戶可根據需要選擇使用不同的濾波方法去除噪聲、不同的邊緣檢測算子檢測人臉邊緣、選擇不同的灰度變換算法實現圖像的灰度校正和灰度歸一化,仿真系統同時還實現了尺寸歸一化、二值化等其他常用的圖像預處理算法。
4.2系統基本機構
人臉識別是一個復雜的過程,一個計算機人臉識別的流程如圖3-1所示。它包括幾個步驟:對采集到的圖像,首先進行人臉檢測(在輸入圖像中尋找人臉),給出人臉有無的結果;然后進行人臉定位,確定人臉的位置并提取出來。對人臉的定位在輸入是圖像序列時一般也稱之為人臉跟蹤。通常檢測和定位結合進行。對提取出來的人臉借助人臉描述就可以進行(狹義的)人臉識別,即通過提取特征來確定其身份。
圖4.1 基本框架圖
4.3 人臉檢測定位算法
人臉檢測定位算法大致可分為兩大類:基于顯式特征的方法和基于隱式特征的方法。
所謂顯式特征是指對人類肉眼來說直觀可見的特征,如膚色、臉部輪廓、臉部結構等?;陲@式特征的方法是指由人通過肉眼觀察,總結出人臉區別于“非人臉”區域的特征,然后根據被檢測區域是否滿足這些“人臉特征”,來判定該區域是否包含人臉。根據所選擇的“人臉特征”,基于顯式特征的方法分以下三類:基于膚色模型的方法、模板匹配的方法、基于先驗知識的方法。
在彩色圖像中,顏色是人臉表面最為顯著的特征之一,利用顏色檢測人臉是很自然的想法。Yang等在考察了不同種族、不同個體的膚色后,認為人類的膚色能在顏色空間中聚成單獨的一類,而影響膚色值變化的最主要因素是亮度變化。因此他們采用廣泛使用的RGB顏色空間,在濾去亮度值的圖像中通過比較像素點的r、g值與膚色范圍來推斷該像素點及其鄰域是否屬于人臉區域。除了RGB顏色空間,還有諸如HIS,LUV,GLHS等其它顏色空間被使用。尋找到膚色區域后,必須進行驗證,排除類膚色區域。Yoo等利用膚色像素的連通性分割出區域,使用橢圓擬合各個區域,根據橢圓長短軸的比率判斷是否為人臉。
模板匹配的方法一般是人為地先定義一個標準人臉模板,計算輸入圖像與模板的似然度;然后,確定一個似然度閾值,用以判斷該輸入圖像中是否包含人臉。標準人臉模板可以是固定的樣板,也可以是帶參變量的曲線函數。
基于先驗知識的方法則采用符合人臉生理結構特征的人臉鑲嵌圖(mosaic image)模型,并在分析了足夠多的人臉圖像樣本的基礎上,針對人臉的灰度、邊緣、紋理等信息,建立一種關于人臉的知識庫。在檢測中,首先抽取這些灰度、邊緣等信息,然后檢驗它是否符合知識庫中關于人臉的先驗知識。
以上三種方法的優缺點比較見表3-1。
表4-1 基于顯示特征方法的特點
基于隱式特征的方法將人臉區域看成一類模式,使用大量“人臉”、“非人臉”樣本訓練、構造分類器,通過判別圖像中所有可能區域是否屬于“人臉模式”的方法來實現人臉檢測。這類方法有:特征臉法、人工神經網絡法、支持向量機法;積分圖像法。
特征臉法(eigenface)把單個圖像看成一維向量,眾多的一維向量形成了人臉圖像特征空間,再將其變換到一個新的相對簡單的特征空間,通過計算矩陣的特征值和特征向量,利用圖像的代數特征信息,尋找“人臉”、“非人臉”兩種模式在該特征空間中的分布規律。
人工神經網絡(Artificial Neural Network,ANN)的方法是通過訓練一個網絡結構,把模式的統計特性隱含在神經網絡的結構和參數之中?;谌斯ど窠浘W絡的方法對于復雜的、難以顯式描述的模式,具有獨特的優勢。
支撐向量機(Support Vector Machine,SVM)法是在統計學習理論基礎上發展出的一種新的模式識別方法,它基于結構風險最小化的原理,較之于基于經驗風險最小化的人工神經網絡,一些難以逾越的問題,如:模型選擇和過學習問題、非線性和維數災難問題、局部極小點問題等都得到了很大程度上的解決。但是直接使用SVM方法進行人臉識別有兩方面的困難:第一,訓練時需要求解二次規劃問題計算復雜度高,內存需求量巨大;第二,在非人臉樣本不受限制時,需要極大規模的訓練集合,得到的支持向量會很多,使得分類器的計算量過高。
基于積分圖像(Integral Image)特征的人臉檢測方法是Viola等新近提出的一種算法,它綜合使用了積分圖像描述方法、Adaboost學習算法及訓練方法、級聯弱分類器。
以上四種方法的優缺點比較見表3-2
表4-2 基于隱式特征方法的特征
| 檢測方法 | 優點 | 缺點與需要改進的地方 |
| 本征臉法 | 標準人臉模板能抽象人臉全部信息,運算不涉及迭代耗費時間短 | 但模板檢測效率低,多模板提高了效率也增加了檢測時間 |
| 神經網絡法 | 檢測效率高,錯誤報警數目不多,訓練成熟的網絡監測速度快 | 多樣本訓練耗費時間多,但網絡監測錯誤報警數目多 |
| 支撐向量機機法 | 比神經網絡方法具有更好的泛化能力,能對為觀測到的例子進行有效分類 | “非人臉”樣本復雜多樣,造成支持向量數目多,運算復雜度大 |
| 基于積分圖像分析法 | 檢測速度快,基本滿足實時檢測要求,檢測效率可以與神經網絡法比較 | 錯誤報警數目少時,檢測率不高 |
運用matlab仿真進行人臉檢測定位實例:
原始圖片 灰度圖片
均衡化灰度圖片 人臉定位
4.4 人臉圖像的預處理
不同的人臉識別系統根據其采用的圖像來源和識別算法需要不同,采用的預處理方法也不同。常用的人臉圖像預處理方法有:濾波去噪、灰度變換、圖像二值化、邊緣檢測、尺寸歸一化、灰度歸一化等。用在同一系統中的可能只有其中一種或幾種預處理方法,但一旦庫中采集到的原始圖像質量發生較大變化(如人臉大小、光照強度、拍攝條件、成像系統等方面變化),原有的預處理模塊便不能滿足特征提取的需要,還要更新,這是極不方便的。鑒于此,作者在總結分析了濾波去噪、邊緣檢測、灰度變換三種廣泛應用于不同人臉識別系統中的預處理方法基礎上,設計了一個通用的人臉圖像預處理仿真系統。該系統可對不同條件下的原始圖像進行相應的預處理。如,用戶可根據需要選擇使用不同的濾波方法去除噪聲、不同的邊緣檢測算子檢測人臉邊緣、選擇不同的灰度變換算法實現圖像的灰度校正和灰度歸一化,仿真系統同時還實現了尺寸歸一化、二值化等其他常用的圖像預處理算法。
4.4.1 仿真系統中實現的人臉圖像預處理方法
根據所查閱文獻資料,常應用于人臉圖像的預處理方法有:圖像類型轉換、濾波去噪、灰度變換、邊緣檢測及二值化、尺寸歸一化、灰度歸一化等。作為通用人臉圖像預處理模塊,要能夠充分適應不同人臉庫中圖像在人臉大小、光照強度、成像系統等方面的任意性和差異性,不能單獨采用某種單一的濾波、灰度變換和邊緣檢測方法。所以,在本仿真系統中,對上述的每種預處理方法全部加以實現的同時,還對三種最常用預處理方法:濾波去噪、灰度變換、邊緣檢測,提供了多種不同的具體算法供用戶比較、選擇之用。
1)濾波去噪
由于噪聲給圖像帶來的失真和降質,在特征提取之前采用濾波的方式來去除噪聲是實際人臉識別系統中所必須的步驟。濾波的方法有很多,如各種平滑濾波、各種銳化濾波等,關于各種濾波方法的原理和分類可參考文獻[2]。下面對本文實現的濾波方法及其選擇依據加以說明。在人臉圖像預處理中使用較多的濾波是平滑濾波,方法可分為以下三類:線性濾波、中值濾波、自適應濾波。
(1)線性濾波最典型的線性濾波方法如,采用鄰域平均法的均值濾波器、采用鄰域加權平均的高斯濾波和維納濾波。對圖像進行線性濾波可以去除圖像中某些特定類型的噪聲,如圖像中的顆粒噪聲,高斯噪聲、椒鹽噪聲等。對掃描得到的人臉圖像根據其噪聲類型一般采用此種濾波方法??紤]濾波模板大小對濾波效果影響較大,仿真系統選擇算法時對同種濾波算法提供了不同模板大小的情況。
(2)中值濾波法中值濾波法是一種非線性濾波方法,它把像素及其鄰域中的像素按灰度級進行排序,然后選擇該組的中間值作為輸出像素值。中值濾波方法的最大優點是抑制噪聲效果明顯且能保護邊界。對于使用基于整體的人臉識別算法的系統中,由于失掉小區域的細節對特征提取影響較小,所以這種濾波方法最受歡迎。
(3)自適應濾波自適應濾波能夠根據圖像的局部方差來調整濾波器的輸出,其濾波效果要優于線性濾波,同時可以更好地保存圖像的邊緣和高頻細節信息。
2)灰度變換
灰度變換是圖像增強技術中的一種。通過灰度變換,可對原始圖像中的光照不均進行補償,使得待識別人臉圖像遵循同一或相似的灰度分布。只有這樣,不同圖像在特征提取和識別時才具有可比性。這一過程,也被稱作灰度歸一化。常用在人臉識別系統中的灰度變換方法主要有:基于圖像統計特征的直方圖均衡化、直方圖規定化和灰度均值方差標準化三種方法。直方圖均衡化和直方圖規定化的灰度變換原理和實現方法可由matlab仿真來實現。
三種灰度變換方法,均能在一定程度上消除由于光照條件不同而對人臉識別帶來的影響。故在仿真系統中提供了三種灰度變換效果比較及選擇界面,用戶可根據需要選用。
3)邊緣檢測
對輸入人臉圖像進行邊緣檢測是很多人臉識別系統在人臉粗定位及人臉主要器官(眼睛、鼻子、嘴巴)定位時采用的預處理方法。邊緣檢測的方法有很多,主要有:微分算子法、Sobel算子法、拉普拉斯算子法、canny算子法等。每種算子對不同方向邊緣的檢測能力和抑制噪聲的能力都不同。所以,和灰度變換及濾波去噪部分的設計思路相同,在仿真系統中,筆者給出了canny、sobel、log、prewitt四種算子在不同灰度閾值下、不同方向的邊緣檢測算法,使用者可從檢測結果中加以比較、選擇合適的算法。圖像類型轉換、圖像二值化、尺寸歸一化也是一些人臉識別系統中經常使用的預處理方法。為了在不修改其他算法的基礎上,擴大系統處理圖像的類型和范圍,將輸入圖像首先轉換為統一的類型,是多數人臉圖像預處理中的第一步。在本仿真系統中通過調用MATLAB中提供的各種圖像類型轉換函數來實現TIF、JPG轉換為BMP格式及彩色到灰度圖像的轉換;對圖像二值化,采用了graythresh()函數來自動選擇閾值的二值化方法[1];尺寸歸一化采用的算法是對人臉圖像進行剪裁和尺寸縮放,實現去除大部分頭發、服飾和背景的干擾并將人臉圖像大小統一。
4.5識別理論
用灰度直方圖增強圖像對比度是基于圖像灰度值統計的一種重要方法,它以概率論為基礎的,常用的實現算法主要是直方圖均衡化和直方圖規定化。
直方圖均衡化主要用于增強動態范圍較小的圖像的反差,基本思想是把原始圖的直方圖變換為均勻分布的形式,這樣就增強了像素灰度值的動態范圍,從而達到增強圖像整體對比度的效果。直方圖均衡化的優點是能自動地增強整個圖像的對比度,但它的具體的增強效果不好控制,處理的結果總是得到全局均衡化的直方圖。實際中有時需要變換直方圖使之成為某個需要的形狀,從而有選擇地增強某個灰度值范圍內的對比度或使圖像灰度值的分布滿足特定的要求,這時可以采用比較靈活的直方圖規定化方法。
4.6人臉識別的matlab實現結果
實現結果如圖4.1和4.2
圖4.3 用戶界面 圖4.4 實現結果
結 論
基于matlab數字圖像處理與識別系統其實是一個范圍很大的應用系統,作者在此只是有針對性、有選擇地進行了一些開發和實現。
該系統的主要功能模塊共有二個:(1)數字圖像處理的基本方法;(2)人臉識別。
在“數字圖像處理的基本方法”這一部分,用到的一些基本方法和一些最常用的處理方法來實現圖像預處理,如格式轉換,灰度變化和濾波銳化。僅就這一部分而言,就有很多可以繼續完成的工作,可將其它一些數字圖像處理方法進一步加以實現,如圖像的平滑,圖像矩陣的變換(K-L變換、Fourier變換、小波變換等),圖像的膨脹腐蝕、圖像的幾何變換(平移、旋轉、縮放等),以及各種編碼圖像的讀寫與顯示。僅這一部分即可形成一個專用的圖像處理平臺。
關于“人臉識別”,在了解了人臉識別的各種方法后,選擇了圖像直方圖差值比較進行了實現。該方法能較好地實現人臉的分類,但對人臉圖像的要求較高,目前僅是采用Orl的標準人臉庫中的圖像來進行測試,因此能獲得較高的識別率。而在現實生活中采集到的人臉圖像則會受到很多因素的影響,識別率就未必能達到要求了。若要進一步提高識別率和適用范圍,則還需要結合其它算法,如PCA、神經網絡等。
參 考 文 獻
[1] 祝磊,朱善安.人臉識別的一種新的特征提取方法[J].計算機學報,2007,34(6): 122-1251
[2] 何東風,凌捷.人臉識別技術綜述[J].計算機學報,2003,13(12)75-78
[3] Younus Fazl-e-Basit Javed和Usman Qayyum”,采用直方圖的人臉識別和處理”第三階段僅相關新興技術研報告。
[4] CVL Face Database[EB/OL].(2007-04-13).http://www.lrv.f- ri.uni- Lj.si/facedb.html.
[5] Shi J.,Tomasi C..Good features to http://track.In:Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition,Seattle,W A,1994,593-600.
[6] Yao P.,Eveans G.,Calaway A..Using affine correspondence to estinata 3D facial http://pose.In:Proceedings of the IEEE International Conference on Image Proceeding.Thessalonik 2001,Vol3,919-922.
[7] 何國輝,甘俊英.PCA-LDA算法在性別鑒別中的應用[J].中國圖像圖形學報,2006,32(19):208-211.
[8] 王聃,賈云偉,林福嚴.人臉識別系統中的特征提取[J].自動化學報,2005,21(7-3).
[9] 張儉鴿,王世卿,盛光磊.基于小波和DFB-PCA的人臉識別算法研究[J].自動化學報,2007,23(2-1).
[10] 曹林,王東峰,劉小軍,鄒謀炎.基于二維Gabor小波的人臉識別算法[J].電子學報,2006,28(3)490-494
[11] 焦峰,山世光,崔國勤,高文,李錦濤.基于局部特征分析的人臉識別方法[J].自動化學報,2003,15(1):53-58
[12] 徐倩,鄧偉.一種融合兩種主成分分析的人臉識別方法[J].計算機學報,2007,43(25):195-197
附錄A 人臉識別matlab程序
%%%%% Reading of a RGB image
i=imread('face1.jpg');
I=rgb2gray(i);
BW=im2bw(I);
figure,imshow(BW)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% minimisation of background portion
[n1 n2]=size(BW);
r=floor(n1/10);
c=floor(n2/10);
x1=1;x2=r;
s=r*c;
for i=1:10
y1=1;y2=c;
for j=1:10
if (y2<=c | y2>=9*c) | (x1==1 | x2==r*10)
loc=find(BW(x1:x2, y1:y2)==0);
[o p]=size(loc);
pr=o*100/s;
if pr<=100
BW(x1:x2, y1:y2)=0;
r1=x1;r2=x2;s1=y1;s2=y2;
pr1=0;
end
imshow(BW);
end
y1=y1+c;
y2=y2+c;
end
x1=x1+r;
x2=x2+r;
end
figure,imshow(BW)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% detection of face object
[s1 s2]=size(BB2);
mx=0;
for k=3:4:s2-1
p=BB2(1,k)*BB2(1,k+1);
if p>mx & (BB2(1,k)/BB2(1,k+1))<1.8
mx=p;
j=k;
end
end
figure,imshow(I);
hold on;
rectangle('Position',[BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j+1)],'EdgeColor','r' )
總結
以上是生活随笔為你收集整理的基于MATLAB的人脸考勤识别系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 应届毕业生培训计划
- 下一篇: 51单片机wr和rd的作用