天津工業(yè)大學計算機科學與軟件學院 蔡 靜 尹紹宏
基于MATLAB的人臉識別研究
天津工業(yè)大學計算機科學與軟件學院 蔡 靜 尹紹宏
深入分析了主成分分析(Principal Component Analysis,PCA)方法的基本原理,PCA方法最顯著的優(yōu)點是能用低維特征向量來估計原始樣本,基于此特點將它用來實現(xiàn)對人臉的識別。此外本文還深入分析了PCA中遇到的特征值選擇和距離準則的選取問題。
MATLAB;數(shù)字圖像處理;人臉識別
人臉識別是當前計算機模式識別領(lǐng)域中的一個非常活躍的研究課題,在安全檢測、身份驗證、軍事、商業(yè)等領(lǐng)域具有廣泛的應用前景。基于人臉識別的自動身份認證具有重要的理論意義和應用價值。但是通過人臉圖像來進行識別仍然面臨巨大的挑戰(zhàn),要使這一技術(shù)成為完全成熟的技術(shù)還有許多工作需要做。
人臉識別(Face Recognition)是指基于己知的人臉樣本庫,利用圖像處理和模式識別技術(shù)從靜態(tài)或動態(tài)場景中,識別或驗證一個或多個人臉。從廣義上講,其研究內(nèi)容包括以下五個方面:
(1)人臉檢測(Face Detection):即從動態(tài)的場景或復雜的背景中檢測出人臉的存在并且確定其位置,然后分離出來。這一任務(wù)主要受光照、噪聲、頭部傾斜度以及各種遮擋的影響。
(2)人臉表征(Face Representation):也稱為人臉特征提取,即采用某種表示方法來描述檢測出的人臉與數(shù)據(jù)庫中已知人臉。通常的表示方法包括幾何特征(如歐氏距離、曲率、角度等)、代數(shù)特征(如矩陣特征矢量)、固定特征模板、特征臉、云紋圖等。

圖1 人臉識別系統(tǒng)結(jié)構(gòu)

圖2 部分人臉樣本圖像
(3)人臉識別(Face Identification):即將待識別的人臉與數(shù)據(jù)庫中已知人臉比較,得出相關(guān)信息。這一過程的核心是選擇適當?shù)娜四槺碚鞣椒ㄅc匹配策略。
(4)表情分析(Facial Expression Analysis):即對待識別人臉的表情進行分析,并對其加以歸類。
(5)生理分類(Physical Classification):即對待識別人臉的生理特征進行分析,得出其年齡、性別等相關(guān)信息,或者從幾幅相關(guān)的圖像推導出希望得到的人臉圖像,如從父母圖像推導出孩子的臉部圖像、基于年齡增長的人臉圖像估算等。
相對來說,人臉的表情分析、生理分類是兩個非常難的研究方向,不過它在計算機圖形學,尤其是計算機動畫等領(lǐng)域有很廣泛的應用前景,因此在最近幾年得到了國內(nèi)外很多從事計算機視覺(Computer Vision)的研究人員的注意。本論文主要介紹狹義的靜態(tài)人臉圖像識別方法,研究的重點是人臉特征提取與識別的關(guān)鍵技術(shù),不涉及表情識別和生理分類方面。

圖3 灰度圖像

圖4 平均臉

圖5 測試例子和識別結(jié)果
人臉識別系統(tǒng)通常主要由人臉檢測與定位,人臉特征提取與識別兩部分組成,在這兩部分的基礎(chǔ)上還包括圖像預處理等步驟。其主要實現(xiàn)步驟如下:
(1)圖像預處理
由于實際成像系統(tǒng)多少存在不完善的地方以及外界光照條件等因素的影響,在一定程度上增加了圖像的噪聲,使圖像變得模糊,且對比度低、區(qū)域灰度不平衡。為了提高圖像的質(zhì)量,保證提取特征的有效性,進而提高識別系統(tǒng)的識別率,在提取特征之前,有必要對圖像進行預處理操作,以改善圖像質(zhì)量,保證提取特征的有效性。
(2)人臉的檢測與定位
從輸入圖像中找出人臉及人臉所在的位置,并將人臉從背景中分割出來,輸出為分割好的人臉局部圖像。
(3)圖像歸一化
圖像歸一化屬于圖像預處理的范疇。在對人臉圖像進行特征提取和分類之前一般需要做幾何歸一化和灰度歸一化。幾何歸一化是指根據(jù)人臉定位結(jié)果將圖像中人臉變換到同一位置和同樣大小,灰度歸一化是指對圖像進行光照補償?shù)忍幚恚庹昭a償能夠一定程度的克服光照變化的影響而提高識別率[3,4]。
(4)特征提取與識別
對于歸一化了的人臉圖像進行面部的各特征提取,將原始人臉圖像中的數(shù)據(jù)映射到特征空間,對人臉進行特征建模,建立的特征模型主要用于區(qū)分各人臉之間的差異性,為人臉識別分類打下基礎(chǔ)。由于原始的人臉圖像數(shù)據(jù)量是相當大的,為了有效的實現(xiàn)分類識別,就要對原始數(shù)據(jù)進行變換,得到最能反映分類本質(zhì)的特征,如何提取穩(wěn)定和有效的特征是識別系統(tǒng)成敗的關(guān)鍵。人臉識別驗證是整個自動人臉識別系統(tǒng)的最后一個步驟,根據(jù)面部特征的提取結(jié)果,將待檢測人臉與人臉庫中人臉數(shù)據(jù)進行比較,判斷出待檢驗人臉的身份信息。
一個完整的人臉自動識別系統(tǒng)如圖1所示。
對以上人臉識別系統(tǒng)進行分析可以看出,人臉識別研究需要考慮以下幾個主要方面:如何準確快速的檢測并分割出人臉部分;在非約束環(huán)境下,如何采用一些必要的處理方法來提高系統(tǒng)的魯棒性,尋找一種受人臉姿態(tài)變化和光照條件等因素影響較小的特征提取方法;如何有效的變化補償、特征描述和準確的分類等等,以上方面均直接影響人臉識別的速度與準確度。
在實驗編程中,我們利用的是MATLAB 7.0平臺。MATLAB是由MathWorks公司推出的一套高性能的數(shù)值計算和可視化的數(shù)學軟件。MATLAB編程運算與人進行科學計算的思路和表達方式完全一致。不像學習其他高級語言如Basic、C那樣難于掌握。MATLAB的基本元素是矩陣,所以其非常適合用來進行圖像處理。MATLAB具有強大的數(shù)值計算和圖示能力。具有非常豐富的工具箱(ToolBox)。在國內(nèi)外高等院校中,已成為高等數(shù)學、數(shù)值分析、數(shù)字信號處理、自動控制理論以及工程應用等課程的基本教學工具。
采用的訓練樣本圖像為包含4個人的圖像樣本集,以驗證本程序的通用性。圖2為本實驗要輸入到識別程序中的部分人臉樣本圖像。
本程序?qū)斎氲膱D像進行的預處理包括有彩色圖像到灰度圖像的轉(zhuǎn)換、圖像的噪聲消減、圖像的尺寸歸一化等。人臉識別需要將人臉圖像樣本尺寸歸一化,即縮放變換到固定的尺寸。在本程序中,為方便圖像矩陣的計算,提升計算速度,將圖像統(tǒng)一縮放到120×120大小。圖3為經(jīng)過預處理后得到的灰度圖像。
利用基于PCA+LDA算法的人臉識別算法進行人臉識別,該環(huán)節(jié)包括訓練和識別兩個環(huán)節(jié),對人臉樣本圖像進行訓練則會產(chǎn)生平均臉和特征臉。圖5-4為訓練樣本集中各人臉圖像的特征臉,圖4為訓練樣本集的平均臉。
將測試圖像輸入程序。若經(jīng)過程序判斷待測試圖像為人臉圖像庫中的人臉圖像,則顯示識別結(jié)果。圖5為測試例子和識別結(jié)果。
由于受實驗條件所限,未能利用該人臉識別系統(tǒng)采集大量不同的人臉實驗樣本,只是由簡單人臉圖像數(shù)據(jù)庫來充分驗證系統(tǒng)的性能。實驗中,人臉庫中有4個各自4幅圖片,從中每人各隨機選擇3幅人臉圖像作為訓練樣本,共同作為訓練樣本集。其余每人所剩下的1幅人臉圖像作為測試樣本集。所有照片比較充分的反映了同一個人的不同人臉圖像因光照變化、面部細節(jié)變化等因素而產(chǎn)生的差異。攝像頭獲取的照片拍攝于不同的時間,且同樣允許在一定范圍內(nèi)的光照、表情及面部角度的變化。該人臉識別系統(tǒng)采用基于PCA+LDA算法的人臉識別方法,具體實現(xiàn)步驟如前文所述。按照上述訓練及測試樣本的選取,在不同的人臉樣本的情況下,利用該系統(tǒng)進行人臉識別,均獲得了80%以上的識別率。
從實驗結(jié)果可以看出,即使所采用的訓練及測試樣本集中的圖像樣本均為具有一定姿態(tài)變化,在不同光照條件下獲取的圖像,但該人臉識別系統(tǒng)仍具有很好的識別效果。另外,該人臉識別系統(tǒng)采用優(yōu)秀的人臉識別算法,降低了系統(tǒng)的運算量,因此具有較高的識別速度。這充分說明了運用PCA+LDA方法進行人臉識別的可行性。
本文所設(shè)計的人臉識別系統(tǒng)實現(xiàn)了人臉識別主要模塊的功能,但距離一個具有實時性的快速自動人臉識別系統(tǒng)還相差較遠,在系統(tǒng)的構(gòu)建方面還有許多工作要做。針對該系統(tǒng)現(xiàn)狀,在今后的工作中,還要對其作進一步的完善。
[1]王蘊紅,朱勇,譚鐵牛.基于虹膜識別的身份鑒別[J].自動化學報,2002,28(11):l-10.
[2]梁路宏.人臉檢測與跟蹤研究[D].清華大學博士論文,2001.
[3]程云鵬.矩陣論[M].西安:西北工業(yè)大學出版社,2003,2.
蔡靜(1980—),女,天津工業(yè)大學2010碩士研究生,主要研究方向:計算機圖像處理。
尹紹宏,女,副教授,現(xiàn)供職于天津工業(yè)大學,主要研究方向:計算機圖像處理、數(shù)據(jù)挖掘。