天天看點

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

ArcFace: Additive Angular Margin Loss for Deep Face Recognition

2. Proposed Approach

2.1. ArcFace

最常用的分類損失函數softmax損失如下:

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

x i ∈ R d x_i\in R^d xi​∈Rd代表屬于第 y i y_i yi​類别的第i個樣本的深度特征。本文将嵌入特征維數d設定為512, W j ∈ R d W_j\in R^d Wj​∈Rd代表第j列的權重 W ∈ R d × n W\in R^{d\times n} W∈Rd×n, b j ∈ R n b_j\in R^n bj​∈Rn 是偏置項。批大小和類别數分别為N和n。然而,softmax loss函數沒有顯式地優化特征嵌入以增強類内樣本的更高相似度和類間樣本的多樣性,這導緻在類内特征變化較大(例如姿勢變化[30,48]和年齡差距[22,以及大規模的測試場景(例如百萬[15,39,21]或萬億對[2])。

為了簡單起見,我們固定 b j = 0 b_j=0 bj​=0,我們變換logit W j T x i = ∥ W j ∥ ∥ x i ∥ c o s θ j , θ j W^T_jx_i=\begin{Vmatrix}W_j\end{Vmatrix}\begin{Vmatrix}x_i\end{Vmatrix}cos\theta_j,\theta_j WjT​xi​=∥∥​Wj​​∥∥​∥∥​xi​​∥∥​cosθj​,θj​是Wj和xi之間的角度。我們通過 l 2 l_2 l2​正則固定權重 ∥ W j ∥ = 1 \begin{Vmatrix}W_j\end{Vmatrix}=1 ∥∥​Wj​​∥∥​=1,通過 l 2 l_2 l2​正則固定嵌入特征 ∥ x i ∥ \begin{Vmatrix}x_i\end{Vmatrix} ∥∥​xi​​∥∥​并重新縮放到s。特征和權重的歸一化步驟使得預測僅取決于特征和權重之間的角度。所學習的嵌入特征分布在一個半徑為s的超球面上。

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

由于嵌入特征分布在超球面上的每個特征中心附近,我們在xi和 w y i w_{y_i} wyi​​之間增加了一個附加的angular margin角度懲罰,同時增強了類内一緻性和類間差異度。由于所提出的additive angular margin penalty等于歸一化超球中的geodesic distance margin penalty,是以我們将該方法命名為ArcFace。

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

我們從8個不同的身份中選擇包含足夠樣本(大約1500個圖像/類)的人臉圖像,分别用softmax和ArcFace損失訓練的二維特征嵌入網絡。如圖3所示,softmax損失提供了大緻可分離的特征嵌入,但在決策邊界中産生明顯的模糊性,而所提出的arcface loss顯然會在類之間造成更明顯的決策邊界,增加特征向量的可區分能力。

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

圖3。softmax和ArcFace下的toy example,8個具有二維特征的标簽。點表示樣本,線表示每個辨別的中心方向。基于特征标準化,所有的人臉特征都被推送到半徑固定的弧空間。随着additive angular margin penalty的加入,最近類之間的geodesic distance gap變得明顯。

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

2.2. Comparison with SphereFace and CosFace

在SphereFace[18,19]、ArcFace[37,35]和CosFace[37,35]中,分别提出了multiplicative angular margin m1、additive angular margin m2和additive cosine margin m3三種不同的邊界懲罰。從數值分析的角度來看,無論是在角[18]或餘弦空間[37]上加上不同的裕度懲罰,都通過懲罰目标logit[26]來增強類内一緻性和類間多樣性。

通過合并所有的margin penalties,我們實作SphereFace、ArcFace和CosFace在一個統一的架構中,以m1、m2和m3作為超參數。

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

幾何差異。盡管ArcFace與前人的工作在數值上有相似之處,但是由于angular margin與geodesic distance的精确對應,所提出的additive

angular margin具有更好的幾何屬性。如圖5所示,我們比較了二進制分類情況下的決策邊界。所提出的弧ArcFace在整個間隔内具有恒定的inear angular margin。相比之下,SphereFace和CosFace隻有nonlinear angular margin.

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

圖5。二分類情況下不同損失函數的決策裕度。虛線表示決策邊界,灰色區域表示decision margins。

margin設計上的微小差異會對模型訓練産生“蝴蝶效應”。例如,原始SphereFace[18]采用退火優化政策。為了避免在訓練開始時出現分歧,在SphereFace訓練過程中采用softmax的聯合監督來削弱multiplicative margin penalty。我們用arc-cosine函數代替複雙角公式( double angle formula),實作了一種新的無整邊要求的 SphereFace。在我們的實作中,我們發現m=1.35可以在沒有任何收斂困難的情況下獲得與原始SphereFace相似的性能。

3. Experiments

3.1. Implementation Details

資料集。如表1所示,我們分别采用CASIA[43]、VGGFace2[6]、MS1MV2和DeepGlint Face(包括MS1M DeepGlint和Asian DeepGlint)[2]作為我們的訓練資料,以便與其他方法進行公平比較。請注意,建議MS1MV2是MS-Celeb-1M資料集的半自動優化版本[10]。

據我們所知,我們是第一個使用特定于種族的注釋者進行大規模人臉圖像注釋的人,因為如果注釋者不熟悉身份,邊界情況(例如硬樣本和噪聲樣本)很難區分。在訓練過程中,我們探索有效的人臉驗證資料集(如LFW[13]、CFP-FP[30]、AgeDB-30[22]),以檢查不同設定的改進。

除了最廣泛使用的LFW[13]和YTF[40]資料集外,我們還報告了ArcFace在最近的大姿态和大年齡資料集(如CPLFW[48]和CALFW[49])上的性能。我們還在大規模圖像資料集(例如MegaFace[15]、IJB-B[39]、IJB-C[21]和萬億對[2])和視訊資料集(iQIYI VID[20])上廣泛測試了所提出的ArcFace。

實驗設定。對于資料預處理,我們遵循最近的論文[18,37]通過使用五個人臉關鍵點來生成标準化的裁剪人臉(112 x 112)。對于嵌入網絡,我們采用了廣泛使用的CNN網架構ResNet50和ResNet100【12,11】。在最後一個卷積層之後,我們探索BN[14]-Dropout[31]-FC-BN結構以獲得最終的512-D嵌入特征。在本文中,我們使用([訓練資料集,網絡結構,loss])來幫助了解實驗設定。

我們按照[37](Large margin cosine loss)将特征标度s設定為64,并在選擇ArcFace的angular margin m為0.5。本文的所有實驗都是 MXNet[8]實作的。我們将批量大小設定為512,并在四個NVIDIA Tesla P40(24GB)gpu上訓練模型。在CASIA上,學習率從0.1開始,在20K、28K疊代時除以10。訓練過程在32K次疊代中完成。在MS1MV2上,我們在100K次、160K次和180K次疊代處将學習速率除10。我們把動量設為0.9,重量衰減為5e-4。

在測試過程中,我們隻保留沒有全連接配接層的特征嵌入網絡(ResNet50為160MB,ResNet100為250MB),并為每個标準化的人臉提取512-D特征(ResNet50為8.9ms/人臉,ResNet100為15.4ms/人臉)。

為了得到模闆(如IJB-B和IJB-C)或視訊(如YTF和iQIYI-VID)的嵌入特征,我們隻需計算模闆中所有圖像或視訊中所有幀的特征中心。注意,訓練集和測試集之間的重疊辨別将被删除以進行嚴格的評估,并且我們隻對所有測試使用 a single crop 。

3.2. Ablation Study on Losses

在表2中,我們首先使用ResNet50研究CASIA資料集上ArcFace的角邊設定。在我們的實驗中觀察到的最佳margin是0.5。

利用公式4中提出的組合margin架構,我們發現當分别設定SphereFace 裕度和CosFace的裕度為1.35和0.35時,這兩個值具有最佳性能。我們對SphereFace和CosFace的實作可以在沒有任何收斂困難的情況下獲得優異的性能。所提出的 ArcFace在所有三個測試集上都達到了最高的驗證精度。

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

3.3. Evaluation Results

LFW、YTF、CALFW和CPLFW的結果。LFW[13]和YTF[40]資料集是在圖像和視訊上進行無限制人臉驗證的最廣泛使用的基準。在本文中,我們遵循無限制的帶标簽外部資料協定來報告性能。如表4所示,使用ResNet100在MS1MV2上訓練的ArcFace在LFW和YTF上都顯著地超過了基線(例如SphereFace[18]和CosFace[37]),這表明additive angular margin可以顯著地增強深入學習的特征的辨識能力,證明ArcFace的有效性。

Face[18]和CosFace[37]),這表明additive angular margin可以顯著地增強深入學習的特征的辨識能力,證明ArcFace的有效性。

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcFace: Additive Angular Margin Loss for Deep Face Recognition

繼續閱讀