姜慧
摘 要:傳統的機器學習方法需要對每個領域都獲取大量的訓練數據,這樣就會在研究中耗費大量的人力物力。深度學習可以更好地通過增加數據集的規模來改善學習結果。深度學習更適合于未標記數據,而這超出了自然語言處理的范疇,后者更多限于實體識別。基于深度學習的優點,這篇文章利用深度學習方法來進行人臉識別,提出了構建深度學習網絡的方法,它能夠識別訓練集中沒有身份的表情信息。
關鍵詞:人臉識別;深度學習;神經網絡;特征識別;算法
中圖分類號:TP391.41 文獻標志碼:A 文章編號:2095-2945(2018)12-0022-02
Abstract: Traditional machine learning method needs to obtain a large amount of training data for each field, so it will cost a lot of manpower and material resources in the research. Deep learning can better improve learning results by increasing the size of data sets. Deep learning is more suitable for unmarked data, which goes beyond natural language processing, and the latter is more limited to entity recognition. Based on the advantages of deep learning, this paper applies the deep learning method to face recognition, and proposes a method of constructing deep learning network, which can recognize information of facial expression without identity in the training set.
Keywords: face recognition; deep learning; neural network; feature recognition; algorithm
1 概述
深度學習是近十年以來在人工智能領域取得的最重要的突破之一。現在的深度學習模型屬于神經網絡,在語音識別、自然語言處理、計算機視覺、圖像與視頻分析、多媒體等諸多領域取得了巨大的成功。這篇論文主要研究其在人臉識別方面的研究以及取得的成果。
人臉識別是深度學習在物體識別上的一個重要突破。我們研究的人臉識別是一種生物特征識別技術,這種技術通過人體自身的生物特征來區分不同的生物體。在近些年來,人臉識別技術已趨于成熟并在很多領域中有所應用。其普遍性和可采集性高,獨特性、穩定性以及防欺騙性一般,但是性能較低。同時,人臉識別技術還具有很高的精度。我們研究深度學習應用于人臉識別中的研究進展以及人臉識別的研究方法,結合幾種機器學習方法在人臉識別中的性能比較,進一步探索研究深度學習在人臉識別方面的貢獻以及研究方法。
2 深度學習方法
深度學習常用的方法有三種:(1)自動編碼機(AutoEn
coder),(2)稀疏編碼(Sparse Coding),(3)受限玻爾茲曼機(Restrict Boltzmann Machine,RBM)。下面重點介紹一下稀疏編碼方法。
如果我們放松輸出O必須與輸入I相等的條件,并且利用基的概念,列出式子:O=W1×B1+W2×B2+…Wn×Bn,該式中,基-Bi,系數-Wi,就得到這樣的優化式:Min|I-O|。我們可以通過求解這個優化式子來得到基-Bi,系數-Wi,這些Bi和Wi就是輸入的另外一種近似表達,即可被作為我們所說的特征,進而,表達輸入I。這個過程是自學習過程。我們可以在上面式子中加上L1的Regularity限制,可以得到:
Min|I-O|+u*(|W1|+|W2|+……+|Wn|)。
該方法就被稱為Sparse Coding,是一種簡單的表示對象方法。我們利用這個方法來自動學習隱藏在對象數據中的基函數。
3 算法之人臉識別
3.1 檢測定位方法
作為情緒識別的第一步,人臉的檢測定位方法,我們選用的是基于haar特征和Adaboost算法的檢測方法。可分以下幾步:(1)通過Haar-like特征對人臉描述并通過積分圖快速計算這一特征。(2)從許多Haar-like特征中選取重要特征,每個特征看做是一個弱分類器,我們按照一定的規則,把幾個弱分類器級聯,從而得到一個強分類器。(3)串聯得到的強分類器,便可得到級聯分類器。最終我們獲得的這一個級聯分類器就是人臉定位。將得到的強分類器進行串聯來構成級聯分類器是為了得到更高的檢測精度。
我們可以把這個級聯分類器看成一個決策樹,其中每一層的強分類器都是由Adaboost算法訓練獲得的。如果上一層分類器輸出的結果正確,就會觸發第二層分類器,第二層再正確,觸發第三層,以此類推。如果輸出結果不正確被否定,那么這個否定的結果就會立即將當前子窗口的檢測停止。這樣,就會使人臉區域的大部分能通過檢測而非人臉部分則不能通過檢測。
3.2 稀疏自編碼器訓練多尺度卷積核
中間層神經元通過稀疏自編碼器訓練后實際上只會對局部的特定信息才有較強響應,如果把某一個中間層神經元的連接權值作為卷積核與輸入數據作卷積,得到卷積核在圖像其他部分的響應就會組成一幅特征圖。對該特征圖進行maxpooling操作,使其得到平移不變性。我們把所有的卷積核都進行這一操作,能夠得到一組該圖像的特征。具體算法步驟如下:
(1)用稀疏自編碼器訓練卷積核,其編碼形式為:
hi(x)= s(Wix+αi) (1)
其中,s()是sigmoid函數,W是連接權值矩陣,i是某一尺度的編號。
(2)把得到的中間層神經元的連接權值當做卷積核來滑過整個圖像,進行卷積運算:
fi(x)=σ(conv(Wi,x)+αi) (2)
式中,conv()代表做卷積,σ()代表滑過整個圖像。
(3)我們把特征圖分成若干個區域qm ,再把特征圖進行maxpooling操作。
Fmi(x)=max(fki(x)) (3)
kaqmi
以兩個尺度的卷積特征,得到最終的特征如下:
F(x)=[F1(x),F2(x)],其中,Fi(x)=[F1i(x),F2i(x)……Fpi(x)]。
通過訓練,得到卷積核以后,采用以上算法步驟將圖像進行卷積運算,就可得到相對應的特征圖,再通過maxpooling將特征圖降維。把得到的向量看做是一個初級特征,它描述了圖像的本質,不是一種抽象描述。為了得到更加抽象的描述,我們可以通過構建深度神經網絡來獲得。由于表情圖像的抽象性,我們先用無監督的方法提取初級特征,再利用構建深度學習網絡的方法來學習抽象的特征來更好地進行分類。
3.3 并行網絡結構與優化算法
對于有標簽數據,以及單類別表情圖像,先采用無監督的方法,訓練出7個3層SAE網絡,然后并聯這7個子網絡,將輸出以One-hot編碼,輸入的表情圖片對應就屬于輸出值最大的子網絡。在進入并聯網絡的時候,低級特征會進入7個子網絡計算,每個4層SAE子網絡的最后一層只有一個神經元作為輸出。神經元的連接權值訓練方法如下:
其中,滿足1{.}為{}中的條件時,函數值=1,否則,函數值=0。m是樣本數量,k為網絡數量,在這里,我們取k=7。可以發現,損失函數對神經網絡有所限制,從而使樣本類內距離最小類間距離最大。我們單獨訓練每個網絡。在表情識別中,訓練的7個網絡分別對應不同的7類表情。預訓練采用SAE算法。選用合適的優化算法很重要。
3.4 實驗與結果
方法實現的具體步驟為:
(1)提取卷積核。訓練樣本我們取C-K庫,JAFFE庫中的未標記類別的人臉圖像,在48*48大小的灰度圖像中歸一化。(2)隨機在每張人臉上選20~30個14*14和20~30個18*18的圖像塊。提取169個14*14和256個18*18的卷積核。(3)從卷積核的特征圖中獲取4*4個由maxpooling操作獲得的特征,一共能夠得到16*(169+256)=6800個。(4)將得到的特征作為樣本用并行網絡進行訓練,每個網絡分四層,第一層6600個神經元,第二層700個,第三層60個,第四層1個。每一層用稀疏自編碼逐層預訓練(最后一層參數除外)。(5)使用一樣的方法對樣本對應的網絡構建并行網絡,最后用BP算法微調整體的損失函數。
我們將不同方法下對人臉表情識別率進行了對比:
觀察結果,本文采用的方法在JAFFE數據集上取得了好的效果。由于數據集本身簡單,表情詫異明顯,所以效果也較好。與其他方法相比,這一部分的方法提出的網絡結構更適合,由于只需要提供出數據和數據標簽,按步驟訓練網絡就可以。而傳統的方法大多需要人工設計特征,這樣就很費時費力了。
參考文獻:
[1]徐峰,趙懷勛.人臉檢測方法研究[J].電腦知識與技術,2009(09):2438-2439,2427.
[2]Liu P,Han S,Meng Z,et al.Facial expression recognition via a boosted deep belief network[C].Comp-uter Vision and Pattern Recognition(CVPR),2014.
[3]余凱,賈磊,陳雨強,等.深度學習的昨天,今天和明天[J].計算機研究與發展,2013.
[4]BRAVERMAN M. Poly-logarithmic independence fools bounded-depth Boolean circuits[J].Communications of the ACM,2011,54(4):108-115.
[5]BENGIO Y,DELALLEAU O. On the expressive power of deep architectures[C].Algorithmic learning Theory,Berlin Heidelberg,2011:18-36.
[6]張行健,賈振堂,李祥.深度學習及其在動作行為識別中的進展[J].科技創新與應用,2016(06):66.