施書健,付曉峰通信作者,張佳明
(1.杭州電子科技大學(xué)計算機(jī)學(xué)院,浙江 杭州 310018; 2.杭州電子科技大學(xué)通信工程學(xué)院,浙江 杭州 310018)
隨著深度學(xué)習(xí)的迅速發(fā)展和智能終端的普及,人臉識別技術(shù)正極速地發(fā)展。人臉表情識別和痛苦表情識別作為人臉識別技術(shù)中的重要組成部分,目前在醫(yī)療、安全、駕駛等方面都受到廣泛關(guān)注。痛苦表情識別在老人監(jiān)護(hù)、檢測疲勞駕駛中有一定的現(xiàn)實意義。
我國正進(jìn)入老齡化社會。有數(shù)據(jù)顯示,我國失能或半失能老人占全體老年人比率為18.3%左右,而護(hù)工與失能老人的比例為1:5左右。根據(jù)我國人口基數(shù)可見,護(hù)理人員存在重大缺口,若采用傳統(tǒng)的閉路電視監(jiān)控模式,工作人員需要監(jiān)視的視頻畫面過多,遠(yuǎn)遠(yuǎn)超出一般人可處理的能力。此外,若人眼長時間盯著視頻畫面也會導(dǎo)致眼睛對視頻畫面中絕大部分信息沒有起到接收作用。另外,當(dāng)前疫情時期,各類物資運輸主要靠大量的物流人員,為了避開白天的交通高峰時段,物流人員主要在夜間跑長途,光線昏暗、環(huán)境單調(diào)等因素容易導(dǎo)致疲勞駕駛。為駕駛員生命安全著想,有必要通過識別痛苦表情及時檢測到疲勞駕駛。隨著人工智能的發(fā)展,可以建立新的智能監(jiān)控技術(shù),由機(jī)器自動分析視頻畫面中老人或駕駛員的臉部信息,進(jìn)行痛苦表情識別,及時通知養(yǎng)老院、醫(yī)院的工作人員或者發(fā)出聲音警告駕駛員。
近幾年,卷積神經(jīng)網(wǎng)絡(luò)被用于提取表情特征,逐漸取得顯著成果,文獻(xiàn)[1]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的人臉表情識別方法,并取得較好的效果。本文針對卷積神經(jīng)網(wǎng)絡(luò)在表情識別中的巨大優(yōu)勢,以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),進(jìn)行一定優(yōu)化,來實現(xiàn)對痛苦表情的識別。文獻(xiàn)[2]提出一種改進(jìn)ResNet網(wǎng)絡(luò)進(jìn)行表情識別的方法,取得較佳的成果。本文據(jù)此提出改進(jìn)方法,在ResNet中添加注意力機(jī)制進(jìn)行實驗,觀察結(jié)果。主要工作包括:構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);制作數(shù)據(jù)集,劃分訓(xùn)練集、驗證集、測試集;實驗、調(diào)優(yōu)參數(shù),提高最終準(zhǔn)確率。
本文采用的卷積神經(jīng)網(wǎng)絡(luò)主要是mini_XCEPTION,包含了卷積層、池化層、全連接層和Softmax層(見圖1)。其中,base模塊中的2個卷積層卷積核都為3,步長為1;因為mini_XCEPTION各層存在重復(fù)配置,本文用res和sep封裝部分層級,各級res和sep中的配置均相同。res中的卷積層卷積核為1,填充為0,步長為2;sep中的卷積層卷積核為3,填充為1,步長為1,最大池化層池化核大小為3,步長為2,填充為1;last模塊中卷積層卷積核為3,填充為1,步長為1,平均池化層池化核大小為2。除了池化和卷積層,還加入了歸一化層BatchNorm;使用ReLU激活函數(shù)減少計算量、增加網(wǎng)絡(luò)稀疏性、防止發(fā)生過擬合。用Softmax分類器得到每一個表情類型對應(yīng)的輸出概率,選擇概率最大的類型作為分類器輸出結(jié)果。
圖1 mini_XCEPTION卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本文采用FER2013表情數(shù)據(jù)庫、MMI表情數(shù)據(jù)庫和AMFED表情數(shù)據(jù)庫混合而成的數(shù)據(jù)集,使數(shù)據(jù)集樣本數(shù)量大大提升。將所有數(shù)據(jù)集中的圖片重新分類,篩選出無效及無法檢測出的人臉進(jìn)行剔除,有利于提高模型訓(xùn)練的精度。其中,將中性和開心表情歸類為非痛苦表情,傷心、惡心、害怕歸類為痛苦表情,去除生氣和驚訝類型表情,然后以一定比例劃分訓(xùn)練集、驗證集和測試集。
使用模型對訓(xùn)練集進(jìn)行訓(xùn)練測試,結(jié)果如表1所示。初始化的訓(xùn)練準(zhǔn)確率在80%以下,經(jīng)過不斷的測試、調(diào)優(yōu),換用不同的優(yōu)化器、不同的學(xué)習(xí)率、batch_size、epoch,準(zhǔn)確率逐漸上升。
表1 采用不同網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù)進(jìn)行訓(xùn)練的結(jié)果
由表1可見,實驗過程中主要采用的是mini_XCEPTION和ResNet兩種網(wǎng)絡(luò),對于不同的優(yōu)化器,這兩種網(wǎng)絡(luò)的表現(xiàn)也各不相同,在經(jīng)過優(yōu)化器Adagrad、Adam、SGD、RMSProp、Momentum和Lamb的測試后,得到mini_XCEPTION在Momentum優(yōu)化器中表現(xiàn)較好。學(xué)習(xí)率和batch_size參數(shù)的大小也影響最后準(zhǔn)確率,學(xué)習(xí)率設(shè)置太大會造成網(wǎng)絡(luò)不能收斂,在最優(yōu)值附近徘徊;學(xué)習(xí)率設(shè)置太小,網(wǎng)絡(luò)收斂非常緩慢,會增大找到最優(yōu)值的時間。經(jīng)過測試,最后得到學(xué)習(xí)率在0.001時效果最佳;batch_size從最初的64改變?yōu)?2后,測試準(zhǔn)確率有較為明顯的提高,而調(diào)整到64以上或者32以下時,效果下降,所以采用32作為batch_size的大小。訓(xùn)練輪數(shù)(epoch)在一定限度的增大可以提升最后的效果,采用1 000作為epoch時,網(wǎng)絡(luò)已完全收斂。
注意力機(jī)制的添加并沒有提高模型準(zhǔn)確率,相比之下反而下降,采用ResNet包含注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,效果并不好,準(zhǔn)確率只有85%。最后綜合可見,以mini_XCEPTION,用Lamb優(yōu)化器,學(xué)習(xí)率為0.001,batch_size為32的效果最好,訓(xùn)練1 000輪后準(zhǔn)確率達(dá)到88%。
而其他一些相關(guān)論文中使用的圖像增強(qiáng)方法對本文中的模型并沒有帶來積極影響。在數(shù)據(jù)集中添加了水平旋轉(zhuǎn)操作的原圖后,經(jīng)過訓(xùn)練、驗證的準(zhǔn)確率并沒有提升,最終的準(zhǔn)確率維持在88%。實驗嘗試使用經(jīng)典神經(jīng)網(wǎng)絡(luò)在本文創(chuàng)建的數(shù)據(jù)集下進(jìn)行訓(xùn)練,得到結(jié)果如表2所示??梢姳疚牟捎玫膍ini_XCEPTION網(wǎng)絡(luò)結(jié)構(gòu)相比一些經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)VGG16、ResNet,效果更好。
表2 不同網(wǎng)絡(luò)結(jié)構(gòu)中痛苦表情識別的準(zhǔn)確率
本文利用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí),區(qū)分痛苦與非痛苦表情,利用不同網(wǎng)絡(luò)進(jìn)行識別測試。由結(jié)果可見,卷積神經(jīng)網(wǎng)絡(luò)在表情識別上的顯著優(yōu)勢,在參數(shù)不斷調(diào)優(yōu)后,最終的準(zhǔn)確率接近90%。在自創(chuàng)建的數(shù)據(jù)集上,本文的網(wǎng)絡(luò)結(jié)構(gòu)與幾種經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行對照。結(jié)果表明,本文網(wǎng)絡(luò)結(jié)構(gòu)效果更好,具有更高的準(zhǔn)確率。