1. 程式人生 > >人臉識別(四):2018 ArcFace: Additive Angular Margin Loss for Deep Face Recognition

人臉識別(四):2018 ArcFace: Additive Angular Margin Loss for Deep Face Recognition

方法

ArcFace [1] 也是對Sphereface的改進工作,主要的改進也是loss函式中角度裕量的新增方式。其中目標函式定義為:
這裡寫圖片描述
而我們之前看的cos face的目標函式是:
這裡寫圖片描述
再來看看相應的函式曲線:
這裡寫圖片描述
相當於原始的餘弦函式在x軸上向左偏移。這樣做了之後,在角度值為180°的時候分類難度基本不變,而角度值較小的時候分類更加困難。相當於在角度值較小的時候加了裕量。

論文[1]還清洗了資料、分析了網路結構的變化對準確率的影響等。

大資料集的考量

我們知道,基於分類的人臉識別網路,在訓練的時候需要的視訊記憶體隨著類別數增加線性增長。假如我們有很多類別怎麼辦?當然我們可以用Triplet loss或者contrastive loss等來作為目標函式。這篇論文用實驗說明了先用分類的方法訓練再用Triplet loss微調是有效的,能進一步提高效能。
這裡寫圖片描述


可以看到訓練集的影響:MS1M比VGG2高一個百分點
以及Triplet微調的效果

網路結構

下圖是在VGG2用softmax訓練的,各個網路的效能對比。
這裡寫圖片描述
單純用softmax效能就很高了。最好的是Inception-ResNet

效能

我認為這篇論文的主要貢獻是效能做得非常高,我認為成功的點主要在以下幾方面:

  • 資料做了清洗,用了更多的資料訓練。VggFace2+Ms-Celeb-1M
  • 對齊的方式,圖片的大小
  • 網路結構的改進
  • 目標函式

引用

[1] Deng J, Guo J, Zafeiriou S. ArcFace: Additive Angular Margin Loss for Deep Face Recognition[J]. arXiv preprint arXiv:1801.07698, 2018.