GroupFace: Learning Latent Groups and Constructing Group-based Representations for Face Recognition
Abstract
在人臉識別領域中,模型學習使用更少維度的嵌入特征來區分百萬級的人臉圖像,且這樣大量的信息不可能使用單一分支的卷積模型就能夠恰當地編碼。我們提出了一個新的特定的人臉識別結構,稱為GroupFace,能夠同時使用多個group-aware表征,以改善嵌入特征的質量。該提出的方法提供了子分布標簽,能夠在不需要額外人物標注的情況下平衡屬於每個組的樣本的數量;同時學習group-aware表征能夠縮小目標身份的搜索空間。我們通過展示擴展的ablation研究和可視化來證明所提方法的有效性。所提方法的所有組成部分都能夠以端到端的方式訓練,計算復雜度略有增加。最后,所提方法在下述公開數據集,如:LFW, YTF, CALFW, CPLFW,CFP, AgeDB-30, MegaFace, IJB-B and IJB-C 的1:1人臉驗證和1:N人臉識別任務中以極大的改進獲得了最先進的結果
1. Introduction
第一二段講了下最近人臉識別的優化方法,即大量數據集、深度學習以及損失函數的改進
盡管損失函數得到了發展,但通用網絡,不是為人臉識別而設計的網絡,在有效訓練網絡以識別大量的人身份方面還存在困難。不像分類等常見問題,在評估階段,人臉識別模型會遇到不包含在訓練集的新身份。因此,該模型需要在訓練集中嵌入近100k個身份[10],和考慮大量未知的身份。然而,現有的方法大多只是在VGG[25]、ResNet[12]等廣泛使用的backbone網之后附加幾個全連接的層,而沒有對人臉識別的特征進行設計。
Grouping是高效靈活地嵌入大量人員並能簡要描述未知人員的關鍵思想。每個人的臉上都有自己的特點。與此同時,他們在一群人中也有共同之處。在現實世界中,基於group的描述(如有着深邃的黑眼睛和紅胡子的男人)涉及到群體中的共同特征,可以幫助縮小候選人范圍,盡管它不能確定確切的人。遺憾的是,顯式分組需要對海量數據進行手工分類,可能受到人類知識描述范圍有限的限制,但通過采用分組的概念,識別網絡可以減少搜索空間,靈活地將大量身份嵌入到一個嵌入特征中。
我們提出一個新的人臉識別架構,稱為GroupFace,學習多個潛在的groups和構造group-aware的表征去有效采用分組(圖1)的概念:
我們定義Latent Groups, 其被內部確定為通過綜合考慮面部因素(如頭發、姿勢,胡子)和非面部因素(如噪聲、背景、照明)決定的潛在變量。為了學習Latent Groups,我們引入了一種通過考慮Latent Groups的整體分布來確定group標簽的自分布分組方法。在結構上,該方法GroupFace將多個group-aware表征集成到原始的基於實例的表征中去進行人臉識別(即圖1將圖像這個實例表征和下面的latent groups表征合並成一個Enriched表征)。
我們將其貢獻總結如下:
- GroupFace是一種新型的人臉識別專用體系結構,它將群group-aware表征集成到嵌入特征中,並提供分布良好的group標簽以提高特征表示的質量。GroupFace還提出了一種新的相似性度量方法來考慮group信息。
- 通過大量的實驗和消融研究,證明了GroupFace算法的有效性。
- GroupFace可以應用於許多現有的人臉識別方法,在資源邊際增加(即少量增加)的情況下獲得顯著的改進。特別是GroupFace的hard-ensemble版本,只需自適應地使用少量附加卷積,就可以獲得較高的識別精度。
2. Related Works
Face Recognition (省略以前方法的介紹)。一般來說,這些方法的重點是如何改進損失函數,以提高傳統的特征表征的人臉識別的准確性。一個輕微的變化,如增加一些層或增加通道的數量,通常不會帶來明顯的改善。GroupFace提高了特征表征的質量,同時通過增加一些層取得了顯著的改進。
分組(Grouping)或聚類方法,如k-means,通過考慮相對度量,如余弦相似度或歐氏距離,來內部分類沒有明確的類標簽的樣本。通常,這些聚類方法試圖通過防止將大多數圖像分配到一個或幾個聚類來構建能良好區分的類別。最近,已經引入了幾種使用深度學習的方法[4,24,40]。這些方法是有效的,但是,他們在以前的方法中使用完整的batches,而不是如在深度學習中使用mini-batch。因此,這些方法不能很容易地在應用程序框架中深入地、端到端地合並。為了有效地學習latent groups,我們引入了一種以深度的方式考慮期望-歸一化概率的自分布分組方法。
3. Proposed Method
我們的GroupFace使用自分布分組的方法來學習latent group,構造多個group-aware表征,並將其集成到標准的基於實例的表征中,以豐富人臉識別的特征表示。
3.1. GroupFace
討論了如何將latent groups方案有效地集成到GroupsFace的嵌入特征中。
Instance-based Representation. 我們將調用一個傳統人臉識別方案[7,34,35,44]中的特征向量作為本文基於實例的表征(如圖2所示):
基於實例的表征通常通過使用基於softmax的損失(例如,CosFace[34]和ArcFace[7]), 作為一個嵌入特征被訓練,用於預測一個身份:
其中yi是身份標簽,vx是給定樣本x的基於實例的表征,g是將512維的嵌入特征投影到M維空間中的函數。M是個人身份的數量。
Group-aware Representation. GroupFace使用了一種新的group-aware表征和基於實例的表征來豐富嵌入特征。提取每個group-aware表征向量通過為每個相應的group部署全連接層抽取得到(如圖2所示)。GroupFace的嵌入特性(,在圖2的最后表征)是通過聚合基於實例的表征vx和權重求和的group-aware表征vxG得到的。GroupFace使用加強后的最終表征
來預測身份為:
其中vxG是具有group概率的多個group-aware表征的集合。
Structure. GroupFace同時計算和使用基於實例的表征和group-aware的表征。基於實例的表征通過在傳統的人臉識別方法[7,34,35,44]中使用的相同方法來獲得,K個group-aware表征方法通過部署全連接層得到。然后,通過部署由3個全連接層和一個softmax層組成的Group Decision Network(GDN),利用基於實例的表示向量計算群概率。使用利用group概率,對多個group-aware表征進行以soft方式(S-GroupFace)子集成或以hard方式(H-GroupFace)子集成。
S-GroupFace使用組對應的概率作為權重來集成多個group-aware的表征,定義為:
H-GroupFace則選擇group-aware表征中對應的組概率最大的那個,表示為:
S-GroupFace顯著提高了識別精度,僅需要少量的額外資源;H-GroupFace比S-GroupFace更適合於實際應用,但代價是增加了一些額外的卷積。通過聚合基於實例的表征和子集合的group-aware表征,可以加強最終表示為。
Group-aware Similarity. 我們引入了一種group-aware相似度,它是一種新的相似度,同時考慮了GDN在推理階段的標准嵌入特征和中間特征。由於中間特征沒有在余弦空間上訓練,只是描述了給定樣本的group身份,而不是給定樣本的顯式身份,因此group-aware的相似性被兩個給定實例的中間特征之間的距離所抵消。第i個圖像Ii和第j個圖像Ij之間的group-aware相似性S∗定義為:
式中:S為余弦相似度度量,D為距離度量,為GDN的中間特征,β 和 γ為常量參數。根據經驗確定參數β = 0.1 和 γ=1/3
3.2. Self-distributed Grouping
在這項工作中,我們將一個組定義為一組樣本,這些樣本具有用於人臉識別的任何共同的視覺或非視覺特征。這樣的組由一個部署的GDN決定。我們的GDN以一種自分組的方式逐步訓練,這種自分組方式在沒有任何明確的group-truth信息的情況下,考慮了latent groups的分布,提供了一個組標簽。
Na¨ıve Labeling. 簡單地確定一組標簽的方法是采取softmax的最大激活輸出的索引作為標簽。通過部署MLP並附加一個softmax函數,我們構建了一個GDN f來確定一個歸屬組G∗:
其中Gk表示第k組。缺乏考慮的group分布會導致na¨ıve的解決方案使得大多數樣本被分配給一個或某幾個組。
Self-distributed Labeling. 提出了一種利用先驗概率調節的修正概率深度生成均勻分布的組標簽的有效標記方法。我們定義一個expectation-normalized概率去平衡樣本在K組的數量:
第一個1/K限定了標准化概率在0到1之間。然后計算期望-歸一化概率的期望為:
因此優化后的子分布標簽為:
經過訓練的GDN估計一組概率,表示樣本屬於latent groups的程度。當樣本數趨於無窮大時,該方法將穩定輸出均勻分布的標簽(圖3):
3.3. Learning
GroupFace網絡同時采用基於softmax的標准分類丟失(用於識別身份的丟失)和自分組丟失(用於訓練潛在群的丟失)進行訓練。
Loss Function. 使用基於softmax的損失L1(主要使用ArcFace[7])訓練身份特征表征,定義為:
式中,N為小批樣本的數量; Θ為特征和對應權重的角度, s是尺寸因子, m是邊際因子。為了構建最優組空間,使用一個self-grouping損失來減少預測和子生成標簽之間的差距:
Training. 整個網絡使用集成的兩個損失訓練:
其中參數λ用來平衡不同損失之間的權重,這里設置為0.1.因此GDN可以學習組,這是有益於人臉識別的
其實這個網絡就是在中間添加了一個分組的操作,對特征表征進行加強操作,使用最后集成得到的最終特征表征去進行人臉識別
4. Experiments
省略
Experimental Setting. 我們通過BN-FC塊將激活向量化,並將激活減少到4096*1*1(即圖2中的Shared Feature)。我們的GroupFace是在ResNet-100的res5c層后附加上的,res5c層輸出激活維數為512×7×7(所以Shared Feature為4096=512×7×7)。GDN中的MLP由兩個BN-FC塊組成,GDN中還有一個用於組分類的FC(所以GDN中有三個FC層)。我們遵循[7,34]來設置損失函數的超參數。