趙 揚(yáng),張建紅,郁舒蘭*,凌禹杭
(1.南京林業(yè)大學(xué) 機(jī)械電子工程學(xué)院,江蘇 南京 210037;2.南京審計大學(xué) 智芯人智慧心理實驗室,江蘇 南京 210037)
人類一般會通過面部表情來進(jìn)行情感表達(dá),研究[1]發(fā)現(xiàn),在日常交流中,大約55%的信息是由人臉傳達(dá)出來的,38%來源于表達(dá)者的聲調(diào)變化,由此可見,人臉表情在信息交流中起到了巨大作用。隨著互聯(lián)網(wǎng)、大數(shù)據(jù)技術(shù)的不斷更新,通過機(jī)器識別人臉情緒在智慧醫(yī)療、在線教育、智能測謊、人機(jī)交互和疲勞檢測[2]等領(lǐng)域發(fā)揮著巨大的作用。
傳統(tǒng)的人臉表情識別方法采用的是手工特征,主要方法有方向梯度直方圖(Histogram of Oriented Gradient, HOG)、Gabor小波變換和局部二值模式(Local Binary Patterns, LBP)等。例如Mahmood等[3]通過采用Radon變換和Gabor小波變換以及魯棒分類器來提高識別精度,傳統(tǒng)方法雖然可以有效解決少量數(shù)據(jù)的表情識別問題,但是由于其提取特征過程需要人工進(jìn)行參與且不能提取到網(wǎng)絡(luò)深層特征,不能滿足龐大數(shù)據(jù)的需求。
隨著深度學(xué)習(xí)技術(shù)在計算機(jī)視覺領(lǐng)域發(fā)展迅速,研究者們開始使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對人臉表情識別進(jìn)行研究。張波等[4]提出了基于通道注意力機(jī)制的人臉表情識別方法,模型可以對基本表情進(jìn)行識別,同時設(shè)計了機(jī)器人對不同表情時的交互語音和動作,實現(xiàn)了人機(jī)交互。Zhao等[5]提出了一種置信學(xué)習(xí)的應(yīng)用方法,引入了2個超參數(shù)來調(diào)整面部表情數(shù)據(jù)集的噪聲,在不同噪聲比的數(shù)據(jù)集上驗證了動態(tài)噪聲檢測的有效性。Verma等[6]提出了一個具有視覺和面部標(biāo)識分支的網(wǎng)絡(luò),視覺分支負(fù)責(zé)圖像序列的輸入,面部標(biāo)識分支研究軌跡運(yùn)動,考慮面部動作帶來的特征變化影響,該方法在CK+數(shù)據(jù)集上取得了很好的性能。Wu等[7]基于LeNet-5網(wǎng)絡(luò),選擇最大池化和平均池化,在完整提取圖像特征的同時又有效減少參數(shù)量,提高了識別的準(zhǔn)確性。Wang等[8]提出了AM-softmax函數(shù),引入角度間距,加入余弦余量,使得模型學(xué)習(xí)到的特征在特征空間的決策邊緣最大化,從而減少表情的類內(nèi)距離,提升分類效果。李思誠等[9]提出了一種改進(jìn)的ECANet34-DA網(wǎng)絡(luò),有效提取到了類間差異極小的微表情特征。閆河等[10]為了解決卷積降維后主干網(wǎng)絡(luò)丟失部分特征信息的問題,引入Ghost模塊和可分離卷積,保留更多的原始信息,增強(qiáng)主干網(wǎng)絡(luò)的提取能力,取得了較高的識別準(zhǔn)確率。
以上方法雖然都實現(xiàn)了對人臉表情識別精度的提升,但是其復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)也帶來了更大的參數(shù)量和計算數(shù),同時人臉不同表情類間差異小,類內(nèi)差異大,使得模型難以充分提取人臉特征,造成識別準(zhǔn)確率偏低。為了解決上述問題,本文提出了基于注意力特征融合與聯(lián)合損失函數(shù)的表情識別方法,使用AFF特征融合模塊融合不同尺度的特征信息并以此構(gòu)建網(wǎng)絡(luò)塊結(jié)構(gòu),融合深淺層圖像特征信息,提高模型準(zhǔn)確率,同時使用聯(lián)合損失函數(shù)對網(wǎng)絡(luò)進(jìn)行優(yōu)化訓(xùn)練,在保證網(wǎng)絡(luò)輕量的同時,實現(xiàn)了更準(zhǔn)確的人臉表情識別。
Xception網(wǎng)絡(luò)[11]是由谷歌團(tuán)隊在2017年提出的模型,該模型是對Inception V3網(wǎng)絡(luò)的改進(jìn),核心思想是使用深度可分離卷積來替換原來的inception結(jié)構(gòu),以此來實現(xiàn)CNN中的跨通道相關(guān)性和空間相關(guān)性的完全解耦操作。模型結(jié)構(gòu)如圖1所示。
圖1 Xception結(jié)構(gòu)Fig.1 Xception structure
與mobilenet不同的是,Xception網(wǎng)絡(luò)是先進(jìn)行1×1卷積然后再進(jìn)行3×3卷積操作,為了保證數(shù)據(jù)不被破壞,去掉了ReLU層。通過上述操作實現(xiàn)了網(wǎng)絡(luò)參數(shù)量和復(fù)雜度的顯著下降,同時為了解決網(wǎng)絡(luò)退化的問題,加快模型的收斂效果,加入殘差連接結(jié)構(gòu),最終的模型結(jié)構(gòu)如圖2所示。但是該網(wǎng)絡(luò)存在計算過程零散、執(zhí)行效率不高的問題。本文將使用Xception模型來進(jìn)行對比實驗。
稠密網(wǎng)絡(luò)(DenseNet)[12]模型是清華大學(xué)黃高團(tuán)隊在2018年提出的卷積模型,核心思想是建立前后相鄰卷積層的密集連接,與殘差思想“短路連接”相加不同,它是將CNN采集得到的特征在通道維度上進(jìn)行堆疊,實現(xiàn)特征的重用,有效避免了隨著網(wǎng)絡(luò)的加深帶來的梯度消失問題。稠密網(wǎng)絡(luò)的部分結(jié)構(gòu)如圖3所示。在稠密網(wǎng)絡(luò)中,前層信息可以傳入后層,且在深度方向上進(jìn)行拼接,極大地避免了信息的破壞,有效地解決了神經(jīng)網(wǎng)絡(luò)反向傳播過程中帶來的梯度消失問題。
圖3 稠密結(jié)構(gòu)示意Fig.3 Schematic diagram of dense structure
網(wǎng)絡(luò)整體結(jié)構(gòu)主要是由稠密塊和過渡層兩部分組成,其中稠密塊負(fù)責(zé)對提取到的特征進(jìn)行密集重用,保證信息在卷積層之間相互傳遞,過渡層則用來調(diào)整多個稠密塊提取到的特征,降低特征圖的維度,減少模型的參數(shù)。稠密網(wǎng)絡(luò)的亮點在于每個卷積層都與前面所有層進(jìn)行了連接,加強(qiáng)了網(wǎng)絡(luò)層之間的信息流動,相較于殘差網(wǎng)絡(luò),模型有著更少的參數(shù)量和更高的準(zhǔn)確率。稠密網(wǎng)絡(luò)的輸入輸出關(guān)系表達(dá)式如式(1)所示:
xL=HL([x0,x1,…,xL-1]),
(1)
式中:xL-1為模型上一層的輸出,xL為當(dāng)前層的輸出,HL為一個非線性變換。模型將前L-1層的輸出在通道維度上進(jìn)行拼接,優(yōu)化了模型內(nèi)部的信息流動。本文借鑒稠密網(wǎng)絡(luò)的密集連接思想,構(gòu)建神經(jīng)網(wǎng)絡(luò)深淺層特征融合,增強(qiáng)模型特征提取能力。
特征融合是指將來自不同卷積層或分支的特征信息進(jìn)行融合,以使得模型可以提取到更加豐富的特征。一般采用的操作是線性求和與通道維度拼接,但是會造成參數(shù)量的增加,而且在融合不同尺度時會帶來新的問題。對于人臉表情識別任務(wù)來說,希望模型能更多地關(guān)注嘴巴、眼睛等關(guān)鍵部位信息,忽略掉無關(guān)的特征,提升模型的感知能力。為此,引入注意力特征融合模塊增強(qiáng)模型提取能力。圖4為AFF[13]特征網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖4 AFF特征網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Structure diagram of AFF feature network
對于輸入的2個特征X、Y(Y是感受野更大的特征)先做相加操作進(jìn)行初步特征融合,隨后送入2個分支,通過全局平均池化操作來提取全局特征注意力,使用點卷積(Point-wise)來提取局部特征的注意力信息,隨后再做相加操作進(jìn)行全局和局部特征綜合,最后通過Sigmoid激活函數(shù)進(jìn)行X、Y的加權(quán)平均計算。通過訓(xùn)練,使得網(wǎng)絡(luò)可以自動確定權(quán)重大小,篩選出有效的人臉特征信息。
對于CNN參數(shù)量過大,難以滿足嵌入式等移動端設(shè)備應(yīng)用的問題。研究人員提出了使用深度可分離卷積代替普通卷積進(jìn)行特征提取。深度可分離卷積如圖5所示,與傳統(tǒng)卷積不同,它是對輸入圖像的空間信息和通道信息分別進(jìn)行操作,可以有效減少模型計算量和推理時間。
圖5 深度可分離卷積Fig.5 Depthwise separable convolution
本文提出的SAF網(wǎng)絡(luò)塊結(jié)構(gòu)如圖6所示,在傳統(tǒng)卷積結(jié)構(gòu)基礎(chǔ)上進(jìn)行改進(jìn)。首先,將卷積層替換成深度可分離卷積,減少模型參數(shù)量,然后將ReLU激活函數(shù)替換成Mish激活函數(shù),提升模型訓(xùn)練的穩(wěn)定性和精確性,最后在模塊中引入AFF注意特征融合模塊,實現(xiàn)網(wǎng)絡(luò)自適應(yīng)分配權(quán)重,提取人臉有效特征信息,同時加入殘差結(jié)構(gòu)來減輕模型訓(xùn)練帶來的梯度消失問題。
圖6 SAF網(wǎng)絡(luò)塊結(jié)構(gòu)Fig.6 SAF network block structure
傳統(tǒng)的SoftMax損失函數(shù)僅僅保證了類別間可分,并沒有考慮類內(nèi)的差異性。而對于人臉表情識別任務(wù)來說,不同人做同一個表情的差別比同一個人做不同表情的差別大得多,為了獲取更好的分類效果,需要縮小數(shù)據(jù)類內(nèi)距離,增大類間距離。
因此本文引入L-SoftMax和中心損失函數(shù)二者聯(lián)合訓(xùn)練模型,提高模型的判別能力。其中L-SoftMax公式如下:
(2)
式中:
(3)
xi表示第i個樣本,Wyi表示W(wǎng)的第yi列,θyi表示W(wǎng)yi和xi之間的夾角,m控制分類邊界,其值越大分類界限越大。L-SoftMax損失函數(shù)建立了更為嚴(yán)格的分類邊界,有效加大了類間距離。
中心損失函數(shù)[14]可以用來減少類內(nèi)差異,使得相同表情數(shù)據(jù)更加緊湊,有利于分類效果的提高。其計算公式如下:
(4)
式中:m表示樣本個數(shù),xi表示第i個樣本數(shù)據(jù),cyi表示特征中心。每次輸入m張圖片,中心損失函數(shù)會減小每個樣本特征與中心特征的距離。對于每次特征中心的變化量可由下式得到:
(5)
最終的聯(lián)合損失函數(shù)如下:
L=Li+λLc,
(6)
式中:λ為權(quán)重系數(shù),本文取值0.001。
本文設(shè)計的基于注意特征融合與聯(lián)合損失的卷積網(wǎng)絡(luò)模型結(jié)構(gòu)如圖7所示。主要是由9個SAF模塊堆疊而成。輸入圖像首先經(jīng)過一個卷積核大小為3×3的卷積層提取淺層特征信息,隨后依次經(jīng)過9個SAF模塊,進(jìn)一步提取人臉表情信息。同時為了避免網(wǎng)絡(luò)過長帶來的信息丟失的問題,本文分別使用卷積層和池化層來充分提取淺層網(wǎng)絡(luò)的特征信息,并將淺層信息與深層信息進(jìn)行融合以提升模型的判別效果。所提的網(wǎng)絡(luò)結(jié)構(gòu)及詳細(xì)參數(shù)如表1所示。
圖7 網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.7 Network model structure
表1 模型參數(shù)Tab.1 Model parameters
本次選取RAF-DB、CK+和Fer2013數(shù)據(jù)集對模型進(jìn)行測試。RAF-DB數(shù)據(jù)集是一個大規(guī)模的人臉表情數(shù)據(jù)集,不同于實驗室采集的數(shù)據(jù),它是研究人員從互聯(lián)網(wǎng)采集的包含不同種族、性別和年齡等多樣化的數(shù)據(jù)集,共包括12 271張訓(xùn)練集和3 068張測試集,可分為驚奇、厭惡、高興、悲傷、生氣、中性和害怕共7種基本表情,部分示例如圖8所示。數(shù)據(jù)庫中的圖像已經(jīng)對頭部姿態(tài)、光照條件等外部影響進(jìn)行過處理。CK+數(shù)據(jù)集是在實驗室拍攝的數(shù)據(jù)集,共分為憤怒、惡心、恐懼、高興、中性、驚訝、輕蔑和悲傷共8種基本情緒,包含了981張圖像數(shù)據(jù)。Fer2013數(shù)據(jù)集有7個表情分類標(biāo)簽,共包含28 709張訓(xùn)練圖像和3 589張測試圖像,與CK+數(shù)據(jù)集不同的是,Fer2013數(shù)據(jù)集存在大量遮擋人臉照片,對模型分類結(jié)果會有一定的影響。在進(jìn)行模型訓(xùn)練前,需要分別對數(shù)據(jù)集進(jìn)行預(yù)處理操作,依次將數(shù)據(jù)集輸入人臉檢測算法MTCNN裁剪人臉照片并將圖片縮放至48 pixel×48 pixel。本文實驗使用機(jī)器的操作系統(tǒng)為Windows 10,實驗環(huán)境Python3.8,使用Pytorch神經(jīng)網(wǎng)絡(luò)框架,硬件平臺為CPU Intel(R) Xeon(R) Silver 4110 CPU @ 2.10 GHz,內(nèi)存16 GB,顯卡為RTX 2080Ti 11 GB。優(yōu)化器部分選擇了Adam,在訓(xùn)練初期將初始學(xué)習(xí)率設(shè)定為0.001,在模型訓(xùn)練30輪之后,將學(xué)習(xí)率逐步衰減使得模型逼近最優(yōu)點,衰減參數(shù)設(shè)置為0.98,本次實驗將模型的訓(xùn)練輪數(shù)設(shè)置為250,批次大小為16。在進(jìn)行模型訓(xùn)練過程中,由于CK+數(shù)據(jù)集過少,直接將其輸入模型容易造成過擬合現(xiàn)象,因此在實驗前對圖片進(jìn)行裁剪、翻轉(zhuǎn)和添加噪聲等數(shù)據(jù)增強(qiáng)技術(shù)將數(shù)據(jù)集擴(kuò)充為原來的10倍,最終得到9 810張人臉照片,隨后將擴(kuò)充之后得到的人臉數(shù)據(jù)再送入模型中進(jìn)行訓(xùn)練。
(a)生氣
(b)厭惡
(c)害怕
(d)開心
(e)中性
(f)悲傷
(g)驚奇
分別在RAF-DB、CK+以及Fer2013人臉表情數(shù)據(jù)集上進(jìn)行訓(xùn)練,設(shè)置epoch為250次,學(xué)習(xí)率為0.001,16張圖片為一個batch。得到模型在驗證集上的準(zhǔn)確率分別為83.7%和96.5%。同時為了驗證AFF算法的優(yōu)越性,不加任何網(wǎng)絡(luò)的模型作為基礎(chǔ)網(wǎng)絡(luò),在其中分別嵌入SE、CBAM、ECA、AFF注意機(jī)制,使用CK+數(shù)據(jù)集進(jìn)行對比實驗。實驗結(jié)果如表2所示。由表2可以看出,嵌入AFF特征融合網(wǎng)絡(luò)的識別準(zhǔn)確率最高。
表2 注意力模型對比結(jié)果
模型在RAF-DB驗證集上的混淆矩陣如圖9所示。從圖中可以看出,高興和生氣等表情具有更好的識別效果,由于在數(shù)據(jù)集中高興和生氣擁有更明顯的面部特征,而對于傷心、驚訝和害怕的識別率相對較低,其中害怕的識別準(zhǔn)確率最低,原因是害怕的表情中會帶有皺眉、嘴巴張開等明顯的特征,但驚訝也會有這類特征表現(xiàn),導(dǎo)致模型難以區(qū)分,同時數(shù)據(jù)集中各類表情數(shù)量不平衡導(dǎo)致模型訓(xùn)練不充分也是識別率低的原因之一。
圖9 RAF-DB驗證集識別結(jié)果混淆矩陣Fig.9 Confusion matrix of RAF-DB validation set recognition results
為了驗證本文所提方法的有效性,本文對添加的AFF特征融合注意力、聯(lián)合損失以及深淺層特征融合的有效性進(jìn)行了驗證。消融實驗結(jié)果如表3所示,其中,不加任何網(wǎng)絡(luò)的基礎(chǔ)模型記為Basic;AFF表示加入了注意特征融合模塊。將各個模塊進(jìn)行對比實驗,結(jié)果表明,AFF特征融合注意力、聯(lián)合損失以及深淺層特征融合3個模塊都可以有效提升模型的識別準(zhǔn)確率,將三者融合加入到網(wǎng)絡(luò)模型中將得到最好的準(zhǔn)確率。對比基礎(chǔ)模型,所構(gòu)建的網(wǎng)絡(luò)模型在RAF-DB數(shù)據(jù)集上提升了2.2%,在CK+數(shù)據(jù)集上提升了3.1%,從而驗證了所提網(wǎng)絡(luò)模型的有效性。
表3 消融實驗
為了驗證本文算法的先進(jìn)性,在所用數(shù)據(jù)集上同國內(nèi)外的方法進(jìn)行對比實驗,對比結(jié)果如表4所示??梢钥闯霰疚乃崴惴ㄔ赗AF-DB、CK+和Fer2013數(shù)據(jù)集上的準(zhǔn)確率分別達(dá)到了83.7%、96.5%和70.3%,相較于其他算法而言有著更好的準(zhǔn)確率,表明本文所提模型可以有效提取人臉表情特征,獲得更好的分類效果。
表4 準(zhǔn)確率對比
為了驗證本文模型的輕量化改進(jìn)效果,將表4中的部分模型參數(shù)大小與本文模型進(jìn)行對比,對比結(jié)果如表5所示。由表5可知,本文模型的參數(shù)量僅有5.26 MB,小于其他模型,同時在RAF-DB數(shù)據(jù)集上準(zhǔn)確率僅僅比表4中的最高準(zhǔn)確率CASC低0.72%,參數(shù)量卻減少了70%,這表明本文模型較好地滿足了人臉表情識別模型的輕量化和準(zhǔn)確率的要求。
表5 模型參數(shù)量對比
本文提出了一種注意力特征融合機(jī)制與聯(lián)合損失的人臉表情識別網(wǎng)絡(luò)。特征融合模塊使得網(wǎng)絡(luò)可以自適應(yīng)分配權(quán)重大小,自動學(xué)習(xí)到表情變化豐富區(qū)域的特征信息,提升判別準(zhǔn)確率;圖像深淺層信息融合可以增加網(wǎng)絡(luò)對圖像的語義表征能力,而使用聯(lián)合損失函數(shù)進(jìn)行訓(xùn)練則可以進(jìn)一步加大類間距離,進(jìn)一步提高識別效果。最終實驗結(jié)果表明,本文所提網(wǎng)絡(luò)不僅可以有效提高人臉表情識別的準(zhǔn)確率,同時模型參數(shù)量小于其他網(wǎng)絡(luò),較好地實現(xiàn)了人臉表情識別模型的準(zhǔn)確率和輕量化的平衡。下一步考慮將所提模型部署到NAO機(jī)器人端,并設(shè)計機(jī)器人的交互動作行為,實現(xiàn)人機(jī)情感交互。