公維軍 吳建軍 李曉霞 李曉旭
(1.河西學院信息技術與傳媒學院 張掖 734000)(2.蘭州理工大學計算機與通信學院 蘭州 730050)
隨著人工智能技術的不斷普及和發展,身份識別得到了廣泛的發展和應用。人臉識別作為生物識別技術其自然性和無侵犯性等優點得到了廣泛的共識和應用,在眾多領域的如人機交互、門禁系統、安防、交通駕駛安全、虛擬游戲互動、金融等領域應用越來越廣泛,其重要性不言而喻。因此,對于人臉識別的研究越來越受到眾多學者的重視,也是當前研究的一個熱點。
傳統識別算法如主成分分析(PCA)和線性判別分析(LDA)是人臉識別中上最常見的兩個算法[1]。但對人臉特征的細節的把握和對外部因素的影響如光照、表情及姿態等的處理不夠友好,局部性能不佳。近年來 LBP(Local binary patter)[2]算法由于具有良好的紋理描述,計算簡單和運算速度快在人臉識別、表情識別中得到了廣泛的應用。但該算法對光照變化和隨機噪聲適應能力不足。后續有學者提出了 MB-LBP、CSLBP 等改進算法[3~4]。學者Jabid在LBP基礎上提出了LDP(Local Directional Patterns)[5]局部定向模式算法,該算法使用模板卷積獲得邊緣梯度信息,因此對于具有隨機噪聲和非一致性光照變化的人臉圖像具有良好的特征提取能力。
最近,深度學習[6~7]作為機器學習領域熱門的研究方向,由于可以模擬大腦的深度組織結構,通過組合低層特征形成更抽象、更有效的高層表示,被應用在視覺識別領域。由Hinton于2006年提出的典型的深度學習算法DBN(Deep Belief Network)[8]深度信念網絡,通過不斷的自上而下學習各層的抽象特征,進而最終得到特征的非線性描述。但是由于DBN忽略了圖像的局部特性,若直接以像素級特征輸入,受外部噪聲影響很可能學習不到有效的特征。部分學者針對這些問題提出將LBP紋理特征作為DBN的輸入,在人臉識別中能夠取得一定的效果[9~10]。本文針對LBP作為對人臉特征具有光照和噪聲不穩定性等特點及單一算法在識別率上的限制等問題,同時為了提取更具選擇性的人臉特征和降低網絡學習復雜度,提出更具有選擇性的局部方向人臉特征算法LLDP(Local-LDP)對局部敏感特征進行分塊式局部方向特征提取,最后將聯合特征送入DBN進行深度學習和自動特征提取,實驗證明本文提出的算法對細節和層次的把握能力更強,能夠獲得更好的識別率,魯棒性更強。
傳統人臉識別算法在進行人臉識別前,只是進行簡單的裁剪,進行全局特征提取,或將整體圖像進行平均分塊,在經過特征提取后在獲取直方圖后進行拼接,雖然增強了特征的局部性能,但也帶來了處理時間長,冗余信息多,圖像噪聲影響識別率。本文在綜合上述方法優缺點的基礎上,提出基于敏感信息的人臉特征提取方法。人臉在識別當中最突出的特征在于眼睛、眉毛、鼻子、嘴巴及下巴,這部分的能量差異性尤其是眉形、眼形、鼻溝的深淺、鼻孔的變化、嘴型、下巴的形狀等在各類人臉中都呈現尤為明顯,這類差異性可以成為人臉判別的重要標準之一。因此,結合傳統人臉識別的思想,同時為了進一步減小直接預處理后的圖像的復雜度和冗余度較高的問題,我們采用將眼、眉、嘴、鼻、下巴這部分具有重要甄別特征的人臉敏感部位單元共同作用于人臉識別進行處理中,為下一步特征提取打好基礎。文中采用adaboost[11]方法進行各部位的迅速定位,如圖1所示。

圖1 人臉敏感特征區域提取
LDP局部方向模式由Jabid等在2010年在LBP算法的基礎上提出,繼承了LBP算法計算速度塊和適用范圍廣等特點,能夠有效提取人臉圖像的紋理特征。LBP算法是對于人臉圖像中的任意一點p(xi,yi),定義一個以該像素點為中心的3×3的矩陣區域,順時針讀取其周圍的8個像素點的值,通過式(1)得到該像素點的二進制編碼。

其中,(i,j)代表像素坐標,gp和gc分別代表鄰接像素和中心像素灰度值,s(x)為符號函數,對于基本LBP的鄰接數為8。

圖2 LBP編碼
圖2 中代表以中心像素115組成的3×3區域根據LBP算法得到的最終LBP二進制編碼00101010,對應十進制為42。
但是LBP算法雖然對于一致性光照變化不敏感,但是對于包含隨機噪聲與非一致性光照變化的圖像,在特征提取性能上反而變壞[12],而LDP算法卻在這方面有自己獨特的優勢,如圖5所示,該算法在細節和光照的處理明顯比LBP具有優勢,具有更強的特征提取能力。該方法通過計算像素點在8個方向上的邊緣響應值來計算LDP值,選取Krisch算子進行卷積運算得到相應的邊緣梯度值,構成了8位的二進制編碼。

圖3 Krisch算子模板集合
如圖3所示,通過將每個像素分別與Krisch算子8個方向模板進行卷積運算,可得到8個LDP值,對這8個邊緣梯度值取絕對值進行排序,取前k個最大的值作為特征值(通過實驗論證本文中取k=3效果最佳),并賦值為1,其余(8-k)個賦值為0,最終得到一個8位的2進制LDP編碼。如式(2)所示:

具體編碼過程如圖4所示。

圖4 LDP編碼
圖中設置LDP編碼取k=3個邊緣梯度模值的絕對值為1,其余為0。最終的LDP對應2進制編碼為:00010011,對應十進制為21。

圖5 原始圖、LBP、LDP編碼特征圖
深度信念網絡(DBN)屬于一種深度學習模型,是Hinton等學者在受限玻爾茲曼機(RBM)[13]基礎上提出的學習模型。它實質上是將多個RBM疊堆,前一層作輸出作為后一層的輸入進而構成深度玻爾茲曼機RBMs,即深度信念網絡。每個RBM由一層可視層單元和隱藏層單元組成的隨機神經網絡,在隱藏層中每一層從前一層的隱藏單元捕獲高度的關聯性,其中在可視層和隱藏層中每個神經元之間的狀態是條件獨立的。利用構建包括多層非線性映射的深度網絡來模擬人腦結構與認知過程,采用非監督的方式實現對輸入層逐層抽象的特征提取。在網絡最后一層采用有監督BP網絡實現對整體網絡的參數調整與分類。
受限玻爾茲曼機(RBM)作為DBN的堆疊組成單元,它在一組給定狀態 (v,h),實際參數θ=(ai,bj,wij)下的能量表達式為

m和n分別代表可見層和隱藏層的神經元個數,ai和bj分別表示可見層和隱藏層神經元的偏置值,hj和vi分別為可見層中第i個和隱藏層中第j個神經元的狀態,wij表示連接可見層和隱藏層的各個神經元網絡的權值。當θ確定時,隨機變量(v,h)的聯合概率分布為

在可見層概率分布給定的情況下,通過條件概率即可得出隱藏層第j個神經元hj的激活因子概率為

同理,對于隱藏層給定的條件下,可見層第i個神經元vi的激活因子概率為
其中σ(x)即Sigmoid函數,取值范圍在[0,1]之間。
對于一個具有l層的DBN,可視層和隱藏層單元的聯合分布為

根據上式,設k∈(1,2…l),則第k和k+1層隱藏單元的關系滿足以下條件:

其中為第k和k+1層的權值為第k層的偏置。
DBN在具體學習過程可分為:預訓練階段和微調階段兩個階段。預訓練階段是采用無監督訓練方式對RBMs從第一層到最后一層逐層訓練,前一層RBM的輸出作為后一層RBM的輸入;在微調階段則是將RBMs訓練得到的網絡參數值作為整體網絡參數對BP網絡進行初始化,該階段采用有監督的學習方法對BP網絡進行訓練。最終將BP網絡訓練的輸出標簽與實際標簽產生的誤差逐層反向傳播,達到對整個DBN網絡參數進行微調的目的。DBN的結構如圖6所示。

圖6 深度信念網絡(DBN)示意圖
本文將局部敏感信息特別應用在局部方向算法當中,在利用深度學習算法DBN進行學習,最終獲得識別結果。具體算法如下:
1)采用2.1中的方法對人臉圖像中的關鍵敏感人臉特征進行分塊處理,獲得眼、眉、鼻、嘴和下巴局部關鍵區域;
2)利用LDP算法對以上5個局部敏感區域進行人臉特征提取,獲得每一個子塊的LDP特征,將該5個區域的直方圖進行首尾相連,最終形成樣本的局部敏感LDP特征即LLDP特征;
3)將訓練樣本的LLDP特征作為DBN的可視層的輸入,通過對DBN網絡進行逐層訓練,在該算法當中,根據實驗設置DBN的層數為2層,第一層迭代次數為45次,學習率為0.0025,第2層迭代次數為45次,學習率為0.003。
4)在深度網絡訓練完后,將測試樣本的LLDP紋理特征作為DBN可視層輸入,采用經過參數優化后的網絡由下向上逐層次學習并最終提取測試樣本的人臉特征,最終在網絡頂層利用Softmax方法進行回歸分類并獲得測試樣本的分類值,最終得到識別率。
本文通過以下兩個實驗來對本文算法進行實驗驗證,并在實驗中將本文算法與相關算法進行了性能比較,在實驗前,所有的人臉圖像在剪切和校準后,最終歸一化到32×32,為下一步算法區域定位與提取做好準備。
實驗一:在ORL人臉庫[14]上進行實驗測試。該人臉庫包括40人,其中每個人存在不同時間拍攝的10張92×112大小的人臉灰度圖像,包含不超過20度的人臉偏轉,如圖7所示。本文在實驗中,分別對于每個人隨機提取5張圖片作為訓練圖片,其余5張作為測試圖片。不同算法在不同隱藏單元中的識別率如表1所示。

表1 各種算法在ORL庫中不同隱藏單元的識別率

圖8 ORL中不同隱藏單元識別率
實驗二:在MIT-CBCL人臉庫進行實驗驗證。MIT-CBCL庫是一組由10人構成的圖像庫,總共2000個圖像序列,對于每個人都包含有200張115×115大小的一系列的人臉圖像,最大轉向達到30度,包含各類表情,實驗數據十分豐富[15],如圖9所示。算法選擇其中10人進行測試實驗,每人選取20張不同的人臉圖像進行試驗。選取其中每個人10張作為訓練樣本,另外10張作為測試樣本。相對應不同隱藏單元的實驗結果如表2所示。

圖9 MIT-CBCL人臉數據庫樣本

表2 各種算法在MIT-CBCL庫中不同隱藏單元的識別率

圖10 MIT-CBCL中不同隱藏單元識別率
為了更好地體現本文算法在不同圖庫中與其他相應算法在性能上的表現差異,本文設計了不同算法對照實驗,識別性能對照如表3所示。

表3 各種算法人臉庫中識別性能對比
從表1可知,當隱藏單元較少時,同樣深度網絡不能較為準確學習到人臉圖像的判別信息,而當隱藏單元數不斷增加,網絡學習到的特征越來越充分和精確,當隱藏單元數達到5000時,該網絡學習到的人臉圖像特征具有更強的判別性。表2既體現了實驗一算法的優勢,由于MIT-CBCL圖庫相比ORL圖庫,尤其在光照的變化上幅度較大,由于應用了LLDP這類對光照更有魯棒性的算法,局部特征的選擇性更強,所以也體現出了良好的識別率。
如表3所示,通過算法對比兩個圖庫,MIT-CBCL人臉中的圖像表情更豐富,偏轉幅度相對ORL庫較大,所以實驗二結果整體比實驗一識別率略有下降。但從兩個實驗綜合分析,本文提出的LLDP+DBN算法識別率要高于傳統的PCA、LDP和DBN算法,比原始混合算法有更好的表現,算法盡可能地利用深度學習的優勢通過模擬人腦大腦組織來學習最具甄別性的局部敏感人臉信息,減少了冗余信息,也對分類保留了最佳特性信息,實驗很好地體現了該算法的有效性和優良性。
本文提出了針對局部敏感信息的基于深度學習的局部方向人臉識別算法,利用LLDP算法定位最具辨別性的人臉局部敏感區域進行分塊,借助算法良好的紋理和抗干擾特性對其進行特征提取,依次相互連接形成最大化特征臉后送入學習性能優秀的深度信念網絡DBN進行學習,最終取得良好的分類效果。算法分別在ORL和MIT-CBCL人臉庫上進行了實驗驗證,本文算法在光照、姿態、表情等各類因素下具有較好的識別性能,驗證了本文所提算法的有效性和可行性。同時,對于今后的研究,將選取對于實際中具有更大的隨機性和復雜性自然人臉的驗證研究;同時對于有遮擋及偏轉幅度較大補償算法的研究。該問題的研究也是人臉識別當前的難點,也是當前亟待重點解決的問題之一。