張愛梅,徐 楊
貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽 550025
面部表情是傳達(dá)人們心理活動、思想狀態(tài)最自然、最直接的方式,因此,人臉表情識別(Facial Expression Recognition,F(xiàn)ER)具有極大的應(yīng)用價值,可在許多領(lǐng)域?qū)崿F(xiàn)廣泛應(yīng)用,例如,心理狀態(tài)檢測、安防智能監(jiān)控、商業(yè)營銷推薦、臨床醫(yī)療檢測等。眉毛、眼睛、嘴等的細(xì)微變化可能導(dǎo)致截然不同的分類結(jié)果使得不同類表情間差異小,另外,受姿態(tài)、背景、照明等因素影響,使得同類表情間差異大,人臉表情識別任務(wù)仍然極具挑戰(zhàn)性。
現(xiàn)有研究大多在給定顯著特征和額外部件標(biāo)注的情況下,使用卷積層、最大或平均池化層以及全連接層的傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)實(shí)現(xiàn)面部表情分類。這些方法忽略了層間部分特征交互作用與人臉表情特征學(xué)習(xí)相互關(guān)聯(lián)的事實(shí),限制了模型的學(xué)習(xí)能力。本文添加分層雙線性池化層來集成多個跨層雙線性特征,學(xué)習(xí)面部表情分類任務(wù)中的細(xì)微差異,這有助于顯著提高面部表情識別能力。此外,面部表情識別需要特別關(guān)注帶有區(qū)分情感的重要信息的眼睛、嘴、眉毛等特定位置的細(xì)微變化。因此,可以借鑒人腦處理信息的方式,特別關(guān)注這些關(guān)鍵位置以增強(qiáng)特征表示能力。為此,引入注意力機(jī)制,為卷積層輸出的通道特征圖分配不同的權(quán)重,實(shí)現(xiàn)通道特征圖的重新校正,提高網(wǎng)絡(luò)的分類能力。
近年來,卷積神經(jīng)網(wǎng)絡(luò)在圖像特征提取方面顯示出顯著優(yōu)勢,隨著網(wǎng)絡(luò)深度的增加,它可以提取圖像的高級語義信息。文獻(xiàn)[1]嵌入注意力模型,確定感興趣區(qū)域來推斷出情感標(biāo)簽。注意力機(jī)制是面部表情識別時,在關(guān)鍵特征中定位關(guān)鍵點(diǎn)并建立關(guān)鍵點(diǎn)的集合關(guān)系最直接、最有效的方法。目前幾種有競爭力的視覺注意力方法如下:SE[2]是將通道注意力整合到卷積模塊中的代表性方法,為各種深層CNN 架構(gòu)帶來了明顯的性能提升。CBAM[3]作為SE-Net的擴(kuò)展,CBAM沿通道維和空間維結(jié)合了全局平均池化和最大池化,但這對于全局上下文建模還不夠有效。GSoP-Net[4]引入了從低層到高層的全局二階池化,網(wǎng)絡(luò)性能優(yōu)于大部分一階網(wǎng)絡(luò),但模型復(fù)雜度也更高。ECA[5]為無需降維的本地跨通道交互策略,該模塊包含少量參數(shù),同時帶來了具競爭力的性能。
特征提取是面部表情識別過程中的關(guān)鍵步驟。一些細(xì)微、小分辨率的面部表情需要深層特征以增強(qiáng)識別能力。雙線性卷積神經(jīng)網(wǎng)絡(luò)(B-CNN)[6]是第一個在細(xì)粒度識別任務(wù)上可以端到端訓(xùn)練的協(xié)方差池化網(wǎng)絡(luò)模型。然而,B-CNN無法利用不同卷積層中固有的信息,且采用兩種不同的CNN 模型致使計(jì)算和存儲成本更高。緊湊型雙線性池化(CBP)[7]有與完整雙線性表示形式相同的判別力,且降低了維度。全局高斯分布嵌入網(wǎng)絡(luò)(G2DeNet)[8]可以捕獲具有區(qū)別性的一階和二階圖像特征,是最早以端到端的方式將參數(shù)概率分布嵌入到深度CNN的工作之一。迭代矩陣平方根歸一化協(xié)方差池化(iSQRT-COV)[9]用于全局協(xié)方差池化網(wǎng)絡(luò)的快速端到端訓(xùn)練,適合在GPU 上并行實(shí)現(xiàn)。分層雙線性池化(HBP)[10]與 B-CNN 相比,HBP 不需要邊界框注釋也能獲得更好的結(jié)果,生成改進(jìn)的圖像表示。
為了更好地定位面部表情顯著的局部區(qū)域變化,本文提出一種注意力分層雙線性池化殘差網(wǎng)絡(luò)(Attention Hierarchical Bilinear Pooling Residual Network,AHBPRN),在分層雙線性池化殘差網(wǎng)絡(luò)中嵌入有效的通道注意力機(jī)制對潛在空間建模。本文的主要貢獻(xiàn)包括:
(1)在面部表情識別中,分層雙線性池化用于捕獲層間部分特征關(guān)系,對圖像的層間部分特征交互信息進(jìn)行端到端池化,更適合捕獲精細(xì)的面部表情圖像之間的細(xì)微差異。
(2)本文的網(wǎng)絡(luò)添加了有效的通道注意力模塊來學(xué)習(xí)特征圖的權(quán)重度量,從而可以自主識別和增強(qiáng)重要的神經(jīng)元單元。并在不同的網(wǎng)絡(luò)上進(jìn)行了一組實(shí)驗(yàn),以說明添加的注意力機(jī)制的有效性。實(shí)驗(yàn)結(jié)果如表1所示。
(3)模型在兩個公共數(shù)據(jù)集FER-2013 和CK+上實(shí)現(xiàn)了具有競爭力的性能。
隨著我國高速公路工程行業(yè)的迅猛發(fā)展,在高速公路施工中科學(xué)、合理地運(yùn)用預(yù)應(yīng)力管樁的施工技術(shù),不但可以為施工企業(yè)節(jié)約施工成本,使企業(yè)獲得更多的社會與經(jīng)濟(jì)效益,而且可以確保高速公路橋梁工程的穩(wěn)固性和整體安全性,從而保證工程的施工質(zhì)量。
由于面部表情數(shù)據(jù)量較少,首先使用隨機(jī)水平翻轉(zhuǎn)、隨機(jī)剪裁等數(shù)據(jù)增強(qiáng)方法來擴(kuò)充數(shù)據(jù)量,提高模型的泛化能力。再將歸一化的面部表情圖像輸入到殘差網(wǎng)絡(luò)中,來自不同卷積層的特征通過獨(dú)立的線性映射被擴(kuò)展到高維空間。為了關(guān)注某些特定位置的重要貢獻(xiàn),在卷積層之后生成注意力特征圖,使網(wǎng)絡(luò)能夠提高對可利用區(qū)域特征的敏感性。在提取注意力特征之后,本文借鑒了文獻(xiàn)[11]中分層雙線性池化的概念,使用外積將來自不同卷積層的元素相乘來捕獲層間局部特征交互。該模型將有效的通道注意力嵌入到基于分層雙線性池化的殘差網(wǎng)絡(luò)中,以端到端的方式學(xué)習(xí)。網(wǎng)絡(luò)模型如圖1所示。
假設(shè)面部表情圖像被CNN濾波后卷積層的輸出特征圖X∈?h×w×c,Y∈?h×w×c,Z∈?h×w×c,各自包含一組所有通道的二維特征圖,其中w、h和c分別是寬度、高度和通道數(shù)。為了根據(jù)需求動態(tài)地關(guān)注最有用的部分,引入有效的通道注意力[5]自動獲取權(quán)重,來增強(qiáng)特征矩陣X、Y、Z的表示能力。以卷積特征圖X為例,有效的通道注意力模塊的結(jié)構(gòu)如圖2所示,給定通過全局平均池化(GAP)獲得的聚合特征,通過考慮每個通道及其k個鄰居來捕獲本地跨通道交互,內(nèi)核大小k代表本地跨通道交互的覆蓋范圍(即有多少鄰居參與一個通道的注意力預(yù)測)。
圖2的詳細(xì)步驟如下:首先,將卷積特征圖X,X∈?h×w×c作為原始輸入,在不降低維數(shù)的情下,進(jìn)行通道級全局平均池化,得到大小為1×1×c的特征向量。為了保證捕獲本地跨通道交互的效率和有效性,使用帶狀矩陣來學(xué)習(xí)通道注意力。當(dāng)所有通道共享相同的學(xué)習(xí)參數(shù)時,這種策略可以通過內(nèi)核大小為k的快速一維卷積有效實(shí)現(xiàn)。然后,執(zhí)行Sigmoid 函數(shù)以學(xué)習(xí)有效的通道注意力,生成通道注意力權(quán)重Ax,Ax∈?1×1×c。最后,將注意力權(quán)重Ax與原特征圖X進(jìn)行對應(yīng)元素相乘(element-wise multiplication),得到融合后的注意力特征圖X?,X? ∈ ?h×w×c,用X?替換原始特征圖X。
圖1 AHBPRN的表情識別網(wǎng)絡(luò)模型圖
圖2 有效的通道注意力模塊
因此,圖1中通道注意力模塊可由式(1)、(2)表示:
其中,Ax∈ ?1×1×c,Ay∈ ?1×1×c,Az∈ ?1×1×c為生成的有效通道注意力權(quán)重。C1D表示一維卷積,GAP為全局平均池化函數(shù),k表示一維卷積的卷積核大小,σ表示Sigmod激活函數(shù)。
式(1)中交互作用的覆蓋范圍k與輸出通道數(shù)C成正比。換句話說,k與C之間存在映射φ:C=φ(k)=γ×k-b。眾所周知,通常將輸出通道數(shù)C設(shè)置為2 的冪。因此,擴(kuò)展線性函數(shù)到非線性:C=φ(k)=2γ×k-b。所以,在給定輸出通道數(shù)C的情況下,卷積核大小k可以通過式(3)自適應(yīng)地確定:
分層雙線性池化[10]可以對局部成對特征交互進(jìn)行建模,已被證明是解決細(xì)粒度識別任務(wù)的強(qiáng)大工具,本文提出了面部表情細(xì)粒度識別任務(wù)背景下探索它們的強(qiáng)烈動機(jī)。為了捕獲更好的特征相關(guān)性,本文對人臉表情圖像部分屬性的層間交互進(jìn)行建模。將來自不同卷積層的特征通過逐元素乘法進(jìn)行集成,以捕獲更多中間卷積層特征。
分層雙線性池化模型是基于分解雙線性池化(FBP)[11]模型構(gòu)建的。由式(2)可知,輸出注意力特征圖為?∈?h×w×c,高度為h,寬度為w,通道數(shù)為c。FBP模型由每個空間位置的以下低階外積運(yùn)算定義:
通過在其他中間卷積層內(nèi)進(jìn)行層間特征交互來改善FBP,利用與來自中間卷積層的補(bǔ)充信息的部分相關(guān)性,生成了改進(jìn)的圖像表示。對于每個空間位置,基于注意力特征圖的分層雙線性池化模型的輸出矢量O∈ ?d′(本文的面部表情分7類,d′=7)定義如式(5):
提出的模型在Ubuntu18.04 LTS 系統(tǒng)、深度學(xué)習(xí)框架PyTorch1.1.0 上使用具有11 GB 顯存的NVIDIA GeForce GTX 1080Ti實(shí)現(xiàn)。本章將在兩個公共人臉表情數(shù)據(jù)集上對提出的網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn),并通過與之前的工作進(jìn)行比較來展示性能。
本文選擇數(shù)據(jù)集FER-2013[12]和CK+[13]評估所提出的注意力分層雙線性池化殘差網(wǎng)絡(luò),數(shù)據(jù)集示例圖像如圖3所示。FER-2013是使用谷歌圖像搜索API創(chuàng)建的,是一個大規(guī)模的面部表情數(shù)據(jù)集,包含了27 809張訓(xùn)練圖像,3 589張驗(yàn)證圖像和3 589張測試圖像,每種情緒的圖像數(shù)量的數(shù)據(jù)分布如圖4所示,可以看出,數(shù)據(jù)分布非常不均勻。CK+數(shù)據(jù)集由來自不同種族群體的18~50歲的123 位受試者的593 個圖像序列組成,選擇帶有標(biāo)記的327個序列,提取每個序列帶有峰值信息的最后一幀。
圖3 FER-2013和CK+數(shù)據(jù)集示例圖像
圖4 FER-2013每種情緒數(shù)據(jù)分布
本文的數(shù)據(jù)擴(kuò)充遵循常用的水平翻轉(zhuǎn)、隨機(jī)剪裁等操作。訓(xùn)練過程中批量大小設(shè)置為32,訓(xùn)練周期為80,初始學(xué)習(xí)率為0.1,動量為0.9,權(quán)重衰減為1×10?5。本文使用經(jīng)過預(yù)訓(xùn)練的圖像分類模型ResNet-50[14]來構(gòu)建網(wǎng)絡(luò),殘差網(wǎng)絡(luò)最后一層卷積層的輸出特征維數(shù)為512,從原始的ResNet-50中刪除了全連接層并插入了所有本文框架中的組件。首先訓(xùn)練新添加的層,然后微調(diào)整個網(wǎng)絡(luò)以更新所有層中的參數(shù)。
表1用幾個當(dāng)前的經(jīng)典CNN架構(gòu)AlexNet[15]、VGG-16[16]、ResNet-18[14]、ResNet-50[14]作為提出方法的骨干網(wǎng)絡(luò),分別在FER-2013 和CK+數(shù)據(jù)集上進(jìn)行了評估。表1 中,Original 是指將數(shù)據(jù)輸入到不同的標(biāo)準(zhǔn)網(wǎng)絡(luò)進(jìn)行訓(xùn)練得到的結(jié)果,Attention 是在標(biāo)準(zhǔn)網(wǎng)絡(luò)嵌入有效的通道注意力以后的結(jié)果,AHBP是指注意力分層雙線性池化。
表1 FER-2013和CK+上各種標(biāo)準(zhǔn)網(wǎng)絡(luò)結(jié)構(gòu)的識別率對比%
從表1可以看出:
(1)本文提出的注意力分層雙線性池化方法在ResNet-50 上獲得了最好的分類結(jié)果,分別為73.84%、98.79%。與文獻(xiàn)[10]中,在VGG-16 上構(gòu)建池化模型相比,本文選取ResNet-50作為模型的特征函數(shù)部分,能夠獲得更好的分類結(jié)果,這是由于殘差結(jié)構(gòu)具有更好的層間相關(guān)性。
(2)嵌入有效的通道注意力后,F(xiàn)ER-2013數(shù)據(jù)集上的識別率提高了2~5個百分點(diǎn),CK+數(shù)據(jù)集上的識別率提高了1~4 個百分點(diǎn)。證明注意力塊以略微的額外計(jì)算成本為面部表情細(xì)粒度識別任務(wù)帶來了性能上的顯著改善。
(3)與未采用分層雙線性池化的網(wǎng)絡(luò)相比,F(xiàn)ER-2013 和CK+上的識別率分別提高了2~8 個百分點(diǎn)和0.8~4個百分點(diǎn),這說明了層間特征交互的有效性。
根據(jù)表1 的實(shí)驗(yàn)結(jié)果選擇ResNet-50 作為基本網(wǎng)絡(luò),表2中考慮分層雙線性池化不同層的組合。結(jié)果表明,relu4_0×relu4_1+relu4_0×relu4_2+relu4_1×relu4_2表現(xiàn)出的性能最好,因?yàn)榕c較淺的層相比,它們包含更多的部分語義信息。因此本文在接下來的實(shí)驗(yàn)中專注于relu4_0、relu4_1和relu4_2層的交互。
表2 FER-2013數(shù)據(jù)集上的定量分析結(jié)果
本節(jié)評估了在本文提出的網(wǎng)絡(luò)框架下,使用不同池化方法進(jìn)行面部表情識別的效果,實(shí)驗(yàn)結(jié)果如圖5 所示。在本次實(shí)驗(yàn)中,根據(jù)表1 中的實(shí)驗(yàn)對比結(jié)果,選擇在基本網(wǎng)絡(luò)ResNet-50中嵌入有效的通道注意力。根據(jù)表2中的實(shí)驗(yàn)對比結(jié)果,所提網(wǎng)絡(luò)模型中分層雙線性池化(HBP)選擇的是relu4_0×relu4_1+relu4_0×relu4_2+relu4_1×relu4_2 的組合。圖5 顯示了本文提出的方法與分別使用全局平均池化(GAvP)方法和雙線性池化方法——雙線性卷積神經(jīng)網(wǎng)絡(luò)(B-CNN)和緊湊雙線性池化(CBP)時,在人臉表情數(shù)據(jù)集FER-2013 和CK+上識別率的比較結(jié)果。從圖5 可以看出:(1)基于雙線性池化的識別率高于基于平均池化的識別率,原因主要在于比起全局平均池化,雙線性池化方法能通過特征融合增強(qiáng)識別能力;(2)相較于另外三種池化方法,所提方法在FER-2013 和CK+數(shù)據(jù)集上識別率分別有0.5~7 個百分點(diǎn),1~4 個百分點(diǎn)的提升。結(jié)果表明,本文的模型比類似網(wǎng)絡(luò)[6-7]的對應(yīng)的模型具有明顯的優(yōu)勢。
圖5 AHBPRN與其他池化方法對比
為了驗(yàn)證整體算法的可靠性,本文所提方法與不同方法之間每個類別的識別率對比,如表3 所示,為了簡化說明,本文方法表示為AHBPRN??梢钥闯?,高興和驚訝的識別率明顯高于其他,但害怕和生氣的識別率卻略低,因?yàn)楹ε?、生氣、難過和厭惡有某些相似之處,在現(xiàn)實(shí)生活中,人們也很難區(qū)分這四種表情。在FER-2013 數(shù)據(jù)集上與文獻(xiàn)[17-20]對比,本文方法的平均識別率比Khemakhem 等人[17]提出的增強(qiáng)預(yù)處理階段的卷積神經(jīng)網(wǎng)絡(luò)高出3.25 個百分點(diǎn),比Liu 等人[18]提出的將課程學(xué)習(xí)策略應(yīng)用于表情識別的訓(xùn)練階段的平均識別率高出1.73 個百分點(diǎn)。在CK+數(shù)據(jù)集上與文獻(xiàn)[18-19,21-22]對比,文獻(xiàn)[19,21]與所提方法一樣也是在卷積層嵌入注意力塊的情況下進(jìn)行表情識別,所提方法相較于它們也具有較優(yōu)的結(jié)果??梢钥闯?,與近年來其他參考文獻(xiàn)的識別率相比,本文的算法達(dá)到了具有競爭力的結(jié)果,這證明了該方法的有效性??梢缘贸鼋Y(jié)論,這源于基于 ResNet-50的分層雙線性池化卷積神經(jīng)網(wǎng)絡(luò)和用于增強(qiáng)特征矩陣表示能力的通道注意力的有效性。
本文提出了一種新的注意力分層雙線性池化殘差網(wǎng)絡(luò)用于人臉表情識別,可以學(xué)習(xí)具有較強(qiáng)分辨力的面部表情特征。由于面部特征點(diǎn)的細(xì)微變化可能導(dǎo)致截然不同的分類結(jié)果,首先利用有效的通道注意力模塊來學(xué)習(xí)權(quán)重矩陣,充分利用某些特定位置的重要詳細(xì)信息,輸入到可捕獲層間部分特征關(guān)系的分層雙線性池化網(wǎng)絡(luò),以端到端的方式學(xué)習(xí)更具判別性的面部圖像表示。最后,在兩個公開的人臉表情數(shù)據(jù)集FER-2013 和CK+上設(shè)計(jì)了多個實(shí)驗(yàn)從多個方面評估了模型,結(jié)果表明,注意力分層雙線性池化模塊捕獲的強(qiáng)大鑒別特征可以有效地提高人臉表情的識別率。
將來,進(jìn)一步考慮如何有效地融合更多的層特征以獲得多尺度的部分表示。在整合一些弱監(jiān)督方案以主動的方式選擇更好的層進(jìn)行特征交互方面,進(jìn)行擴(kuò)展研究。并且,也可以將本文所提模型泛化到其他任務(wù)中,例如其他細(xì)粒度分類任務(wù)或者人臉性別、年齡識別任務(wù)等。
表3 與FER-2013和CK+上其他參考文獻(xiàn)的識別率對比 %