前言
人臉表情識別(FER)在計算機視覺領域受到越來越多的關注。本文介紹了一篇在人臉表情識別方向上使用Transformer來學習關係感知的ICCV2021論文,論文提出了一個TransFER模型,在幾個FER基準資料集上取得了SOTA效能。
本文來自公眾號CV技術指南的
關注公眾號CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
Background
在過去的幾十年裡,面部表情識別(FER)在計算機視覺研究領域受到了越來越多的關注,因為它對於讓計算機理解人類的情感並與人類進行互動具有重要意義。
儘管FER最近取得了很好的效能,但它仍然是一個具有挑戰性的任務,主要原因有兩個:
1)類間相似度很大。來自不同類的表示式可能只表現出一些細微的差異。如圖1所示,驚訝(第1排)和憤怒(第2排)的嘴巴相似。區分它們的關鍵線索在於眼睛和眼睛之間的區域;
2)類內小的相似性。屬於同一類別的表情可能會有截然不同的外觀,不同的種族、性別、年齡和文化背景會有所不同。
現有的研究成果可以分為兩類:基於全域性的方法和基於區域性的方法。
針對基於全域性的方法,人們提出了許多損失函式來增強特徵的表示能力。然而,由於這些方法使用的是全域性人臉影像作為輸入,它們可能會忽略一些在區分不同表情類別中起重要作用的關鍵人臉區域。
為了解決這一問題,人們提出了許多基於區域性的方法來學習人臉不同部位的區分特徵,這些方法可以分為兩類:基於標誌點的方法和基於注意力的方法。
一些方法在landmarks周圍裁剪的面部部位提取特徵。然而,有幾個問題:
1)預先定義的面部作物可能不能靈活地描述區域性細節,因為不同的影像可能會有所不同。這是因為人臉的重要部位可能會出現在不同的位置,特別是對於姿勢變化或視點變化的人臉;
2)對於受各種挑戰性因素影響的人臉,例如強烈的光照變化、較大的姿勢變化和嚴重的遮擋,人臉標誌點檢測可能不準確甚至失敗。因此,有必要捕捉面部重要部位,抑制無用部位。
創新思路
為了解決Background中的問題,一些方法應用了注意力機制。然而,他們可能對相似的面部部位有多餘的反應,而忽略了在FER中起重要作用的其他潛在的區別性部位。這個問題對於遮擋或姿勢變化較大的面部尤其嚴重,因為有些面部部位是看不見的。
因此,需要提取不同的區域性表徵來對不同的表情進行分類。即使某些區域性塊(patches)不可見,更多樣化的區域性塊也可以發揮作用。同時,不同的區域性塊可以相互補充。
例如,如圖所示,僅根據嘴巴區域(列2)很難區分驚訝(第1行)和憤怒(第2行)。我們提出的TransFER模型探索了不同的關係感知面部部位,如眼睛(第3列,第1行)和眉毛之間的區域(第3列,第2行),這有助於區分這些不同的表情。
因此,應該在全域性範圍內探索不同區域性塊(patches)之間的關係,突出重要的塊(patches),抑制無用的塊(patches)。
為了實現上述兩個目標,論文提出了TransFER模型來學習不同關係感知的FER區域性表示。
首先,提出了隨機丟棄注意力圖的多注意丟棄演算法(Multi-Attention Dropping, MAD)。通過這種方式,推動模型去探索除最具區分性的區域性斑塊之外的綜合區域性斑塊,自適應地聚焦於不同的區域性斑塊。當某些部位因姿勢變化或遮擋而不可見時,此方式特別有用。
其次,Vision Transformer(VIT)適用於FER,稱為VIT-FER,用於對多個區域性塊之間的連線進行建模。由於採用全域性範圍對每個區域性塊進行增強,充分挖掘了多個區域性塊之間的互補性,提高了識別效能。
第三,多頭自我注意(multi-head self-attention)使VIT能夠在不同位置共同關注來自不同資訊子空間的特徵。然而,由於沒有明確的指導,可能會建立冗餘關係。為解決這一問題,提出了隨機丟棄一個自我注意的多頭自我注意丟棄(Multi-head Self-Attention Dropping, MSAD)方法。在這種情況下,如果放棄了self-attention,模型就被迫從其他地方學習有用的關係。因此,不同區域性塊之間的豐富關係被挖掘出來,從而使FER受益。
結合新的MAD和MSAD模組,提出了最終的體系結構,稱為TransFER。如圖所示,與VIT-FER基線(列2)相比,TransFER定位更多樣化的關係區域性表示(列3),從而區分這些不同的表示式。它在幾個FER基準上達到了SOTA效能,顯示了它的有效性。
Contribution
1.應用VIT自適應地刻畫面部不同部位之間的關係,稱為VIT-FER,展示了VIT-FER對FER的有效性。這是探索Transformers並研究關係感知(relation-aware)的區域性塊對FER的重要性的第一次努力。
2.引入多頭自注意丟棄演算法(MSAD),隨機刪除自我注意模組,迫使模型學習不同區域性塊之間的豐富關係。
3.設計了一種多注意丟棄演算法(MAD)來消除注意圖,推動模型從最具區分度之外的每個面部部位提取全面的區域性資訊。
4.在幾個具有挑戰性的資料集上的實驗結果表明了提出的TransFER模型的有效性和實用性。
TransFER
TransFER的總體架構如圖所示,它主要由莖(stem) CNN、區域性CNN和多頭自我注意丟棄(MSAD)組成。莖CNN用於提取特徵圖。這裡採用IR-50,因為它具有很好的通用性。
Local CNN
如前所述,在給定面部影像的情況下,首先使用莖CNN來提取特徵圖。然後,利用多空間注意力自動捕獲區域性塊。然而,如果沒有適當的指導,不能保證全面的辨別性面部部位被定位。如果模型只關注少數有區別的面部部分,當這些部分難以識別或完全遮擋時,FER會受到效能下降的影響,特別是對於姿勢變化較大或遮擋較強的人臉。為了解決這一問題,開發了區域性CNN來提取由MAD引導的各種區域性特徵。框架如上圖所示,主要由三個步驟組成,具體如下。
首先,生成多注意力圖。X∈R(h×w×c)表示輸入特徵圖,其中h、w和c分別表示特徵圖的高度、寬度和數量。由於LANet允許模型自動定位重要的面部部位,因此它在多個區域性分支中使用,如上圖所示。LANet由兩個1×1卷積層組成。第一層1x1卷積輸出c/r特徵圖,其中縮減率用於降低特徵圖的維數,後繼的RELU層用於增強非線性。第二層將特徵圖數目減少到1,並通過Sigmoid函式(記為ASMI)生成關注圖。假設存在B個LANet分支,則生成注意圖[M1,M2,...,MB],其中Mi∈R(h×w×1)。
其次,MAD迫使多個區域性分支探索不同的有用面部部位。一般來說,它接受幾個資料分支作為輸入,並通過將此分支中的值設定為零(不更改輸入形狀)隨機刪除一個分支。因此,MAD將注意力圖作為輸入,隨機將一個注意力圖設定為零,並輸出注意力圖。第三,將多個注意力圖聚合在一起,生成一個注意力圖。具體地說,使用基於元素的最大值操作來聚合多個關注圖。
最後,將Mout與原始特徵圖X逐元素相乘。因此,原始特徵圖中的不重要區域被抑制,反之亦然。
Multi-Attention Dropping
Dropout是為了防止神經網路過擬合而提出的。它將特徵向量或特徵地圖調整為輸入。在訓練過程中,輸入的一些元素被隨機設定為零,概率為來自伯努利分佈的樣本。如果有多個通道,則每個通道將獨立歸零。
受此啟發,針對FER任務提出了一種類似丟棄的操作,稱為多注意丟棄。與標準Dropout演算法相比,本文提出的MAD演算法採用一組特徵對映(或向量)作為輸入,並將每個特徵對映作為一個整體來處理。
如圖所示,在訓練過程中,從完全設定為零的均勻分佈中選擇一個特徵圖。根據概率p執行丟棄操作。刪除的特徵圖將不會在以下圖層中啟用。因此,這是一種類似丟棄的停止梯度操作,該操作可以引導區域性CNN探索不同的、具有區分性的面部部位。因此,可以定位均勻分佈的面部部位,從而產生有利於FER的全面的區域性表示。
Multi-head Self-Attention Dropping
多頭自注意丟棄(MSAD)主要由一個在每個多頭自我注意模組後面注入MAD的transformer encoder和一個MLP分類頭組成,就像vision transformer(VIT)那樣。
經過區域性CNN後,生成包含不同區域性塊資訊的特徵圖Xout ∈ R(h×w×c)。為了捕捉多個區域性塊之間的豐富關係,使用了包含M個編碼塊的Transformer。由圖所示,由於此處除了在Multi-head Self Attention後新增了MAD模組以外, Transformer Encoder的結構基本沒變,因此這裡不多介紹。
Conclusion
MAD與Dropout、Drop Block、Spatial Dropout的比較
TransFER與其它SOTA模型的比較
注意視覺化在來自AffectNet資料集的一些示例面部影像上的不同表情。
(A)-(G)分別表示憤怒、厭惡、恐懼、快樂、中性、悲傷和驚訝。(I)-(Iv)表示表1中的四種訓練策略,(I)表示基準策略,(Ii)表示使用區域性CNN而不使用MAD進行訓練,(Iii)表示使用區域性CNN和MAD進行訓練,以及(Iv)表示TransFER,使用區域性CNN和MSAD進行訓練。在應用MAD和MSAD之後,整個框架可以專注於更具區分性的面部區域。
歡迎關注公眾號 CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
在公眾號中回覆關鍵字 “技術總結”可獲取公眾號原創技術總結文章的彙總pdf。
其它文章