[arXiv 1710.03144]Island Loss for Learning Discriminative Features in Facial Expression
ABSTRACT
作者在CenterLoss的基礎上,提出了一個新的Loss,在關注類別的類內距離的同時,優化類間距離,使得每個類別擁有更大的margin,從而迫使網絡能夠學習到更具判別性的特征。
當前問題
在環境不可控(光照,姿態,遮擋,人物狀態)等條件下,不同表情間的類間距離往往會大於類內距離。同時因為高的類內距離,同一類別的樣本分布趨勢呈現出了徑向(NormFace中提到的softmax的Scale不變性)
本文貢獻
本文主要有一下貢獻:
-
提出了一個新的loss函數,目的是能夠得到更具判別性的特征,從而使得類內距離小,類間距離大。
-
設計了一個機遇IslandLoss的卷積神經網絡框架,完成人臉面部表情的識別。
作者在三個數據庫上進行了實驗,(CK+,Oulu-CASIA 和MMI),並且在SFEW的數據庫上進行了驗證。對比與傳統的SoftmaxLoss和CenterLoss,新提出的Loss效果更好。
理論方法
-
\(softmax loss\):
\[L = -\frac{1}{N}\sum_{j=1}^{N}{y_ilog{\frac{exp(z_{y_i})}{\sum_{k=1}^{c}{exp(z_k)}}}} \] -
\(centerLoss\),在softmax的基礎上,新添加了一種loss:
\[L_c = \frac{1}{2}\sum_{i=1}^{n}||x_i-c_{yi}|| \]其中,\(yi\)為樣本i的類心特征向量。因此整體的Loss為
\[L = L_{softmax} + \lambda L_c \]反向更新的時候,每個batch內,每個樣本僅僅負責更新該類的類心.
-
\(IslandLoss\) ,在softmax的基礎上,優化類間距離:
公式看着比較復雜,實際上即每個類心求余弦距離,+1 使得范圍為0-2,越接近0表示類別差異越大,從而優化Loss即使得類間距離變大。當類別過多時,loss容易溢出.
反向更新過程即求導過程,實際簡化為x/||x||的求導,需要注意i==j和i!=j.
實驗過程
實驗包含預處理,卷積神經網絡超參數。
數據預處理
根據人臉特征點的位置,以雙眼為中心,進行人臉對齊。人臉圖像縮放到60*60,同時,圖像cropSize為48*48,圖像隨機旋轉-10°~10°,並進行水平flip,從而增加訓練樣本的數量.
卷積神經網絡結構
3個卷積層后接Prelu和BN,每一個bn的后面接一個MaxPooling,最終接入兩個全連接層,softmax和Islandloss共同驅動最終的loss,采用sgd+momentum batch_size為300,weight_decay設置為0.05,每個全連接后接dropout層。
實驗結果
作者做了一個簡單的可視化,並統計了不同loss中特征類心的距離.
-
CK+: 7表情94.35%
\[ck+數據庫上islandloss混淆矩陣 \]
- MMI:6表情70.67%
- Ouli-CASIA: 6表情77.29%
- SFEW: 驗證集52.52% 測試集 59.41%
總結
emmmmm,作者在centerloss的啟發下,提出了softmax,並且以余弦距離衡量類間分布,相比於centerloss和傳統的softmaxloss確實有提高,在網絡上,bn或許對網絡的性能有損失,而且具體的參數 \(\lambda\)也不好把握,小類別可以嘗試。
本文作者: 張峰
本文鏈接: http://www.enjoyai.site/2018/01/08/
版權聲明: 本博客所有文章,均采用 CC BY-NC-SA 3.0 許可協議。轉載請注明出處!