南京信息職業(yè)技術學院 郭 慧 王 璇 呂 黎
深圳中廣核工程設計有限公司 郭文仙 李春錦
安徽信息工程學院 方兵華
近些年來,隨著人類社會對互聯(lián)網(wǎng)金融貿(mào)易和安防監(jiān)控等方面應用需求的急速增長,生物特征識別技術的研究已成為重要的研究熱點之一,而人臉識別在計算機視覺和人工智能領域具有較為廣泛的應用價值,尤其是在系統(tǒng)安全驗證、金融驗證、醫(yī)學圖像、檔案管理、人機交互公安部門罪犯搜索等方面具有巨大應用前景[1][2]。生物特征識別技術是通過提取生物某些特定的易于區(qū)分本體的特征或行為[3][4],并將所提取的特征與事先錄入數(shù)據(jù)庫中樣本數(shù)據(jù)進行篩選和匹配,從而完成對個人身份的識別。
人臉識別系統(tǒng)主要包括視頻實時采集及預處理、數(shù)據(jù)庫管理、人臉識別和識別信息輸出等四個模塊組成,其人臉識別系統(tǒng)結(jié)構(gòu)如圖1所示。
系統(tǒng)具體識別過程:首先對樣本視頻中人臉進行檢測,剪切出人臉圖像部分,并對所剪切出的圖像進行去噪、平滑等處理。在身份信息管理數(shù)據(jù)庫模塊,將特定的人臉與身份信息進行匹配,如:姓名、聯(lián)系方式等信息。在人臉識別功能階段,采用PCA (Principal Component Analysis)算法將視頻中人臉特征與數(shù)據(jù)庫中人臉特征進行數(shù)據(jù)比對,篩選出與輸入圖像相匹配的身份信息進行輸出。
圖1 人臉識別系統(tǒng)結(jié)構(gòu)
在人臉識別中,本文采用PCA分析算法進行人臉特征提取及數(shù)據(jù)維,該算法屬于多元統(tǒng)計分析法,是用一種較少數(shù)量的特征對樣本進行描述,以達到降低特征空間維數(shù)。人臉圖像特征信息是一個高維的矩陣信息,PCA算法可以將高維的人臉圖像矩陣映射到低維特征空間中,基于各個正交基底來生成對應的特征矢量。這種特征矢量不僅可以免除環(huán)境和人為因素如光照、姿態(tài)、表情等干擾因素對識別的干擾,同時可以精確地反映人臉圖像的全局信息與局部特征信息的關系[5-6]。
PCA具體算法如下:
設人臉圖像I(x,y)為二維N*N灰度圖像,用向量R表示。人臉圖像訓練集為其中M為訓練集中圖像總數(shù),這M幅圖像的平均向量為:
訓練圖像的協(xié)方差矩陣可表示為:
計算C的特征向量,并按照特征值的權重取前若干個特征向量組成特征空U?;谔卣髂樀娜四樧R別過程由訓練階段和識別階段兩個階段組成[7]。在訓練階段,每個已知人臉映射到由特征臉構(gòu)成的子空間上,得到m維向量:
其中N為已知人數(shù),距離閾值為:
其中U為C的特征向量組成的矩陣。在識別階段,首先把待識別的圖像R映射到特征臉空間。得到向量:
為了區(qū)分人臉和非人臉,還需計算原始圖像R與其由特征空間重建的圖像之間的距離:
采用歐式最小距離法對人臉進行分類[8],分類規(guī)則如下:
本文采用MATLAB軟件中的GUI建立人機交互界面,該界面主要包括信息錄入、刪除和識別輸出等這三個基本功能,用戶操作界面如圖2所示。
圖2 用戶操作界面
本系統(tǒng)利用SQL Server存儲錄入人臉身份信息,并與MATLAB人臉錄入信息程序?qū)崿F(xiàn)相連接,可以在MATLAB 腳本中對SQL Server中儲存的人物信息進行查找讀取,錄入,刪除操作。運行識別程序前,應打開數(shù)據(jù)庫管理軟件SQL server 使得程序運行后,可以訪問數(shù)據(jù)庫交換信息,系統(tǒng)運行過程流程圖如圖3所示。
圖3 系統(tǒng)運行流程圖
在MATLAB調(diào)用攝像頭中,本文使用MATLAB的圖像獲取工具箱中函數(shù)imaqhwinfo(),以獲取PC上攝像頭配置信息[9],程序代碼如下:
為順利調(diào)用數(shù)據(jù)庫中的身份信息,在SQL Server中創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫表存放身份信息如圖4所示,并建立ODBC數(shù)據(jù)源用于MATLAB 連接數(shù)據(jù)庫。
圖4 數(shù)據(jù)庫表
數(shù)據(jù)錄入界面和識別輸出界面如圖5和圖6所示。
圖5 數(shù)據(jù)錄入界面
圖6 識別信息輸出
PCA人臉識別算法只能處理二維信息而攝像頭采集的是彩色圖片,故在處理時將彩色圖像灰度化為黑白圖片與數(shù)據(jù)庫中圖片形成相關聯(lián),在識別分析時,可以識別出相應的灰度人臉圖像,并顯示出相關聯(lián)的彩色人臉圖。
為驗證人臉識別準確率,本文選用經(jīng)典ORL(Olivertti Research Laboratory)人臉圖數(shù)據(jù)庫,具體驗證算法是:先錄入ORL人臉數(shù)據(jù)庫的人臉訓練樣本,每個樣本大小像素為N*M的二維矩陣,二維數(shù)組變成一維數(shù)組,即向量。若人臉圖庫中有m張人臉,把這些圖片都表示成上述的向量形式,即將所有的擴充為一個二維數(shù)組即。再將矩陣Q乘以的Q逆矩陣QT得的協(xié)方差矩陣B,求B的特征向量,取最大的K個特征向量組成新的矩陣F。使用QT乘以F得到特征臉C。然后錄入將需識別的人臉圖R,R進行降維和向量化表示為:; R乘以上面訓練得到的特征臉C得到這個圖片向量R在C下的投影向量P,計算與上面訓練圖庫m張人臉圖降維所得到的Pm的向量距離,與P距離最小的向量所對應的人臉圖像,即為所查找圖像信息[10]。
為保證圖像保留90%的能量,本文選用前64個特征值求其占所有特征值之和的百分比,如圖7所示,由此可見人臉識別率accuracy=0.9032。
圖7 前64個特征值求其占所有特征值之和的百分比
本文采用主成分分析算法以提取人臉圖像特征信息,利用統(tǒng)計學原理來判斷輸入圖像子空間與樣本訓練圖像空間之間的相似度,使用經(jīng)典的歐式距離來判斷選擇輸入圖像與樣本空間中的圖像的對應關系。通過matlab軟件中GUI,本文建立了人機交互界面,并利用SQL Server存儲錄入人臉身份信息,與MATLAB 人臉錄入信息程序?qū)崿F(xiàn)相連接,在MATLAB 腳本中對SQL Server進行已儲存人臉信息的查找、讀取,錄入,刪除操作。該系統(tǒng)人臉實時識別率達到90.32%,進而達到人臉實時識別效果。
由于該研究仍處于初步階段,所以還需進一步深入研究,尚待克服的問題:
(1)如何消除環(huán)境因素和人臉姿態(tài)對圖像的影響,進而上升到動態(tài)進行視頻圖像的檢測的處理,提高人臉預處理的魯棒特性。
(2)是在人臉識別構(gòu)建樣本空間時如何獲取大量的訓練樣本人臉圖像,使用個人肖像這需要得到個人的圖像授權和法律的支持。
(3)如何綜合融合多種識別算法,將其各取所長應用到識別中,制定判別標準使得識別應用開發(fā)更加便捷,消除技術壁壘。
[1]孫冬梅,裘正定.生物特征識別技術綜述[J].電子學報,2001,29(z1)∶1744.1748.
[2]方志剛,葉偉中.多生物特征識別技術綜述[J].計算機工程,2003,29(9)∶140,142.
[3]余龍華,丁鋒.人臉識別中圖像預處理問題的研究[J].大眾科技,2011,(5).
[4]田啟川,張潤生.生物特征識別綜述[J].計算機應用研究,2009,26(12)∶4401-4406.
[5]趙松.人臉識別中的姿態(tài)估計、識別算法和融合算法的研究[D].中國科學技術大學,2009.
[6]趙堃.人臉表情識別的研究與實現(xiàn)[D].沈陽理工大學,2009.
[7]孫艷豐,齊光磊,胡永利.一種深度卷積神經(jīng)網(wǎng)絡的人臉識別方法∶CN 104866810 A[P].2015.
[8]楊國亮,李歡.改進的基于特征臉和歐氏距離的人臉識別方法[J].軟件導刊,2010(03).
[9]甘俊英,高建虎,李春芝.基于對角DCT與2DPCA算法的人臉識別[J].計算機工程與應用,2007,43(31)∶210-213.
[10]杜冬梅,田昆鵬,姜磊,王小研.基于Matlab的攝像機標定方法研究[J].河南工程學院學報∶自然科學版,2012.