呂洪武
(長春工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院, 吉林 長春 130102)
人臉表情是表達(dá)人類情緒狀態(tài)最直接,也是最常見、最自然的信號之一。近年來,由于計算機視覺領(lǐng)域相關(guān)技術(shù)的飛速發(fā)展,人臉表情識別技術(shù)在醫(yī)療輔助診斷、刑事偵測、在線教學(xué)評價等多個領(lǐng)域具有廣泛的應(yīng)用前景[1]。例如通過專注度表情識別,對學(xué)生課堂上課的專注度進(jìn)行測評[2];應(yīng)用于咽拭子采集機器人,對采集人進(jìn)行表情識別,并進(jìn)行情感交互[3];將表情識別嵌入駕校培訓(xùn)系統(tǒng),根據(jù)學(xué)員的情緒狀態(tài)智能調(diào)整培訓(xùn)程序,及時提供個性化學(xué)習(xí)方案[4]。
人臉表情識別主要分為圖片采集和預(yù)處理、特征提取和表情分類三個步驟,其中特征提取是決定人臉表情識別效果的關(guān)鍵性部分。特征提取一般分為傳統(tǒng)特征提取方法和基于深度學(xué)習(xí)的特征提取方法。
傳統(tǒng)的特征提取方法如局部二值模式(LBP)[5]和Gabor變換[6]等,也有使用光流法[7]和多層感知機[8]的方法來進(jìn)行人臉表情識別,均存在魯棒性較弱和準(zhǔn)確率較低等問題。因此,基于深度學(xué)習(xí)的人臉表情特征提取方法開始逐漸獲得研究人員的關(guān)注。郭昕剛等[9]運用跨層連接方法改進(jìn)神經(jīng)網(wǎng)絡(luò);殷柯欣等[10]對基于圖像重構(gòu)和基于深度學(xué)習(xí)的預(yù)處理方法進(jìn)行總結(jié);An F等[11]提出一種結(jié)合長短期記憶網(wǎng)絡(luò)的多層面部表情識別方法,用來緩解梯度消失和梯度爆炸問題;而近年出現(xiàn)的局部二值卷積神經(jīng)網(wǎng)絡(luò)[12]和二值集成神經(jīng)網(wǎng)絡(luò)[13]均對參數(shù)量化的方式進(jìn)行了創(chuàng)新;也有將生成對抗網(wǎng)絡(luò)[14-15]應(yīng)用于人臉表情識別。但深度學(xué)習(xí)模型經(jīng)常存在過擬合以及訓(xùn)練時間過長等問題。
針對上述問題,提出一種基于遷移學(xué)習(xí)和注意力機制的人臉表情識別網(wǎng)絡(luò)模型,將注意力機制嵌入VGG16模型,減少模型全連接層參數(shù)數(shù)量,并使用遷移學(xué)習(xí)方法初始化網(wǎng)絡(luò)權(quán)重,提高了模型訓(xùn)練效率和人臉表情識別準(zhǔn)確度。
文中網(wǎng)絡(luò)模型在VGG16最后一層卷積處添加了注意力機制,并將后續(xù)兩層全連接層的節(jié)點數(shù)量進(jìn)行縮減,分別由4 096個節(jié)點減少為512和256個節(jié)點。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
其中,64@3×3、128@3×3和512@3×3分別表示每一個對應(yīng)的卷積層都是由64個、128個和512個大小為3×3的卷積核組成,池化層使用的池化方法為最大池化。
由于每一個通道特征圖均是由其對應(yīng)的卷積核卷積而來,因此,不同通道學(xué)習(xí)到的特征對于最終表情分類的貢獻(xiàn)度是不同的,通過注意力機制可以對每一個通道施加不同的權(quán)重,使得網(wǎng)絡(luò)更加偏向于貢獻(xiàn)度大的通道。注意力機制模塊具體結(jié)構(gòu)如圖2所示。
圖2 注意力機制
其中,MaxPool和AvgPool分別表示全局最大池化和全局平均池化,32和512表示兩個全連接層的節(jié)點數(shù)量,Relu表示激活函數(shù),1×1×512表示輸出權(quán)重向量的大小。注意力機制公式為
Mc(F)=σ(MLP(AvgPool(F))+
MLP(MaxPool(F))),
(1)
式中:F----輸入特征;
Mc(F)----輸入特征經(jīng)過注意力網(wǎng)絡(luò)后的權(quán)重向量;
AvgPool,MaxPool----分別表示全局平均池化和最大池化;
MLP----通過兩個參數(shù)共享的全連接層對池化后的特征進(jìn)行提取;
σ----對經(jīng)過全連接層后的特征向量通過Sigmoid函數(shù)進(jìn)行歸一化,具體公式為
(2)
式中:x----輸入的權(quán)重向量。
由于目前人臉表情識別模型過擬合現(xiàn)象較為突出,丟棄層(Dropout)可以使節(jié)點隨機失活,減少模型過擬合現(xiàn)象,因此在第一和第二個全連接層后添加丟棄層來增加模型的魯棒性,具體公式為
(3)
(4)
y(l+1)=f(z(l+1)),
(5)
式中:y(l),y(l+1)----分別表示第l層和第l+1層特征;
r(l)----根據(jù)第l層特征依據(jù)設(shè)置概率產(chǎn)生的隨機0,1向量;
w(l+1),b(l+1)----分別是第l+1層的權(quán)重參數(shù)和偏置項;
z(l+1)----未經(jīng)過激活函數(shù)的第l+1層特征;
f(z(l+1))----將特征經(jīng)過激活函數(shù)。
遷移學(xué)習(xí)是減少模型訓(xùn)練時間,提高模型魯棒性的重要方法。其目的是讓模型在其他領(lǐng)域訓(xùn)練以獲得一定的先驗知識(即獲得權(quán)重參數(shù))再來訓(xùn)練。遷移學(xué)習(xí)需要保持特征提取模型的卷積層結(jié)構(gòu)不變,載入預(yù)訓(xùn)練的權(quán)重和參數(shù),設(shè)計適用于新任務(wù)的全連接層,與原來的卷積層組成新網(wǎng)絡(luò)模型,再用新數(shù)據(jù)集訓(xùn)練模型[16]。遷移學(xué)習(xí)后的模型可以凍結(jié)固定層,只訓(xùn)練沒有凍結(jié)的層,或者全部網(wǎng)絡(luò)均參加訓(xùn)練,文中將所有層都進(jìn)行了訓(xùn)練。
為分析文中網(wǎng)絡(luò)性能,選用RAF-DB數(shù)據(jù)集進(jìn)行測試,測試環(huán)境為Windows10,GPU為NVIDIA GeForce RTX 3090,使用深度學(xué)習(xí)框架為Pytorch1.10,python3.7。批處理大小設(shè)置為128,使用SGD優(yōu)化器,動量設(shè)置為0.9,學(xué)習(xí)率設(shè)置為0.01,每100輪變?yōu)樵瓉淼氖种弧?/p>
RAF-DB數(shù)據(jù)集為真實世界下的人臉表情數(shù)據(jù)集,標(biāo)記為7種基本表情,分別為驚訝、害怕、厭惡、快樂、悲傷、憤怒、自然。數(shù)據(jù)集共有29 672張圖片,其中12 271張作為訓(xùn)練集,3 068張作為測試集。為了加強網(wǎng)絡(luò)的魯棒性,對數(shù)據(jù)集進(jìn)行一定的預(yù)處理,將圖片進(jìn)行歸一化處理,大小修改為224×224,進(jìn)行隨機水平翻轉(zhuǎn)和角度轉(zhuǎn)動,隨機對圖像進(jìn)行部分擦除。
文中算法在RAF-DB數(shù)據(jù)集的準(zhǔn)確率曲線如圖3所示。
圖3 準(zhǔn)確率曲線
文中算法在RAF-DB數(shù)據(jù)集的損失函數(shù)曲線如圖4所示。
圖4 損失函數(shù)曲線
兩圖中,A表示訓(xùn)練集曲線,B表示測試集曲線。從圖中可以看到,使用遷移學(xué)習(xí)后的模型在初始學(xué)習(xí)階段準(zhǔn)確率上升較快,且初始準(zhǔn)確率已經(jīng)較高,150輪左右已經(jīng)接近訓(xùn)練完成,并在終段訓(xùn)練中有較好的穩(wěn)定性,最終準(zhǔn)確率可以達(dá)到86.05%。
文中算法在RAF-DB數(shù)據(jù)集測試集下的混淆矩陣如圖5所示。
圖5 混淆矩陣
從圖中可以看出,快樂表情識別準(zhǔn)確率最高,可以達(dá)到94.7%,害怕和厭惡表情識別率最低,分別只有54.1%和55.0%,驚訝表情識別率為87.8%,悲傷表情識別率為84.7%,憤怒表情識別率為80.9%,自然表情識別率為83.1%。
文中算法與其他算法在RAF-DB數(shù)據(jù)集上的準(zhǔn)確率對比見表1。
表1 準(zhǔn)確率對比
可以看到,文中算法比VGG16網(wǎng)絡(luò)、ResNet18網(wǎng)絡(luò)、ResNet34網(wǎng)絡(luò)、Dens121網(wǎng)絡(luò)的準(zhǔn)確率分別高3.98%、3.87%、3.81%、3.14%,參數(shù)數(shù)量雖然高于其他網(wǎng)絡(luò)結(jié)構(gòu),但遠(yuǎn)低于改進(jìn)前的主干網(wǎng)絡(luò)。
刪減全連接層節(jié)點數(shù),添加丟棄層并對數(shù)據(jù)集進(jìn)行預(yù)處理,降低了模型的過擬合程度,添加了注意力機制,使得網(wǎng)絡(luò)更加關(guān)注有用的通道特征,使用遷移學(xué)習(xí)初始化訓(xùn)練權(quán)重,縮減了網(wǎng)絡(luò)訓(xùn)練時間。最終在RAF-DB數(shù)據(jù)集得到86.05%的準(zhǔn)確率,證明了文中算法的有效性。