[論文][表情識別]Towards Semi-Supervised Deep Facial Expression Recognition with An Adaptive Confidence Margin

論文基本情況

發表時間及刊物/會議:2022 CVPR
發表單位:西安電子科技大學, 香港中文大學,重慶郵電大學

問題背景

在大部分半監督學習方法中,一般而言,只有部分置信度高於提前設置的閾值的無標籤數據被利用。由此說明,大部分半監督方法沒有充分利用已有數據進行訓練。

論文創新點

設置了Adaptive Confidence Margin(自適應閾值)根據訓練規律動態調整閾值,充分利用所有的無標籤數據。

網路結構

image
具體的訓練步驟如下:
初始基本設定:

  1. 設置初始閾值,本文中,對於每個類別,閾值初始值為0.8。
  2. 本模型借鑒Mean Teacher的思想,引入老師模型(ema_model)。
  3. 訓練時有標籤和無標籤數據按1:1的比例輸入網路
  4. 模型backbone採用resent18,輸出最後一層類別概率分布以及倒數第二層512維特徵向量。

學生網路
對於有標籤數據:
有標籤圖片經過弱數據增強(WA)後進入模型,輸出結果和真值對比,利用交叉熵函數作為損失函數,計算有標籤損失\(L^s_{CE}\)
image

對於無標籤數據:
無標籤圖片複製三份(a圖, b圖, c圖),其中兩份(a圖,b圖)經過弱數據增強(WA)後輸入模型,再將輸出的兩個概率分布平均後得到最終的概率分布。記所得概率分布中的最大概率為\(f_{max}\),對應類別記作\(c\)。如果\(f_{max}\)大於此類別\(c\)對應閾值,則將\(c\)作為此類別的真實標籤,並將此類數據歸為子集I(含「真實標籤」);否則,將此類數據歸為子集II(無真實標籤)。
如果此圖片屬於子集I,則將c圖經過強數據增強(SA)後送入網路,和標籤\(c\)計算交叉熵損失\(L^u\)
image

若此圖片屬於子集II,則\(L^u=0\)。並拼接a圖,b圖輸入模型後得到的兩個512特徵向量,首先根據公式8 計算兩個特徵向量的相似度,再根據公式9計算SupConLoss \(L^c\) (具體計算方法見論文Supervised Contrastive Learning)。
image

image

總損失函數為:
image
實驗中\(\lambda_1 = 0.5,\lambda_2=1,\lambda_3=0.1\)

老師網路
學生模型根據損失函數更新模型參數後,老師網路在學生網路的基礎上使用指數平均移動的方式更新參數。之後,將有標籤數據輸入老師網路,得到概率分布。
對於一個batch的數據,記最大概率對應標籤類別和真實類別相同的圖片為集合\(N_{st}\),記\(N^c_{st}\)為最大概率對應標籤類別和真實類別相同,且真實類別為\(c\)的圖片張數,記\(s_i\)為最大概率, \(\hat{y_i}\)為預測類別,按照以下公式計算一個類別的平均最大概率,記為\(T_c\)
image
之後,考慮到置信值會隨著epoch數逐步提高,再根據以下公式計算當前epoch各個類別的閾值。
image

至此,一個iteration結束。

實驗

表1 固定閾值和我們方法的比較,在RAF-DB, SFEW數據集上的結果,其中FT 表示使用FixMatch方法時取固定閾值的具體值,
image

表2 RAF-DB, SFEW 和AffectNet三個數據集上我們的方法和其他優秀的半監督方法對比
image

圖3 自適應閾值調整方法,公式5中關於兩個參數的值的消融實驗
image

表3 使用WideResNet-28-2作為backbone在RAFDB上實驗結果
image

圖4 使用2D t-SNE 可視化方法可視化得到的特徵,從圖中可以看出,我們的方法對各類表情提取特徵的效果最好(不同類別的特徵重合度最小)。
image

表4 各個不同類別的數據集交叉驗證結果。以下結果為在RAF-DB上訓練,CK+數據集上進行測試所得結果
image