?

基于數據增強和卷積神經網絡的面部表情識別研究與實現

2020-04-08 09:30夏成靜
電腦知識與技術 2020年3期
關鍵詞:卷積神經網絡

夏成靜

摘要:針對面部表情數據集圖片數量少、依靠人工選取特征的傳統面部表情識別精度不高的問題,該文提出了一種數據增強和卷積神經網絡(CNN)的面部表情識別方法。通過數據增強,使面部表情數據集Fer2013圖片總數量變為原來的6.7倍左右。在傳統的卷積神經網絡中加入批量歸一化(BN)和Dropout,能有效預防過擬合現象的發生,提高識別率。在Fer2013數據集上進行的實驗結果表明:將Fer2013數據集進行數據增強后,采用本文提出的神經網絡模型,訓練集和驗證集的識別準確率明顯比未進行數據增強、僅采用CNN方法的準確率高。

關鍵詞:卷積神經網絡;數據增強;批量歸一化;Dropout;面部表情識別

中圖分類號:TP393 文獻標識碼:A

文章編號:1009-3044(2020)03-0213-03

面部表情是人們在日常交流過程中一種非語言傳遞的重要表達方式。面部表情識別在心理學、輔助駕駛、人機交互和計算機視覺等領域被廣泛研究。1971年美國心理學家PaulEkman和Friesen…定義了六種基本面部表情:憤怒.高興、悲傷、驚訝、厭惡和恐懼,并提出了面部動作編碼系統(FACS)。羅元等[2]使用主成分分析(PCA)和支持向量機(SVM)相結合的方法分別提取面部表情特征和面部表情分類,其研究結果表明在平均識別率上這種方法比單獨使用PCA和SVM方法有明顯提高。劉濤等[3]采用高斯LDA方法對光流特征映射得到特征向量,并設計多類SVM實現面部表情分類和識別,在JAFFE和CK數據庫中平均識別率分別是94.9%和92.2%。方彥[4]提出了一種基于卷積神經網絡的人臉表情識別,采用了數據增強的方法人為擴充數據,在Fer2013數據庫上的識別率達到66.38%。傳統的面部表情識別系統包括:檢測人臉區域、面部特征提取和面部表情分類,其中面部特征提取需要人為選擇提取特征,特征選擇的質量直接影響識別率的高低[5],因此魯棒性差。隨著計算機硬件水平發展,近年來深度學習迅速崛起,卷積神經網絡是深度學習的經典算法之一,但是小樣本集會影響神經網絡模型的泛化能力,因此本文首先使用數據增強擴充圖片數量,然后采用卷積神經網絡進行特征提取和識別分類,可以提高分類識別率和魯棒性。

1 基于數據增強和卷積神經網絡的面部表情識別算法

本文的面部表情識別系統包括:數據預處理、模型學習、模型評估和新樣本預測,總體框圖如圖1所示。采用監督學習方式,首先將數據集分為訓練集、驗證集和測試集,對三部分數據都進行數據增強,使圖片數量成倍增長,其次用增強后的訓練集訓練模型,然后根據驗證集的識別準確率調整超參數,最后選擇最佳模型將新的人臉面部表情圖片輸入到其中實現面部表情的分類。

1.1 數據增強

Fer2013數據集圖片數量相對較少,7類面部表情圖片分布不均,有的類別圖片數量較少,造成識別率低[6],使復雜、深層卷積神經網絡的魯棒性較差。為了提高訓練模型對面部表情的識別率,使用圖像增強方法,通過旋轉、水平平移、垂直平移、透視變換、隨機縮放和水平翻轉一系列操作將圖片數量增加為原來的6.7倍左右,增強后具體的圖片數量如表1所示。

1.2 卷積神經網絡

傳統的卷積神經網絡一般包括卷積層、池化層和全連接層[7]。在卷積層中,卷積核參數值通過反向傳播優化后得到,并共享參數,每一層的每個輸出都僅依賴一小部分的輸入f稀疏連接),神經網絡通過共享參數和稀疏連接可以減少權重參數,同時預防過擬合發生。在池化層中,池化方式有最大池化和平均池化,最大池化是選擇每個過濾器的最大值,而平均池化是選擇每個過濾器的平均值,在卷積層后連接池化層可以進行特征降維,壓縮數據量[8]。在全連接層中,每個神經元與上一層的所有神經元相連接,可以綜合卷積層和池化層提取的特征,從而得到每一類被準確識別的概率。

在神經網絡學習中,權重初始值的設定影響到神經網絡學習能否成功,在卷積神經網絡中使用BN“強制性”地調整激活值的分布[9],使每層擁有適當廣度,同時使得學習快速進行。Dropout是一種按照設定概率值隨機刪除神經元的方法。在訓練過程中,隨機選出隱藏層的神經元,然后將其刪除,使其不再進行信號的傳遞[10],對于參數多、結構復雜的神經網絡,使用Dropout能夠有效地抑制過擬合現象發生。

本實驗訓練模型是一個10層神經網絡,模型具體結構為每次卷積后,再經過四個步驟的操作:BN、Relu激活函數、最大池化和Dropout,共經過四次卷積處理,每次卷積后都重復上述四次操作,然后經過256個神經元全連接和512個神經元全連接,最后通過softmax激活函數獲取7種面部表情分類的概率,根據最大概率確認識別的類別,本文的CNN結構如圖2所示。神經網絡每層參數如表2所示,輸入是48*48像素圖片,經過卷積后,輸出圖片的大小沒變,但是通道數增加,再經過最大池化后圖片的大小縮小為原來的一半,去掉冗余信息,使特征圖減小,加快運行速度,最后輸出1*7的向量。

2 實驗結果與分析

本實驗的硬件環境如下:Window7操作系統,i3-4170CPU、NVIDIA CeForce GTX 1060 3CB的CPU硬件環境。軟件環境為Python 3.6.2.TensorFlow l.14.0,使用Keras 2.1.2搭建卷積神經網絡。Keras是一個使用Python編寫的高級神經網絡API,可以使用TensorFlow作為后端運行,方便快速搭建神經網絡,調整超參數。

2.1 實驗結果

模型參數初始化是神經網絡訓練過程中的重要環節,合適的初始化數值能使模型快速趨于收斂,本實驗模型參數的初始化如表3所示,批量處理尺寸(Batch Size)為128,總共訓練輪數(Epoch)為200,優化器選擇隨機梯度下降算法(SGD),其中學習率(Leaming rate)參數設置為0.05,每次更新后的學習率衰減值(Decay)設置為le-5。

為了驗證本文提出方案的可行性,使用Keras框架下的Im-ageDataGenerator進行數據增強,訓練集、驗證集和測試集的比例(8:1:1)保持不變,使用訓練集和驗證集調整面部表情識別的卷積神經網絡框架的超參數,Epoch設置為200時,訓練集和驗證集的準確率變化曲線如圖3中(a)所示,隨著Epoch次數的增加,訓練集和驗證集的準確率隨之提高,最后驗證集上準確率是69.47%,損失值變化曲線如(b)所示,訓練集和測試集的損失值隨著Epoch的增加逐漸減小,Epoch值大于100后,驗證集的準確率上升緩慢,損失值幾乎不再下降。

2.2 實驗結果分析

數據集是否進行數據增強,Epoch設置的大小都對訓練集、驗證集的準確率和損失值有較大的影響,本實驗在Fer2013數據集上不同參數設置的性能比較如表4所示,第一列是實驗中設置的參數,在實驗過程中,Batch Size、優化器、Learning Rate等參數保持不變。當Epoch設置為200,數據集未進行增強時,訓練集的準確率是59.11%,驗證集準確率是62. 17%,由于驗證集圖片數量較少,驗證集準確率高于訓練集準確率,訓練集的損失值比驗證集的損失值高了0.676,為了提高在訓練集和驗證集上的準確率,需要增加訓練輪數,即將Epoch設置為更大的數值。Epoch設置為100時,訓練集和驗證集的準確率變化曲線如圖(c)所示,在數據集都增強且Epoch設置為200比Epoch設置為100時,訓練集的準確率提高了7. l9%,驗證集的準確率提高了2.58%,同時訓練集的準確率和未進行數據增強的準確率相比提高了7.3%,Epoch為100時,訓練集和驗證集的損失值變化曲線如圖(d)所示,當訓練輪數達到100時,損失值還有下降趨勢,由此可看出將數據集增強和Epoch設置為200時更合理,訓練效果更好。實驗結果表明通過數據增強擴充圖片數量和設置合理的參數能提高訓練集和測試集準確率,降低損失值。使用數據增強后的24000張測試集圖片評估模型性能,平均準確率為70.05%,實驗結果表明測試集上的平均準確率和驗證集上的最高準確率幾乎相等,模型泛化性能好。

3 總結

本文首先采用數據增強的方法對每張圖片進行擴充,擴充后的圖片總數量是原圖片數量的6.7倍左右,然后提出了一種在卷積神經網絡中加人防止過擬合現象的BN和Dropout操作的算法框架提取面部特征和面部表情識別。實驗結果表明將Fer2013數據集進行數據增強后,訓練集的準確率和未進行數據增強的準確率相比提高了7.3%,驗證集準確率為69.47%,使用測試集評估了模型性能,表明模型的泛化能力好。

參考文獻:

[1] Ekman P,Friesen W V.Facial ActionCoding System (FACS):A Technique forThe Measurement of Facial Action[J].Rivista Di Psichiatria, 1978, 47(2):126-38。

[2]羅元,吳彩明,張毅.基于PCA與SVM結合的面部表情識別的智能輪椅控制[J]計算機應用研究,2012,29(8): 3166-3168.

[3]劉濤,周先春,嚴錫君.基于光流特征與高斯LDA的面部表情識別算法[J].計算機科學,2018,45(10):286-290,319.

[4]方彥,基于卷積神經網絡的人臉表情識別研究[J].現代信息科技,2019(14):81-83.

[5] Hua W T,Dai F,Huang L Y,et al.HERO:human emotions recog-nition for realizing intelligent Internet of Things[J].IEEE Ac-cess, 2019.7:24321-24332.

[6] Zhu X Y,Liu Y F,Li J H,et aI.Emotion classification with dataaugmentation using generative adversarial networks[M]//Ad-vances in Knowledge Discovery and Data Mining. Cham:Springer International Publishing, 2018: 349-360.

[7] Krizhevsky A,Sutskever I,Hinton G E.ImageNet classificationwith deep convolutional neural networks[J].Communications ofthe ACM, 2017,60(6):84-90.

[8]齋藤康毅,深度學習入門:基于Python的理論與實現[M].陸宇杰,譯:人民郵電出版社,2018:1-285.

[9] Ioffe S,Szegedy C.Batch normalization:accelerating deep net-work training by reducing intemal covariate shift[C]//Proceed-ings of the 32nd International Conference on IntemationalConference on Machine Leaming - Volume 37, 2015:448-456.

[10] Srivastava N,Hinton G,Krizhevsky A,et al.Dropout:a sim-ple way to prevent neural networks from overfitting[J]. Thejournal of machine leaming research. 2014, 15(1):1929-1958.

猜你喜歡
卷積神經網絡
卷積神經網絡語言模型研究
基于卷積神經網絡溫室智能大棚監控系統的研究
基于深度卷積神經網絡的物體識別算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合