李春利 柳振東 惠康華
摘要摘要:為解決傳統人臉識別算法手工提取特征困難的問題,將卷積神經網絡引入人臉識別任務中。為適應ORL數據集人臉識別任務的需要,參照經典的卷積神經網絡模型Lenet-5的結構,提出一種適用于該數據集的CNN結構。實驗結果表明,所提出的CNN結構具有較少的學習參數,且在ORL數據集上取得了較高的識別率。與傳統人臉識別算法進行比較研究,從實驗結果可以看出,在識別正確率上,所提出的卷積神經網絡結構優于大多數識別算法。
關鍵詞關鍵詞:人臉識別;卷積神經網絡;圖像識別;深度學習;模式識別
DOIDOI:10.11907/rjdk.171043
中圖分類號:TP317.4
文獻標識碼:A文章編號文章編號:16727800(2017)005018603
0引言
人臉識別是近年來模式識別、圖像處理、機器視覺、神經網絡及認知科學領域的研究熱點[12]。所謂人臉識別,是指給定一個靜態人臉圖像或動態視頻,利用存儲有若干已知身份的人臉數據庫驗證單個或多個人的身份[1]。作為生物特征識別的一個重要方面,人臉識別有著廣泛的應用場景,如:檔案管理系統、公安系統的犯罪身份識別、銀行和海關的監控、安全驗證系統、信用卡驗證等領域。在人臉識別巨大魅力的影響下,國內互聯網公司也開始了人臉識別應用的探索,如百度推出的人臉考勤系統、阿里支付寶的刷臉登錄等功能都是人臉識別的具體應用。目前,人臉識別的代表性方法主要有以下幾種:Turk和Pentland[3]提出的特征臉(Eigenface)方法;基于線性區別分析,Belhumeur 等[4]提出了Fisherface方法;基于統計理論,劍橋大學的 Samaria和Fallside[5]提出了隱馬爾科夫模型[5](HMM),Lawrence 等[6]提出的通過多級自組織映射神經網絡(SOM)[6]與卷積神經網絡相結合進行人臉識別。上述方法雖然獲得了良好的識別正確率,但需要人工參與特征提取,然后將提取的特征送入分類器進行識別,過程較為復雜。
卷積神經網絡[79]是近年發展起來,并引起廣泛重視的一種高效深度學習識別算法,其已成為當前語音分析和圖像處理領域的研究熱點。相比傳統的神經網絡而言,卷積神經網絡具有權值共享、局部感知的優點。局部感知的網絡結構使其更接近于生物神經網絡,權值共享大大減少了模型學習參數的個數,同時降低了神經網絡結構的復雜性。在圖像處理領域,卷積神經網絡的優點體現得更為突出,多維的圖像數據可以直接作為網絡的輸入,特征提取和分類均集成在網絡中,避免了傳統識別算法中復雜的特征提取和訓練分類器過程。除此之外,卷積神經網絡對圖像中的位移、比例縮放、旋轉、傾斜或其它形式的變形具有很好的魯棒性。為了解決傳統人臉識別算法特征提取和訓練分類器困難的問題,本文借鑒Lenet-5[10]的結構,設計一個適合ORL數據集人臉識別任務的卷積神經網絡結構。
1卷積神經網絡
1.1用于ORL人臉識別的CNN
本文提出的7層卷積神經網絡模型由輸入層、2個卷積層、2個降采樣層、一個全連接層和一個Sigmoid輸出層組成。卷積核的大小均為5×5,降采樣層Pooling區域的大小為2×2,采用Average Pooling(相鄰小區域之間無重疊),激活函數均采用Sigmoid函數。每一個卷積層或降采樣層由多個特征圖組成,每個特征圖有多個神經元,上層的輸出作為下一層的輸入。此外,本文實驗學習率的取值為常數1.5,該卷積神經網絡結構如圖1所示。
1.2卷積層
卷積神經網絡中的卷積層一般稱C層[11](特征提取層)。卷積層的輸入來源于輸入層或者采樣層。卷積層中的每一個特征圖都對應一個大小相同的卷積核,卷積層的每一個特征圖是不同的卷積核在前一層輸入的特征圖上作卷積,然后將對應元素累加后加一個偏置,最后通過激活函數得到。假設第l層為卷積層,則該層中第j個特征圖的計算表達式如式(1)。
xlj=f(∑i∈Mjxl-1iklij+blj)(1)
這里的Mj表示選擇的上一層輸出特征圖的集合。
1.3降采樣層
降采樣層是對上一層的特征圖進行下采樣處理,處理方式是在每一個特征圖內部的相鄰小區域進行聚合統計。常見的下采樣方式有兩種:Average Pooling和Max Pooling。其中,Average Pooling是取小區域內像素的平均值,而Max Pooling是取小區域內像素的最大值。降采樣層只是對輸入的特征圖進行降維處理,不改變特征圖的個數。假設down表示下采樣操作,βlj表示乘性偏置,blj表示加性偏置,則降采樣層中某個特征圖的計算表達式如下:
xlj=f(βljdown(xl-1j)+blj)(2)
1.4輸出層
卷積神經網絡的輸出層一般為分類器層,常用的有徑向基(RBF)函數輸出單元、Sigmoid輸出單元和Softmax回歸分類器。在ORL人臉識別任務中,采用Sigmoid函數輸出單元,輸出層的編碼采用非分布編碼“one-of-c”的方式。由于采用Sigmoid函數,每一個單元輸出值是0-1范圍內的一個正數,代表該樣本屬于該單元對應類別的概率。數值最大的那個單元即為樣本的預測類別。假設x為全連接層的輸出,則輸出層輸出結果的計算表達式如下:
y=f(wTx+b)(3)
其中,f表示激活函數,這里采用Sigmoid函數,Sigmoid函數表達式如下:
f(x)=11+e-x(4)
2實驗結果與分析
實驗在Windows7 64位下的Matlab 2014a中進行,采用Matlab深度學習工具箱DeepLearnToolbox。PC的內存8G,CPU主頻為3.2GHZ。
ORL人臉數據集是在1992年至1994年之間由AT &T Cambridge實驗室拍攝的人臉圖像所構成。數據集中包含40個不同人物的臉部圖像,每個人物包含10張圖像,總共400張。每個類別中的臉部圖像在不同的時間拍攝得到,存在如下差異:①光線;②面部表情,如眼睛的閉合和睜開狀態,面部是否帶有微笑的表情等;③一些面部細節上的差異,如是否佩戴眼鏡等。該數據集中所有人臉圖像均為灰度圖像,且圖像中人物面部朝向基本一致,都朝向正前方。
圖2為ORL數據集中部分人臉圖像。數據集中每個原始圖像大小為92*112像素,本文實驗中對這些圖像進行預處理,使每一幅圖像的尺寸調整為28*28,并對每一副圖像進行歸一化處理,這里采用簡單的除255的方式。隨機選取每一個類別的8張圖像作為訓練樣本,剩下的2張作為測試樣本。因此,訓練集有320個樣本,測試集有80個樣本。
2.1改變C3層卷積核個數對網絡的影響
卷積神經網絡性能的好壞與卷積層卷積核的個數密切相關,但每一個卷積層應該設置多少個卷積濾波器,目前并沒有數學理論指導。為了研究卷積核個數對網絡最終識別準確率的影響,本文保持C1層卷積核個數不變,通過改變C3層卷積核的個數,形成新的網絡結構,用訓練集訓練網絡,訓練迭代次數均為60次,然后用測試集對每一種網絡結構的性能進行測試。實驗結果如表1所示。
從表1可以看出,當C3層有10個卷積核時,網絡模型對測試集的識別正確率最高。卷積核的個數與識別準確率并不成正比關系,當卷積核個數過多時,網絡的識別準確率會下降,這是因為在卷積核個數增加的同時,需要學習的參數也隨之增加,而數據集中訓練樣本的規模較小,已不能滿足學習的要求。
2.2改變C1層卷積核個數對網絡的影響
由上述實驗結果可知,C3層卷積核個數為10時,網絡識別效果最好。因此,為了研究卷積層C1層卷積核個數對識別準確率的影響, C3層保留10個卷積核,改變C1層卷積核的個數構造新的網絡結構,用測試集針對不同網絡結構就測試集和訓練集的識別準確率進行測試。實驗結果如表2所示。
從表2的實驗結果可以得到相同結論:卷積層卷積核的個數并非越多越好,卷積核個數過多,網絡需要學習的參數也隨之增加,當訓練集中樣本個數無法滿足學習需要時,網絡識別準確率就會下降。
2.3與其它算法比較
為進一步說明本文所提卷積神經網絡結構的有效性和優越性,將該結構(C1層6個卷積核,C3層10個卷積核,學習率1.5)的實驗結果與其它識別方法在ORL數據集上的實驗結果進行對比,結果如表3所示。可以看出,本文所提方法比Eigface、ICA的識別效果好,與2DPCA方法的識別準確率一樣,比FisherFace方法的識別準確率只低了0.20%,這進一步證實了本文所提網絡結構的有效性。
3結語
本文在理解Lenet-5結構的基礎上,提出一種適用于ORL人臉數據集的卷積神經網絡結構。實驗結果表明,本文提出的卷積神經網絡結構,不僅避免了復雜的顯式特征提取過程,在ORL數據集上獲得98.30%的識別正確率,而且比大多數傳統人臉識別算法的效果都好。此外,本文還通過大量實驗就每個卷積層卷積核個數對網絡識別準確率的影響進行了詳細研究與分析,這對設計CNN網絡結構具有一定的參考意義。
參考文獻參考文獻:
[1]李武軍,王崇駿,張煒,等.人臉識別研究綜述[J].模式識別與人工智能,2006,19(1):5866.
[2]張翠平,蘇光大.人臉識別技術綜述[J].中國圖象圖形學報,2000,5(11):885894.
[3]YANG M H.Face recognition using kernel methods[J].Nips,2002(2):14571464.
[4]祝秀萍,吳學毅,劉文峰.人臉識別綜述與展望[J].計算機與信息技術,2008(4):5356.
[5]SAMARIA F,YOUNG S.HMMbased architecture for face identification[J].Image and Vision Computing,1994,12(8):537543.
[6]LAWRENCE S,GILES C L,TSOI A C.Convolutional neural networks for face recognition[C].Proceedings CVPR'96,1996 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1996:217222.
[7]陳耀丹,王連明.基于卷積神經網絡的人臉識別方法[J].東北師范大學學報:自然科學版,2016,48(2):7076.
[8]盧官明,何嘉利,閆靜杰,等.一種用于人臉表情識別的卷積神經網絡[J].南京郵電大學學報:自然科學版,2016,36(1):1622.
[9]李彥冬,郝宗波,雷航.卷積神經網絡研究綜述[J].計算機應用,2016,36(9):25082515.
[10]LCUN Y,BOTTOU L,BENGIO Y,et al.Gradientbased learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):22782324.
[11]BOUVRIE J.Notes on convolutional neural networks[J].Neural Nets,2006(11):18.
[12]YANG J,ZHANG D,FRANGI A F,et al.Twodimensional PCA:a new approach to appearancebased face representation and recognition.[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2004,26(1):131138.
責任編輯(責任編輯:孫娟)