楊磊 劉美枝
(山西大同大學物理與電子科學學院 山西省大同市 037009)
物聯網和人工智能時代的到來,人們對健康安全出行重視度越來越高,人臉識別技術的應用產品也貫穿人們的生活中,在銀行金融業務辦理進行身份比對、手機移動支付平臺進行刷臉認證、有保密性質的辦公場所進行身份認證,采用人臉識別方式進行輔助都可以在一定程度上提供便捷。各種傳統神經網絡算法過渡到現階段被人們廣泛研究的深度學習算法,激發了人們對人工智能的研究興趣。
機器學習算法廣泛應用在語言文字處理、機器視覺、視頻圖像處理等人工智能相關產品中,海量數據流處理使得對學習算法的精度、學習時間以及硬件處理器要求越來越高,
機器通過對大量數據的分析和學習,對同種事物的不同表態進行分類,這樣便極大地提高了現代社會的效率。如果不是機器學習的助力,我們可能需要對處理數據中的某個功能寫出具體的算法才可能實現。我們能想到的其中一種解決辦法就是試圖對數據進行分析和歸類,歸納出可以被我們使用的信息。比如在本設計的人臉識別問題上,我們通過對大量人臉樣本的結構和臉部器官的位置進行分析,學習到某種算法可以獲取某個特定人的模式,最終通過匹配這種模式來達到識別的效果。
本次設計實現,是通過隱馬爾可夫模型(Hidden Markov Model,HMM)進行建模,對訓練的人臉樣本生成對應的HMM 模型,把未經過訓練的人臉與模型進行匹配,最終找到對應的訓練樣本的某一個,系統總結結構如圖1所示。
本文主要研究內容如下:
(1)對人臉識別中常用到的特征提取算法進行介紹和比較。由于采集到的人臉圖像會受到很多外界因素的影響,比如光照、背景、噪聲等,因此必須對采集到的圖像進行裁剪歸一化、灰度處理等預處理工作,盡可能降低上面提及的外界因素對人臉識別成功的影響。而且如果直接將預處理后的圖像作為特征向量,那么其運算復雜度會很高,進而大大降低了運行速率。通過提取人臉圖像的關鍵信息即特征值,可以對觀察數據的維度進行歸納,降低運算復雜度。通過比較多種特征提取算法,本文最終選擇離散余弦變換(DCT)作為最終的特征提取算法。
(2)關于人臉識別的算法進行簡單介紹和分析。傳統的人臉識別方法比如幾何特征法雖說也能實現識別功能,但由于人臉圖像的隨機性導致這種方法有較大的局限性;本文的人臉識別算法采用機器學習中的隱馬爾可夫模型(HMM),該方法穩定性強且復雜度低。

圖1:系統總體結構

圖2:特征提取采樣過程
(3)對人臉訓練樣本進行HMM 模型訓練。在MATLAB 運行環境下對人臉圖像建立模型,得到相應的模型集,用于后期的識別。把待識別的人臉圖像進行特征提取,并與訓練好的模型集進行匹配,最終達到系統基本要求。
一般情況下,系統獲取的原始圖像由于受到環境因素等的限制和噪聲干擾,往往不能直接使用,在本系統中,為了保證提取的的人臉在圖像的大小、位置、偏斜等的不變性、對光照條件的不敏感性以及對頭發遮擋等,必須在提取特征之前對圖像做預處理工作。
首先,由于人臉圖像在不同光照條件下灰度數據變化很大,為了避免光照的影響我們要進行直方圖均衡化。直方圖是圖像各像素灰度值的一種統計度量,表示數字圖像中每一個灰度級與其出現的頻率之間的統計關系,直方圖均衡化的基本思想是將各灰度級分量盡量平均分布,在直方圖上表現為由密集的灰度分布變為均勻分布,從而來增強圖像的對比度。對于數字圖像,設GL=256 為灰度級數,則第k 級的出現頻度為:

表1:采用不同數據庫的識別正確率

式中:Nk為灰度級為k 的像素數,N 為圖像的總像素數,則其直方圖變換函數:

其次,由于人臉庫中人臉的關鍵部位在圖片中的相對位置不一定相同,這直接影響識別結果,所謂幾何歸一化包括圖像的平移,旋轉,翻轉和縮放。從而使其他部位如嘴、鼻、臉頰等也保持在相對標準的位置,以此保證人臉位置的一致性。
一直以來,特征提取都是人臉識別算法中很重要的問題,提取高效的人臉特征能夠增強系統對光照、表情、姿態等的魯棒性,進而有效提高識別率。人臉特征提取方法有很多種,比如Z.M.Hafed等提出了離散余弦變換(DCT)方法[4],Nefian 等提出了二維離散余弦變化(2D-DCT)[5],Sammaria 等提出了直接將圖像灰度值作為觀測向量[6]。其中,DCT 作為一種簡單高效的特征提取方法,在人臉識別算法中被廣泛應用,本文采用DCT 特征提取法,假設輸入人臉圖像大小為H*W,重疊系數為Y,采用窗口大小為X*W 的矩形進行垂直采樣,那么其觀測序列長度Z 為:

特征提取采樣過程如圖2所示。
隱馬爾可夫模型(HMM)是由馬爾可夫鏈演變而來的,是一個雙重隨機過程,其中的一種隨機過程是指馬爾可夫鏈,即狀態的轉移,二另一個隨機過程是觀察序列與狀態描述之間的關系。進一步我們總結出一個HMM 所應有的幾個要素:
(2)M:每個狀態對應的不同觀察序列的總數


(4)A:狀態轉移概率矩陣

(5)B:觀察概率矩陣


隨后進行遞歸:

進而可得:

(2)對已知HMM 的模型λ 及一個觀察序列Ok,選擇最優狀態序列使用Viterbi 算法在前向變量思路的基礎上,每一步求最大的概率來計算可能的概率;
本次實驗所用計算機為Win10 64 位系統,軟件環境為matlab 2014a。所用數據集為ORL 人臉庫和Yale 人臉庫,其中,ORL 人臉庫中收集了40 位不同種族、年齡、性別的對象。每人10 個樣本,不同樣本中人臉部分表情和細節均有變化,人臉的姿態也有變化,其深度旋轉和平面旋轉可達20 度;Yale 人臉庫中收集了不同表情/光照/姿態下的11 張人臉,沒人15 個樣本,共165 張圖片。通過matlab 仿真,所得實驗數據如表1所示。
本文人臉識別主要內容包括人臉圖像預處理、人臉特征提取和HMM 模型訓練。通過matlab 軟件分別在人臉數據庫中進行仿真,根據仿真結果可知,本算法對人臉識別有較高的識別率和穩定性。