?

自注意力加權半臉的人臉表情識別算法

2023-12-29 12:22汪榕濤劉澤圣
關鍵詞:主干網人臉注意力

汪榕濤,黎 勇,劉 銳,劉澤圣

(重慶大學 計算機學院,重慶 400044)

0 引 言

人臉表情識別作為情感計算重要的組成部分,在公共安全、智慧交通和醫療康復等領域有著良好的應用前景。在過去的幾年里,數據驅動的深度神經網絡雖然為人臉表情識別算法注入了新的活力,但是仍面臨以下2個關鍵性難點:①頭部的偏轉造成了面部遮擋和配準誤差,導致識別精度再向上提升變得異常困難,因此難以運用到實際場景中;②現有數據集中存在一些不確定性表情樣本,這些樣本造成提取出的特征有害。

頭部偏轉造成的非正面表情識別會引入以下困難:①人臉中五官等面部要素被遮擋,造成表情信息缺失;②頭部偏轉造成人臉圖像發生不同程度的“形變”,使得人臉模型復雜化;③打破光照的均衡分布,改變了圖像中部分區域灰度值的大小[1]。這些因素使得人臉圖像中的表情屬性變得模糊,導致了表情識別模型提取不到魯棒的表情特征?,F有減小頭部偏轉對于表情識別精度影響的方法主要分為4類:①擴大非正面的人臉表情數據規模;②依靠幾何模型搜索圖像中的人臉關鍵點,通過關鍵點獲取表情線索,從而回避頭部偏轉的干擾;③建立不同偏轉角度樣本之間的聯系,從而借助一種偏轉的表情識別出另一種偏轉的表情類別;④獲取人臉圖像的全局和局部表情特征,以局部信息增強模型的抗干擾性[1]?;谌四橁P鍵點的方法是緩解頭部偏轉干擾的有力工具,Pantic等[2]列舉了分布在額頭、眉毛、鼻子和嘴唇等周圍的10個特征點,這些特征點圍成了與表情相關的側面輪廓,在提取這些關鍵點特征以后,采用分類方法實現非正面人臉表情識別;Sung等[3]采取了基于視圖的2D+3D主動外觀模型實現人臉跟蹤與表情識別雙任務,該模型通過擬合人臉圖像中的關鍵點坐標位置,進而實現對頭部姿態的估計,最后將這些信息送入雙層廣義表情判別分類器中,實現人臉表情的識別。對于建立非正面樣本之間的聯系,Lai等[4]借鑒了人臉識別中的正則化方法,建立正面人臉與非正面人臉之間的聯系,對于不同的非正面圖像先利用生成對抗網絡(generative adversial network,GAN)生成正面表情圖像,再將學習到的頭部姿勢特征用于后續的表情分類任務;Zhang等[5]利用不同的頭部偏轉和表情,進行人臉圖像合成和非正面表情識別的雙任務,首先利用GAN學習人臉圖像的生成性和區分性表征特征,合成不同頭部偏轉下的表情圖像,再將表情分類器置于GAN模型后,該方法不僅有效擴充了數據集,而且利用了生成器中的魯棒特征,可以有效提升識別精度。利用局部特征也可以有效地提升非正面表情識別精度;Liu等[6]用訓練好的多通道卷積神經網絡對人臉圖像、眼部圖像和嘴巴圖像分別進行特征提取,然后將特征輸入到聯合多尺度融合網絡獲得表情特征并判斷頭部偏轉角度,再根據所得頭部偏轉角度將特征輸入到對應的姿勢感知表情網絡中,最后送入分類網絡中得到表情識別結果;Wang等[7]提出區域注意力網絡(region attention networks,RAN)模型來應對頭部偏轉與面部遮擋問題,對于給定的一張圖片,首先按照一定的規則選取圖片中的局部區域,然后將原始圖片與局部區域送入主干網中提取出表情特征,最后將原始圖像的全局特征、局部區域的特征及其權重送入分類器得到表情類別。

Wang等[8]首次指出表情數據集中存在不確定性問題。模糊的表情、低像素的圖像以及標注者的主觀性,這些都導致現有的面部表情數據中存在一些不確定性樣本。針對這種情況,Wang提出了自治愈網絡(self-cure network,SCN)模型,它將同一批次中的每張輸入圖像分配不同的權重,其中,不確定性的圖片會被分配低權重,并通過排序正則化損失函數將同一批次的圖片分為高注意力和低注意力兩組,最后設置重標簽模塊為那些被判定為錯誤標簽的樣本重新分配合適的偽標簽。

1 基于自注意力加權半臉的人臉表情識別模型

不同于上述方法,本文從以下角度來緩解頭部姿勢與不確定性樣本的干擾。

1)對于頭部偏轉,自注意力加權半臉輔助模塊首先將人臉區域劃分為左右半臉局部區域,為其分配不同的權重,使左右半臉局部區域的預測對最終結果的影響不同,從而有效緩解頭部偏轉的影響。相較于上述的局部特征方法,半臉結構不僅減少了計算量,而且包含了部分五官信息,可以提供更豐富的局部特征。

2)對于數據集中的不確定性圖片,自適應重標簽模塊提供2個維度幫助模型定位。①利用全局和輔助預測之和判斷與原標簽是否不一致;②判斷全局預測和輔助預測是否相符。當2個判定條件都滿足時,才允許為圖片分配偽標簽。相較于其他方法,該模塊更加嚴謹精確。

3)部分表情信息只占據了圖像中很小的區域,而這些信息會在卷積、池化堆疊的過程中簡化甚至消失。為了抑制特征丟失,本文研究了一種多特征融合主干網。該主干網首先取消了全局池化的設置,利用上采樣和大核卷積達到參數降維、防止分類器過擬合的目的;其次保留了淺層的低級特征,利用上采樣和大核卷積抵消特征圖中的噪聲干擾。此外,為了增強主干網的表情特征學習能力,把表情特征劃分為人臉共享特征和表情差異特征,前者是從數據集中所有的表情圖像經過計算提取得到的,因此,主干網不用從頭學習表情特征,只需要學習后者,從而簡化了學習過程。

基于自注意力加權半臉的人臉表情識別模型的框架如圖1所示。本方法主要由5個小模塊構成,即圖片切割、多特征融合主干網、自注意力權重、雙線預測融合和自適應重標簽。其中,圖片切割、自注意力權重和雙線預測融合構成自注意力加權半臉輔助模塊用以對抗非正面表情識別,自適應重標簽幫助模型定位數據集中不確定性表情圖片并為它們分配合適的偽標簽。

圖1 自注意力加權半臉的人臉表情識別算法框架Fig.1 Facial expression recognition method based on self-attention weighted half-face

1.1 圖片切割

給定一幅正面或非正面的表情圖像,首先使用多任務級聯卷積神經網絡(multi-task cascaded convolutional neural networks,MTCNN)[9]檢測出人臉框和5個人臉關鍵點(兩只眼睛的中間點,鼻尖和嘴角),按照人臉框坐標首先裁剪出人臉區域Iori,并選擇鼻子的坐標點作為分界點,將人臉區域Iori豎直切割成左右人臉區域Ileft和Iright,然后將原始圖像Iori和相應的左右臉圖像Ileft和Iright縮放至相同的大小(224×224),送入多特征融合主干網提取特征。

MTCNN可以很好地在頭部多姿勢下準確預測鼻子位置的坐標點。相比于文獻[6]的方法,本文僅需鼻尖的坐標位置,發生偏移的概率較小。但是在某些極端偏轉中(如90°的偏轉),會出現鼻尖點檢測失效的現象,由于面部的左右臉存在一定程度的關聯性和對稱性。因此,直接將原圖片沿水平方向翻轉后設定為左臉Ileft,原圖片設定為右臉Iright,通過這些操作,所有輸入圖片均獲得Ileft和Iright。

1.2 多特征融合主干網

基于深度學習的人臉表情識別方法大都將卷積神經網絡作為主干網提取特征,其中包含了大量的卷積、池化操作。隨著模型的卷積層和池化層的不斷疊加,雖然可以檢測到更多關于表情的高級語義信息,但是也丟失了大量的空間信息。由于面部中有關表情的信息本身可能只占圖像很少的像素(嘴角、皮膚皺紋等),這些信息在連續卷積、池化的過程中極易丟失,導致在高層特征圖中缺少關鍵性線索,造成表情分類困難。

針對以上問題,本文提出一種基于ResNet18的多特征融合的主干網。為了保留ResNet18的特征提取能力,該主干網并沒有更改其內部結構,僅在提取出的特征圖上進行融合修改,其框架結構如圖2所示。該主干網主要由2個模塊構成:特征金字塔和共享特征。特征金字塔的作用有2點:①取消全局池化,充分利用高級語義特征;②保留淺層網絡中高分辨率、低級紋理信息的低層特征。下面介紹主干網的詳細設置。

1.2.1 特征金字塔

圖2 多特征融合主干網Fig.2 Multi feature fusion backbone

1.2.2 共享特征

(1)

VG=VG+λVbatch

(2)

(3)

1.3 自注意力權重

Vori、Vleft和Vright是多特征融合主干網分別從輸入Iori、Ileft和Iright中提取的3個特征向量。當頭部發生偏轉時,左右臉中包含的信息量不同且表情信息會出現不同程度的“形變”,因此它們對最終預測結果的影響也會不同。為了從模型中體現出這種差異,本文采用了自注意力機制。自注意力權重模塊由一個全連接層(FC)和一個Sigmoid激活函數組成,它從半臉局部特征向量Vleft和Vright中捕獲表情信息的豐富程度和“形變”程度,并以權值的形式數字化,在分類過程中體現了半臉局部特征對最終預測的貢獻度。每個局部特征向量Vi相應的貢獻度,即自注意力模塊中的權重wi,計算過程為

wi=σ(WTVi),i∈{left,right}

(4)

(4)式中:Vi∈R(121×1)表示半臉的局部特征向量;W∈R(121×1)是全連接層的參數;σ(·)是Sigmoid激活函數。經過Sigmoid函數計算后,權重wi落在(0,1)。相比之下,原始圖像Iori擁有較豐富的全局信息,所以它的貢獻度得分應該固定為1,不需要自注意力權重模塊的處理。此外,半臉區域作為表情判斷的輔助線索,其權重總和應小于等于原始圖像的權重。因此,設計了自我注意力權重損失函數來約束這種關系,其表達式為

(5)

(5)式中,L1(·)是一個平滑的1損失函數[11],數字1來限制左右臉對于最終預測結果的權重接近完整人臉對于最終預測結果的權重,通過該損失函數可以幫助模塊有限制地分配權重。

1.4 雙線預測融合

對于主干網提取出來的特征,雙線預測融合模塊的結構可以分為2行來處理:①根據提取的原始特征Vori作出全局預測Pori;②基于左右臉區域的局部特征做出局部預測,即

(6)

(6)式中:Wfc∈R(121×n)為全連接層的參數矩陣;n為表情類別數。特別地,將半臉區域的預測結果Pleft和Pright分別乘以它們相應的權重wleft和wright來構成輔助預測Paux;隨后,將Paux與原始圖像的預測Pori相結合,得出最終輸出P,計算過程為

Paux=Pleft×wleft+Pright×wright

(7)

P=Paux+Pori

(8)

(8)式中,P∈R(n×1)表示模型最終的預測輸出,取概率最大的表情類別作為最終的預測結果。為了幫助主干網在非正面條件下提取強表征力的特征,使用平滑的L1損失函數迫使模型在學習局部特征和學習全局特征之間達到良好的平衡。因此,特征平衡損失函數計算過程為

(9)

通過損失函數的反向傳播,模型被迫加深對權重更大的局部特征的偏好。此外,為了保證模型學習的特征與表情相關,直接利用模型的輸出P與真實標簽構成的one-hot向量Pgt構造交叉熵損失函數為

(10)

最終模型的總損失函數為

(11)

(11)式中,α、β和γ是折中比。由于局部信息缺乏全局感受野,急切地迫使模型逼近輔助預測可能會損害模型學習特征的能力。因此,需要仔細調整特征平衡損失函數與交叉熵損失函數之間的比例。

1.5 自適應重標簽

人眼進行面部表情識別時,無論面部是正面還是側面,都可以很好地判斷出面部表情。利用這一特性本文重新設計了文獻[8]中的重標簽模塊,利用圖像的固有信息就可以幫助模型鑒別出不確定性的圖像。因此,在所提的雙線預測融合模塊后添加了一個自適應重標簽模塊。具體而言,當P中預測類別與真實標簽不匹配時,自適應重標簽模塊會檢查輔助預測Paux是否等于原始圖像的預測Pori(圖1中的“=?”),如果這2個預測相等,則意味著無論從局部信息或是從全局信息的角度來看,圖像均被認為屬于另一種表情,之后本模塊將概率最大的表情作為偽標簽分配給原始圖像。在其他情況下,不執行任何處理。本模塊通過增加輔助預測和全局預測的關系,使得定位不確定性圖片更加嚴謹、精確。本模塊僅在訓練過程中幫助模型定位不確定性圖片,在預測時本模塊被遮蔽。

2 實驗結果與分析

2.1 實驗設置

本文使用的ResNet18網絡在ImageNet數據集上進行了預訓練,同時將預訓練好的ResNet18作為實驗的基準方法,用于對比實驗。根據實踐經驗,本文中的超參數設置如下:batch_size大小為128;學習率為0.001;λ為可更新參數;總損失函數中的折中比率α、β和γ分別設置為3、1和2;模型的訓練次數為70,并在第10個epoch后,讓重標簽模塊參與訓練、優化。此外,由于RaFD數據集沒有劃分訓練集和測試集,所以本文采用5折交叉實驗最后取平均值為最終結果。本文所有實驗結果均為10次實驗后的平均值。

2.2 消融實驗

為了評估自注意力加權半臉模型中每個小模塊的有效性,本節在RAF-DB上設計了消融實驗來研究模型中的后4個模塊對識別精度的影響,實驗結果如表1所示。

表1 消融實驗Tab.1 Ablation experiment %

為了便于比較,自注意力權重模塊與雙線預測融合同時被遮蔽、參與訓練優化。由表1可知,僅將自適應重新標記模塊(第2行)添加到基準方法(第1行)會略微降低精度,這說明只依靠ResNet18不能提取強表征力的特征,此時模型還未“掌握”識別表情的知識,這時的重標簽模塊將是有害的。之后添加了其他幾個模塊,明顯地提高了模型的性能(第6行和第7行),這表明多特征融合主干網、自注意力權重和雙線預測融合模塊能有效學習提取表情特征。本文所提出的模塊均在一定程度上提升了識別精度,其中多特征融合主干網的貢獻度最大,約提升3.23%(第4行)。

2.3 非正面表情識別性能分析

為了驗證所提方法是否能提升非正面表情識別精度,本節在RAF-DB測試集上選取了不同姿勢的表情圖片進行驗證,實驗結果如圖3所示??梢钥闯?這些圖片存在著一定的信息缺失與人臉模型“變形”,基準模型在面對頭部姿勢偏移時,分類結果性能較差;而本文提出的模型可以很好地克服這一點,可以在多種偏重角度下有效識別圖像中的表情類別。

圖3 基準方法與自注意力加權半臉方法的實驗對比Fig.3 Experimental comparison between baseline and self-attention weighted half-face method

此外,根據文獻[7]提供的頭部姿勢數據(30°偏轉和45°偏轉),本文所述模型還與其他模型對比了非正面表情識別能力,結果如表2所示。表2顯示,在RAF-DB、FERPlus和AffectNet數據集上,RAN模型與本文所述方法的識別精度均遠高于基準模型,并且相比于RAN取得的收益,本文方法更能克服頭部偏轉帶來的負面影響。

2.4 定位不確定性圖片性能分析

為了驗證本文所提的自適應重標簽模塊比SCN中帶閾值的重標簽方法更有效,將設計的自適應重標簽模塊替換為SCN中帶閾值的重標簽方法來進行對比,具體設置:對于模型最終預測向量P,將向量中的最大值減去向量中標簽對應的概率值,若差值大于給定閾值就為該圖像重新分配偽標簽,相應的對比結果繪制在圖4中。由圖4可知,SCN中僵硬的閾值重標簽方法在不同閾值下識別精度有所不同,這是因為在不同的閾值情況下,不確定性圖片被誤判漏判的可能性被放大或縮小;而本文提出的自適應重新標記方法總是具有更高的精度(90.76%)。

表2 多姿勢識別準確率對比表Tab.2 Comparison table of recognition accuracy with multi-pose %

圖4 重標簽方法的對比Fig.4 Comparison of relabeling methods

除了驗證自適應重標簽模塊的有效性以外,本文還深入訓練過程中探究分配偽標簽的合理性,結果如圖5所示。

圖5 訓練過程中樣本標簽的變化情況Fig.5 Changes of image labels during training

圖5a—5c中的第一列圖像被精確標記,因此,自適應重標簽模塊從始至終沒有更改過圖片標簽。圖5a—5c中的第二列和第三列表明自適應重標簽模塊認為其特征分類結果和標簽值不一致,因此,在訓練過程中為圖片重新分配合適的偽標簽。圖5a—5c中的最后一列原圖片被誤分類為另一種表情,但在模型訓練一定次數后,這個錯誤最終得到了糾正。

2.5 實驗結果比較

為了評估自注意力加權半臉模型中每個小模塊的有效性,將所述方法與最近的表情識別方法在RAF-DB、FERPlus和RaFD上進行了比較,對比結果如表3—表5所示。

表3 與其他方法在RAF-DB上的對比Tab.3 Comparison with other methods on RAF-DB

表4 與其他方法在FERPlus上的對比Tab.4 Comparison with other methods on FERPlus

表5 與其他方法在RaFD上的對比Tab.5 Comparison with other methods on RaFD

實驗結果表明,本文所提模型均獲得了較高的識別精度,在RAF-DB、FERPlus和RaFD上分別獲得了90.76%、91.08%和98.66%的識別精度。

由于表3—表5中僅使用了單一的識別準確率評價指標,這不能體現數據集中不同表情類別之間的識別精度差異。因此,除了上述表格外,還繪制了混淆矩陣來展示不同表情的識別精度分布,如圖6所示。矩陣中對角線上的元素表示相應表情的識別精度,其余位置為誤分類的情況。在RAF-DB數據集中樣本數較小的表情類別(恐懼和厭惡)均有明顯的提升;對于中性表情,本文所提模型可以達到99%的識別準確率。在RaFD數據集中,多個表情類別的識別精度可以達到100%。而在FERPlus中,輕蔑表情識別精度最低,只有25%,這可能是因為FERPlus是對FER2013重新標注,且輕蔑表情為新添加的標簽,新標簽與原數據存在一定差異,導致模型分類效果較差。

3 結束語

本文提出的自注意力加權半臉的人臉表情識別方法,在一定程度上緩解了頭部偏轉與不確定性的干擾,在多個數據集上均有一定的性能提升。與其他非正面表情識別方法相比,本文所述方法以增加一定復雜度為代價,有效提升了非正面表情識別精度;與其他重標簽方法相比,本文提供2個維度從而更加嚴謹地判斷圖片是否應被重標簽,這為以后的數據清洗工作提供了自動化方法。此外,本文將表情識別任務與其他分類任務相區分,不僅利用了低級特征,還將表情特征劃分為人臉共享特征與表情差異特征,這不僅豐富了表情特征,而且簡化了模型的學習過程。

圖6 模型在不同數據集的混淆矩陣Fig.6 Confusion matrix of model in different datasets

猜你喜歡
主干網人臉注意力
CERNET主干網總流量平穩上升
讓注意力“飛”回來
有特點的人臉
基于MPLS L3 VPN的海洋信息通信網主干網組網設計
封面報道
三國漫——人臉解鎖
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
高速公路聯網收費通信主干網維護管理探討
馬面部與人臉相似度驚人
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合