【深度学习】同款商品识别的克星--ArcFace!
作者:杰少,一品煉丹師
ArcFace: Additive Angular Margin Loss for Deep Face Recognition(CVPR2019)
簡 介
利用深度卷積神經網絡(DCNNs)進行大規模人臉識別特征學習的一大挑戰是設計合適的損失函數以提高識別能力。
在歐氏空間中,中心損失是對深層特征與其對應的類中心之間的距離進行懲罰,以實現類內緊性;
SphereFace假設最后一個全連接層中的線性變換矩陣可用作角度空間中類中心的表示,并以乘法的方式懲罰深度特征與其相應權重之間的角度。
最近,一個流行的研究路線是將margins納入已建立的損失函數,以最大限度地提高人臉類別可分性。
在本文中,我們提出了一個附加的角Margin損失(ArcFace)來獲得高分辨的人臉識別特征。由于與超球面上的測地距離精確對應,所提出的弧面具有清晰的幾何解釋。通過大量的實驗,我們證明了ArcFace的效果始終優于目前最好的模型,并且可以輕松實現,計算開銷可以忽略不計。
背 景
目前訓練人臉識別的DCNN方案主要有兩種:
訓練一個多分類器,它可以將訓練集合中的不同實體分開;
訓練embeddings,例如triplet loss。
但是softmax的loss和triplet loss都存在一些缺點,
對于softmax來說:
線性轉化矩陣和是線性相關的;
學習得到的特征對于閉集分類問題是可分離的,而對于開集人臉識別問題,學習到的特征是不可分辨的;
對于triplet loss來說:
特別是對于大規模數據集,人臉三元組的數量會出現組合爆炸,導致迭代步驟的數量顯著增加;
semi-hard樣本挖掘對于有效的模型訓練是一個相當困難的問題;
提出的方法
1. ArcFace
softmax loss:
其中,表示第個樣本的深度特征,屬于類。表示權重的第列,表示偏差項。和分別表示batch大小和類的個數。但是,softmax函數沒有直接優化特征的embedding來加強類內樣本的相似度以及不同類樣本之間的不一致性。
為了方便,此處我們將設置為0,然后令
其中,是權重和特征之間的權重,我們通過范數令,同樣的我們可以做相同的處理,然后對其rescale,于是我們得到:
由于embedding特征分布在超球面上的每個特征中心,我們在和加入一個增量的角度margin懲罰,以是的我們類內更緊,類間更可區分。由于所提出的增加角度margin懲罰函數等于在超球面中標準化測地距離margin的懲罰,因此我們將該方法命名為ArcFace。
我們從8個不同身份的人臉圖像中選取足夠的樣本(約1500張/類)分別訓練具有softmax和ArcFace損失的二維特征嵌入網絡。如圖3所示,softmax損失提供了大致可分離的特征嵌入,但在決策邊界中產生了明顯的模糊性,
如上圖所示,softmax損失提供了大致可分離的特征embedding,但在決策邊界中產生了明顯的模糊性,ArcFace損失顯然可以在最近的類之間得到更明顯的間隙。
ArcFace算法
2.與SphereFace和CosFace的比較
1.數值相似度
在SphereFace和CosFace和ArcFace中,我們都加入來margin的懲罰,我們用分別表示乘法角度margin,增加的角度margin和增加的cosine margin。從數值的角度來看,不同的margin懲罰都是希望相同類之間更為緊密,類之間分的更開。
通過將所有的margin懲罰放在一個框架中,我們有:
通過組合,我們往往可以獲得更好的結果。
2. 幾何區別
除了數值相似度之外,ArcFace擁有更好的幾何屬性,如下圖所示:
3. 和其它Loss比較
其他損失函數可以基于特征和權重向量的角度來設計。例如,我們可以設計一個loss來增強超球面上的類內緊性和類間差異性。
Intra-Loss
這邊是加上后面的項,而我們的目標是最小化,所以我們希望盡可能的小,這樣類內就會被壓縮,從而變得更緊。
Inter-Loss
這邊是減去后面的項,所以我們需要減去的項盡可能大,也就是盡可能大,也就是不同類之間盡可能的角度大。
Triplet Loss
想加大三元組樣本的角度margin, 此處我們采用triplet-loss作為特征的角表示,
實驗
ArcFace在所有三個測試集上都達到了最高的驗證精度;
組合margin框架比單獨的SphereFace和CosFace有更好的效果,但都不如ArcFace效果好;
Triplet Loss優于標準Softmax Loss,說明了margin對提高效果的重要性;
在三元樣本中使用margin懲罰比在樣本和中心之間插入margin效果要差,就像在ArcFace中一樣。最后,我們將累呢、類間丟失和Triplet Loss合并到ArcFace中,但是沒有觀察到任何改進,這讓我們相信ArcFace已經加強了類內更緊、類間差異性和分類margin。
ArcFace相較于Triplet-Loss有更好的margin;
小結
本文提出了一種Additive Angular Margin Loss ,該函數能有效地提高DCNNs學習的特征嵌入在人臉識別中的判別能力。在文獻報道的最全面的實驗中,我們證明了我們的方法始終優于目前最好的方法。
參考文獻
ArcFace: Additive Angular Margin Loss for Deep Face Recognition,CVPR2019
總結
以上是生活随笔為你收集整理的【深度学习】同款商品识别的克星--ArcFace!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么在pptv里下载电视剧
- 下一篇: 【论文解读】IPM2020 | 长短期兴