【人臉識別】AirFace:Lightweight and Efficinet Model for Face Recognition

論文鏈接:https://arxiv.org/abs/1907.12256

作者提出該方法的動機

  1. 在使用MobileFaceNet從頭訓練使用ArcFaceloss,使用小的輸入尺寸,模型難以擬合(所以作者提出了Li-ArcFace);
  2. 爲人臉識別設計的小網絡較少;

論文的貢獻

  1. 基於ArcFace loss提出了Air-Face loss
  2. 改進了MobileFace網絡結構;
  3. 引入了注意力機制CBAM
  4. 使用蒸餾技巧;

準備工作

Loss function(這節的內容是推理了arcFace的公式,感興趣可以看一下)

常規的softmax loss函數:

 

 由於softmax 缺少增大類間距離,減少類內距離的能力。在sphereFace和NormFace中,移除了偏置項,並固定了以下參數:

且:

 

 

儘管(3)式能夠保證同一個公式的高相似度,但是卻不能很好的區分不同的類別,本文中使用了N-Softmax表示L2。

ArcFace的作者在(3)式中增加了angular margin m在中,這樣有效的增加了類類間的緊密程度和類間的差異,ArcFace公式如下:

 

作者提出的方法:Li-ArcFace

ArcFace的作者增加了一個angular margin m在,將作爲target logit。

本文方法中,作者移除了偏執項,同時通過L2迴歸讓代表了的角度。作者首先提出一個線性函數:同時作者也增加了angular margin m在target logit中。最終的target logit:。最終的Li-ArcFace函數形式:

 使用線性函數代替cosine函數有兩個優勢;

  1. 當角度取值在0和π+m之間時,函數結果是單調遞減的。這樣函數好擬合,特別是特徵尺寸較小的時候。
  2. 提出的loss函數增加是線性的。在圖二中效果比較直觀:

 在arcface中,類別之間有重疊;(圖3我也看不太懂)

Network architectures

MobileNetV1:使用depthwise separable convolution;

MobileNetV2:引入了inverted residuals和linear bottlenecks去提升網絡效率;

MobileFaceNet:通過使用global depthwise conv(GDC)去代替global average pooling,原因:面部的特徵學習權重應該不一樣,但是global average pooling卻把他們當作一樣的權重去考慮了,所以使用GDC自己學習面部的不同權重。

作者是在MobileFace網絡結構上進行了修改:

作者對於mobileFace的修改主要體現在以下幾點:

1)在每個bottleneck中增加了注意力機制(CBAM【18】),並將cbam中的第二個激活sigmoid修改爲1+tanh。

2)所有的mobileFace原先使用的relu,修改爲prelu;

3)Expansion factor因子的變化(Expansion factor:從linear bottleneck到深度卷積之間的維度比稱爲Expansion factor(擴展係數),該係數控制了整個block的通道數);

Training tricks for face recognition

  1. 使用大量loss函數去微調模型,模型的泛化性更強(作者使用了Li-ArcFace,ArcFace);
  2.  作者說在512維的特徵空間中,輕量級模型很難很好的擬合到分佈式特徵,但是可以找一個大的模型來進行引導(蒸餾)。

Experiments

Evaluation Results of Li-ArcFace

實驗一:最後一層權值損耗參數的重要性:

作者通過對最後一層卷積的損耗做實驗,證明了最後層權值損耗的重要性;

實驗二:超參數m的重要性(Li_arcface參數m)

作者在做實驗的時候,由於arcface在訓練時無法擬合,所以就使用了N-softmax進行了預訓練,而且在設置m時,作者發現LiArcFace的參數在0.4和0.45效果最好,ArcFace的參數在0.45和0.5效果較好,看錶3。

實驗三:loss函數之間的比較

表3中ArcFace,Li-Arcface,CosFace在LFW上的驗證精度差距都很小,但是都明顯好於N-softmax;在CFP-FP測試集上,Li-ArcFace效果是優於ArcFace和cosFace;

作者重點對比了不同的loss在CFP-FP和AgeDB上的測試結果:

圖4中,Li-ArcFace效果優於其他loss,在測試集AgeDB上,Li-ArcFace效果略好於其他loss函數。總言之,Li-ArcFace效果與Arc-Face等loss函數相比,效果最好,同時Li-ArcFace訓練不需要預訓練模型。

總結:自己使用了該文提到的注意力機制和蒸餾,效果還挺好的; 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章