趙家琦,周穎玥,王欣宇,李 馳
1.西南科技大學 信息工程學院,四川 綿陽 621010
2.西南科技大學 特殊環(huán)境機器人技術四川省重點實驗室,四川 綿陽 621010
面部表情是人類情緒變化的直接載體,也是一種在社會交流中不可或缺的非語言信號,隨著機器視覺研究的迅速發(fā)展,如何通過面部圖像來獲取人類的情緒信息成了備受關注的研究方向。研究人員Ekman[1]提出了六種人類情感的概念:生氣、厭惡、害怕、高興、悲傷和驚訝。不同面部表情之間的差異性主要集中在嘴部和眼部等局部區(qū)域,因此人臉表情識別屬于一種細粒度分類問題。
傳統(tǒng)的人臉表情特征提取方法有很多,較為經(jīng)典的有:提取表情紋理特征的局部二值模式(local binary pattern,LBP)方法[2]、提取表情邊緣特征的方向梯度直方圖(histograms of oriented gradient,HOG)方法[3]、具有抗角度旋轉和尺度變化的尺度不變特征轉換(scale invariant feature transform,SIFT)算法[4]等。由于通過截取得到的人臉圖像尺寸較小,且各類表情之間類內差異大,類間差異小,這使得人工設計的特征提取算法在實際運用中十分容易受到背景、噪聲、角度等因素的干擾,模型識別性能有限、泛化能力相對不足。
近些年來,卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)模型在計算機視覺各個領域中發(fā)揮了至關重要的作用。CNN無需人工設計特征,而是將端到端的數(shù)據(jù)投入訓練,使得參數(shù)不斷迭代更新,從而獲得具有較好特征提取能力的網(wǎng)絡模型。通過眾多學者的不斷研究,CNN的網(wǎng)絡結構得以不斷改進和優(yōu)化。2014年Simonyan等[5]提出了VGG模型,該網(wǎng)絡首次使用逐級通道數(shù)遞增的小卷積核代替大卷積核參與運算,在有效減少參數(shù)量的同時使得網(wǎng)絡層數(shù)更深,有效提升了網(wǎng)絡的特征提取能力。2015年,ResNet[6]的提出,有效解決了深度卷積網(wǎng)絡出現(xiàn)模型退化的問題。隨后,Inception[7]模型被提出,通過嵌入空間聚合模塊,有效提升網(wǎng)絡特征提取能力并且進一步加深網(wǎng)絡深度。2018年,輕量化網(wǎng)絡MobileNet[8]提出了深度可分離卷積方法,將傳統(tǒng)卷積核從通道數(shù)量和卷積核尺寸兩個參數(shù)上進行拆分,極大減少了網(wǎng)絡參數(shù)量。2019年,關于注意力機制的研究從自然語言處理方向轉移到了機器視覺方向,Hu等[9]提出了壓縮-激勵(squeeze-and-excitation,SE)模塊,通過在模型訓練中不斷修正不同深度特征圖通道的權重,達到特征校準的目的。同年,Woo等[10]提出了完整的基于卷積神經(jīng)網(wǎng)絡的卷積注意力模塊(convolution block attention module,CBAM),該模塊由空間注意力模塊和通道注意力模塊前后堆疊而成,既關注了模型中通道間的相互關系,也關注了局部信息與全局信息在空間位置上的相互關系,進一步提升了網(wǎng)絡性能。2020年,基于計算機視覺的Transformer模塊[11]被廣泛運用在計算機視覺任務中,它使用自注意力提取特征的方式成為了該領域新的研究方向。
在人臉表情識別問題中,許多研究學者也在傳統(tǒng)神經(jīng)網(wǎng)絡模型的基礎上提出了相關的創(chuàng)新方法。例如:Al-Shabi等[12]通過將面部表情中提取出的SIFT特征與CNN訓練得到的特征進行合并,建立了一個適用于小樣本數(shù)據(jù)集的混合CNN-SIFT分類器,最終在公開人臉表情數(shù)據(jù)集CK+上達到了99.4%的識別率,但該模型參數(shù)較多,運算復雜度較大。Gu等[13]使用VGG和ResNet同時學習,以雙通道輸入的方式訓練網(wǎng)絡,再將兩個網(wǎng)絡上提取的高維特征進行級聯(lián),得到了較單一網(wǎng)絡更好的分類結果。柳璇等[14]在CNN模型中添加了跨連接通道加權模塊,同時在輸入端將由人工提取得到的特征伴隨原圖共同輸入網(wǎng)絡,有效提升了網(wǎng)絡的泛化能力,但忽略了面部表情中不同關鍵區(qū)域特征的關聯(lián)性。高紅霞等[15]通過Transformer模塊提取面部表情關鍵點屬性,再融入多種注意力機制,在多個數(shù)據(jù)集上都得到了不錯的識別率。
對于表情識別任務,模型需要同時聚焦于淺層初級特征與深層高級特征。傳統(tǒng)的多尺度特征融合通過拼接的方式將多尺度特征在通道維度上直接堆疊,這種方法在細粒度識別場景下會造成大量信息冗余,并且模型會丟失不同尺度特征對背景信息的抑制能力。針對這一缺陷,本文提出一種基于支路輔助學習的人臉表情識別方法:在基礎網(wǎng)絡之外引入一條用于提取全局特征的支路輔助網(wǎng)絡,使用特征映射方法,將支路得到的初級特征作為掩膜傳遞到主路,有效提升模型對細粒度特征的表征能力,極大降低非表情區(qū)域特征對分類結果的影響。該方法由以下三個部分組成:
(1)支路輔助學習網(wǎng)絡:該網(wǎng)絡由多個金字塔卷積塊堆疊形成,和基礎網(wǎng)絡共享輸入、輸出層。金字塔卷積塊由空洞卷積和非線性過濾層組合形成,能夠獲取感受野更大的多尺度特征,更加注重全局信息提取,從而實現(xiàn)抑制背景干擾的目的。金字塔卷積塊得到的輸出會經(jīng)由特征映射模塊單向傳遞給基礎網(wǎng)絡以實現(xiàn)高效信息交互。
(2)特征映射模塊(feature-mapping module,F(xiàn)M):該模塊能夠將特征圖轉化為單通道的權重圖,其中每一個點的取值表示該像素位置對目標分類結果影響的大小。特征映射模塊會將支路網(wǎng)絡得到的初級特征轉化為空間上的權重掩膜覆蓋在基礎網(wǎng)絡上,通過不斷迭代,優(yōu)化自身參數(shù),以提升基礎網(wǎng)絡對細粒度特征的學習能力及泛化能力。
(3)雙路權重分配單元(double-channels weight assignment,DCWA):由于得到統(tǒng)一空間信息加權的特征圖在通道維度呈高度離散化,為了重構通道映射關系,提出一種雙路權重分配單元。對得到特征映射的特征空間采用兩路不規(guī)則卷積配合池化的方法計算通道權重,從而實現(xiàn)通道歸一化。
為驗證所提出的支路輔助學習方法的有效性,本文將幾類主流網(wǎng)絡選作基礎網(wǎng)絡,對其添加支路輔助學習模塊,并在公開人臉表情數(shù)據(jù)集上進行實驗。實驗結果表明,支路輔助學習模塊可以有效提升基礎網(wǎng)絡的特征提取性能。
本文提出的識別模型由基礎網(wǎng)絡、支路輔助學習網(wǎng)絡、特征映射模塊和雙路權重分配單元四個部分組成。其中,基礎網(wǎng)絡可以備選各類主流卷積神經(jīng)網(wǎng)絡,例如:VGG、Inception、ResNet等。本文統(tǒng)一將基礎網(wǎng)絡分為三部分:前處理塊,指不受支路輔助學習網(wǎng)絡影響的特征提取塊;計算塊,指得到支路特征映射的特征提取塊;后處理塊,是對即將輸出的特征進行全連接計算或者特征降維的部分。完整的模型框架見圖1所示,其中輸出端使用全連接層(fully connected,F(xiàn)C)計算類別概率。
圖1 本文算法模型框架圖Fig.1 Overview of proposed framework
金字塔卷積塊是一個具有多尺度感受野的特征提取器,能夠得到精度粗略、局部信息關聯(lián)度高的初級特征,參考結構重參數(shù)化[16]的思想,金字塔卷積塊使用3×3的多尺度擴張卷積配合一種非線性過濾層(non-linear sift layer,NLSL)。擴張卷積能夠有效增加感受野,使得輸出特征包含更多的上下文關系。NLSL層是一種提取全局紋理信息的方法,通過對局部特征信息解耦,有效減少了背景干擾,使得模型在不斷迭代的過程中能夠利用輸入圖片的全局特征去抑制非表情區(qū)域特征。將NLSL輸出的結果和擴張卷積得到的特征圖在通道維度串聯(lián),得到特征提取部分的輸出。具體結構如圖2所示。
圖2 金字塔卷積塊Fig.2 Pyramid convolution block
將輸入特征F,F(xiàn)∈RH×W×D(H×W×D表示特征的空間尺度為H×W、通道數(shù)為D),分別饋送至wr=0、wr=1和wr=2的三個擴張卷積通路,其中r=0,1,2表示三種不同擴張比例。然后對卷積后的結果進行激活,得到輸出,計算公式如式(1)所示:
其中,δ表示Sigmoid激活函數(shù)。
NLSL層由一組可訓練的參數(shù)矩陣構成,該組矩陣的尺寸與輸入特征的尺寸完全相同,它能夠建立點到點的獨立映射,有效利用全局感受野。用λ表示NLSL的參數(shù)矩陣組(默認包含偏置值),用λd表示其中的一個通道,F(xiàn)d表示輸入特征中的一個通道,其中0<d<D,d∈?*。將NLSL的計算方法定義為fS,則輸入特征F經(jīng)NLSL處理后的輸出特征圖FS可表示為式(2)和(3)所示:
其中,φ表示tanh激活函數(shù),?表示矩陣內積運算,maxC表示計算通道維度上的最大值。使用tanh作為激活函數(shù)是為了對輸出結果進行歸一化的同時保留輸入的符號。由于減小了鄰域信息對有效特征的干擾,NLSL能夠保留輸入特征中最原始的紋理信息,但同時也會造成部分細節(jié)信息丟失,這使得支路輔助學習網(wǎng)絡僅能夠獲得感受野更大、全局信息更多、細節(jié)信息更少的初級淺層特征。
將Fs與在通道維度上拼接得到輸出特征圖Fsum。為了對Fsum進行信息整合,在特征拼接后添加了SE模塊,得到金字塔卷積塊的輸出FO。SE模塊能夠增強特征通道間的相互關聯(lián)性,進一步提升了金字塔卷積塊的特征表征能力。與原始SE模塊不同的是,將激活函數(shù)Sigmoid替換為線性整流函數(shù)(rectified linear unit,ReLU),這樣可以有效避免梯度消失的問題。
通過串聯(lián)數(shù)個金字塔卷積塊,得到了支路輔助學習網(wǎng)絡,其具體框架如圖3所示。其中k表示支路網(wǎng)絡的深度。在訓練過程中,支路得到的特征會不斷反饋到基礎網(wǎng)絡,對基礎網(wǎng)絡的分類決策進行修正;在輸出端,支路網(wǎng)絡會使用全局平均池化(global average pooling,GAP)壓縮信息,在最后一個全連接層通過向量拼接的方式與基礎網(wǎng)絡進行特征融合,并且共同參與Softmax激活,計算出輸入表情樣本屬于各類表情的概率。
圖3 支路輔助學習網(wǎng)絡Fig.3 Branch-assisted learning network
所構建的支路輔助學習網(wǎng)絡旨在獲取感受野更大、全局信息利用率更高的特征。在網(wǎng)絡的淺層,這些信息能夠為基礎網(wǎng)絡的特征提取提供增益,去除背景干擾,提升收斂速度;在網(wǎng)絡的深層,它們能夠傳導原始紋理信息,為基礎網(wǎng)絡的特征提取提供補償,使其更有效地響應模型輸出。
為了高效率、低冗余地將支路信息傳遞至主路,本文提出一種特征映射方法,該模塊能夠將支路得到的初級特征轉化為單通道權重掩膜覆蓋在基礎網(wǎng)絡上,合理地利用了多尺度下的特征信息。該模塊的具體框架如圖4所示。
圖4 特征映射模塊Fig.4 Feature-mapping module
將第k層金字塔模塊的輸出作為特征映射模塊的輸入。首先,對在通道維度上并行使用平均池化和最大池化,分別得到特征向量;然后,沿通道軸合并得到;其次,為了整合信息、改變通道數(shù),使用3×3卷積作用于合并后的特征,得到空間特征算子MS;最后,MS與基礎網(wǎng)絡計算塊中的輸入特征信息FIn相乘,得到模塊輸出FOut,即:
特征映射模塊實現(xiàn)了由支路到主路的特征遞進,將支路信息作為先驗知識傳遞至主路。因為僅有一個單通道卷積核參與計算,且輸出特征圖的維度與輸入一致,所以該模塊并不會對模型學習造成負擔。通過不斷迭代運算,模型能夠快速聚焦在對分類結果高度敏感的像素塊部分,從而抑制低敏感信息特征的提取,有效提升模型對面部表情特征的學習能力。同時,由于該模塊中信息傳導方式為單向傳導,并且添加了NLSL方法的金字塔卷積塊學習能力始終“有限”。所以在訓練初期,支路輔助學習網(wǎng)絡能夠有效提供空間注意力信息,而在訓練后期,支路輔助學習網(wǎng)絡提供的權重掩膜也能防止基礎網(wǎng)絡陷入過擬合,所以該模塊對模型的泛化能力也有一定提升。
由于特征算子MS中包含具有高度空間敏感性的信息,得到統(tǒng)一映射的特征空間很容易喪失通道間的相互依賴性。因此,為了在訓練過程中對其重建邏輯關系,本文提出一種雙路權重分配單元,添加在特征映射模塊的輸出端。
由于人臉特征在水平與垂直方向具有高度對稱性和相似性,所以雙路權重分配單元采用兩組不同方向的不規(guī)則卷積[17]提取重要細粒度信息,配合平均池化和具有壓縮比的點卷積,實現(xiàn)對特征通道賦予權重的操作。通過設置壓縮比,來減少信息冗余。該模塊的結構如圖5所示。
圖5 雙路權重分配單元Fig.5 Double-channel weight allocation module
FOut作為雙路權重分配單元的輸入(即特征映射模塊的輸出),傳遞給兩路不規(guī)則卷積w1(w1∈RH×1×C/r)和w2(w2∈R1×W×C/r),通過設定壓縮率r,實現(xiàn)通道壓縮。然后,將卷積后得到的梯度特征FOV和FOH進行全局平均池化,對池化結果進行求和得到通道信息的表征,用Msum表示。其次,對Msum執(zhí)行點卷積計算,并通過Sigmoid函數(shù)激活輸出結果,獲得輸入特征FOut在通道維度上的權重MC。將上述計算過程用如下公式進行表達:
其中,δ表示Sigmoid激活函數(shù),σ表示ReLU激活函數(shù)。
最后,將MC與輸入FOut相點乘,獲得了最終加權結果FDO。上述所提出的雙路權重分配單元對得到映射后的特征圖通道進行歸一化計算,通過不規(guī)則卷積獲取通道權重,有效提高信息利用率,增強了FOut中有益特征通道對輸出的響應。
支路輔助學習模塊結構靈活,可以裝載在現(xiàn)今各類主流卷積神經(jīng)網(wǎng)絡上。本文選取較有代表性的VGG16、ResNet50以及InceptionV3作為基礎網(wǎng)絡,分別添加支路輔助學習模塊并在公開數(shù)據(jù)集進行測試。不同模型的內部結構和網(wǎng)絡深度都存在差異,如表1所示。
表1 本文所選基礎網(wǎng)絡及其參數(shù)Table 1 Selected base-network and parameters
對應三種基礎網(wǎng)絡,本文設置不同的計算塊劃分,最終根據(jù)劃分方式為基礎網(wǎng)絡添加支路輔助學習模塊。
VGG16+支路輔助學習:VGG16模型包括通道數(shù)遞增的3×3卷積層、最大池化層、點卷積層、全連接層,以及輸出層五部分,其結構具有規(guī)律性。本文將VGG16模型中每兩個最大池化層中間定義為一個計算塊,具體見表2所示。
表2 VGG16的計算塊劃分Table 2 Block in VGG16 model
ResNet50+支路輔助學習:ResNet50網(wǎng)絡包括7×7大小的卷積層、最大池化層、瓶頸層、批歸一化層(batch normalization,BN)、殘差塊以及輸出層六個部分,將ResNet50劃分為10個計算塊,見表3所示。
表3 ResNet50的計算塊劃分Table 3 Block in ResNet50 model
InceptionV3+支路輔助學習:InceptionV3網(wǎng)絡包括3×3卷積層,池化層以及三種不同方式的Inception結構塊,將該網(wǎng)絡劃分為8個計算塊,見表4所示。
表4 InceptionV3的計算塊劃分Table 4 Block in InceptionV3 model
由于InceptionV3模型較為特殊,在前處理塊采用了5層不填充卷積,為了更好地驗證本文提出方法對于Inception塊的提升,支路輔助網(wǎng)絡將復制InceptionV3的前處理塊作為前置特征提取部分。
本文所有實驗均在Windows平臺下完成,深度學習框架為TensorFlow2.6版本,處理器為Intel E5-2660@2.00 GHz,內存為64 GB,顯卡為NVIDIA GeForce GTX1080,顯存為8 GB。
為了驗證本文方法的有效性,分別在CK+[18]、FER2013[19]、JAFFE以及MMEW[20]四個公開人臉表情數(shù)據(jù)庫進行實驗評估。其中,CK+數(shù)據(jù)集包含7類表情,共326張經(jīng)過標注的人臉表情圖像;JAFFE數(shù)據(jù)集也包含7種表情標簽,共213張人臉表情圖片;FER2013數(shù)據(jù)集較為特殊,來自Kaggle人臉表情識別挑戰(zhàn),數(shù)據(jù)集中有7類共35 887張包含標簽的人臉表情圖像,并且劃分了訓練集、驗證集和測試集。相較于上述兩個數(shù)據(jù)集,F(xiàn)ER2013中的圖像更加符合真實環(huán)境,不但角度偏移大,同時還存在部分遮擋;MMEW是現(xiàn)今在人臉(微)表情識別任務上最新的數(shù)據(jù)集,該數(shù)據(jù)集同時包含了微表情和宏表情樣本,本文采用其中的宏表情對模型進行測試。宏表情數(shù)據(jù)共包含了30位被測者的6種不同表情樣本,相較于其他三個數(shù)據(jù)集,MMEW具有更好的圖像分辨率和面部分辨率。四個數(shù)據(jù)集的樣例如圖6所示。
圖6 不同數(shù)據(jù)集面部表情示意圖Fig.6 Diagrams of facial expressions in different data sets
本文將類別加權平均準確率(Acc)作為模型在數(shù)據(jù)集上的最終評價指標,如式(8)所示:
其中,m表示驗證集中的類別數(shù)量,ni表示第i類的樣本數(shù),acci表示第i類的識別準確率,ti表示第i類的識別正確樣本數(shù)量。
為了克服因數(shù)據(jù)量不充足而導致網(wǎng)絡泛化能力差的問題,需要對實驗數(shù)據(jù)進行數(shù)據(jù)增強。除了線性變換方法(隨機亮度、隨機對比度、隨機銳化、隨機剪裁,水平對稱,隨機旋轉)之外,本文還采用了一種GradMask[21]方法,即:結構化地刪除圖像上一組均勻分布的正方形區(qū)域,從而獲取一些新的圖像。
通過上述的7種數(shù)據(jù)增強方法,將最終投入模型訓練的樣本數(shù)量擴大為原來的15倍。數(shù)據(jù)增強示例如圖7所示。
圖7 數(shù)據(jù)增強示例Fig.7 Diagrams of data enhancement
由于CK+、JAFFE和MMEW數(shù)據(jù)集并未標定訓練集與測試集,故實驗中采用十折交叉驗證方法。對于FER2013數(shù)據(jù)集則統(tǒng)一使用既定訓練集訓練模型,將驗證集的識別率作為識別結果。
實驗中,網(wǎng)絡權重參數(shù)采用隨機值初始化,將初始學習率設置為1E-3,參數(shù)更新優(yōu)化器選擇為Adam,損失函數(shù)使用交叉熵函數(shù)。因為VGG16模型中沒有設置批歸一化層,以VGG16網(wǎng)絡為基礎模型時,批處理大小設置為32;當以InceptionV3和ResNet50網(wǎng)絡作為基礎模型時,批處理大小設置為128。最后,統(tǒng)一將雙路權重分配單元的壓縮率r設置為4。
本實驗采用的四個數(shù)據(jù)集中,CK+、JAFFE、MMEW數(shù)據(jù)集圖像數(shù)量相對較少,為避免過早產(chǎn)生過擬合現(xiàn)象,將網(wǎng)絡先在FER2013數(shù)據(jù)集上預訓練,保存參數(shù)后再投入CK+、JAFFE和MMEW的數(shù)據(jù)進行訓練。
3.5.1 模塊有效性分析
為了驗證支路輔助學習模塊的有效性,分別對VGG16、ResNet50、InceptionV3模型在有無添加支路輔助學習網(wǎng)絡的條件下進行仿真實驗,將支路輔助學習網(wǎng)絡模塊縮寫為“BAL”,其中包含了支路輔助網(wǎng)絡、特征映射模塊和雙路權重分配單元三部分。添加該模塊的模型記為“基礎網(wǎng)絡名+BAL”。各個數(shù)據(jù)集的加權平均識別率結果見表5所示。
表5 不同模型結構下的人臉表情識別準確率Table 5 Accuracy of different model structures for facial expression recognition單位:%
從表5可以看出,添加BAL后的模型,在四個數(shù)據(jù)集上的識別率都得到了提升。FER2013數(shù)據(jù)集圖像質量較差、角度偏移大,因此總體識別率偏低;而JAFFE和CK+中圖像數(shù)量少,采集角度固定,故識別率更高。InceptionV3在添加BAL后在CK+、FER2013以及JAFFE數(shù)據(jù)集上分別提升了3.12、1.75和0.55個百分點;VGG16分別提升了3.48、6.14和2.67個百分點;ResNet50分別提升了3.49、5.51和2.20個百分點。
對于MMEW數(shù)據(jù)集而言,該數(shù)據(jù)集中不同類別表情的差異相對較小,背景信息對最終分類結果的影響較大。淺層網(wǎng)絡VGG16在訓練過程中難以收斂,在添加BAL后,最終達到46.3%的識別準確率,雖然分類結果相對較差,但是BAL有效改善了基礎網(wǎng)絡在該數(shù)據(jù)集上無法收斂的問題;而深層網(wǎng)絡ResNet50及InceptionV3都分別得到了較好的識別結果,并且在添加BAL后,分別提升了1.48和1.31個百分點。
由于ResNet50在添加BAL后得到了最優(yōu)識別結果,分別為98.89%、71.88%、95.80%和86.67%,因此將ResNet50+BAL作為本文所采取的方法,其實驗結果的混淆矩陣如圖8所示。
從圖8可以看出:在CK+數(shù)據(jù)集上本文方法得到了較好的識別結果。并且,每類表情的識別準確率都較高。在FER2013中,“恐懼”“正?!焙汀氨瘋边@三類之間交叉誤識率較高,原因在于這三類表情面部表征區(qū)活動不明顯,故難以識別正確。在JAFFE數(shù)據(jù)集上,本文方法同樣取得了較好的識別率,但在“厭惡”和“憤怒”這兩類數(shù)據(jù)上識別率較低,其原因可能是存在數(shù)據(jù)錯誤標識所導致的。對于MMEW數(shù)據(jù)集,本文方法在“厭惡”“高興”和“驚訝”三類表情上獲得了較高識別率,而其他表情類別則部分被誤識為以上三類表情。原因是被誤識的樣本均屬于消極類情緒,相似性較強,當出現(xiàn)這些表情時,面部特征通常只有細微改變,因此識別難度更高。
圖8 ResNet50+BAL方法在四種數(shù)據(jù)集上得到的混淆矩陣Fig.8 Confusion-matrix of four data sets recognition result based on ResNet50+BAL model
為了評估BAL對具體類別識別效果的提升,在FER2013數(shù)據(jù)集上對有無添加BAL的ResNet50模型進行具體類別識別結果的對比分析,結果如圖9所示。其中深色柱狀圖表示添加BAL后的識別率,淺色表示未添加BAL的識別率。很明顯,添加BAL后,絕大多數(shù)表情的識別率都有所提升,尤其在“厭惡”類別下,識別結果提升了0.18,這說明BAL在絕大多數(shù)情況下能提升基礎網(wǎng)絡對細節(jié)特征的提取能力。
圖9 具體類別識別率對比Fig.9 Comparison of recognition rate of each category
3.5.2 消融實驗
為了進一步驗證BAL中各個模塊的有效性,以ResNet50作為基礎網(wǎng)絡,在復雜度較高的FER2013數(shù)據(jù)集和MMEW數(shù)據(jù)集上進行一項消融實驗,步驟如下:(1)首先對沒有添加任何模塊的基礎網(wǎng)絡ResNet50進行實驗,記為R50;(2)僅將雙路權重分配單元添加在基礎網(wǎng)絡ResNet50上,記為R50+DCWA;(3)將深度為10的支路輔助網(wǎng)絡作為基礎網(wǎng)絡進行實驗,記為B10;(4)將支路輔助網(wǎng)絡添加在基礎網(wǎng)絡ResNet50上,通過特征映射模塊傳遞特征,記為R50+B10+FM;(5)將支路輔助網(wǎng)絡添加在基礎網(wǎng)絡ResNet50上,使用傳統(tǒng)特征融合方法融合支路與主路特征,記為R50+B10+TFF;(6)將完整支路輔助學習模塊添加在基礎網(wǎng)絡ResNet50上,即本文所提方法,記為R50+BAL。為了驗證算法復雜度,將各種方法的參數(shù)量展示出來。實驗結果如表6所示。
表6 消融實驗對比Table 6 Comparisons of ablation experiments
由表6可知,若將單獨的支路輔助學習網(wǎng)絡直接投入訓練并測試結果并不能達到較優(yōu)的識別率,同時較少的參數(shù)量說明支路輔助網(wǎng)絡是一個用于提取初級特征的輕量化網(wǎng)絡。將支路輔助學習網(wǎng)絡載入基礎網(wǎng)絡并添加特征映射模塊后,模型在兩個數(shù)據(jù)集上的識別率均有一定提升。如果使用傳統(tǒng)特征融合方法替換特征映射模塊,不但會造成更多的運算復雜度,同時測試結果相對也較差,這是因為傳統(tǒng)特征融合方法在細粒度識別場景下往往難以有效利用初、高級特征。對比添加完整BAL模塊和僅添加DCWA的模型可知:若僅添加DCWA,網(wǎng)絡性能并不能得到較高提升,因為沒有添加掩膜的網(wǎng)絡在訓練過程中通道間聯(lián)系并不會受到較大的波動,直接添加DCWA不能從根本上解決背景因素對分類結果的干擾。添加完整BAL模塊的模型最終在FER2013和MMEW數(shù)據(jù)集上達到了最優(yōu)識別結果,驗證了支路輔助網(wǎng)絡模塊對基礎網(wǎng)絡學習能力的提升。
3.5.3 可視化實驗分析
為了直觀地驗證支路輔助學習模塊的作用,本文通過Grad-CAM[22]技術將卷積過程可視化。Grad-CAM通過計算梯度來獲取卷積層中像素點的重要性,通過構建熱力圖的方式展示網(wǎng)絡學習到的特征,模型關注度越高的像素區(qū)域將擁有更高的亮度。有無添加BAL模塊得到的實驗結果如圖10所示,第一行是輸入圖像,樣本為數(shù)據(jù)集外隨機選取的真實人臉圖像和漫畫形象,第二行是應用ResNet50模型后得到的特征熱力圖,第三行是應用ResNet50+BAL模型得到的特征熱力圖,圖框為綠色表示模識別正確,紅色表示識別錯誤。
由圖10可知,添加BAL可以使特征激活結果更加聚合,降低背景對分類結果的影響,有效弱化無用特征。特別地,在第二、三列的漫畫形象上,原網(wǎng)絡出現(xiàn)誤識,而增加BAL后,模型得到了正確輸出,說明本文方法在提升網(wǎng)絡特征提取能力的同時,有效提高了網(wǎng)絡的泛化能力。
圖10 加權梯度類激活映射熱力圖對比Fig.10 Comparisons of heat maps by Grad-CAM
3.5.4 多種人臉識別模型對比實驗分析
為了驗證本文方法的優(yōu)越性,選取了近年來一些典型的基于卷積神經(jīng)網(wǎng)絡的人臉表情識別方法進行對比實驗,它們是:通過自適應學習權重得到關鍵區(qū)域特征的模型MANet[23]、結合通道注意力和Inception塊的方法[24]、使用Focal Loss替換交叉熵損失函數(shù)的方法[25]、將殘差塊賦予空間掩膜信息的模型[26]以及使用多尺度特征提取塊替代殘差單元的模型APRNET50[27],其對比結果如表7所示。
表7 多種算法在人臉表情數(shù)據(jù)集上的識別率Table 7 Recognition accuracy with different algorithms on several facial expression datasets 單位:%
從表7可以看出,在CK+和JAFFE數(shù)據(jù)集上,本文方法都得到最優(yōu)識別率;在FER2013數(shù)據(jù)集上,本文方法與結合注意力機制的算法[24]和文獻[26]對比,分別提升了3.08和1.68個百分點,與文獻[27]結果接近,表明本文提出的模型在人臉表情識別上具有較強的競爭力。
本文提出了一種基于支路輔助學習網(wǎng)絡的人臉表情識別方法,對主流網(wǎng)絡提出優(yōu)化,改善了原始模型對重要特征信息的利用率,有效提升了原網(wǎng)絡對面部表情特征的提取能力及模型泛化能力。實驗表明,該方法在多個數(shù)據(jù)集上均獲得了較好的識別結果。
同時,本文所提出的模型架構經(jīng)過多任務測試,發(fā)現(xiàn)同樣適用于其他識別任務(例如:手指靜脈圖像識別問題、皮膚癌圖像分類問題等),因此該結構在多種計算機視覺問題中均有一定適用范圍。