Face Recognition Loss Evolution

問題:
人臉識別的框架一般是這樣的(圖來自center loss):
在這裏插入圖片描述
    這個框架的有一個問題在於,用原始softmax學習到的特徵,僅僅是separable的,而不夠discriminative。在最後的分類層上,不同輸出節點對應的權重可以看做類中心,用softmax分類的過程可以看成使樣本儘量靠近本類中心,並遠離其他類中心的過程。這個過程本身是希望類間距離儘量大、類內距離儘量小的,但是並沒有將這點顯示地突出出來,故最後的特徵僅僅是可分的。因此,改進人臉識別的一個方法是在loss上突出這一點,從而得到更大的類間距離與更小的類內距離,使特徵更具有區分性,從而提升識別的性能。

1. 歐式距離

1)Contrastive loss

論文:Chen, Yuheng , et al. “Deep learning face representation by joint identification-verification.” International Conference on Neural Information Processing Systems MIT Press, 2014.

①思想:softmax做identification 的基礎上,同時增加 verification的loss,從而達到減小類內距離的目的。

②模型
在這裏插入圖片描述
③具體實現

原來的loss:

新加的loss可以有三種(後面做了對比實驗):


m代表margin,即希望不同人的人臉特徵的距離大於m。d爲兩個特徵的餘弦相似度,yij爲binary的值,表明兩個特徵是否屬於同一個人,當屬於同一個人的時候,我們希望d儘量大,去擬合1;當爲不同人的時候,我們希望d儘量小,去擬合0。(2)中的L2 loss可以換成 L1 loss, 故論文中用了3z種加verification的方法。用來表示loss中需要學習的變量,在(2)中爲{m},在(3)中爲{w,b}。

權重更新代碼:
在這裏插入圖片描述
更新的過程挺普通的,值得一說的是,由於對{m}的偏導始終非負,所以不能用GD來更新。論文采取的方法爲設其爲使最近訓練樣本的verification error最低的閾值。

④實驗
數據集: CelebFaces+ 10177人 202599張人臉照片。其中隨機選取8192(CeleFaces+A)人爲訓練集, 剩下的1985(CeleFaces+B)人中,重新分爲1485訓練+500測試用來做特徵選擇。
①LFW上的結果:
在這裏插入圖片描述
    模型最後提取的特徵是160維的,篩選留下不同的25個patches(圖片中不同大小不同位置的方塊),得到4000維特徵,再經過PCA降維到180維。這時LFW上的準確率爲98.97%。最終用了7個這樣的模型做特徵融合(patch爲之前挑過剩下的),可以得到99.15%的準確率。

一些分析實驗
在這裏插入圖片描述
Inter-personal variance是的特徵值,對於inter person來說,不同維度的特徵值應該越大越好(越大則此維度的方差越大,學到的特徵更具有可分性)。對於intra personl來說,應越小越好,即相同人的特徵應不可分纔好。可以看到,綠線加了verification loss的情況下,在保持了inter person上的大方差的同時,減小了intra person上的方差。
另外論文只保留了verification中拉近同一個人的特徵的Loss,發現準確率和使用原始verification的loss的準確率差不多,這驗證了verification loss的作用在於減小類內距離。

2)Triplet loss

論文:Schroff, Florian , D. Kalenichenko , and J. Philbin . “FaceNet: A Unified Embedding for Face Recognition and Clustering.” (2015).

①思想:完全丟掉softmax層,每次使用三元組,一個anchor, 一個positive, 一個negative。使anchor與positive儘量近,與negative儘量遠,來實現縮小類內距離, 增大類間距離的目的。論文中提到,此方法是受到contrastive那篇的啓發。contrastive那篇的verification loss裏要求同一個人的特徵映射到一個點上,而這篇論文要求的是同一個人的特徵映射到一個manifold上,同時又通過margin使其於其他的人的特徵保持距離。從這點上來說,triplet loss更適合人臉驗證的問題。

②模型:NN1,NN2,NN3,NN4,NNS1,NNS2

③具體實現
positive pair的選擇: 用一個mini-batch裏面所有的正樣本對
negative pair的選擇:選擇一個mini-batch裏面最難的負樣本對
一個batch非常大,論文設爲1800,每個人有約40個本人照片(一個batch應該包括不同的人?)

④實驗
訓練數據: 8M人 100M-200M張照片,只用最後一層128維的特徵,LFW上準確率爲99.63

關於提到的Harmonic Triplet Loss:
harmonic embeddings的概念就是說,不同模型產生的embedding具有可比較的性質。
訓練之前有模型NN1與NN2,NN2上的性能比NN1要好。訓練的時候,v1爲NN1固定住,V2初始化爲NN2,最後一層隨機初始化,triplet的feature從V1與V2中混合產生。先訓練最後一層,再訓練整個V2。比較的時候用V1產生的feature與V2產生的feature相比較。這種比較比最初V1的效果要好。猜想可能是訓練到最後,V2模型產生的feature與V1已經靠地很近了,但是有些V1裏面不正確的feature,V2產生的卻是正確的,這樣提高了準確率。

3)Center loss

論文:Wen, Yandong , et al. A Discriminative Feature Learning Approach for Deep Face Recognition. Computer Vision – ECCV 2016. Springer International Publishing, 2016.

①思想:爲每個類設置一個類中心的變量,訓練的時候添加loss,使樣本的特徵離該類類中心儘量接近。

②模型
在這裏插入圖片描述

③具體實現
原來的loss:

新添加的loss:

c在mini-batch內更新。

僞代碼爲
在這裏插入圖片描述

④實驗
數據集:訓練數據爲CASIA-WebFace, CACD2000, Celebrity,一共17189人0.7M照片。在Megaface上實驗的時候,用的是0.49M數據(但是保持人數不變,即爲17189個人)。

LFW上與YTF上的實驗:
在這裏插入圖片描述
Megaface上的實驗:

在這裏插入圖片描述
在這裏插入圖片描述
分析實驗:在mnist上做的toy experiment,特徵的維度設爲2,可視化出來的結果:
在這裏插入圖片描述

2. 餘弦距離

1)large margin softmax

論文:Liu, Weiyang, et al. “Large-Margin Softmax Loss for Convolutional Neural Networks.” ICML. 2016

①思想:可以將softmax寫成餘弦的形式,從而在餘弦距離的角度上縮小類內距離。

②模型
在這裏插入圖片描述
③具體實現


設置的原因是要使其在定義域內單調下降。

④實驗

LFW上實驗訓練數據:webface(最後用的特徵是在提取的特徵上用PCA降維後的特徵)
在這裏插入圖片描述

2)Sphere loss

論文:Liu, Weiyang , et al. “SphereFace: Deep Hypersphere Embedding for Face Recognition.” (2017).

①思想:與L-softmax幾乎一模一樣。不過分類層連接輸出結點的權重被歸一化,解釋爲觀察到softmax分類產生的點大致分佈在一個圓上,所以對其改進用餘弦距離比用歐式距離更合適。實驗也主要在人臉上進行。

②模型
在這裏插入圖片描述
③具體實現
在這裏插入圖片描述
W的L2長度歸一化爲1。

④實驗
數據集:訓練數據爲webface(最後提取的特徵爲單模型,照片左右翻轉concatenate起來)
LFW與YTF上:
在這裏插入圖片描述

Megaface上:
在這裏插入圖片描述

分析實驗:在webface上6個人的分類實驗上,可以可視化出效果,其中特徵維度設爲3:
在這裏插入圖片描述
總結:Loss的改進上總體分爲從歐式距離的角度與從餘弦距離的角度去改進。不過出發點十分一致,即用softmax得出的特徵爲seperatable但不夠discriminative。於是這幾種方法均從進一步縮小類內距離,增大類間距離的角度去設計loss。對於contrastive與triplet loss而言,需要精心設計樣本的pair,且樣本的組合會使訓練的輸入個數增加,訓練時比較麻煩。而後幾種loss訓練時會比較簡單。順便感嘆一句,SphereFace在webface上的訓練出來的模型十分強大,在megaface上的實驗可以擊敗很多訓練樣本十分巨大的模型。另這些loss在縮小類內距離,增大類間距離的同時,也爲未知的樣本多留了空間,所以這會不會和準確率的提升也有關係呢?

參考論文:
[1] Chen, Yuheng , et al. “Deep learning face representation by joint identification-verification.” International Conference on Neural Information Processing Systems MIT Press, 2014.
[2] Schroff, Florian , D. Kalenichenko , and J. Philbin . “FaceNet: A Unified Embedding for Face Recognition and Clustering.” (2015).
[3] Wen, Yandong , et al. A Discriminative Feature Learning Approach for Deep Face Recognition. Computer Vision – ECCV 2016. Springer International Publishing, 2016.[4] Liu, Weiyang, et al. “Large-Margin Softmax Loss for Convolutional Neural Networks.” ICML. 2016.
[5] Liu, Weiyang , et al. “SphereFace: Deep Hypersphere Embedding for Face Recognition.” (2017).

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