楊磊 劉美枝
(山西大同大學(xué)物理與電子科學(xué)學(xué)院 山西省大同市 037009)
物聯(lián)網(wǎng)和人工智能時(shí)代的到來,人們對(duì)健康安全出行重視度越來越高,人臉識(shí)別技術(shù)的應(yīng)用產(chǎn)品也貫穿人們的生活中,在銀行金融業(yè)務(wù)辦理進(jìn)行身份比對(duì)、手機(jī)移動(dòng)支付平臺(tái)進(jìn)行刷臉認(rèn)證、有保密性質(zhì)的辦公場(chǎng)所進(jìn)行身份認(rèn)證,采用人臉識(shí)別方式進(jìn)行輔助都可以在一定程度上提供便捷。各種傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法過渡到現(xiàn)階段被人們廣泛研究的深度學(xué)習(xí)算法,激發(fā)了人們對(duì)人工智能的研究興趣。
機(jī)器學(xué)習(xí)算法廣泛應(yīng)用在語言文字處理、機(jī)器視覺、視頻圖像處理等人工智能相關(guān)產(chǎn)品中,海量數(shù)據(jù)流處理使得對(duì)學(xué)習(xí)算法的精度、學(xué)習(xí)時(shí)間以及硬件處理器要求越來越高,
機(jī)器通過對(duì)大量數(shù)據(jù)的分析和學(xué)習(xí),對(duì)同種事物的不同表態(tài)進(jìn)行分類,這樣便極大地提高了現(xiàn)代社會(huì)的效率。如果不是機(jī)器學(xué)習(xí)的助力,我們可能需要對(duì)處理數(shù)據(jù)中的某個(gè)功能寫出具體的算法才可能實(shí)現(xiàn)。我們能想到的其中一種解決辦法就是試圖對(duì)數(shù)據(jù)進(jìn)行分析和歸類,歸納出可以被我們使用的信息。比如在本設(shè)計(jì)的人臉識(shí)別問題上,我們通過對(duì)大量人臉樣本的結(jié)構(gòu)和臉部器官的位置進(jìn)行分析,學(xué)習(xí)到某種算法可以獲取某個(gè)特定人的模式,最終通過匹配這種模式來達(dá)到識(shí)別的效果。
本次設(shè)計(jì)實(shí)現(xiàn),是通過隱馬爾可夫模型(Hidden Markov Model,HMM)進(jìn)行建模,對(duì)訓(xùn)練的人臉樣本生成對(duì)應(yīng)的HMM 模型,把未經(jīng)過訓(xùn)練的人臉與模型進(jìn)行匹配,最終找到對(duì)應(yīng)的訓(xùn)練樣本的某一個(gè),系統(tǒng)總結(jié)結(jié)構(gòu)如圖1所示。
本文主要研究?jī)?nèi)容如下:
(1)對(duì)人臉識(shí)別中常用到的特征提取算法進(jìn)行介紹和比較。由于采集到的人臉圖像會(huì)受到很多外界因素的影響,比如光照、背景、噪聲等,因此必須對(duì)采集到的圖像進(jìn)行裁剪歸一化、灰度處理等預(yù)處理工作,盡可能降低上面提及的外界因素對(duì)人臉識(shí)別成功的影響。而且如果直接將預(yù)處理后的圖像作為特征向量,那么其運(yùn)算復(fù)雜度會(huì)很高,進(jìn)而大大降低了運(yùn)行速率。通過提取人臉圖像的關(guān)鍵信息即特征值,可以對(duì)觀察數(shù)據(jù)的維度進(jìn)行歸納,降低運(yùn)算復(fù)雜度。通過比較多種特征提取算法,本文最終選擇離散余弦變換(DCT)作為最終的特征提取算法。
(2)關(guān)于人臉識(shí)別的算法進(jìn)行簡(jiǎn)單介紹和分析。傳統(tǒng)的人臉識(shí)別方法比如幾何特征法雖說也能實(shí)現(xiàn)識(shí)別功能,但由于人臉圖像的隨機(jī)性導(dǎo)致這種方法有較大的局限性;本文的人臉識(shí)別算法采用機(jī)器學(xué)習(xí)中的隱馬爾可夫模型(HMM),該方法穩(wěn)定性強(qiáng)且復(fù)雜度低。
圖1:系統(tǒng)總體結(jié)構(gòu)
圖2:特征提取采樣過程
(3)對(duì)人臉訓(xùn)練樣本進(jìn)行HMM 模型訓(xùn)練。在MATLAB 運(yùn)行環(huán)境下對(duì)人臉圖像建立模型,得到相應(yīng)的模型集,用于后期的識(shí)別。把待識(shí)別的人臉圖像進(jìn)行特征提取,并與訓(xùn)練好的模型集進(jìn)行匹配,最終達(dá)到系統(tǒng)基本要求。
一般情況下,系統(tǒng)獲取的原始圖像由于受到環(huán)境因素等的限制和噪聲干擾,往往不能直接使用,在本系統(tǒng)中,為了保證提取的的人臉在圖像的大小、位置、偏斜等的不變性、對(duì)光照條件的不敏感性以及對(duì)頭發(fā)遮擋等,必須在提取特征之前對(duì)圖像做預(yù)處理工作。
首先,由于人臉圖像在不同光照條件下灰度數(shù)據(jù)變化很大,為了避免光照的影響我們要進(jìn)行直方圖均衡化。直方圖是圖像各像素灰度值的一種統(tǒng)計(jì)度量,表示數(shù)字圖像中每一個(gè)灰度級(jí)與其出現(xiàn)的頻率之間的統(tǒng)計(jì)關(guān)系,直方圖均衡化的基本思想是將各灰度級(jí)分量盡量平均分布,在直方圖上表現(xiàn)為由密集的灰度分布變?yōu)榫鶆蚍植迹瑥亩鴣碓鰪?qiáng)圖像的對(duì)比度。對(duì)于數(shù)字圖像,設(shè)GL=256 為灰度級(jí)數(shù),則第k 級(jí)的出現(xiàn)頻度為:
表1:采用不同數(shù)據(jù)庫的識(shí)別正確率
式中:Nk為灰度級(jí)為k 的像素?cái)?shù),N 為圖像的總像素?cái)?shù),則其直方圖變換函數(shù):
其次,由于人臉庫中人臉的關(guān)鍵部位在圖片中的相對(duì)位置不一定相同,這直接影響識(shí)別結(jié)果,所謂幾何歸一化包括圖像的平移,旋轉(zhuǎn),翻轉(zhuǎn)和縮放。從而使其他部位如嘴、鼻、臉頰等也保持在相對(duì)標(biāo)準(zhǔn)的位置,以此保證人臉位置的一致性。
一直以來,特征提取都是人臉識(shí)別算法中很重要的問題,提取高效的人臉特征能夠增強(qiáng)系統(tǒng)對(duì)光照、表情、姿態(tài)等的魯棒性,進(jìn)而有效提高識(shí)別率。人臉特征提取方法有很多種,比如Z.M.Hafed等提出了離散余弦變換(DCT)方法[4],Nefian 等提出了二維離散余弦變化(2D-DCT)[5],Sammaria 等提出了直接將圖像灰度值作為觀測(cè)向量[6]。其中,DCT 作為一種簡(jiǎn)單高效的特征提取方法,在人臉識(shí)別算法中被廣泛應(yīng)用,本文采用DCT 特征提取法,假設(shè)輸入人臉圖像大小為H*W,重疊系數(shù)為Y,采用窗口大小為X*W 的矩形進(jìn)行垂直采樣,那么其觀測(cè)序列長(zhǎng)度Z 為:
特征提取采樣過程如圖2所示。
隱馬爾可夫模型(HMM)是由馬爾可夫鏈演變而來的,是一個(gè)雙重隨機(jī)過程,其中的一種隨機(jī)過程是指馬爾可夫鏈,即狀態(tài)的轉(zhuǎn)移,二另一個(gè)隨機(jī)過程是觀察序列與狀態(tài)描述之間的關(guān)系。進(jìn)一步我們總結(jié)出一個(gè)HMM 所應(yīng)有的幾個(gè)要素:
(2)M:每個(gè)狀態(tài)對(duì)應(yīng)的不同觀察序列的總數(shù)
(4)A:狀態(tài)轉(zhuǎn)移概率矩陣
(5)B:觀察概率矩陣
隨后進(jìn)行遞歸:
進(jìn)而可得:
(2)對(duì)已知HMM 的模型λ 及一個(gè)觀察序列Ok,選擇最優(yōu)狀態(tài)序列使用Viterbi 算法在前向變量思路的基礎(chǔ)上,每一步求最大的概率來計(jì)算可能的概率;
本次實(shí)驗(yàn)所用計(jì)算機(jī)為Win10 64 位系統(tǒng),軟件環(huán)境為matlab 2014a。所用數(shù)據(jù)集為ORL 人臉庫和Yale 人臉庫,其中,ORL 人臉庫中收集了40 位不同種族、年齡、性別的對(duì)象。每人10 個(gè)樣本,不同樣本中人臉部分表情和細(xì)節(jié)均有變化,人臉的姿態(tài)也有變化,其深度旋轉(zhuǎn)和平面旋轉(zhuǎn)可達(dá)20 度;Yale 人臉庫中收集了不同表情/光照/姿態(tài)下的11 張人臉,沒人15 個(gè)樣本,共165 張圖片。通過matlab 仿真,所得實(shí)驗(yàn)數(shù)據(jù)如表1所示。
本文人臉識(shí)別主要內(nèi)容包括人臉圖像預(yù)處理、人臉特征提取和HMM 模型訓(xùn)練。通過matlab 軟件分別在人臉數(shù)據(jù)庫中進(jìn)行仿真,根據(jù)仿真結(jié)果可知,本算法對(duì)人臉識(shí)別有較高的識(shí)別率和穩(wěn)定性。