施書健,付曉峰通信作者,張佳明
(1.杭州電子科技大學計算機學院,浙江 杭州 310018; 2.杭州電子科技大學通信工程學院,浙江 杭州 310018)
隨著深度學習的迅速發展和智能終端的普及,人臉識別技術正極速地發展。人臉表情識別和痛苦表情識別作為人臉識別技術中的重要組成部分,目前在醫療、安全、駕駛等方面都受到廣泛關注。痛苦表情識別在老人監護、檢測疲勞駕駛中有一定的現實意義。
我國正進入老齡化社會。有數據顯示,我國失能或半失能老人占全體老年人比率為18.3%左右,而護工與失能老人的比例為1:5左右。根據我國人口基數可見,護理人員存在重大缺口,若采用傳統的閉路電視監控模式,工作人員需要監視的視頻畫面過多,遠遠超出一般人可處理的能力。此外,若人眼長時間盯著視頻畫面也會導致眼睛對視頻畫面中絕大部分信息沒有起到接收作用。另外,當前疫情時期,各類物資運輸主要靠大量的物流人員,為了避開白天的交通高峰時段,物流人員主要在夜間跑長途,光線昏暗、環境單調等因素容易導致疲勞駕駛。為駕駛員生命安全著想,有必要通過識別痛苦表情及時檢測到疲勞駕駛。隨著人工智能的發展,可以建立新的智能監控技術,由機器自動分析視頻畫面中老人或駕駛員的臉部信息,進行痛苦表情識別,及時通知養老院、醫院的工作人員或者發出聲音警告駕駛員。
近幾年,卷積神經網絡被用于提取表情特征,逐漸取得顯著成果,文獻[1]提出一種基于卷積神經網絡的人臉表情識別方法,并取得較好的效果。本文針對卷積神經網絡在表情識別中的巨大優勢,以卷積神經網絡為基礎,進行一定優化,來實現對痛苦表情的識別。文獻[2]提出一種改進ResNet網絡進行表情識別的方法,取得較佳的成果。本文據此提出改進方法,在ResNet中添加注意力機制進行實驗,觀察結果。主要工作包括:構建卷積神經網絡結構;制作數據集,劃分訓練集、驗證集、測試集;實驗、調優參數,提高最終準確率。
本文采用的卷積神經網絡主要是mini_XCEPTION,包含了卷積層、池化層、全連接層和Softmax層(見圖1)。其中,base模塊中的2個卷積層卷積核都為3,步長為1;因為mini_XCEPTION各層存在重復配置,本文用res和sep封裝部分層級,各級res和sep中的配置均相同。res中的卷積層卷積核為1,填充為0,步長為2;sep中的卷積層卷積核為3,填充為1,步長為1,最大池化層池化核大小為3,步長為2,填充為1;last模塊中卷積層卷積核為3,填充為1,步長為1,平均池化層池化核大小為2。除了池化和卷積層,還加入了歸一化層BatchNorm;使用ReLU激活函數減少計算量、增加網絡稀疏性、防止發生過擬合。用Softmax分類器得到每一個表情類型對應的輸出概率,選擇概率最大的類型作為分類器輸出結果。

圖1 mini_XCEPTION卷積神經網絡結構
本文采用FER2013表情數據庫、MMI表情數據庫和AMFED表情數據庫混合而成的數據集,使數據集樣本數量大大提升。將所有數據集中的圖片重新分類,篩選出無效及無法檢測出的人臉進行剔除,有利于提高模型訓練的精度。其中,將中性和開心表情歸類為非痛苦表情,傷心、惡心、害怕歸類為痛苦表情,去除生氣和驚訝類型表情,然后以一定比例劃分訓練集、驗證集和測試集。
使用模型對訓練集進行訓練測試,結果如表1所示。初始化的訓練準確率在80%以下,經過不斷的測試、調優,換用不同的優化器、不同的學習率、batch_size、epoch,準確率逐漸上升。

表1 采用不同網絡結構及參數進行訓練的結果
由表1可見,實驗過程中主要采用的是mini_XCEPTION和ResNet兩種網絡,對于不同的優化器,這兩種網絡的表現也各不相同,在經過優化器Adagrad、Adam、SGD、RMSProp、Momentum和Lamb的測試后,得到mini_XCEPTION在Momentum優化器中表現較好。學習率和batch_size參數的大小也影響最后準確率,學習率設置太大會造成網絡不能收斂,在最優值附近徘徊;學習率設置太小,網絡收斂非常緩慢,會增大找到最優值的時間。經過測試,最后得到學習率在0.001時效果最佳;batch_size從最初的64改變為32后,測試準確率有較為明顯的提高,而調整到64以上或者32以下時,效果下降,所以采用32作為batch_size的大小。訓練輪數(epoch)在一定限度的增大可以提升最后的效果,采用1 000作為epoch時,網絡已完全收斂。
注意力機制的添加并沒有提高模型準確率,相比之下反而下降,采用ResNet包含注意力機制的神經網絡進行訓練,效果并不好,準確率只有85%。最后綜合可見,以mini_XCEPTION,用Lamb優化器,學習率為0.001,batch_size為32的效果最好,訓練1 000輪后準確率達到88%。
而其他一些相關論文中使用的圖像增強方法對本文中的模型并沒有帶來積極影響。在數據集中添加了水平旋轉操作的原圖后,經過訓練、驗證的準確率并沒有提升,最終的準確率維持在88%。實驗嘗試使用經典神經網絡在本文創建的數據集下進行訓練,得到結果如表2所示。可見本文采用的mini_XCEPTION網絡結構相比一些經典網絡結構VGG16、ResNet,效果更好。

表2 不同網絡結構中痛苦表情識別的準確率
本文利用卷積神經網絡訓練學習,區分痛苦與非痛苦表情,利用不同網絡進行識別測試。由結果可見,卷積神經網絡在表情識別上的顯著優勢,在參數不斷調優后,最終的準確率接近90%。在自創建的數據集上,本文的網絡結構與幾種經典網絡結構進行對照。結果表明,本文網絡結構效果更好,具有更高的準確率。