CVPR2020: Suppressing Uncertainties for Large-Scale Facial Expression Recognition 閱讀隨筆

0. Abstract

大規模表情識別(large-scale Facial Expression Recognition, FER)的主要挑戰在於不確定性(uncertainties),這些不確定性來源於模棱兩可的面部表情(ambiguous facial expressions),低質量的臉部圖像(low-quality facial images)和標註者的主觀性(the subjectiveness of annotators).
爲了解決這個問題,本文提出一個Self-Cure Network(SCN),抑制不確定性,避免模型在不確定的臉部圖像上過擬合。
主要通過兩種方法:1)在每個batch上的自注意力機制(self-attention mechanism),對每個訓練樣本加權,進行等級正則化(ranking regularization). 2)通過仔細的重新標註機制(a careful relabeling mechanism)修正最低等級組(in the lowest-ranked group)的樣本.
在RAF-DB上達到88.14%準確率,在AffectNet上達到60.23%準確率,在FERPlus上達到89.35%準確率.
github網址

1. Introducation

作者的主要做法爲:

  • Step1: Backbone CNN提取特徵
  • Step2: Self-attention importance weighting module學習每張圖像的重要性來對loss進行加權. 不確定的面部表情圖像權重較小,反之較大.
  • Step3: Ranking regularization module 以降序排列這些權重,分成兩組(高重要性和低重要性),通過兩組平均權重的margin來正則化,使用Rank Regularization loss(RR-Loss).
  • Step4: Careful relabeling module對bottom group的樣本進行重新label, 方法是若最大預測概率比給定label的概率高出超過閾值,則修改其label.
  • Step5: 作者認爲只有在incorrect/noisy標註的數據集上才能展示出算法的優越性,因此自己爬取了WebEmotion數據集.(譯者按:這一點,聽起來,。。。。。)

2. Self-Cure Network

2.1 Overview

在這裏插入圖片描述

2.2 Self-Attention Importance Weighting

實際上就是採用一個含有FC層和sigmoid激活函數的網絡來對每個圖像預測權重.
權重直接乘以loss的話極端情況會導致有些圖像的loss爲0,因此作者採用Logit-Weighted Cross-Entropy Loss(WCE-loss), N爲Batch_size:
在這裏插入圖片描述

2.3 Rank Regularization

對以上預測權重降序排序,再按照一定比率分成兩組,定義一個rank regularization loss(RR-Loss)來使得兩組均值相差更大.
在這裏插入圖片描述
其中δ\delta爲超參.
對WCE-loss和RR-loss加權,得到最終結果.

3.4 Relabeling

以上已經劃分爲兩組,對低權重組中的圖像(或部分最低的圖像)進行relabel, 如果預測的概率比原label的概率高出一定的值,便修改原label.如下式:
在這裏插入圖片描述

4.Implementation

  • MTCNN檢測人臉並校準,尺寸224x224
  • Pytorch編程
  • BackBone ResNet18,在MS-Celeb-1M數據集上預訓練
  • 8x Nvidia Titan 2080ti GPU
  • Batch size = 1024
  • high權重:low權重 = 7:3
  • 兩種Loss比 1:1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章