蘇嬋,危建國(guó),徐健鋒
(南昌大學(xué) 軟件學(xué)院,江西 南昌 330047)
面部表情是人類傳達(dá)情感狀態(tài)和意圖的最自然、最強(qiáng)大、最普遍的信號(hào)之一[1],它與聲音、語(yǔ)言、姿勢(shì)等共同構(gòu)建人類在社會(huì)環(huán)境中的基本交流系統(tǒng)。自動(dòng)面部表情識(shí)別在社交機(jī)器人、醫(yī)療、駕駛員疲勞監(jiān)測(cè)等機(jī)交互系統(tǒng)中得到廣泛應(yīng)用。
近年來,深度學(xué)習(xí)技術(shù)在表情識(shí)別領(lǐng)域應(yīng)用廣泛。研究方向主要分為兩種:基于傳統(tǒng)的方式和基于注意力的方式。
基于傳統(tǒng)的方式主要是將人臉檢測(cè)后的表情整體圖像作為傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)。Valentin等[2]提出將依賴于自動(dòng)編碼器的組合算子結(jié)合由蒸餾方法獲得的輕量級(jí)的學(xué)生模型完成各種不同的人臉相關(guān)任務(wù)。Wang等[3]提出一種對(duì)抗性特征學(xué)習(xí)方法用于同時(shí)關(guān)注姿勢(shì)變化和身份偏差。該模型中的編碼器通過對(duì)抗性訓(xùn)練來提取特征表示,而姿勢(shì)鑒別器和對(duì)象鑒別器分別從提取的特征表示中對(duì)姿勢(shì)和對(duì)象進(jìn)行分類。Yang等[4]提出了一種新的殘余表情學(xué)習(xí),通過訓(xùn)練一個(gè)生成模型去查詢大致的中性臉;然后學(xué)習(xí)生成模型的的殘留,從而減緩識(shí)別相關(guān)的變化因素。Hu等[5]提出一種監(jiān)督評(píng)分集成(SSE)學(xué)習(xí)方法,該方法中的融合結(jié)構(gòu),可以使得不同互補(bǔ)特征層上的分類評(píng)分激活被連接起來。Cai等[6]提出了一種新的無(wú)身份條件生成對(duì)抗網(wǎng)絡(luò)(IF-GAN),將平均中性人臉轉(zhuǎn)換為與輸入圖像具有相同表情的平均表達(dá)人臉。上述方法都是以整體圖像為模型輸入,忽略了不同面部表情之間的細(xì)粒度差異。本文從全局特征分解和重構(gòu)的角度闡述了表情識(shí)別問題,成功地將粗粒度的表情特征重塑成粗細(xì)粒度相結(jié)合的特征,從而實(shí)現(xiàn)面部表情準(zhǔn)確率的提升。
基于注意力的方式主要是通過注意力機(jī)制將重點(diǎn)放在需要視覺注意的部分,從而獲取更多的內(nèi)在信息特征?;谧⒁饬Φ纳疃葘W(xué)習(xí)方法主要是在深度學(xué)習(xí)網(wǎng)絡(luò)中使用注意力機(jī)制進(jìn)行特征提取,這種方法主要是模仿人類聚焦圖像顯著區(qū)域。Li等[7]提出了一種端對(duì)端的具有注意機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)(ACNN),包括pACNN和gACNN,可以聚焦于最具辨別力的未遮擋區(qū)域。Wang等[8]提出了一個(gè)新的區(qū)域注意網(wǎng)絡(luò)(RAN)用于聚合并嵌入不同數(shù)量的區(qū)域特征,自適應(yīng)地捕捉重要性面部區(qū)域的遮擋和姿勢(shì)變化。Ding等[9]提出了一個(gè)地標(biāo)引導(dǎo)的注意分支用于發(fā)現(xiàn)并丟棄遮擋區(qū)域,該方法生成一個(gè)注意圖,引導(dǎo)模型關(guān)注非遮擋區(qū)域。Meng等[10]提出了端對(duì)端的幀注意網(wǎng)絡(luò)(FAN),其中幀注意模塊主要用于學(xué)習(xí)多個(gè)注意權(quán)重,從而自適應(yīng)地聚合特征向量,構(gòu)建單一的區(qū)分性視頻。上述方法運(yùn)用注意力機(jī)制對(duì)相關(guān)局部區(qū)域進(jìn)行加權(quán)量化操作,使得網(wǎng)絡(luò)能區(qū)分不太相關(guān)的區(qū)域,增強(qiáng)模型對(duì)表情識(shí)別的能力,通過局部注意力機(jī)制構(gòu)建全局環(huán)境。然而這種注意力機(jī)制主要運(yùn)用在原始圖像中,沒有考慮針對(duì)原始圖像進(jìn)行細(xì)節(jié)處理。本文使用高斯差分金字塔的原理對(duì)原始圖像進(jìn)行細(xì)節(jié)處理,而后使用注意力機(jī)制量化形成局部特征,利用局部特征的細(xì)粒度相關(guān)性構(gòu)建全局相關(guān)性。
此外,從開源的表情數(shù)據(jù)集中我們可以看到,微微上翹的嘴唇、圓圓的眼睛這些不同的五官表情可以組合成不同的表情。除此之外,表情圖像存在諸如眼鏡、茶杯等遮擋物存在,這些干擾因素使得細(xì)微差別不被學(xué)習(xí)系統(tǒng)察覺。因此,表情識(shí)別算法中除了整體特征外,眼睛、嘴巴等單個(gè)區(qū)域之間的細(xì)微面部表情差異也需要格外關(guān)注。而上述關(guān)于表情識(shí)別的相關(guān)研究和文獻(xiàn)未考慮通過粒計(jì)算區(qū)分面部表情之間的細(xì)粒度差異。
粒計(jì)算是一種由復(fù)雜到抽象的客觀看待問題的世界觀和方法論,是一種將復(fù)雜問題轉(zhuǎn)化為若干簡(jiǎn)單問題的客觀、抽象的分析方法。將粒計(jì)算思想運(yùn)用到計(jì)算機(jī)視覺之中可以有效的提高識(shí)別模型的準(zhǔn)確率。Song等[11]提出了多粒度空間模塊思想來幫助模型獲得不同尺度的判別性細(xì)節(jié),將不同粒度的圖像碎片打亂重組構(gòu)成新的圖片作為模型輸入。Cheng等[12]使用三支決策思想處理分類結(jié)果,構(gòu)建結(jié)果中的不確定域,用于延遲決策。采用特征融合技術(shù)以及SVM分類器,提升提高分類準(zhǔn)確率。Yang等[13]提出了一種基于細(xì)粒度思想的粒度匹配的畫廊邊界框加權(quán)算法,為是行人檢測(cè)和重識(shí)別兩個(gè)子任務(wù)提取符合各自粒度特性的特征。
本文基于粒計(jì)算思想提出了一種基于注意力機(jī)制的多粒度匹配的表情識(shí)別算法,在骨干網(wǎng)絡(luò)中加入基于注意力的多粒度模塊。對(duì)獲取的表情細(xì)節(jié)疊加圖像進(jìn)行碎片式劃分后,為每一個(gè)局部細(xì)粒度圖像計(jì)算注意力權(quán)重后進(jìn)行重組,獲得具有局部細(xì)粒度和全局粗粒度的特征圖。這種多粒度的圖像劃分迫使網(wǎng)絡(luò)不僅關(guān)注不同局部之間的粗粒度特征,且對(duì)局部中的細(xì)粒度特征進(jìn)行學(xué)習(xí)[14-15],從而提高表情識(shí)別的分辨率。
在表情識(shí)別算法中,注意力機(jī)制主要是為了讓網(wǎng)絡(luò)聚焦相關(guān)區(qū)域,比如嘴、眼睛等。少關(guān)注或者不關(guān)注不相關(guān)的區(qū)域,比如圖像背景、頭發(fā)等。網(wǎng)絡(luò)在進(jìn)行特征提取時(shí)網(wǎng)絡(luò)應(yīng)該更注重其中重要的信息, 抑制不重要的信息。
基于注意力機(jī)制的多粒度表情識(shí)別模型如圖1所示。本模型首先將待識(shí)別的原始圖像使用人臉檢測(cè)框架MTCNN進(jìn)行人臉檢測(cè)和人臉特征點(diǎn)檢測(cè),將預(yù)處理后的人臉圖像重塑成112×112大小的圖像。其次,在圖像細(xì)節(jié)處理模塊中,使用高斯差分金字塔原理得到不同等級(jí)的高斯平滑圖像,將不同等級(jí)的高斯差分圖像通過疊加的方式獲取細(xì)節(jié)圖像,與原始圖像進(jìn)行相加操作獲得表情細(xì)節(jié)圖像。然后,將上述獲得的細(xì)節(jié)圖像作為多粒度匹配模型的輸入數(shù)據(jù),根據(jù)人臉特征點(diǎn)檢測(cè)結(jié)果將圖像劃分成N份局部圖像。將每一份細(xì)粒度圖像通過全局平均池化層將某一個(gè)特定的通道上整個(gè)空間特征編碼為一個(gè)全局特征,將該特征通過Sigmoid函數(shù)獲取屬于該局部區(qū)域的權(quán)重。將具有自注意權(quán)重的N分局部細(xì)粒度圖像重構(gòu)成具有注意力權(quán)重的全局圖像,作為特征提取骨干網(wǎng)絡(luò)Mini_Xception的原始輸入數(shù)據(jù),最后經(jīng)過 512維全連接層進(jìn)行分類。
該模塊的輸入是待識(shí)別的原始圖像,屬于粗粒度的全局特征。將原始圖像劃分成不同粒度的圖像碎片,劃分原則依照MTCNN[16]得出的人臉特征檢測(cè)點(diǎn),分別是眼睛、鼻子以及嘴,將原始圖像劃分成4、6、8等份。
細(xì)粒度局部圖像的自注意權(quán)重計(jì)算方法如下:給定輸入圖像FN是第N個(gè)圖像碎片,經(jīng)過最后一個(gè)卷積層的輸出特征 FC∈RC×H×W, 其中 C是通道數(shù)。為了獲得足夠的信息來提取通道之間的關(guān)系,將最后一個(gè)卷積的輸出利用全局平均池化層將特定通道上的整個(gè)空間特征編碼為全局特征G。使用的公式如下所示:
公式(1)主要將最后一個(gè)卷積層的輸出特征FC轉(zhuǎn)換成1×1的輸出,其中,GC表明該層第C個(gè)特征圖的數(shù)值分布情況,(i,j)分別代表每一個(gè)像素點(diǎn)。H×W表示每一個(gè)通道內(nèi)的特征圖的大小。
為了融合每個(gè)通道的特征映射信息,利用全局平均池化特征G經(jīng)過注意力估算模塊估計(jì)粗略的注意權(quán)重。其中,注意力估算模塊由兩個(gè)FC層、Relu函數(shù)和Sigmoid函數(shù)組成。第i個(gè)圖像碎片的注意力權(quán)重定義如下:
θ1G是一個(gè)全連接層操作,其中θ1是全連接層的參數(shù),G的大小為1×1×C,C為通道數(shù)。第一個(gè)全連接層輸出的維度為C/r,其中r取16,δ表示結(jié)果通過ReLu函數(shù)傳遞,結(jié)果維度保持不變。θ2代表第二個(gè)全連接操作,輸出的維度為1,f表示結(jié)果通過Sigmoid函數(shù),獲得第i個(gè)圖像碎片的注意力權(quán)重值Wi。
將所有圖像碎片獲得細(xì)粒度特征及其注意權(quán)重重構(gòu)成一個(gè)具有注意力特點(diǎn)的全局特征F,定義如下:
其中,n表示圖像碎片的總數(shù),Gi表示將每個(gè)通道的特征。F作為最終的全局特征可以作為分類器的最終輸入。
綜上所述,通過引入基于注意力機(jī)制的多粒度匹配子模塊,估算圖像碎片的注意力權(quán)重,從而重構(gòu)具有注意力權(quán)重和細(xì)粒度個(gè)性特點(diǎn)的全局特征,能夠靈活的捕捉全局和局部的特征關(guān)聯(lián)。
在上述粗粒度特征向細(xì)粒度轉(zhuǎn)變的過程中的碎片圖像劃分需要頻繁的改變圖像的尺寸,因此,為了避免圖像尺寸變化對(duì)表情特征提取產(chǎn)生較大的負(fù)面影響,本文的圖像細(xì)節(jié)處理模塊主要是基于多尺度計(jì)算的圖像金字塔的構(gòu)建原理[17]。首先將原始圖像進(jìn)行灰度處理,而后分別對(duì)該灰度圖像進(jìn)行上采樣和下采樣的操作,形成的上采樣圖像是原始灰度圖像的4倍,而下采樣圖像是原始灰度圖像的0.25倍。
本文的圖像金字塔構(gòu)建主要是基于高斯差分原理,在該圖像表情細(xì)節(jié)處理過程中,需要通過二維高斯卷積函數(shù)構(gòu)建高斯金字塔,高斯卷積函數(shù)公式如下所示:
其中,G(x,y)表示經(jīng)過高斯卷積運(yùn)算后得到的圖像二維數(shù)據(jù),σ表示正態(tài)分布的標(biāo)準(zhǔn)差,σ值越大,圖像越模糊(平滑)。 r表示模糊半徑,模糊半徑是指圖像元素(x,y)到模板中心(x0,y0)的距離。
利用公式(4)對(duì)原始灰度圖像進(jìn)行金字塔構(gòu)造,可以得到3層高斯金字塔圖像,從而獲得原始灰度圖像不同尺度的高斯平滑特征圖像。我們將原始圖像設(shè)定為L(zhǎng)0,將其他3個(gè)通過高斯卷積運(yùn)算獲得的高斯平滑圖像設(shè)定為L(zhǎng)1、L2、L3,與L0組成一組4層的高斯圖像金字塔,將金字塔中相鄰兩層圖像進(jìn)行減法運(yùn)算獲取具有相鄰高斯平滑特征區(qū)別的高斯差分金字塔圖像。高斯差分金字塔中的圖像提取了高斯金字塔中關(guān)鍵的特征信息,尤其是眼睛、嘴和鼻子這類具有對(duì)表情識(shí)別有效的特征。本文的細(xì)節(jié)圖像處理依據(jù)公式如下所示:
其中,j= 0,1,2,指的是原始圖像的金字塔層數(shù),而i=1,2,3,表示高斯差分金字塔的層數(shù),Gi和 Gi-1表示不同參數(shù)值的高斯函數(shù), I(x,y)表示圖像的二維數(shù)據(jù),?表示進(jìn)行卷積操作。L0表示要進(jìn)行高斯平滑操作的原始圖像。圖像細(xì)節(jié)處理模塊的過程如圖1中圖像細(xì)節(jié)處理模塊圖所示。
綜上所述,利用高斯差分原理,構(gòu)建原始圖像的高斯差分金字塔圖像組,進(jìn)而完成原始圖像的細(xì)節(jié)處理,獲得表情細(xì)節(jié)圖。這將在多粒度劃分時(shí),減少圖像尺寸改變帶來的影響。
根據(jù)本文多粒度表情識(shí)別模型的總體結(jié)構(gòu),在模型訓(xùn)練階段,圖像細(xì)節(jié)處理模塊被添加在該模型數(shù)據(jù)輸入階段,用于獲取表情細(xì)節(jié)特征。而基于注意力機(jī)制的多粒度匹配模塊被用于重構(gòu)全局特征,該全局特征有基于自注意權(quán)重的局部特征組成。具體訓(xùn)練算法流程如算法1所示。
算法1 表情識(shí)別模型訓(xùn)練過程
輸入:表情訓(xùn)練集X_train和標(biāo)簽Y_train,設(shè)置C個(gè)表情類別,最大訓(xùn)練代數(shù)MaxEpoch, 表情訓(xùn)練集圖像數(shù)量nums_i,批量大小設(shè)置為batch_size;
輸出:訓(xùn)練后的模型和識(shí)別準(zhǔn)確率.
預(yù)訓(xùn)練過程:在每一代訓(xùn)練中,從預(yù)處理的訓(xùn)練集選取batch_size個(gè)數(shù)量圖片,首先利用圖像細(xì)節(jié)處理模塊對(duì)圖片進(jìn)行高斯差分計(jì)算,獲得高斯差分金字塔圖片,而后將圖片送入多粒度匹配模塊計(jì)算原始圖像的細(xì)粒度特征,最后計(jì)算預(yù)測(cè)值和實(shí)際值之間的損失,并根據(jù)獲得的損失值進(jìn)行參數(shù)更新,從而進(jìn)行模型的下一代訓(xùn)練。
/*訓(xùn)練過程 */
① 使用預(yù)訓(xùn)練模型權(quán)重初始化模型;
② while e < MaxEpoch do
③ for 0 to num_i/batch_size + 1 do
④ From (X_train , Y_train), sample a batch;
⑤ Compute GDOG;
/*計(jì)算高斯差分金字塔*/
⑥ Compute fine-grained features;
⑦ Compute loss;
⑧ Update loss;
⑨ Compute average accuracy;
⑩ e = e + 1.
在主干模型中普通卷積層采用的卷積核尺寸一般是 3×3,通道數(shù)一般設(shè)置為 16、32、64、128。Stride一般設(shè)置為(1,1)。在計(jì)算自注意權(quán)重時(shí),采用了兩個(gè)全連接層和池化層作為自注意機(jī)制網(wǎng)絡(luò)。
在獲取預(yù)訓(xùn)練模型之后,模型需要加載該權(quán)重模型后,對(duì)數(shù)據(jù)集中的測(cè)試集圖片進(jìn)行預(yù)測(cè)獲取預(yù)測(cè)準(zhǔn)確率。具體測(cè)試算法流程如算法2所示。
算法2 表情識(shí)別模型測(cè)試過程
輸入:表情訓(xùn)練集X_test和標(biāo)簽Y_test,設(shè)置C個(gè)表情類別,最大訓(xùn)練代數(shù)MaxEpoch, 表情訓(xùn)練集圖像數(shù)量nums_j,訓(xùn)練模型權(quán)重W;
輸出:測(cè)試集識(shí)別準(zhǔn)確率.
/* 測(cè)試過程 */
① 加載訓(xùn)練后的模型權(quán)重W;
② while e < MaxEpoch do
③ for 0 to num_j/batch_size + 1 do
④ From(X_test, Y_test), sample a batch;
⑤ Compute GDOG;
/*計(jì)算高斯差分金字塔*/
⑥ Compute fine-grained features;
⑦ Compute loss;
⑧ Update loss;
⑨ Compute average accuracy;
⑩ e = e + 1.
在模型預(yù)訓(xùn)練和測(cè)試過程中,細(xì)節(jié)處理模塊和基于注意力機(jī)制的多粒度匹配模塊始終作用于這兩個(gè)過程中。這兩個(gè)模塊可以引導(dǎo)網(wǎng)絡(luò)學(xué)習(xí)圖像的細(xì)粒度局部特征,并迫使網(wǎng)絡(luò)通過權(quán)重設(shè)置學(xué)習(xí)對(duì)分類更有用的局部特征。
本節(jié)將通過實(shí)驗(yàn)闡述本文使用的深度學(xué)習(xí)以及多粒度技術(shù)的可行性和效果。主要是通過基本的卷積神經(jīng)網(wǎng)絡(luò)以及多粒度劃分技術(shù)構(gòu)建表情識(shí)別模型。在兩個(gè)表情識(shí)別數(shù)據(jù)集上評(píng)估了模型的性能, 與其他算法的準(zhǔn)確率進(jìn)行對(duì)比, 設(shè)計(jì)消融實(shí)驗(yàn)以驗(yàn)證模型各模塊的效果。
CK+:CK+[18]包含總共123個(gè)不同主題的593個(gè)視頻序列,視頻序列中327個(gè)被標(biāo)記為憤怒、蔑視、厭惡、恐懼、高興、悲傷、驚訝等7種不同的表情,每個(gè)視頻都顯示了從中性表情到目標(biāo)峰值表情的面部變化。參與者包括不同性別,年齡跨度從18歲到50歲不等。本文將該數(shù)據(jù)庫(kù)中的圖片進(jìn)行隨機(jī)劃分,抽取80%的圖片作為樣本訓(xùn)練數(shù)據(jù),其余20%作為測(cè)試數(shù)據(jù)。
Fer2013:Fer2013數(shù)據(jù)庫(kù)首次使用時(shí)是在Kaggle大賽,包含大約30 000張不同表情的RGB人臉圖像,圖像分辨率限制為48×48,可分為7種不同類型的表情,分別是0=憤怒,1=厭惡,2=恐懼,3=快樂,4=悲傷,5=驚訝,6=中性。由于這個(gè)數(shù)據(jù)庫(kù)大多是從網(wǎng)絡(luò)爬蟲下載,因此圖片質(zhì)量存在噪聲,質(zhì)量不高且標(biāo)簽標(biāo)注有誤等,厭惡表情的圖片數(shù)量最少有600張,而其他標(biāo)簽的圖片數(shù)量接近5000張。本文將28 709張圖片作為訓(xùn)練樣本,3589張圖片作為測(cè)試樣本。
在模型訓(xùn)練之前,對(duì)原始表情圖片進(jìn)行了預(yù)處理。首先,使用MTCNN人臉檢測(cè)框架,進(jìn)行人臉檢測(cè)和人臉特征點(diǎn)檢測(cè)。采用最近鄰插值法(INTER_NEAREST)將原始圖像為大小重塑為112×112,以此增大深度學(xué)習(xí)模型的感受野。
實(shí)驗(yàn)效果的度量方面:本文采用準(zhǔn)確率以及混淆矩陣作為表情識(shí)別模型性能的主要標(biāo)準(zhǔn)指標(biāo)。其中,混淆模型中真陽(yáng)(TP)和真陰(TN)這兩個(gè)參數(shù)(即混淆矩陣對(duì)角線)來衡量模型性能。
實(shí)驗(yàn)軟硬件環(huán)境方面:使用pytorch來實(shí)現(xiàn)識(shí)別模型,并在NVIDIA 2080Ti GPU進(jìn)行表情識(shí)別實(shí)驗(yàn)。采用mini_Xception作為骨干網(wǎng)絡(luò),并采用ImageNet對(duì)模型進(jìn)行預(yù)訓(xùn)練。將原始圖像預(yù)處理為112×112大小的圖像,模型訓(xùn)練過程中使用rmsprop優(yōu)化算法,采用 SGD算法,將動(dòng)量設(shè)置為 0.9, 權(quán)重衰減設(shè)置為 0.000 1,批量大小設(shè)置為 32,epoch設(shè)置為80代。
(1) 消融實(shí)驗(yàn)
在CK+和Fer2013數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),以探索所構(gòu)建識(shí)別模型使用的技術(shù)對(duì)表情識(shí)別準(zhǔn)確率提升的效果。表1顯示了在CK+數(shù)據(jù)集上進(jìn)行的消融實(shí)驗(yàn)結(jié)果。其中,mini_Xception是本文模型的基準(zhǔn)模型,GDOG指的是運(yùn)用于圖像細(xì)節(jié)處理模塊的高斯差分金字塔,Attention-Granularity指的是對(duì)原始圖像使用基于注意力的多粒度模塊。在表1消融實(shí)驗(yàn)結(jié)果中,將獲得的表情細(xì)節(jié)圖像與原始圖像進(jìn)行疊加作為模型的輸入數(shù)據(jù),可以將識(shí)別準(zhǔn)確率分別提升0.5%和0.6%。這說明在原始圖像上增加多尺度細(xì)節(jié)疊加算法,即增加了圖像金字塔對(duì)原始表情圖像進(jìn)行不同的采樣,豐富了圖像中表情的特征信息,提高表情整體識(shí)別率。使用基于注意力的多粒度模塊對(duì)原始圖像進(jìn)行處理可以將識(shí)別準(zhǔn)確率提升1.22%和1.13%,說明所構(gòu)建的模型學(xué)習(xí)到了多粒度下的局部區(qū)域表情特征,這是使用單一粒度的圖片作為輸入數(shù)據(jù)所無(wú)法實(shí)現(xiàn)的效果。實(shí)驗(yàn)表明基于注意力的多粒度模塊和表情細(xì)節(jié)處理模塊能有效的提高表情識(shí)別準(zhǔn)確率。
(2) N值探索實(shí)驗(yàn)
在CK+數(shù)據(jù)集上, 基于注意力的多粒度模塊將表情圖片劃分成N個(gè)局部區(qū)域,設(shè)計(jì)實(shí)驗(yàn)選擇合適的N值。當(dāng)N=1時(shí),不對(duì)人臉檢測(cè)后的疊加圖像進(jìn)行局部區(qū)域的劃分。當(dāng)N=8時(shí),將圖像根據(jù)眼睛、鼻子和嘴的位置進(jìn)行劃分。當(dāng)N=12、16時(shí),將圖像劃分成相等的六和八份。如圖 2 所示,可以觀察到 K=12 時(shí), 實(shí)驗(yàn)效果是最佳的。
本文構(gòu)建的模型相對(duì)于其他采用多級(jí)網(wǎng)絡(luò)方法中的模型參數(shù)和運(yùn)行時(shí)間都有一定程度的降低, 但是依然可以有較好的分類準(zhǔn)確度。在Fer2013和CK+數(shù)據(jù)集中進(jìn)行實(shí)驗(yàn),對(duì)比其他算法的準(zhǔn)確率如表2和3所示。
(3) 實(shí)驗(yàn)結(jié)果對(duì)比與分析
在表 2 中,Adrian Vulpe-Grigorasi等[19]通過超參數(shù)離散值定義的搜索空間上應(yīng)用隨機(jī)搜索算法生成和訓(xùn)練模型,確定網(wǎng)絡(luò)的最優(yōu)超參數(shù)。Shen等[20]模型優(yōu)點(diǎn)在于提出的方法融合了經(jīng)典的Resnet和sobel特征,更加有效地強(qiáng)調(diào)邊緣信息。Singh等[22]提出使用CNN在不預(yù)處理等情況下進(jìn)行靜態(tài)圖像的表情識(shí)別分類,而后使用光照校正等預(yù)處理方式提高識(shí)別準(zhǔn)確率。以上三種方法主要是通過調(diào)整模型的超參數(shù)或者圖片預(yù)處理這些技巧來提高識(shí)別準(zhǔn)確率。相較于以上方法,下列方法主要通過將自注意機(jī)制加入到模型中,構(gòu)建更優(yōu)特征向量等方式提高識(shí)別準(zhǔn)確率。Sahoo等[21]的方法優(yōu)勢(shì)在于引入了遷移學(xué)習(xí)模型SqueezeNet 1.1對(duì)表情進(jìn)行分類。
從表2可以看出,本文模型在Fer2013數(shù)據(jù)集上可以達(dá)到較好的識(shí)別準(zhǔn)確率,尤其是使用同樣的預(yù)訓(xùn)練數(shù)據(jù)集ImageNet,所提出的方法可以將準(zhǔn)確率提高14.66%。
Mouath Aouayeb等[25]提出了學(xué)習(xí)視覺轉(zhuǎn)換器與SENet共同完成表情識(shí)別FER。Meng等[27]提出了一個(gè)端到端的幀注意網(wǎng)絡(luò),通過該主要模塊學(xué)習(xí)多個(gè)注意力權(quán)重從而構(gòu)建聚合特征向量。以上兩種模型運(yùn)用了注意力機(jī)制,其中SE模塊是在通道維度上的注意力機(jī)制。二者的識(shí)別準(zhǔn)確率要高于其他模型,說明注意力機(jī)制可以有效的提高模型的識(shí)別準(zhǔn)確率。Ding等[26]提出了基于靜態(tài)圖像訓(xùn)練的模型,該模型使用一個(gè)新的分布函數(shù)來模擬表達(dá)網(wǎng)絡(luò)的高級(jí)神經(jīng)元。Mahdi Pourmirzaei等[24]提出了將自我監(jiān)督學(xué)習(xí)(SSL)作為輔助任務(wù)合并到SL訓(xùn)練環(huán)境中。以上兩種方法可能是在特征構(gòu)建時(shí)不能較詳細(xì)地表達(dá)細(xì)粒度局部特征,因此,準(zhǔn)確率不如注意力機(jī)制下的模型識(shí)別率。
從表3可以看出,使用同樣的預(yù)訓(xùn)練數(shù)據(jù)集ImageNet,本文提出的方法可以將準(zhǔn)確率提高0.74%。所構(gòu)建的模型在CK+數(shù)據(jù)集上的準(zhǔn)確率低于ViT+SE方法,可能的原因在于實(shí)驗(yàn)中預(yù)訓(xùn)練使用的數(shù)據(jù)集不是表情識(shí)別數(shù)據(jù)集。
圖3顯示了模型在CK+上的混淆矩陣,可以看到各類表情的識(shí)別準(zhǔn)確率的可視化結(jié)果。從圖中可以發(fā)現(xiàn),憤怒、蔑視和厭惡是識(shí)別率最高的類別,分類識(shí)別率可以達(dá)到100%,而蔑視和恐懼比較容易被模型混淆。這可能是由于恐懼的表情細(xì)節(jié)圖像所包含的表情特征信息與蔑視的表情特征信息比較相似,而網(wǎng)絡(luò)中基于注意力的多粒度模塊在蔑視和恐懼識(shí)別過程中未提供具有區(qū)別性的局部信息。
本文針對(duì)表情識(shí)別存在提取的全局粗粒度特征無(wú)法滿足表情特征細(xì)粒度識(shí)別的現(xiàn)象,在骨干網(wǎng)絡(luò)Mini_Xception中融入注意力機(jī)制和多粒度思想。利用多粒度思想將粗粒度全局特征劃分成多個(gè)局部特征,利用注意力機(jī)制構(gòu)建細(xì)粒度局部特征,進(jìn)而重構(gòu)細(xì)粒度加權(quán)全局特征。在圖像預(yù)處理階段利用高斯差分金字塔原理獲得表情細(xì)節(jié)圖像,解決圖像尺寸變化影響模型識(shí)別性能問題。本文方法在CK+和Fer2013數(shù)據(jù)集上取得較好的準(zhǔn)確率。本模型目前使用的loss函數(shù)沒有考慮到圖片整體和局部之間的自注意機(jī)制之間的關(guān)系,且存在過擬合現(xiàn)象阻礙準(zhǔn)確率提升的風(fēng)險(xiǎn)。下一步的主要研究工作:(1)研究更加合適的loss函數(shù)更新模型參數(shù);(2)重構(gòu)更有效的全局特征向量,從而選用更有效的注意力機(jī)制獲得更好的細(xì)粒度局部特征,以進(jìn)一步提升整個(gè)模型在表情分類準(zhǔn)確率。