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樣本挖掘對于有效的模型訓練是一個相當困難的問題;
softmax loss:
我們從8個不同身份的人臉圖像中選取足夠的樣本(約1500張/類)分別訓練具有softmax和ArcFace損失的二維特征嵌入網絡。如圖3所示,softmax損失提供了大致可分離的特征嵌入,但在決策邊界中產生了明顯的模糊性,
如上圖所示,softmax損失提供了大致可分離的特征embedding,但在決策邊界中產生了明顯的模糊性,ArcFace損失顯然可以在最近的類之間得到更明顯的間隙。
2.與SphereFace和CosFace的比較
1.數值相似度
在SphereFace和CosFace和ArcFace中,我們都加入來margin的懲罰,我們用m1,m2,m3分別表示乘法角度margin,增加的角度margin和增加的cosine margin。從數值的角度來看,不同的margin懲罰都是希望相同類之間更為緊密,類之間分的更開。
通過將所有的margin懲罰放在一個框架中,我們有:
通過組合,我們往往可以獲得更好的結果。
2. 幾何區別
除了數值相似度之外,ArcFace擁有更好的幾何屬性,如下圖所示:
3. 和其它Loss比較
其他損失函數可以基于特征和權重向量的角度來設計。例如,我們可以設計一個loss來增強超球面上的類內緊性和類間差異性。
Intra-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 同款商品识别的克星的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文总结排序模型CTR点击率预估
- 下一篇: DNN中多任务学习概述