張璟



摘要:人臉表情識別是計算機視覺領域的一項重要任務。針對經典VGG模型參數量巨大、訓練成本較高的問題,提出了一種基于VGG模型的改進卷積神經網絡。改進的模型減少全連接層的使用有效減少了參數量,加入批規范化層和dropout隨機失活操作,進一步加速了模型的收斂,從而獲得較好的分類效果。實驗采用FER2013公開人臉表情數據集,實驗結果表明,改進的模型提高了表情識別的準確率率和泛化能力,減少了時間消耗。
關鍵詞:卷積神經網絡;人臉表情識別;表情分類;批規范化;卷積
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)16-0212-02
開放科學(資源服務)標識碼(OSID):
Abstract: Face expression recognition is an important task in the field of computer vision. An improved convolutional neural network based on VGG model was proposed to solve the problem of large number of classical VGG model parameters and large training time cost. The improved model reduces the use of full connection layer, effectively reduces the number of parameters, and adds batch normalization layer and dropout random deactivation operation, which further accelerates the convergence of the model and achieves better classification results. In the experiment, FER2013 was used to publish facial expression dataset, the experimental results show that the improved model improves the recognition rate and generalization ability of expression recognition, and reduces the time consumption.
Key words: convolutional neural network;face expression recognition; facial expression classification; batch normalization; convolution
人類通過臉部表情的細微變化傳達了內心情感世界的真實反映[1],通過快速捕捉并且準確識別人類表情,機器可以做出不同的響應并有效提高了人機交互的友好性和智能性。
傳統的表情識別方法主要使用Gabor小波、Haar特征和LBP局部二值模式等算法提取表情特征,這些算法主要針對表情特征中的局部像素點,往往忽略了整個圖像中像素點之間的內在聯系。通常基于手工設計的表情特征提取方法費時費力,提取到的特征直接決定了表情分類的好壞,在復雜場景中的識別效果有待提高。
卷積神經網絡在計算機視覺得到了廣泛的應用,在表情識別領域也取得了顯著的效果。通過端到端的訓練方式將原始圖像作為輸入進行自動訓練和特征自主提取,進一步減少了人工預處理并且適用于大規模的圖片訓練。
1 VGG模型
VGG[2]網絡模型是牛津大學計算機視覺組的經典研究,通過線性堆疊3[×]3的小型卷積濾波器和2[×]2的最大池化層,在Alexnet模型基礎上得到的更深的網絡結構,獲得了2014年Imagenet比賽的冠軍。在網絡中重復使用小卷積核的方法可以獲得與較大尺寸的卷積核一樣的空間特征信息與感受野大小,而且串聯的卷積核之間額外增加的ReLU激活函數可以提高網絡中的非線性表征。例如使用2個3[×]3的卷積核可以覆蓋5[×]5的區域,可以減少了28%的參數量;使用3個3[×]3的卷積核可以感受到7[×]7的特征信息,但是減少了約45%的參數量,串聯小卷積的方式在較深的網絡中依然可以達到快速收斂與訓練。VGG模型使用較小的卷積核和池化核使得網絡的層數更深特征圖更寬,但是連續3層的全連接層使得模型使用了巨大的參數,耗費了更多的計算資源和訓練成本。
如表所示,輸入層為224[×]224[×]3形狀的圖片,前兩段卷積均包含2個卷積層,后三段卷積均包含了3個卷積層,每段卷積核的個數為64、128、256、512和512,相鄰的卷積層之間通過ReLU激活函數稀疏網絡,避免過擬合現象的發生。可以發現3個全連接層大約占了總參數量的89%,第一個全連接層大約占了74%。
2 基于改進VGG16網絡的識別模型
在表情識別實驗過程中改進了VGG模型,在相鄰卷積層之間添加了批規范化BN層,每段卷積之間加入了隨機失活dropout操作,并在后3段卷積前均加入了1[×]1卷積。批規范化層通過統一隱藏層中輸入數據的分布,減小了中間層經過權重更新后對上層的輸入數據分布的影響,有效地遏制了梯度彌散現象。使用dropout操作的目的是優化網絡的訓練,將中間層的部分神經元的權重或輸出信息隨機重置為0,增加了網絡的稀疏性與獨立性,降低了過擬合現象,提高了對新數據的適應性和魯棒性。通過使用1[×]1卷積組合變化了通道信息并且較少了計算量。改進的VGG模型僅保留了一層全連接層,而且添加了dropout和批處理規范化BN減弱了參數之間的聯合適應性,進一步加速了模型的收斂,提高了表情分類效果。
3 實驗結果與分析
本文使用FER2013人臉表情公開數據庫進行表情識別的實驗。實驗數據將人類表情分為:生氣(Angry)、厭惡(Disgust)、害怕(Fear)、高興(Happy)、悲傷(Sad)、驚訝(Surprise)、中性(Neutral)七類基本表情,實驗數據均為48x48像素的灰度圖。
本文使用數據擴充方法進行數據增強,對圖像數據進行10度的旋轉、水平和豎直方向隨機移動10%、水平和垂直鏡像變換及其組合操作,獲得大量具有空間相關性的變換圖像。通過圖像增強有效的增強與豐富了實驗數據,并且提高了模型的魯棒性和適應性。
本文使用經典的VGG卷積神經網絡以及改進的VGG卷積神經網絡對FER2013數據集進行訓練。經典的VGG方法在PrivateTest中的準確率為65.58%,經過改進的VGG16的模型的準確率為68.4%,準確率提高了2.82%。Ian Goodfellow經過研究證明平均人類在FER2013數據集的識別率為65%左右[3],本模型得到的準確率略高于人類識別率,略低于排行榜中第3名的68.82%。帶有預訓練權重的擁有3個全連接層的VGG模型的參數量為138357544,經過改進的VGG16模型的參數量為18746823,約為原始VGG模型的13.5%。改進的VGG模型平均每步耗時252ms,訓練150輪共耗時4小時9分鐘,訓練過程如圖2所示。結果表明,改進的VGG模型對原始的VGG模型有了顯著的提高。
本文方法在Private Test中的表情預測混淆矩陣如圖3所示。分析結果發現模型對于開心的表情識別率最高為89%,而對于傷心表情識別率僅為45%。其中生氣和厭惡表情容易混淆,悲傷和中性表情容易混淆,因為生氣和厭惡表情均有不同程度的皺眉和張大嘴巴的動作,并不容易區分。悲傷表情中有大部分表現為微微皺眉的憂郁,這與沒有表情變化的中性表情也比較相似。
4 結論
在本項表情識別工作中,提出了一個改進的vgg模型。加入批規范化和隨機失活操作并減少了全連接層的使用,有效的壓縮了模型的參數量并且達到了比賽排行榜第四名的準確率68.4%。但是對于輕微的憂傷和驚恐的表情識別率較低。未來的工作,我們將重點研究如何加強在表情變化不明顯情況下的準確識別。
參考文獻:
[1]盧官明,何嘉利,閆靜杰,等.一種用于人臉表情識別的卷積神經網絡[J].南京郵電大學學報(自然科學版),2016,36(01):16-22.
[2] SimonyanK , Zisserman A . Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014.
[3] Goodfellow I J, Erhan D, Carrier P L, et al. Challenges in Representation Learning: A report on three machine learning contests[J]. Neural Netw, 2013, 64:59-63.
[4] 孫曉,潘汀,任福繼.基于ROI-KNN卷積神經網絡的面部表情識別[J].自動化學報,2016,42(06):883-891.
[5]李勇,林小竹,蔣夢瑩.基于跨連接LeNet-5網絡的面部表情識別[J].自動化學報,2018,44(01):176-182.
[6]徐嵚崳. 基于遷移學習的表情識別算法研究[D].南京郵電大學,2017.
[7]劉元震. 基于深度學習的人臉面部情感識別的研究[D].哈爾濱工業大學,2017.
【通聯編輯:王力】