張金棟, 王宏志
(長春工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院, 吉林 長春 130102)
隨著科技水平的快速發(fā)展,人工智能逐漸進入我們的生活,而如何在人機交互中讓機器獲得我們的情感狀態(tài)成為機器視覺領(lǐng)域研究的熱點。而人臉表情識別算法基本分為傳統(tǒng)算法和深度學(xué)習(xí)兩種,隨著算力的不斷提高,基于深度學(xué)習(xí)的人臉表情識別模型已經(jīng)憑借其強大的擬合能力,以及端到端的訓(xùn)練方式獲得了越來越多人的青睞。
目前,人臉表情識別已經(jīng)廣泛應(yīng)用到各個領(lǐng)域。在智慧交通領(lǐng)域[1-2],用人臉表情識別技術(shù)來監(jiān)測駕駛員情緒是否穩(wěn)定,是否屬于疲勞駕駛、酒后駕駛等狀態(tài),為交通安全提供更有效的保障;在智慧教育領(lǐng)域[3-4],人臉表情識別可以幫助教育工作者更好地了解學(xué)生的情緒狀態(tài)和學(xué)習(xí)效果;在智慧醫(yī)療領(lǐng)域[5-6],人臉表情識別可以在情感類疾病的診斷和疼痛評估方面提供新的數(shù)據(jù)支撐和判斷依據(jù);在人機交互領(lǐng)域[7,8],現(xiàn)實增強和虛擬現(xiàn)實中通過識別用戶的表情和情感信息,自動調(diào)整虛擬信息的呈現(xiàn)方式和內(nèi)容,從而提高交互的效率。
雖然人臉表情識別算法已經(jīng)被廣泛應(yīng)用到各個領(lǐng)域中,但是還仍然存在模型訓(xùn)練困難、魯棒性不足等問題,諸多學(xué)者也提出了自己的解決方法。針對傳統(tǒng)算法,文獻[9-11]對常見的LBP(Local Binary Pattern)算子和方向梯度直方圖(Histogram of Oriented Gradient, HOG)算法進行了改進,克服了人臉圖像紋理的相鄰像素丟失問題,有效地選擇了最優(yōu)的特征數(shù)據(jù)。在深度學(xué)習(xí)方面,注意力機制被認(rèn)為是可以有效提升模型準(zhǔn)確率的可嵌入模塊,文獻[12-14]使用通道注意力機制和自注意力機制等方式讓模型更加關(guān)注輸入圖像中更具有決定性因素的部分,提升了網(wǎng)絡(luò)模型的準(zhǔn)確率。而文獻[15-17]則使用殘差結(jié)構(gòu)構(gòu)建網(wǎng)絡(luò),加大了網(wǎng)絡(luò)中深層特征和淺層特征之間的聯(lián)系,避免了由于網(wǎng)絡(luò)過深而產(chǎn)生的過擬合問題。
為了更好地利用圖像中的局部特征和全局特征間的聯(lián)系,并獲得圖像中更多的特征信息,文中以ResNet18網(wǎng)絡(luò)為基礎(chǔ)模型,構(gòu)建了一個融合局部特征和全局特征的網(wǎng)絡(luò)結(jié)構(gòu),加入多尺度卷積模塊,用遷移學(xué)習(xí)方式初始化訓(xùn)練權(quán)重,并通過在FER-2013數(shù)據(jù)集和RAF-DB數(shù)據(jù)集上的實驗,驗證了文中模型結(jié)構(gòu)的有效性。
文中網(wǎng)絡(luò)模型為雙路結(jié)構(gòu),上路網(wǎng)絡(luò)選擇多尺度卷積塊和ResNet18網(wǎng)絡(luò)中的四個殘差塊組成全局特征提取網(wǎng)絡(luò),輸入圖像為原始圖像;下路網(wǎng)絡(luò)選擇四層卷積層和一層池化層組成局部特征提取網(wǎng)絡(luò),輸入圖像為原始圖像16等分后的局部圖像。其中為了減少網(wǎng)絡(luò)模型整體參數(shù),分割后的16張局部圖像共享下路網(wǎng)絡(luò)模型參數(shù),具體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)絡(luò)模型整體結(jié)構(gòu)
其中,上路網(wǎng)絡(luò)ResNet18中的64@3*3、128@3*3、256@3*3和512@3*3表示對應(yīng)殘差塊中四層卷積層的卷積核數(shù)量,分別為64、128、256和512,卷積核的大小為3*3。下路網(wǎng)絡(luò)中的16@3*3、32@3*3、64@3*3和1@3*3表示對應(yīng)四層卷積層的卷積核數(shù)量,分別為16、32、64和1,卷積核的大小為1*1。
從圖1可以看到,網(wǎng)絡(luò)共進行了兩次局部特征和全局特征的融合:
第一次融合是將分割后的圖像經(jīng)過下路四層卷積網(wǎng)絡(luò)提取到的與原始圖像大小相同的局部特征,與原始圖像進行融合,然后輸入上路網(wǎng)絡(luò);
第二次融合是分割后的圖像經(jīng)過下路整體網(wǎng)絡(luò)提取到的大小為4*4的局部圖像特征,與上路經(jīng)過多尺度卷積塊提取得到的圖像特征進行融合,然后輸入全連接網(wǎng)絡(luò)進行分類。
整體網(wǎng)絡(luò)特征提取分類具體公式為
M(F)=σ(MLP(MC(f))),
(1)
式中:F----輸入圖像;
M(F)----分類結(jié)果;
MLP----通過全連接層進行特征提取;
σ----通過Sigmoid函數(shù)進行最終分類;
MC(f)----網(wǎng)絡(luò)卷積層提取特征,其具體公式為
Mc(F)=Mu[F*Md(F)]*AvgPool[Md(F)],
(2)
式中:F----輸入圖像;
Mc(F)----經(jīng)過網(wǎng)絡(luò)卷積層后提取到的特征;
Md(F)----輸入圖像分割后經(jīng)過下路四層卷積層提取特征;
Mu----經(jīng)過多尺度卷積塊后提取到的特征;
AvgPool----平均池化。
在使用卷積神經(jīng)網(wǎng)絡(luò)提取特征的時候,不同大小的卷積核感受野不同,所提取到的特征也不一樣。為了更好地獲得圖像中的特征,文中構(gòu)建了一個多尺度卷積塊,在同一層中使用不同大小的卷積核以及池化操作提取特征,具體結(jié)構(gòu)如圖2所示。
圖2 多尺度卷積塊結(jié)構(gòu)
圖中:H,W,C----分別表示高、寬和通道維度;
H*W*C----輸入特征的大小;
C/4----該卷積層的卷積核個數(shù);
1*1,3*3,5*5----該卷積層的卷積核大小;
MAXPOOL----最大池化層;
Concat----特征拼接操作;
Add----特征相加操作。
多尺度卷積塊特征提取公式為
Mout(FI)=FI+Mcp(FI),
(3)
式中:FI----輸入原始特征;
Mout----多尺度卷積塊輸出特征;
Mcp----經(jīng)過卷積層和池化層拼接后的特征,其具體公式為
(4)
C1,C2,C3,Cp----分別為經(jīng)過卷積核大小為1*1,3*3,5*5的卷積層和池化層后的特征;
Concat----在通道內(nèi)將特征拼接。
從式(4)和圖2可以看到,原始特征在輸入到不同大小卷積核的卷積層以及池化層之前,先經(jīng)過一層卷積核數(shù)量為原始特征通道數(shù)四分之一的卷積層,這樣做的目的是在保證提取并融合各個尺度特征的前提下,減少多尺度卷積塊的參數(shù)。而為了防止在網(wǎng)絡(luò)訓(xùn)練過程中產(chǎn)生梯度消失的問題,在每一個卷積層后都進行了批標(biāo)準(zhǔn)化(Batch Normalization)操作,其公式為
(5)
人臉表情數(shù)據(jù)集根據(jù)是否在實驗室狀態(tài)下收集分為兩種,在實驗室狀態(tài)下收集到的數(shù)據(jù)集一般都存在樣本數(shù)量少和豐富度低的問題,因此雖然實驗室數(shù)據(jù)集的準(zhǔn)確率普遍很高,但依然無法真實反映網(wǎng)絡(luò)的性能。故文中選用非實驗室狀態(tài)下收集到的數(shù)據(jù)集FER-2013和RAF-DB來進行實驗。
在FER-2013數(shù)據(jù)集的35 886張圖像中,有28 708張是訓(xùn)練集,3 589張是驗證集,3 589張是測試集,而RAF-DB數(shù)據(jù)集的29 672張圖片中,有12 271張訓(xùn)練圖像和3 068張測試圖像。兩個數(shù)據(jù)集的表情分類為生氣、厭惡、恐懼、開心、傷心、驚訝和中性7種,在輸入網(wǎng)絡(luò)前將圖片大小均改變?yōu)?12*112,并進行隨機水平翻轉(zhuǎn)、隨機角度旋轉(zhuǎn)、隨機剪裁、隨機擦除和歸一化的數(shù)據(jù)增強方式。
文中實驗使用深度學(xué)習(xí)框架為Pytorch1.10和python3.7,操作系統(tǒng)環(huán)境為Windows10,CPU為i9-10920X,GPU為RTX3090。批處理大小設(shè)置為256,使用SGD優(yōu)化器,動量設(shè)置為0.9,學(xué)習(xí)率設(shè)置為0.1,每10輪變?yōu)樵瓉淼氖种?并使用遷移學(xué)習(xí)對網(wǎng)絡(luò)參數(shù)進行初始化。
文中算法在FER-2013數(shù)據(jù)集和RAF-DB數(shù)據(jù)集的準(zhǔn)確率曲線如圖3所示。
圖3 準(zhǔn)確率曲線
從圖3可以看到,兩個數(shù)據(jù)集的最終準(zhǔn)確率分別達到72.16%和86.83%,由于通過遷移學(xué)習(xí)對參數(shù)進行初始化,模型訓(xùn)練初期準(zhǔn)確率提升速度很快,在訓(xùn)練后期也沒有產(chǎn)生過大的準(zhǔn)確率波動情況。而FER-2013數(shù)據(jù)集與RAF-DB數(shù)據(jù)集相比,由于其樣本本身難度更大,分辨率更低,還存在一定的標(biāo)簽標(biāo)注錯誤情況,因此準(zhǔn)確率達到峰值,并趨于穩(wěn)定所需的訓(xùn)練輪數(shù)明顯增多,準(zhǔn)確率也更低。
文中算法在FER-2013數(shù)據(jù)集和RAF-DB數(shù)據(jù)集的混淆矩陣如圖4所示。
(a) FER-2013數(shù)據(jù)集 (b) RAF-DB數(shù)據(jù)集
從圖4可以看到,兩個數(shù)據(jù)集中識別準(zhǔn)確率最高的表情均為開心,分別達到90.3%和94.1%。而兩個數(shù)據(jù)集識別率最低的表情類別卻并不一致,FER-2013數(shù)據(jù)集中為恐懼,準(zhǔn)確率只有57%,RAF-DB數(shù)據(jù)集中為厭惡,準(zhǔn)確率只有53.1%。
文中算法與其他文獻算法在FER-2013數(shù)據(jù)集和RAF-DB數(shù)據(jù)集上的準(zhǔn)確率比較見表1。
表1 模型準(zhǔn)確率對比 %
從表1可以看出,除了在FER-2013數(shù)據(jù)集中的準(zhǔn)確率低于文獻[20]中的算法,其它均高于對比算法,證明了文中算法的有效性。
以ResNet18網(wǎng)絡(luò)為基礎(chǔ),采用雙路網(wǎng)絡(luò)模型對輸入圖像的全局特征和局部特征進行提取,并進行兩次全局和局部的特征融合,將圖像的全局和局部聯(lián)系起來,并構(gòu)建了多尺度卷積塊,利用不同大小的卷積核提取到感受野大小不同的特征,更好地利用圖像中包含的特征信息,通過在FER-2013和RAF-DB數(shù)據(jù)集中的實驗,證明了文中算法的有效性。