ArcFace 論文大顆粒粗讀筆記(三)

續二,這節內容主要講實驗部分,對應論文的第三章,沒什麼好講的,證明他前面說過的話而已。

數據集

如表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]和Trillion-Pairs [2])和視頻數據集(iQIYI-VID [20]進行了廣泛的測試])。

實驗設置:

對於數據的預處理,根據最近文獻【18,37】通過使用五個面部座標點的形式生成標準化的人臉裁切圖像。對於嵌入網絡使用了resnet50和resnet100【12,11】,在最後一個卷積層之後使用BN+Dropout+FC+BN的結構以獲得最終的512維度的嵌入特徵。在本文中,我們使用([訓練數據集,網絡結構,損失])來促進對實驗設置的理解。我們按照[37]的方法將特徵比例s設置爲64,並將ArcFace的角裕度m選擇爲0.5。本文所有實驗均由MXNet實施[8]。我們將批量大小設置爲512,並在四個NVIDIA Tesla P40(24GB)GPU上訓練模型。在CASIA上,學習率從0.1開始,以20K,28K迭代除以10。訓練過程以32K迭代完成。在MS1MV2上,我們將學習率劃分爲100K,160K迭代,並以180K迭代完成。我們將動量設置爲0.9,權重衰減設置爲5e4。在測試期間,我們僅保留特徵嵌入網絡而沒有完全連接的層(ResNet50爲160MB,ResNet100爲250MB),並提取512-D特徵(ResNet50爲8.9 ms / face)以及每個標準化面孔的15.4 ms / face(對於ResNet100)。要獲取模板(例如IJB-B和IJB-C)或視頻(例如YTF和iQIYI-VID)的嵌入功能,我們只需計算模板中所有圖像或視頻中所有幀的特徵中心。請注意,訓練集和測試集之間的重疊身份被刪除以進行嚴格評估,並且我們僅對所有測試使用單個作物。

損失函數的消融研究:

在表2中,我們首先使用ResNet50在CASIA數據集上探索ArcFace的角裕度設置。在我們的實驗中觀察到的最佳裕度爲0.5。在等式中使用建議的合併裕度框架,如公式4所示。相比之下設置SphereFace和CosFace的邊距會更加容易,我們發現分別設置爲1.35和0.35時具有最佳性能。我們對SphereFace和CosFace的實現都可以帶來出色的性能,而不會出現任何收斂困難。提出的ArcFace在所有三個測試集上都實現了最高的驗證精度。此外,我們根據圖4中的目標logit曲線對組合裕度框架(在CM1(1、0.3、0.2)和CM2(0.9、0.4、0.15)觀察到一些最佳性能)進行了廣泛的實驗。)。合併的margin框架帶來的性能要比單個SphereFace和CosFace更好,但在ArcFace的性能上卻更高。
除了與基於邊距的方法進行比較之外,我們還在ArcFace和其他損失之間進行了進一步的比較,這些損失旨在加強類內部的緊密度(等式5)和類間的差異(等式6)。作爲基線,我們選擇了softmax損失,並觀察到重量和特徵歸一化後CFP-FP和AgeDB-30的性能下降。通過將softmax與類內損失結合在一起,可以提高CFP-FP和AgeDB-30的性能。但是,將softmax與類間損失結合使用只會稍微提高精度。 Triplet損失優於Norm-Softmax損失的事實表明,裕度在改善性能方面的重要性。但是,在三元組內採用裕度懲罰,與在ArcFace中在示例和中心之間插入邊距相比,示例的效果不佳。最後,我們將損失內,損失間和三重損失合併到ArcFace中,但是沒有觀察到任何改進,這使我們相信ArcFace已經在強制執行類內緊湊性,類間差異和分類餘量。

 

爲了更好地瞭解ArcFace的優越性,我們在表3中給出了不同損失下訓練數據(CASIA)和測試數據(LFW)的詳細角度統計。我們發現(1)Wj與ArcFace的嵌入特徵中心幾乎同步(14.29◦),但是Wj與Norm-Softmax的嵌入特徵中心之間存在明顯的偏差(44.26◦)。因此,Wj之間的角度不能絕對代表訓練數據上的類間差異。或者,由訓練網絡計算出的嵌入特徵中心更具代表性。 (2)inter-loss可以有效地壓縮類內變化,但也會減小類間角度。 (3)Intra-loss可以略微增加W(直接)和嵌入網絡(間接)上的類間差異,但也會增加類內角度。 (4)ArcFace已經具有非常好的類內緊湊性和類間差異。 (5)與ArcFace相比,Triple-Loss具有相似的類內緊湊性,但類間差異較小。此外,如圖6所示,ArcFace在測試集上具有比Triplet-Loss更明顯的裕度。

表注:不同損耗([CASIA,ResNet50,損耗*])下的角度統計。 每一列表示一個特定的損失。 “ W-EC”是指Wj與相應的嵌入特徵中心之間的夾角的平均值。 “ W-Inter”是指Wj之間的最小角度的平均值。 “ Intra1”和“ Intra2”分別是指xi和CASIA和LFW上的嵌入特徵中心之間的夾角的平均值。 “ Inter1”和“ Inter2”分別是指CASIA和LFW上的嵌入特徵中心之間的最小角度的平均值。

圖6. LFW的所有正對和隨機負對(〜0.5M)的角度分佈。 紅色區域表示正對,而藍色表示負對。 所有角度均以度表示。 ([CASIA,ResNet50,損失*])。

評價結果:

LFW,YTF,CALFW和CPLFW的結果。 LFW [13]和YTF [40]數據集是用於圖像和視頻無約束面部驗證的最廣泛使用的基準。在本文中,我們遵循帶有標籤的外部數據協議的無限制條件來報告性能。如表4所示,在使用ResNet100的MS1MV2上訓練的ArcFace在LFW和YTF上均以相當大的幅度超出了基線(例如SphereFace [18]和CosFace [37]),這表明加法角餘量罰分可以顯着提高判別力深度學習功能的強大功能,證明了ArcFace的有效性。除了在LFW和YTF數據集上,我們還報告了ArcFace在最近引入的數據集(例如CPLFW [48]和CALFW [49])上的性能,這些數據在LFW具有相同標識的情況下顯示出更高的姿態和年齡變化。


在所有開源的人臉識別模型中,如表5所示,ArcFace模型被評估爲排名最高的人臉識別模型,其表現明顯優於同行。在圖7中,我們說明了LFW,CFP-FP,AgeDB-30,YTF,CPLFW和CALFW上正負對的角度分佈(由使用ResNet100在MS1MV2上用ArcFace模型訓練的ArcFace模型預測)。我們可以清楚地發現,由於姿勢和年齡差距而引起的內部方差會顯着增加正對之間的角度,從而使人臉驗證的最佳閾值增加,並在直方圖上產生更多的混淆區域。

MegaFace上的結果

MegaFace數據集[15]包括690萬個不同個體的1M圖像作爲畫廊集,以及FaceScrub [23]的530個獨特個體的100K照片作爲探針集。在MegaFace上,在兩種協議(大型或小型訓練集)下有兩種測試場景(識別和驗證)。如果訓練集包含超過0.5M圖像,則定義爲大。爲了公平起見,我們分別在小協議和大協議下在CAISA和MS1MV2上訓練ArcFace。


在表6中,接受過CASIA培訓的ArcFace獲得了最佳的單模型識別和驗證性能,不僅超過了強大的基準(例如SphereFace [18]和CosFace [37]),而且也超過了其他已發佈的方法[38,17]。當我們觀察到識別和驗證之間存在明顯的性能差距時,我們對整個MegaFace數據集進行了全面的手動檢查,發現許多帶有錯誤標籤的人臉圖像,從而嚴重影響了性能。因此,我們手動完善了整個MegaFace數據集,並報告了ArcFace在MegaFace上的正確性能。在精製的MegaFace上,ArcFace仍然明顯優於CosFace,並且在驗證和識別方面均達到最佳性能。


在大型協議下,與CosFace [37]相比,ArcFace明顯超過FaceNet [29],並且在識別方面獲得了可比的結果,並且在驗證方面獲得了更好的結果。由於CosFace使用私人培訓數據,因此我們使用ResNet100在我們的MS1MV2數據集上對CosFace進行了再培訓。經過公平比較,ArcFace顯示了優於CosFace的優勢,並且在識別和驗證場景下都構成了CosFace的上限,如圖8所示。

IJB-B和IJB-C上的結果

IJB-B數據集[39]包含1,845個主題,包含21.8K靜態圖像和來自7,011個視頻的55K幀。總共有12,115個模板,其中包含10、270個真正匹配項和8M冒名頂替者匹配項。 IJB-C數據集[39]是IJB-B的進一步擴展,具有3,531個帶有31.3K靜態圖像和11,779個視頻的117.5K幀的對象。總共有23,124個模板,其中19,557個真正的比賽和15,639K個冒名頂替者比賽。在IJB-B和IJB-C數據集上,我們使用VGG2數據集作爲訓練數據,並使用ResNet50作爲嵌入網絡來訓練ArcFace,以便與最新方法進行公平比較[6,42,41]。

在表7中,我們將ArcFace的TAR(@ FAR = 1e-4)與以前的最新模型進行了比較[6,42,41]。 ArcFace可以明顯提高IJB-B和IJB-C的性能(大約3到5%,這是誤差的顯着降低)。依靠更多訓練數據(MS1MV2)和更深層的神經網絡(ResNet100)的支持,ArcFace可以進一步將IJB-B和IJBC的TAR(@ FAR = 1e-4)分別提高到94.2%和95.6%。

在圖9中,我們在IJB-B和IJB-C2上顯示了擬議ArcFace的完整ROC曲線,並且即使在FAR = 1e-6設置新基準時,ArcFace仍可實現令人印象深刻的性能。

Trillion-Pairs的結果

Trillion-Pairs數據集[2]提供來自Flickr的1.58M圖像作爲畫廊集,並提供來自5.7k LFW [13]身份的274K圖像作爲探測器集。畫廊和探針集之間的每一對都用於評估(總共0.4萬億對)。

在表8中,我們比較了在不同數據集上訓練的ArcFace的性能。與CASIA相比,建議的MS1MV2數據集明顯提高了性能,甚至略勝於具有雙重標識號的DeepGlint-Face數據集。當結合MS1MV2的所有身份信息和DeepGlint的亞洲名人的身份時,與排行榜上的最新提交(CIGIT IRSEC)相比,ArcFace可獲得最佳的識別性能84.840%(@ FPR = 1e-3)和可比的驗證性能。

iQIYI-VID的結果

iQIYI-VID挑戰[20]包含來自iQIYI綜藝節目,電影和電視劇的4934個身份的565,372個視頻剪輯(訓練集219,677,驗證集172,860和測試集172,835)。每個視頻的長度範圍是1到30秒。該數據集提供多模式提示,包括臉部,衣服,語音,步態和字幕,以進行字符識別。

iQIYI-VID數據集採用MAP @ 100作爲評估指標。 MAP(平均平均精度)是指總體平均準確率,它是針對訓練集中每個人ID(作爲查詢)在測試集中檢索到的人ID對應視頻的平均準確率的平均值。如表9所示,在結合ResNet100的MS1MV2和Asian數據集上訓練的ArcFace設置了較高的基線(MAP =(79.80%))。基於每個訓練視頻的嵌入特徵,我們訓練了另一個具有分類損失的三層全連接網絡,以在iQIYI-VID數據集上獲得自定義特徵描述符。通過iQIYI-VID訓練集學習到的MLP將MAP顯着提高了6.60%。從模型集成和上下文特徵(現成的對象和場景分類器[1])獲得支持,我們的最終結果明顯超過了第二名(0.99%)。

結論

在本文中,我們提出了一個加法角餘量損失函數,該函數可以有效地增強通過DCNNs學習的特徵嵌入對人臉識別的判別能力。 在文獻中報告的最全面的實驗中,我們證明了我們的方法始終優於最新技術。 代碼和詳細信息已根據MIT許可發佈。

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