龔成清
摘要:人臉識別技術(shù)是當(dāng)前進行身份識別的研究熱點,已廣泛應(yīng)用在社會的各個領(lǐng)域。BP神經(jīng)網(wǎng)絡(luò)算法可以通過自動學(xué)習(xí)對網(wǎng)絡(luò)的權(quán)值和偏差進行反復(fù)的調(diào)整訓(xùn)練,從而輸出最優(yōu)值。對圖像進行預(yù)處理和特征提取后,利用BP神經(jīng)網(wǎng)絡(luò)算法進行學(xué)習(xí)和訓(xùn)練,可以有效地進行人臉圖像的識別。
關(guān)鍵詞:人臉識別;BP神經(jīng)網(wǎng)絡(luò);算法
1概述
人臉識別技術(shù)的研究始于20世紀(jì)60年代,是基于人的臉部特征信息進行身份識別的一種生物識別技術(shù)。人臉識別是一個綜合性的工程,涉及圖像處理、機器視覺、模式識別、神經(jīng)網(wǎng)絡(luò)等諸多學(xué)科。人臉識別技術(shù)具有非強制性、非接觸性、隱蔽性、直觀性等特點,有著廣泛的應(yīng)用前景,已經(jīng)在金融、軍事、教育、醫(yī)療等多個領(lǐng)域得到了良好的應(yīng)用。
人臉識別一般包含四個步驟:人臉圖像檢測、人臉圖像預(yù)處理、人臉圖像特征提取以及匹配與識別。許多學(xué)者也對人臉識別的算法進行了研究,歸納起來可以分為以下幾種:基于人臉特征點的識別算法、基于整幅人臉圖像的識別算法、基于模板的識別算法和利用神經(jīng)網(wǎng)絡(luò)進行識別的算法。利用神經(jīng)網(wǎng)絡(luò)進行人臉識別是通過神經(jīng)網(wǎng)絡(luò)的訓(xùn)練學(xué)習(xí),得到相應(yīng)的識別函數(shù)關(guān)系,從而進行識別?;谏窠?jīng)網(wǎng)絡(luò)的人臉識別算法能并行地進行信息的存儲與處理,具有算法簡單、運行速度快等優(yōu)點。
2BP神經(jīng)網(wǎng)絡(luò)
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)最初是在1986年由D.E.Ru-melhart和J.L.Mc Celland首先提出來的,是目前應(yīng)用最廣泛的人工神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱藏層和輸出層,如圖1所示:
設(shè)x為輸入值,y為輸出值,i為上一層神經(jīng)元,i為當(dāng)前層神經(jīng)元,k為下一層神經(jīng)元,w為神經(jīng)元i與神經(jīng)元i之間的權(quán)值,m是輸入層節(jié)點數(shù)目,n為計算的次數(shù)。當(dāng)i=0時,權(quán)值為閾值。BP神經(jīng)網(wǎng)絡(luò)算法的計算過程如下:
(1)初始化
選擇網(wǎng)絡(luò)拓撲結(jié)構(gòu),設(shè)置權(quán)值和閾值,確定學(xué)習(xí)因子a;
(2)正向計算
對p層的神經(jīng)元i,計算線性組合系數(shù):
3基于BP神經(jīng)網(wǎng)絡(luò)的人臉識別算法
3.1人臉圖像檢測
人臉圖像檢測就是對輸入圖像中進行判斷是否包含人臉,如果有,則給出人臉的位置、大小等信息,并將人臉區(qū)域從背景中分離出來。人臉圖像中包含的模式特征十分豐富,如顏色特征、結(jié)構(gòu)特征、直方圖特征等,現(xiàn)行已經(jīng)有很多檢測的成熟算法,在此不再贅述。為簡單起見,本文直接使用ORL數(shù)據(jù)庫中的人臉圖像。
3.2人臉圖像預(yù)處理
由于原始圖像在生成、傳輸?shù)冗^程中會受到各種條件的限制和隨機干擾,因此在進行人臉識別之前必須對圖像進行灰度校正、噪聲過濾等圖像預(yù)處理。預(yù)處理的目的是消除噪聲及冗余信息的干擾,降低環(huán)境因素對圖像的影響,突出圖像的重要信息。
一般的做法是先將原始圖像轉(zhuǎn)換成為灰度矩陣,matlab關(guān)鍵代碼如下:
for i=1:n%n為圖片數(shù)量
e=[d dir(i,1:7)];%得到每張圖片的文件名
M=double(imread(e));%將圖片轉(zhuǎn)化成為灰度矩陣
end
3.3人臉圖像特征提取
原始圖像轉(zhuǎn)換為灰度圖像后,其所包含的數(shù)據(jù)量還是比較大的,若直接對其進行計算,則計算量會非常的大,因此需要對灰度圖像進一步處理來提取其特征值。圖像進行特征提取,使用提取的特征信息來進行人臉的分類,常用于表述人臉的幾何特征包括:①眉毛的厚度,眉毛與眼睛之間的垂直距離;②眉毛弧度的11個描述參數(shù);③鼻子的寬度,鼻子的垂直位置④嘴巴寬度、上下嘴唇的厚度、嘴巴的垂直距離;⑤下巴形狀的描述參數(shù)⑥鼻孔位置的臉寬⑦鼻孔與眼睛中間位置的臉寬。
人臉特征提取的方法歸納起來分為兩大類:一種是基于知識的表征方法;另外一種是基于代數(shù)特征或統(tǒng)計學(xué)習(xí)的表征方法。基于知識幾何特征的提取在很大程度上依賴于先驗知識,具有較大的局限性和不準(zhǔn)確性,基于統(tǒng)計學(xué)習(xí)的方法用統(tǒng)計的策略提取所有訓(xùn)練圖像的統(tǒng)計特征,不需要抽取每個人臉的面部特征,會更有效,因此成為了目前主流的方法。
人臉特征提取不管用哪種方法思路都是將圖像劃分為小的區(qū)域,由高維空間的表示變換到用低維空間來表示,通過添加處理選取低維空間中最能表現(xiàn)圖像特征的數(shù)據(jù)來表示圖像,從而達到降低特征維數(shù)的目的。
本文對經(jīng)過預(yù)處理的灰度圖像進行變換,對灰度矩陣進行切割,再用SVD分解,并提取圖片特征。若把原始圖像劃分為16塊小矩陣,關(guān)鍵代碼如下:
3.4人臉圖像匹配與識別
經(jīng)過圖像灰度預(yù)處理、特征提取之后,就需要設(shè)計一個算法對輸入的特征進行分類,實現(xiàn)人臉的識別。人臉識別就是將待識別的人臉特征與已得到的人臉特征模板進行比較,根據(jù)相似程度對人臉的身份信息進行判斷。
使用BP神經(jīng)網(wǎng)絡(luò)對人臉進行識別,需要先創(chuàng)建神經(jīng)網(wǎng)絡(luò),具體代碼如下:
4實驗結(jié)果
運用以上算法,對ORL數(shù)據(jù)庫中的400張人臉圖像進行了識別,所有的人臉圖像均為正臉,帶有一定程度的朝上下左右的偏轉(zhuǎn)或傾斜,有相似的黑暗同質(zhì)背景。我們把圖像分為沒有重疊的、相同大小的訓(xùn)練集和測試集。每個類別隨機的選取5幅圖像作為訓(xùn)練集,5幅歸為測試集。實驗結(jié)果表明,算法可以準(zhǔn)確進行人臉的識別,識別率達到了100%。