張宏麗,白翔宇
1.內(nèi)蒙古師范大學(xué) 教育技術(shù)系,呼和浩特 010022
2.內(nèi)蒙古大學(xué) 計(jì)算機(jī)學(xué)院,呼和浩特 010021
如今,計(jì)算機(jī)技術(shù)發(fā)展迅猛,網(wǎng)絡(luò)化學(xué)習(xí)、醫(yī)療、交通以及社會(huì)安全等領(lǐng)域都廣泛應(yīng)用了自動(dòng)面部表情識(shí)別技術(shù)[1-2]。大多數(shù)方法都是在用戶頭部位于正面或近正面狀態(tài)下進(jìn)行的表情識(shí)別,人臉基本不受遮擋的影響[3]。然而,該限制條件使得表情識(shí)別算法的魯棒性大大降低。除此之外,還有些方法是通過直接約束用戶,對用戶相關(guān)的表情特征進(jìn)行學(xué)習(xí)。該特征對用戶的身份信息特別敏感,因此,對未知用戶的識(shí)別魯棒性有待提升[4]。
目前面部表情識(shí)別主要分為兩種方式:一種是單幀圖像,另一種是視頻圖像。前者主要是從輸入中提取特征圖像,后者則能對圖像序列的時(shí)間信息和每一個(gè)靜態(tài)圖像的特征進(jìn)行提取[4-6]。一些面部表情識(shí)別系統(tǒng)在某些圖像數(shù)據(jù)集中可能有很好的性能,但在其他數(shù)據(jù)集中表現(xiàn)較差,對人臉表情識(shí)別的魯棒性仍有提升的空間[7-8]。
基于上述分析,針對人臉表情識(shí)別準(zhǔn)確率和數(shù)據(jù)集通用性等問題,提出了一種基于優(yōu)化剪枝GoogLeNet的人臉表情識(shí)別方法。所提方法的創(chuàng)新點(diǎn)總結(jié)如下:
(1)為了提高特征提取的準(zhǔn)確性,對GoogLeNet 網(wǎng)絡(luò)進(jìn)行改進(jìn),去掉最后一個(gè)全連接層并保留檢測目標(biāo)的位置信息,添加全局最大池化層,以Sigmoid交叉熵作為訓(xùn)練的目標(biāo)函數(shù),從而獲得更加全面的特征信息。
(2)GoogLeNet 網(wǎng)絡(luò)中存在參數(shù)冗余、計(jì)算量較大等問題。因此,所提方法使用剪枝算法來進(jìn)行網(wǎng)絡(luò)稀疏化,通過訓(xùn)練網(wǎng)絡(luò)、修剪低權(quán)重連接和再訓(xùn)練網(wǎng)絡(luò)三步操作,只保留卷積層和完全連接層中的強(qiáng)相關(guān)連接,簡化了網(wǎng)絡(luò)結(jié)構(gòu),減少了參數(shù)量,從而提高執(zhí)行效率。
面部表情對應(yīng)人的內(nèi)心情緒狀態(tài)、意圖或社交信息的臉部變化。文獻(xiàn)[9]定義了“憤怒”“厭惡”“恐懼”“快樂”“悲傷”“驚喜”六種人的基本表情,后面又加入了“蔑視”這一表情。人臉表情識(shí)別在計(jì)算機(jī)視覺領(lǐng)域中是個(gè)傳統(tǒng)問題,也是人工智能技術(shù)中的重要部分,逐漸受到越來越多人的關(guān)注,學(xué)者們提出了大量的新方法[10]。
例如,文獻(xiàn)[11]提出了一種融合HOG 特征和改進(jìn)KC-FDDL(K-means Cluster and Fisher Discrimination Dictionary Learning)字典學(xué)習(xí)稀疏表示的人臉表情識(shí)別算法。對歸一化后的表情圖像提取HOG特征構(gòu)成訓(xùn)練集并進(jìn)行改進(jìn)的K-均值聚類的Fisher判別字典學(xué)習(xí),結(jié)合殘差加權(quán)的稀疏表示進(jìn)行表情分類,克服了人臉表情識(shí)別過程中光照和遮擋等問題帶來的影響。然而,該方法不能為遮擋區(qū)域恢復(fù)充分的表情信息。文獻(xiàn)[12]采用稀疏編碼和字典學(xué)習(xí)方法來研究2D 和3D 地標(biāo)的Kendall 形狀空間上的時(shí)變形狀,研究了固有和非固有解以克服形狀空間的非線性對面部表情包括動(dòng)作軌跡識(shí)別的影響。但該方法對數(shù)據(jù)集的依賴度較高,不同的數(shù)據(jù)集對于識(shí)別結(jié)果有較大的影響[13]。
近年來,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)在圖像分類鄰域做出了很大的貢獻(xiàn),隨之涌現(xiàn)出很多基于CNN 的表情識(shí)別方法,彌補(bǔ)了傳統(tǒng)方法中魯棒性較差的問題[14]。如文獻(xiàn)[15]提出了一種基于變異特征減少模型與迭代優(yōu)化分類策略的面部表情識(shí)別(Facial Expression Recognition,F(xiàn)ER)方法,利用基于加權(quán)補(bǔ)丁的局部二進(jìn)制模式(Weighted Patch-based Local Binary Patterns,WPLBP)進(jìn)行特征提取,并進(jìn)行表達(dá)分類,提高了表情識(shí)別的準(zhǔn)確性。但對于特征提取過程的準(zhǔn)確性還有進(jìn)一步提高。文獻(xiàn)[16]提出了一種無監(jiān)督域自適應(yīng)字典學(xué)習(xí)(Unsupervised Domain Adaptive Dictionary Learning,UDADL)模型,通過學(xué)習(xí)共享字典來橋接源域和目標(biāo)域,并借用分析詞典來尋找近似解決方案作為潛在變量以簡化識(shí)別步驟。文獻(xiàn)[17]提出了一個(gè)共同學(xué)習(xí)FER 的空間特征和時(shí)間動(dòng)態(tài)的框架。使用深度網(wǎng)絡(luò)從每個(gè)幀中提取空間特征,同時(shí)通過卷積網(wǎng)絡(luò)對時(shí)間動(dòng)態(tài)建模,并通過BiLSTM網(wǎng)絡(luò)從融合的功能中收集線索完成面部表情識(shí)別,然而實(shí)際當(dāng)中的用戶身份是難以限定的。文獻(xiàn)[18]提出一種利用生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)識(shí)別面部表情的方法,重點(diǎn)針對真實(shí)環(huán)境面部表情識(shí)別過程中的類內(nèi)差距較大的表情進(jìn)行識(shí)別,使其更好地適應(yīng)類內(nèi)差異較大的任務(wù)。
如今,GoogLeNet 和ResNet 等CNN 模型成為了人們常用的模型,表情識(shí)別算法通過使用數(shù)據(jù)驅(qū)動(dòng)的方式將用戶無關(guān)的表情特征從表觀信息中提取出來。文獻(xiàn)[19]將CNN、AlexNet 和GoogLeNet 模型應(yīng)用于水果識(shí)別,以區(qū)分不同情形下的水果種類,因此結(jié)合適當(dāng)?shù)臄?shù)據(jù)集,可以將其應(yīng)用于人臉表情識(shí)別。然而,通過直接采用CNN提取表情圖像數(shù)據(jù)的特征會(huì)受到類內(nèi)差異的限制,想要得到預(yù)期的性能難度較大。文獻(xiàn)[20]提出了一種基于GoogLeNet 的ILGNet 網(wǎng)絡(luò)模型,結(jié)合了初始模塊和具有局部和全局特征的連接層,使用經(jīng)過預(yù)訓(xùn)練的GoogLeNet來解決大規(guī)模圖像分類問題。然而,用戶身份以及圖像采集條件的表觀差異造成了表情的類內(nèi)差異,因此,常常會(huì)導(dǎo)致表情特征可辨別性的魯棒性較差。
GoogLeNet采用多個(gè)分類器結(jié)構(gòu),并且將多個(gè)來源相結(jié)合進(jìn)行反向傳播,采用了一種新穎的多尺度方法。在達(dá)到開始層之前后向傳播衰退時(shí)可能會(huì)存在一些問題,該類架構(gòu)能盡可能地消除這些問題,且減少維度的附加層允許GoogLeNet 在寬度和深度上無顯著損失。該體系結(jié)構(gòu)包含多個(gè)初始層,其中每層都類似于大型網(wǎng)絡(luò)中的微型網(wǎng)絡(luò),能夠允許架構(gòu)進(jìn)行更為復(fù)雜的決策。該架構(gòu)整合了多種尺度的卷積核以及池化層,最終形成一個(gè)Inception 模塊,如圖1 所示,顯著減少了模型的參數(shù)數(shù)量。
圖1 Inception模塊結(jié)構(gòu)Fig.1 Structure of Inception module
典型的Inception 模塊主要由三個(gè)尺寸各不相同的卷積核和一個(gè)最大池化單元構(gòu)成,它們共同對前一層的輸入圖像進(jìn)行接收,且能并行地處理輸入的圖像,再將輸出結(jié)果根據(jù)通道進(jìn)行拼接。1×1 卷積的作用主要是進(jìn)行降維,由于卷積操作中接收到的輸入圖像大小相同,且卷積還進(jìn)行了padding操作,因此輸出圖像的大小也相同,從而能夠根據(jù)通道進(jìn)行拼接。
學(xué)者們采用了多種不同的方式對Inception 架構(gòu)進(jìn)行改進(jìn)。在Inception-v2中,對所有mini-batch數(shù)據(jù)的內(nèi)部執(zhí)行批量標(biāo)準(zhǔn)化處理,從而讓每層的輸出都能規(guī)范化到一個(gè)N(0,1) 的高斯核,再將兩個(gè)連續(xù)的3×3 卷積層組合來替代Inception 模塊中的5×5 卷積層,既能保持感受野范圍,又能減少參數(shù)量,加快計(jì)算速度。在Inception-v3 中加入了分解思想,即對較大的二維卷積進(jìn)行拆分,使其變?yōu)閮蓚€(gè)較小的一維卷積,例如對7×7的卷積進(jìn)行分解,將其分解為兩個(gè)一維的卷積(1×7,7×1),以此增加網(wǎng)絡(luò)的非線性。Inception-v4 比v3 版增加了Inception模塊的數(shù)量,對整個(gè)網(wǎng)絡(luò)進(jìn)行了加深。
面部表情識(shí)別系統(tǒng)中,人臉圖像數(shù)據(jù)集作為輸入,利用GoogLeNet 網(wǎng)絡(luò)結(jié)合支持向量機(jī)(SVM)等傳統(tǒng)分類器對采集到的圖像進(jìn)行分析。系統(tǒng)的總體結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)的總體結(jié)構(gòu)Fig.2 Overall structure of the system
在系統(tǒng)中,首先進(jìn)行圖像預(yù)處理,去除不必要的圖像部分,如圖像的背景,并需要裁剪的區(qū)域。使用類別激活映射圖(Category Activation Mapping,CAM)來定位圖像中人臉的位置,且從圖像中裁剪出合適的面部部分。然后,將圖像輸入優(yōu)化剪枝CoogLeNet網(wǎng)絡(luò)以提取深層特征,其中采用Inception 模塊加深網(wǎng)絡(luò)學(xué)習(xí)深度,同時(shí)利用剪枝算法訓(xùn)練CoogLeNet網(wǎng)絡(luò),以降低模型的數(shù)據(jù)冗余。最后,結(jié)合優(yōu)化剪枝CoogLeNet網(wǎng)絡(luò)的學(xué)習(xí)結(jié)果,利用分類器實(shí)現(xiàn)人臉表情的識(shí)別,分別是中性、高興、悲傷、生氣、驚訝、厭惡和害怕。
面向人臉表情特征提取與定位GoogLeNet網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)參考了全局最大池化(Global Maximum Pooling,GMP)網(wǎng)絡(luò)的設(shè)計(jì),使用CAM 設(shè)計(jì)思想來加強(qiáng)特征圖中的位置信息。因此,GoogLeNet-GMP 的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 GoogLeNet-GMP模型結(jié)構(gòu)Fig.3 Structure of GoogLeNet-GMP moudle
所提網(wǎng)絡(luò)結(jié)構(gòu)中采用GoogLeNet Inception v3 作為基礎(chǔ)網(wǎng)絡(luò),將GMP 層加在最末位的Inception 模塊之后,再將原網(wǎng)絡(luò)的稀疏全連接層替換為Sigmoid 全連接層,最后一個(gè)卷積層的第k個(gè)特征圖由fk(x,y)表示,經(jīng)過GMP后,類別i的得分Si計(jì)算如下:
以Sigmoid 交叉熵函數(shù)為目標(biāo)函數(shù)訓(xùn)練,逼近多類標(biāo)簽的概率分布,生成類別激活熱圖ψi的表達(dá)式為:
CoogLeNet-GMP 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表1 所示,其中Inception 模塊按結(jié)構(gòu)差異分為5 類。特征圖通過GMP后,輸出大小為1×1×2 048。
表1 CoogLeNet-CMP網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)Table 1 Structural parameters of CoogLeNet-CMP network
GoogLeNet網(wǎng)絡(luò)最后使用sofmax函數(shù)進(jìn)行分類,在人臉表情識(shí)別過程中,需要對多個(gè)目標(biāo)進(jìn)行檢測,因此使用Sigmoid 交叉熵函數(shù)進(jìn)行替換,使用所有樣本的平均Sigmoid 交叉熵函數(shù)值作為目標(biāo)函數(shù),對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,實(shí)現(xiàn)多分類預(yù)測。
在所提的人臉識(shí)別方法中,GoogLeNet作為一個(gè)深層特征提取器來提取圖像特征,然后,利用這些特征訓(xùn)練傳統(tǒng)的分類器。所得到的識(shí)別精度略有提高,且特征提取快速簡單[21]。另外,由于特征提取只需要對數(shù)據(jù)進(jìn)行一次處理,CPU也能完成這項(xiàng)工作。與訓(xùn)練一個(gè)新的網(wǎng)絡(luò)相比,使用預(yù)先訓(xùn)練的GoogLeNet網(wǎng)絡(luò)來提取深層特征的優(yōu)點(diǎn)在于:(1)所需的計(jì)算能力更??;(2)實(shí)現(xiàn)高識(shí)別精度所需的數(shù)據(jù)更少。
為了論證GoogLeNet網(wǎng)絡(luò)的特征提取能力,需要將網(wǎng)絡(luò)提取的深層特征可視化。所提方法中使用T-SNE(隨機(jī)鄰居嵌入)方法將GoogLeNet 提取的特征進(jìn)行可視化。T-SNE函數(shù)將高維數(shù)據(jù)轉(zhuǎn)換為低維數(shù)據(jù),是一種降維算法,能夠可視化人臉圖像的高維數(shù)據(jù)[22-23]。一般情況下,高維空間中的遠(yuǎn)點(diǎn)將轉(zhuǎn)換為遠(yuǎn)處的嵌入低維點(diǎn),而高維空間中的鄰近點(diǎn)將轉(zhuǎn)換為鄰近的嵌入低維點(diǎn)。因此,可以將低維點(diǎn)可視化,從而在原始高維數(shù)據(jù)中找到簇。由GoogLeNet 從數(shù)據(jù)集中學(xué)到的人臉圖像所提取的特征如圖4 所示。由圖4,GoogLeNet 網(wǎng)絡(luò)能夠準(zhǔn)確提取出生氣、厭惡、害怕、高興、悲傷、驚訝、中性等表情,將其用于人臉別情特征的提取是可行的。
圖4 利用T-SNE可視化GoogLeNet提取的特征Fig.4 Visualization of features extracted by GoogLeNet using T-SNE
網(wǎng)絡(luò)剪枝實(shí)質(zhì)是一種網(wǎng)絡(luò)稀疏化技術(shù),其優(yōu)勢在于能有效地避免過擬合,使網(wǎng)絡(luò)規(guī)模的擴(kuò)大和訓(xùn)練速度的提高成為可能。其主要思路是在對某個(gè)較大的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),對其中無用的連接進(jìn)行移除。通過去除某個(gè)單元來刪除其本身及其所有的輸入輸出連接。網(wǎng)絡(luò)架構(gòu)的尺寸越大,則對初始條件越敏感,網(wǎng)絡(luò)剪枝效果越好。
3.3.1 正則化與棄置層
正則化方式的選用將會(huì)對剪枝以及再訓(xùn)練造成一定的影響。通過使用L1 正則化對非零參數(shù)進(jìn)行懲罰,能讓更多的參數(shù)趨近于0,使得修剪后再訓(xùn)練之前的準(zhǔn)確性更高。
棄置層常用于防止過擬合,若能調(diào)整棄置率來適應(yīng)網(wǎng)絡(luò)架構(gòu)的變化,則棄置層也可用于再訓(xùn)練。利用Hinton構(gòu)建的棄置算法中的參數(shù)不會(huì)被全部丟棄,而是以一定的概率丟棄,因此,可視其為“軟棄置”。修剪則是“硬棄置”,無法對修剪后置零的參數(shù)進(jìn)行恢復(fù)。由于矩陣稀疏化,分類器會(huì)選擇最多的信息預(yù)測因子,所以具有更少的預(yù)測方差,這緩解了過擬合問題。由于剪枝對模型的泛化能力進(jìn)行了有效提升,因此,在再訓(xùn)練階段的棄置率會(huì)更小。
其中?i表示第i層中的連接數(shù),?i0為原始網(wǎng)絡(luò),?ir代表再訓(xùn)練網(wǎng)絡(luò),Ni表示第i層中神經(jīng)元的數(shù)量;原始棄置率由κ0表示,再訓(xùn)練時(shí)的棄置率記為κr(受棄置層的影響),且?i與Ni有著平方關(guān)系。
3.3.2 局部剪枝和參數(shù)協(xié)同適應(yīng)
進(jìn)行再訓(xùn)練時(shí),不應(yīng)將剪枝網(wǎng)絡(luò)的參數(shù)再進(jìn)行初始化,剪枝后剩余連接的權(quán)重應(yīng)是再訓(xùn)練階段所得的權(quán)重。卷積神經(jīng)網(wǎng)絡(luò)脆弱的協(xié)同適應(yīng)特征:在原始訓(xùn)練權(quán)重下,網(wǎng)絡(luò)模型使用梯度下降能持續(xù)進(jìn)行優(yōu)化,并使精度得到恢復(fù)。然而,當(dāng)對部分層級參數(shù)執(zhí)行重新初始化操作后,重新訓(xùn)練無法得到預(yù)期的效果[24-25]。因此,若需對剪枝網(wǎng)絡(luò)重新進(jìn)行初始化,必須進(jìn)行重新整理。若在剪枝網(wǎng)絡(luò)上進(jìn)行再訓(xùn)練,則需對剩余連接的原始參數(shù)進(jìn)行保留。
從保留權(quán)重開始對已修剪的層進(jìn)行重新訓(xùn)練,只需要少量計(jì)算,無需經(jīng)過全網(wǎng)傳播。除此之外,網(wǎng)絡(luò)深度的增加,會(huì)使神經(jīng)網(wǎng)絡(luò)易受消失梯度的影響,從而難以對深層網(wǎng)絡(luò)中的修剪錯(cuò)誤進(jìn)行恢復(fù)。針對該問題,通過對網(wǎng)絡(luò)中部分參數(shù)進(jìn)行修復(fù),重新使用幸存參數(shù)對淺層網(wǎng)絡(luò)進(jìn)行訓(xùn)練,這些參數(shù)在初始訓(xùn)練階段就與未修剪層進(jìn)行了共同適配。
3.3.3 修剪神經(jīng)元
經(jīng)過對連接的修剪后,便可以對有零輸入或零輸出連接的神經(jīng)元進(jìn)行安全的修剪,用去除或?qū)ι窠?jīng)元進(jìn)行修剪的方式來進(jìn)行修剪。在進(jìn)行再訓(xùn)練時(shí),處于再訓(xùn)練階段時(shí),由于梯度下降和正則化,當(dāng)?shù)竭_(dá)零輸入以及零輸出連接的死神經(jīng)元時(shí),系統(tǒng)會(huì)自動(dòng)地進(jìn)行賦值,死神經(jīng)元不會(huì)對最終的損耗有貢獻(xiàn),導(dǎo)致其輸入和輸出連接的梯度均為零。只有正則化能將權(quán)重置為零,因此在該階段會(huì)自動(dòng)對死神經(jīng)元進(jìn)行剪除。
本次實(shí)驗(yàn)是基于MATLAB 仿真平臺(tái)進(jìn)行的,硬件環(huán)境為:Microsoft Windows 10 操作系統(tǒng),CPU 型號(hào)為E5-1620 v4,時(shí)鐘頻率為3.5 GHz,采用的顯卡為NVIDIA Quadro M2000,顯存大小為2 GB,本次實(shí)驗(yàn)使用的是基于Caffe的深度學(xué)習(xí)平臺(tái)。
在本次實(shí)驗(yàn)中,GoogLeNet 網(wǎng)絡(luò)模型訓(xùn)練250 個(gè)周期,最小批次是64,其初始學(xué)習(xí)率和學(xué)習(xí)率變化因子分別為0.01和0.96,每一個(gè)步長在進(jìn)行迭代之后,降低學(xué)習(xí)速率,最大迭代次數(shù)、動(dòng)量以及權(quán)重衰減分別為2 000、0.9和0.000 2。在1 600次迭代后,已經(jīng)形成了GoogLeNet網(wǎng)絡(luò)之間的連接關(guān)系,后面的迭代訓(xùn)練是為了增強(qiáng)相關(guān)性和消除噪聲,因此,選擇第1 600 次訓(xùn)練的模型作為剪枝模型,利用最終剪枝后的模型來進(jìn)行人臉表情識(shí)別。
JAFFE 是一個(gè)只有213 個(gè)靜態(tài)圖像的面部表情數(shù)據(jù)庫。利用JAFFE數(shù)據(jù)集,通過不同的訓(xùn)練方法測試少量圖像對系統(tǒng)訓(xùn)練的影響。從JAFFE數(shù)據(jù)集中,選擇了202幅圖像,這些圖像都是使用圖像預(yù)處理技術(shù)處理后的(JAFFE 數(shù)據(jù)集包含一些錯(cuò)誤標(biāo)記的面部表情,后期進(jìn)行刪除)。在這個(gè)數(shù)據(jù)集中有7 種不同的面部表情:生氣、高興、中性、驚訝、悲傷、害怕和厭惡。JAFFE數(shù)據(jù)集的部分圖像示例如圖5所示。
圖5 JAFFE數(shù)據(jù)集的部分圖像示例Fig.5 Some image examples of JAFFE dataset
在每次測試中,隨機(jī)選取70%的圖像作為訓(xùn)練圖像,其余圖像作為測試圖像。在JAFFE數(shù)據(jù)集上對所提方法的識(shí)別效果進(jìn)行實(shí)驗(yàn)論證,7種表情的混淆矩陣如圖6所示。
圖6 JAFFE數(shù)據(jù)集的表情識(shí)別混淆矩陣Fig.6 Expression recognition confusion matrix based on JAFFE dataset
從圖6 中可以看出,本文方法在7 類人臉表情的識(shí)別準(zhǔn)確率均高于60%,其中高興、悲傷和驚訝表情的識(shí)別準(zhǔn)確率均高于85%,高興表情最易于識(shí)別,準(zhǔn)確率為89%。由于生氣和厭惡的表情在某些情況下彼此相似,導(dǎo)致它們在像素空間中并沒有區(qū)別,因此經(jīng)常會(huì)引起混淆。此外,JAFFE 數(shù)據(jù)集圖像數(shù)量較少,對于剪枝后的GoogLeNet 網(wǎng)絡(luò)較為適用,因此整體的識(shí)別效果較為理想。
為了論證本文方法在JAFFE 數(shù)據(jù)集中人臉表情的識(shí)別性能,將其與文獻(xiàn)[15]、[17]、[18]中方法進(jìn)行對比,5倍交叉驗(yàn)證的錯(cuò)誤率如表2所示。
表2 JAFFE數(shù)據(jù)集中不同方法交叉驗(yàn)證的錯(cuò)誤率對比Table 2 Error rate comparison of different cross validation methods in JAFFE dataset %
從表2 中可以看出,本文方法的錯(cuò)誤率最低,為8.91%。由于JAFFE 數(shù)據(jù)庫中的圖像數(shù)量非常少,深層GoogLeNet尚未展示最佳的性能,因此GoogLeNet網(wǎng)絡(luò)的性能與文獻(xiàn)[18]中采用GAN 的識(shí)別效果較為接近。但本文方法采用優(yōu)化剪枝算法GoogLeNet網(wǎng)絡(luò)模型,并且采用Inception模塊加深學(xué)習(xí)的深度,因此表情識(shí)別的效果更佳。
此外,在JAFFE 數(shù)據(jù)集中,本文方法與其他對比方法(文獻(xiàn)[15]、[17]、[18]方法)獲得的每種情緒識(shí)別準(zhǔn)確率和總體識(shí)別準(zhǔn)確率,如表3所示。
表3 不同方法在JAFFE數(shù)據(jù)集的表情識(shí)別準(zhǔn)確率Table 3 Expression recognition accuracy obtained by different methods in JAFFE dataset %
從表3 可以看出,無論是每種情感識(shí)別準(zhǔn)確率還是總體識(shí)別準(zhǔn)確率,本文方法獲得的結(jié)果均高于其他對比方法,其總體識(shí)別準(zhǔn)確率為83.84%。由于本文方法采用優(yōu)化剪枝GoogLeNet網(wǎng)絡(luò),其中采用Inception模塊較深學(xué)習(xí)的深度,以獲得表情的深度特征,同時(shí)利用剪枝算法簡化模型,整體上提高人臉表情識(shí)別的性能。文獻(xiàn)[15]利用WPLBP 提取表情特征,以迭代優(yōu)化分類策略實(shí)現(xiàn)表情識(shí)別,但該方法受提取精度的影響較大,因此分類準(zhǔn)確率較低,總體識(shí)別準(zhǔn)確率為74.19%。文獻(xiàn)[17]使用深度網(wǎng)絡(luò)從每個(gè)視頻幀中提取空間特征,同時(shí)通過BiLSTM 網(wǎng)絡(luò)完成面部表情識(shí)別,從時(shí)間和空間兩個(gè)角度完成人臉的識(shí)別,約束條件較多,識(shí)別準(zhǔn)確率受到了一定的限制,其總體識(shí)別準(zhǔn)確率為78.56%。文獻(xiàn)[18]中采用GAN 實(shí)現(xiàn)面部表情識(shí)別,該方法主要用于識(shí)別具有較大類內(nèi)差距的表情,因此,對于類內(nèi)差距較小的表情,識(shí)別效果并不顯著,如中性與害怕表情。
CK+數(shù)據(jù)集包含593個(gè)面部表情序列,每個(gè)視頻序列可以看作是幾個(gè)連續(xù)的視頻幀,其中有來自123個(gè)模特的大約10 000 張面部表情圖像。由于這些圖像序列是連續(xù)的,因此有很多相似的圖像。實(shí)驗(yàn)中,在去除相似圖像后,選取693 幅圖像,并使用圖像預(yù)處理技術(shù)進(jìn)行處理。數(shù)據(jù)集中選取了具有生氣、高興、中性、驚訝、悲傷、害怕以及厭惡這7種表情的圖像。CK+數(shù)據(jù)集的部分圖像示例如圖7所示。
圖7 CK+數(shù)據(jù)集的部分圖像示例Fig.7 Some image examples of CK+dataset
在每次測試中,隨機(jī)選取70%的圖像作為訓(xùn)練圖像,其余圖像作為測試圖像。在CK+數(shù)據(jù)集上對所提方法的識(shí)別效果進(jìn)行實(shí)驗(yàn)論證,7種表情的混淆矩陣如圖8所示。
從圖8 中可以看出,所提方法在7 類人臉表情的識(shí)別準(zhǔn)確率均高于60%,其中高興、悲傷表情的識(shí)別準(zhǔn)確率分別為94%、93%,驚訝、害怕和厭惡的表情識(shí)別率均超過80%。因?yàn)樯鷼夂蛥拹旱谋砬樵谀承┣闆r下彼此相似,導(dǎo)致它們在像素空間中并沒有區(qū)別,因此容易引起混淆。此外,CK+數(shù)據(jù)集圖像數(shù)量多,有利于模型訓(xùn)練,因此整體的識(shí)別準(zhǔn)確率較高。
圖8 CK+數(shù)據(jù)集的表情識(shí)別混淆矩陣Fig.8 Expression recognition confusion matrix of CK+dataset
為了論證本文方法在CK+數(shù)據(jù)集中人臉表情的識(shí)別性能,將其與文獻(xiàn)[15]、[17]、[18]中方法進(jìn)行對比,5倍交叉驗(yàn)證的錯(cuò)誤率如表4所示。
表4 CK+數(shù)據(jù)集中不同方法交叉驗(yàn)證的錯(cuò)誤率對比Table 4 Error rate comparison of different cross validation methods in CK+dataset %
從圖4中可以看出,本文方法仍然獲得最低的錯(cuò)誤率。一般來說,在CK+數(shù)據(jù)集中,為每個(gè)受試者的每個(gè)表情選擇兩個(gè)圖像,其中一個(gè)圖像是情緒開始表達(dá)時(shí)的幀,而另一個(gè)圖像是情緒達(dá)到其表情峰值時(shí)圖像序列中的幀。通過兩個(gè)圖像的結(jié)合共同進(jìn)行分類,能夠減少錯(cuò)誤率,因此本文方法的錯(cuò)誤率相比于JAFFE數(shù)據(jù)集均有了一定的下降。本文方法采用GoogLeNet網(wǎng)絡(luò),其中利用Inception模塊較深學(xué)習(xí)深度以及利用GMP保留位置信息,能夠降低錯(cuò)誤識(shí)別的可能性。
此外,在CK+數(shù)據(jù)集中,本文方法與其他對比方法(文獻(xiàn)[15]、[17]、[18]方法)獲得的每種情緒識(shí)別準(zhǔn)確率和總體識(shí)別準(zhǔn)確率,如表5所示。
表5 不同方法在CK+數(shù)據(jù)集的表情識(shí)別準(zhǔn)確率Table 5 Expression recognition accuracy obtained by different methods in CK+dataset %
從表5中可以看出,無論是每種情感識(shí)別準(zhǔn)確率還是總體識(shí)別準(zhǔn)確率,本文方法獲得的結(jié)果均高于其他方法,其總體識(shí)別準(zhǔn)確率為85.09%。由于本文方法采用優(yōu)化剪枝GoogLeNet網(wǎng)絡(luò),其中采用Inception模塊較深學(xué)習(xí)的深度,以獲得表情的深度特征,同時(shí)利用剪枝算法簡化模型,整體上提高人臉表情識(shí)別的性能。文獻(xiàn)[15]利用WPLBP 提取表情特征,并且迭代優(yōu)化分類策略實(shí)現(xiàn)表情識(shí)別;文獻(xiàn)[17]利用BiLSTM 網(wǎng)絡(luò)結(jié)合深度網(wǎng)絡(luò)提取的提取空間特征以及時(shí)間特征完成人臉的識(shí)別;文獻(xiàn)[18]利用GAN 實(shí)現(xiàn)面部表情的識(shí)別。相比于其他3種方法,本文方法的總體識(shí)別準(zhǔn)確率分別提高了7.32%、4.87%和3.12%,其人臉表情識(shí)別性能的優(yōu)越性得以論證。
Cohn-Kanade 人臉表情數(shù)據(jù)庫建于2000 年,是由CMU機(jī)器人研究所和心理系共同創(chuàng)建的。該數(shù)據(jù)集中由100 位女性成年人的約500 張多種表情序列組成,包括非裔美洲人、拉丁美洲人、亞洲人等。實(shí)驗(yàn)需要對圖像進(jìn)行歸一化處理,得到大小均為64×64的圖像,其中,部分圖像如圖9所示。
圖9 Cohn-Kanade數(shù)據(jù)集的部分圖像示例Fig.9 Some image examples of Cohn-Kanade dataset
在Cohn-Kanade 數(shù)據(jù)集上對本文方法的識(shí)別效果進(jìn)行實(shí)驗(yàn)驗(yàn)證,隨機(jī)選取20個(gè)研究對象,每個(gè)對象包含6 張不同表情的圖像,隨機(jī)選取10 個(gè)對象用于訓(xùn)練,剩下的10個(gè)對象用于測試,進(jìn)行30次實(shí)驗(yàn)取平均值,6種表情的混淆矩陣如圖10所示。
從圖10 中可以看出,本文方法每個(gè)表情的識(shí)別準(zhǔn)確度均高于75%。由于該數(shù)據(jù)集中沒有中性表情,因此害怕、厭惡等表情不會(huì)與中性表情出現(xiàn)混淆,因此準(zhǔn)確率均有了一定的提高。同樣,高興、悲傷表情易于識(shí)別,其識(shí)別準(zhǔn)確率分別為92%和91%,均高于90%。
圖10 Cohn-Kanade數(shù)據(jù)集的表情識(shí)別混淆矩陣Fig.10 Expression recognition confusion matrix of Cohn-Kanade dataset
為了論證本文方法在Cohn-Kanade 數(shù)據(jù)集中人臉表情的識(shí)別性能,將其與文獻(xiàn)[15]、[17]、[18]中方法進(jìn)行對比,5倍交叉驗(yàn)證的錯(cuò)誤率如表6所示。
表6 Cohn-Kanade數(shù)據(jù)集中不同方法的錯(cuò)誤率Table 6 Error rate of different methods in Cohn-Kanade dataset %
從圖6 中可以看出,本文方法獲得了最低的錯(cuò)誤率,為6.92%。由于該數(shù)據(jù)集的圖像數(shù)量有限,網(wǎng)絡(luò)學(xué)習(xí)受限,因此錯(cuò)誤率高于CK+數(shù)據(jù)集,但由于其中缺少中性表情,避免了表情混淆的發(fā)生,因此錯(cuò)誤率低于JAFFE數(shù)據(jù)集。
此外,在Cohn-Kanade 數(shù)據(jù)集中,本文方法與其他對比方法(文獻(xiàn)[15]、[17]、[18]方法)獲得的每種情緒識(shí)別準(zhǔn)確率和總體識(shí)別準(zhǔn)確率,如表7所示。
表7 不同方法在Cohn-Kanade數(shù)據(jù)集的表情識(shí)別準(zhǔn)確率Table 7 Expression recognition accuracy obtained by different methods in Cohn-Kanade dataset %
從表7 中可以看出,與JAFFE、CK+數(shù)據(jù)集的識(shí)別結(jié)構(gòu)一致,本文方法在每種表情和總體識(shí)別準(zhǔn)確率均均高于其他對比方法,其總體識(shí)別準(zhǔn)確率為84.87%。由于所提方法采用優(yōu)化剪枝GoogLeNet 網(wǎng)絡(luò),其中采用Inception 模塊較深學(xué)習(xí)的深度,以獲得表情的深度特征,同時(shí)利用剪枝算法簡化模型,整體上提高人臉表情識(shí)別的性能。文獻(xiàn)[15]的識(shí)別準(zhǔn)確率受WPLBP方法特征提取精度的影響較大,因此分類準(zhǔn)確率不高,總體識(shí)別準(zhǔn)確率為78.85%。文獻(xiàn)[17]結(jié)合了表情的時(shí)空特征,通過卷積網(wǎng)絡(luò)對時(shí)間動(dòng)態(tài)建模,特征提取的難度較大。文獻(xiàn)[18]針對面部表情識(shí)別過程中的類內(nèi)差距較大的表情利用GAN 實(shí)現(xiàn)面部表情的識(shí)別,應(yīng)用場景相對單一,識(shí)別效果有待提高。
為了進(jìn)一步評估本文方法的性能,將其與文獻(xiàn)[15]、[17]、[18]中方法從訓(xùn)練網(wǎng)絡(luò)的運(yùn)行時(shí)間、人臉表情識(shí)別準(zhǔn)確度兩個(gè)方面進(jìn)行評估。不同方法在JAFFE、CK+和Cohn-Kanade數(shù)據(jù)集上的識(shí)別精度和運(yùn)行時(shí)間,如圖11所示。
圖11 運(yùn)行時(shí)間與識(shí)別精度的對比Fig.11 Comparison of running time and recognition accuracy
從圖11中可以看出,在在JAFFE、CK+和Cohn-Kanade數(shù)據(jù)集上,與其他方法相比,本文方法均具有較高的識(shí)別準(zhǔn)確率,并且運(yùn)行時(shí)間也較短。因?yàn)楸疚姆椒ú捎玫腉oogLeNet網(wǎng)絡(luò)具備Inception模塊,且融合GMP 模塊,能夠加深學(xué)習(xí)深度,獲得較高的識(shí)別準(zhǔn)確率。同時(shí),本文方法利用剪枝算法對GoogLeNet網(wǎng)絡(luò)進(jìn)行稀疏化,能夠減少訓(xùn)練的時(shí)間。而文獻(xiàn)[17]中利用BiLSTM網(wǎng)絡(luò)結(jié)合深度網(wǎng)絡(luò)提取的空間特征以及時(shí)間特征完成人臉的識(shí)別,識(shí)別系統(tǒng)數(shù)據(jù)量,因此運(yùn)行時(shí)間最長,在CK+數(shù)據(jù)集上的運(yùn)行時(shí)間接近1 800 ms。文獻(xiàn)[15]中的WPLBP方法以及文獻(xiàn)[18]的GAN模型系統(tǒng)構(gòu)成簡單,因此在運(yùn)行時(shí)間上,較文獻(xiàn)[17]有所減少,但識(shí)別精度低于所提方法。
此外,訓(xùn)練圖像與測試評估中使用的圖像的比例能夠評估不同方法的訓(xùn)練圖像比例對所選數(shù)據(jù)集的影響。在實(shí)驗(yàn)中,將數(shù)據(jù)集中70%的圖像作為訓(xùn)練集,剩下的作為測試集。以JAFFE數(shù)據(jù)庫為例,使用不同方法的訓(xùn)練圖像的不同比例以及由此產(chǎn)生的識(shí)別準(zhǔn)確率如圖12所示。
圖12 訓(xùn)練圖像比例對不同方法識(shí)別準(zhǔn)確率的影響Fig.12 Influence of training image proportion on recognition accuracy of different methods
從圖12中可以看出,當(dāng)訓(xùn)練圖像比率增加時(shí),所有方法的識(shí)別精度都會(huì)提高,并且無論所測試的訓(xùn)練圖像比例如何,本文方法都表現(xiàn)出最佳的性能。事實(shí)上,當(dāng)從JAFFE數(shù)據(jù)庫中隨機(jī)抽取90%的圖像作為訓(xùn)練圖像,并將剩余圖像作為測試數(shù)據(jù)集時(shí),該方法的識(shí)別準(zhǔn)確率達(dá)到96.0%。
為了明確各個(gè)網(wǎng)絡(luò)部件對分類性能和運(yùn)行效率的影響,以JAFFE 數(shù)據(jù)集為例進(jìn)行消融實(shí)驗(yàn),測試高興、悲傷、生氣、驚訝、害怕和厭惡的6 種表情的平均準(zhǔn)確率。
本文方法包括4個(gè)主要部分:特征提取模塊、Inception模塊、GMP 模塊和分類模塊,分類模塊由3 個(gè)常用的分類器組成。由于分類模塊對于本文網(wǎng)絡(luò)中進(jìn)行分類是必要的,因此保留分類模塊,并分別刪除特征提取模塊,Inception模塊和GMP模塊,然后進(jìn)行不同實(shí)驗(yàn),結(jié)果如表8 所示??梢钥闯?,當(dāng)刪除其中一個(gè)模塊時(shí),與完整網(wǎng)絡(luò)相比,平均識(shí)別率均有一定程度的下降。特別是在沒有特征提取模塊的情況下,識(shí)別率下降最多,只有51.72%。一般,獲得的初始特征過于粗糙,直接進(jìn)入后續(xù)處理會(huì)嚴(yán)重影響后續(xù)結(jié)果。因此,特征提取模塊在網(wǎng)絡(luò)中是必需的。Inception模塊是本文方法的核心模塊,缺少該模塊也導(dǎo)致識(shí)別率嚴(yán)重下降,這證明了Inception模塊的重要性。由表8還可以看出,沒有GMP模塊,平均識(shí)別率為75.12%,GMP 層加在Inception 模塊之后,將原網(wǎng)絡(luò)的稀疏全連接層替換為Sigmoid 全連接層,其作用是加強(qiáng)特征圖的位置信息,依然具有一定增益效果。因此,每個(gè)模塊在最終輸出結(jié)果上都有一定的促進(jìn)作用。
表8 JAFFE數(shù)據(jù)集消融實(shí)驗(yàn)結(jié)果Table 8 Ablation experimental results in JAFFE dataset %
本文提出了一種基于優(yōu)化剪枝GoogLeNet 的人臉表情識(shí)別方法。利用改進(jìn)GoogLeNet 網(wǎng)絡(luò)提取面部特征,添加GMP 以獲得更全面的特征信息及特征圖位置信息。同時(shí),通過剪枝算法對GoogLeNet 網(wǎng)絡(luò)進(jìn)行訓(xùn)練、修剪低權(quán)重連接和再訓(xùn)練網(wǎng)絡(luò)等操作,以簡化網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)量,提高運(yùn)行效率。在JAFFE、CK+和Cohn-Kanade數(shù)據(jù)集上對所提方法進(jìn)行實(shí)驗(yàn)論證,結(jié)果表明,與其他方法相比,本文方法具有較高的識(shí)別準(zhǔn)確率和較短的運(yùn)行時(shí)間,以JAFFE 為例,本文方法的準(zhǔn)確率為83.84%,運(yùn)行時(shí)間低于100ms,具有明顯的識(shí)別優(yōu)勢。此外,當(dāng)訓(xùn)練圖像比例增加時(shí),獲得的識(shí)別準(zhǔn)確率也會(huì)隨之提高。
由于本文方法針對公開圖像集中的表情進(jìn)行識(shí)別,未來會(huì)增加現(xiàn)實(shí)生活中的視頻數(shù)據(jù)集、微表情數(shù)據(jù)集,從而提高方法的適用性。