深度學習之視頻人臉識別系列四:人臉表徵-續
來自專欄 TensorFlowNews5 人贊了文章
作者 | 別看我只是一隻洋
本文是深度學習之視頻人臉識別系列的第四篇文章,接著第三篇文章,繼續介紹人臉表徵相關演算法和論文綜述。在本系列第一篇文章里我們介紹了人臉識別領域的一些基本概念,分析了深度學習在人臉識別的基本流程,並總結了近年來科研領域的研究進展,最後分析了靜態數據與視頻動態數據在人臉識別技術上的差異;在第二篇文章中介紹了人臉檢測與對齊的相關演算法。
一、人臉表徵
把人臉圖像通過神經網路,得到一個特定維數的特徵向量,該向量可以很好地表徵人臉數據,使得不同人臉的兩個特徵向量距離儘可能大,同一張人臉的兩個特徵向量儘可能小,這樣就可以通過特徵向量來進行人臉識別。
二、論文綜述
1. L-Softmax:
Softmax Loss函數被廣泛應用於深度學習,較為簡單實用,但是它並不能夠明確引導神經網路學習區分性較高的特徵。L-Softmax能夠有效地引導網路學習使得樣本類內距離較小、類間距離較大的特徵,L-Softmax不但能夠調節類間距離的間隔(margin)大小,而且能夠防止過擬合。
L-Softmax是對softmax loss的改進,softmax loss公式如下所示:
其中 fj 表示最終全連接層的類別輸出向量 f的第 j個元素, N為訓練樣本的個數,則 fyi可以表示為 fyi=WTyi xi,其中 0≤θj≤π,最終的損失函數可得:
softmax的目的是使得WT1x>WT2x,即 ∥W1∥∥x∥cos(θ1)>∥W2∥∥x∥cos(θ2),從而得到輸入x(來自類別1)輸出正確的分類結果。L-Softmax通過增加一個正整數變數m,從而產生一個決策餘量,能夠更加嚴格地約束上述不等式,即:
其中0≤θ1<π/m。如果W1和W2能夠滿足∥W1∥∥x∥cos(mθ1)>∥W2∥∥x∥cos(θ2),那麼就必然滿足∥W1∥∥x∥cos(θ1)>∥W2∥∥x∥cos(θ2),這樣的約束對學習W1和W2的過程提出了更高的要求,在訓練學習過程中,類間要比之前多了一個m的間隔,從而使得1類和2類有了更寬的分類決策邊界。這種Margin Based Classification使得學習更加的困難,從而使類間距離增加了一個margin距離,L-Softmax loss的總公式如下:
當m越大時,分類的邊界越大,學習難度當然就越高。
論文僅使用了WebFace數據集作為訓練集和一個簡單的卷積網路,就在LFW上達到了98.71%的正確率,證明了L-Softmax loss取得了比softmax loss更好的結果。
2. SphereFace :
SphereFace在MegaFace數據集上識別率在2017年排名第一,提出A-Softmax Loss使人臉識別達到不錯的效果。A-Softmax Loss基於softmax loss和L-Softmax loss,在二分類模型中,softmax loss為:
如果x為類別一,則希望p1>p2,則二分類的劃分函數為:
權重歸一化||w||為1,b為0,此時特徵上的點映射到單位超球面上,則二分類的劃分函數為:
然後使用與L-Softmax loss相同的原理,使
則A-Softmax Loss最終為:
因此A-Softmax Loss是樣本類別之間產生了角度距離,讓決策函數更加嚴格並且更加具有可區分性。當m增大,角度距離也會增加。
A-Softmax與L-Softmax的最大區別在於A-Softmax的權重歸一化了,而L-Softmax則沒有。A-Softmax權重的歸一化導致特徵上的點映射到單位超球面上,A-Softmax僅僅能從角度上劃分類別,而L-Softmax是在角度與長度方向進行考量,兩個方向如果劃分不一就會收到干擾,導致精度下降。
SphereFace使用的模型如下圖所示:
訓練與測試過程如下圖所示,在測試過程中使用餘弦計算相似度:
最終SphereFace在訓練集較小的情況下,LFW數據集上準確率為99.42%。Sphereface效果很好,但是它不優美。在測試階段,Sphereface通過特徵間的餘弦值來衡量相似性,即以角度為相似性的度量,在訓練階段,其實Sphereface的損失函數並不是在直接優化特徵與類中心的角度,而是優化特徵與類中心的角度在乘上一個特徵的長度,這就造成了訓練跟測試之間目標不一致。
3. Normface :
在優化人臉識別任務時,softmax本身優化的是沒有歸一化的內積結果,但是最後在預測的時候使用的一般是cosine距離或者歐式距離,這會導致優化目標和最終的距離度量其實並不一致。 Normface的核心思想是既然最後在特徵對比的時候使用歸一化的cosine距離,那麼在訓練的過程中把特徵也做歸一化處理,做了歸一化之後,softmax的優化就變成了直接優化cosine距離了,歸一化過程如下,其中e是為了防止除0的較小正數:
相應的損失函數如下:
其中 W 是歸一化的權重,f_i 是歸一化的特徵,參數 s 的引入是因為保證梯度大小的合理性,去掉bias是因為softmax之前的fc有bias的情況下會使得有些類別在角度上沒有區分性但是通過bias可以區分,在這種情況下如果對feature做normalize,會使得中間的那個小類別的feature變成一個單位球形並與其他的feature重疊在一起,所以在feature normalize的時候是不能加bias的。
Normface使用了較小的模型使用多種loss訓練,然後在LFW數據集上測試,證明了feature normalize的效果,結果如下:
4. CosFace :
Normface用特徵歸一化解決了Sphereface訓練和測試不一致的問題。但是卻沒有了margin的懲罰,騰訊AI Lab的CosFace或者AM-softmax是在Normface的基礎上引入了margin,損失函數為:
其中特徵與權值都做了歸一化:
分類決策為:
,比之前增加了m的margin,m 是一個超參數,控制懲罰的力度,m 越大,懲罰越強。
CosFace使用mtcnn進行人臉檢測與對齊,人臉表徵訓練模型使用基於residual units 64層卷積網路的Sphere Face,在5M的訓練集上訓練,在LFW數據集上測試,精度達到99.73%。
5. ArcFace :
ArcFace源於論文Additive angular margin lossfor deep face recognition,也叫做InsightFace,論文基本介紹了近期較為流行的人臉識別模型,loss變化從softmax到AM-softmax,然後提出ArcFace,可以說起到了很好的綜述作用,論文從三個方面探討影響人臉識別模型精度的主要因素。
(1)數據:數據方面,論文探討了各個數據集的數據質量和優缺點,並對MS-Celeb-1M,MegaFace FaceScrub做了清洗,清洗後的數據公開。
(2)網路:詳細對比了不同的主流網路結構的性能,包括輸入層尺寸大小、最後輸出幾層的不同結構、基本網路單元殘差網路的不同結構、主幹網路的不同模型。經過實驗的證明,最後的網路結構:輸入圖片大小112x112;第一層convLayer 卷積核為3*3 stride 1時,網路輸出7*7;主幹網路使用ResNet100,並使用改進後的改進的殘差網路結構,如下圖;最後的幾層輸出層為最後一個卷積層後+BN-Dropout-FC-BN的結構。
(3)損失函數:與 AM-softmax相比,區別在於Arcface引入margin的方式不同,損失函數為:
Arcface的m是在餘弦裡面,AM-softmax的在外面,ArcFace更為直觀並且在超球面維度上有更清晰的解釋。Arcface在VGG2和MS-Celeb-1M數據集上訓練,在LFW數據集上精度達到99.83%。
三、總結
本期文章主要介紹人臉表徵相關演算法和論文綜述,人臉檢測、對齊、特徵提取等這些操作都可以在靜態數據中完成,下一期將給大家介紹在視頻數據中進行人臉識別的另一個重要的演算法,視頻人臉跟蹤的概念與方法。
參考文獻:
【1】 Liu W, Wen Y, Yu Z, et al. Large-MarginSoftmax Loss for Convolutional Neural Networks[C]//ICML. 2016: 507-516.1708.
【2】Liu W, Wen Y, Yu Z, et al. Sphereface:Deep hypersphere embedding for face recognition[C]//The IEEE Conference onComputer Vision and Pattern Recognition (CVPR). 2017, 1: 1.
【3】Wang F, Xiang X, Cheng J, et al. Normface:l 2 hypersphere embedding for face verification[C]//Proceedings of the 2017 ACMon Multimedia Conference. ACM, 2017: 1041-1049.
【4】Wang F, Cheng J, Liu W, et al. Additivemargin softmax for face verification[J]. IEEE Signal Processing Letters, 2018,25(7): 926-930.
【5】Wang H, Wang Y, Zhou Z, et al. CosFace:Large margin cosine loss for deep face recognition[J]. arXiv preprintarXiv:1801.09414, 2018.
【6】Deng J, Guo J, Zafeiriou S. Arcface:Additive angular margin loss for deep face recognition[J]. arXiv preprintarXiv:1801.07698, 2018.
最後,對深度學習感興趣,熱愛Tensorflow的小夥伴,歡迎關注我們的網站!http://www.tensorflownews.com。我們的公眾號:磐創AI。
推薦閱讀:
※大橋下裝人臉識別,再也不會有孩子溺水了!
※天文史上的今天 | 火星「人臉」
※[VFR]基於關鍵幀提取的CNN-閱讀筆記
※人臉識別[一] 演算法和資料庫總結
※開發者說車載人臉識別是剛需還僅僅只是噱頭
TAG:深度學習DeepLearning | 圖像識別 | 人臉識別 |