天天看點

【論文筆記】SphereFace: Deep Hypersphere Embedding for Face Recognition

參考文獻: Liu W, Wen Y, Yu Z, et al. SphereFace: Deep Hypersphere Embedding for Face Recognition[J]. arXiv preprint arXiv:1704.08063, 2017.

摘要

之前寫過一篇large-marin softmax (L-Softmax) 的介紹,與Softmax Loss 相比,它能夠學習區分度更高的特征。基于L-Softmax的改進,這篇paper提出Angular-Softmax(A-Softmax)去學習判别特征,它在超球面流形上強加了一個判别限制,而這個超球面流形本質上與人臉的先驗知識位于同一個流形上。A-Softmax在人臉資料庫LFW/YTF/MegaFace上的識别結果均優化其它loss函數。與L-Softmax類似,angular margin 同樣可以由一個參數 m 來調整。

算法源碼

算法介紹

1. Softmax Loss

在介紹A-Softmax之前,我們先來回顧softmax loss。當定義第 i 個輸入特征 xi 以及它的标簽 yi 時,softmax loss 記為:

L=1N∑iLi=1N∑i−log(efyi∑jefj)

其中 fj 表示最終全連接配接層的類别輸出向量 f 的第 j 個元素, N 為訓練樣本的個數。由于 f 是全連接配接層的激活函數 W 的輸出,是以 fyi 可以表示為 fyi=WTyixi+byi , 最終的損失函數又可以寫為:

Li=−log(e∥Wyi∥∥xi∥cos(θyi,i)+byi∑je∥Wj∥∥xi∥cos(θj,i)+bj)

其中 θ(j,i 0≤θj,i≤π )是 Wj 和 xi 之間的夾角。 當 Wj=1 , bj=0 時,我們可以得到一個修改的softmax loss:

Lmodified=−log(e∥xi∥cos(θyi,i)∑je∥xi∥cos(θj,i))

PS: 與L-Softmax不同的是,作者除了假設 bj=0 ,還将 ∥Wj∥ 設為1。

2. 引入Angular margin

為了便于說明,作者以二分類作為示例。為了将屬于類1特征 x 正确分類,修改後的softmax損失函數要求 cos(θ1)>cos(θ2) ,即 θ1<θ2 。本文在此基礎上增加一個參數 m(m≥2) ,此時要正确分類,需使 cos(mθ1)>cos(θ2) ,即 θ1<θ2/m , θ2<θ1/m 。這樣就增強了判決的限制,使得學習出的特征的區分更強。根據這種思想修改的softmax loss函數為:

Lang=−log(e∥xi∥cos(mθyi,i)e∥xi∥cos(mθyi,i)+∑j≠yie∥xi∥cos(θj,i))

其中 0≤θyi,i≤πm 。與L-Softmax論文中相同,為了保證上式能在CNN中進行前/後向回報,上式變換為:

Lang=−log(e∥xi∥ψ(θyi,i)e∥xi∥ψ(θyi,i)+∑j≠yie∥xi∥cos(θj,i))

在這裡, ψ(θ) 可以表示為:

ψ(θ)=(−1)kcos(mθ)−2k,

其中 θ∈[kπm,(k+1)πm] , k 是一個整數且 k∈[0,m−1]。

我們可以看出, m 的值越大,angular magin也就越大,那麼m的最小值是多少呢?作者證明了,要使最小的類間距大于最大的類内距,對于二分類問題,需 m≥2+3√ ,對于多分類問題, m≥3 。在實驗中, m 通常設為4。

下表為不同的Loss函數的決策邊界對比:

【論文筆記】SphereFace: Deep Hypersphere Embedding for Face Recognition

直覺分析

為了分析A-Softmax Loss的有效性,作者将初始的Softmax,修改後的Softmax以及A-Softmax在二分類的結果首先用一個簡單的二維空間幾何表示:

【論文筆記】SphereFace: Deep Hypersphere Embedding for Face Recognition

可以看到,與前兩者相比,A-Softmax在類别的角度次元上的分類更加分明,決策邊界明顯擴大。同時,從圖中我們也可以看出,Softmax 在内在的角度分布特性,這也是作者提到基于Euclidean margin和Softmax融合不能取得較好效果的原因。

各個Loss函數在2D、3D超球面流形的表示如下圖所示,對于更高次元的超球面,不好描述,但大家可以腦補下。

【論文筆記】SphereFace: Deep Hypersphere Embedding for Face Recognition

實驗結果

為了證明A-Softmax的有效性, 作者建構了Sphere Face的網絡,實驗在人臉識别資料上進行。訓練集采用CASIA-WebFace,測試集分别在LFW/YTF上進行。

m的影響

可以看出,随着 m 的增大,特征的類别的區分性也就越高。(普遍反應這個圖畫得非常好,值得學習)

【論文筆記】SphereFace: Deep Hypersphere Embedding for Face Recognition
人臉識别測試

在LFW/YTF上,A-Softmax均得了最好好的結果,隻比FaceNet略差(采用了更多的訓練集);在MegaFace的資料集上的1:1開集比對和開集1:N搜尋,Sphere Face均取得了最佳的結果。

【論文筆記】SphereFace: Deep Hypersphere Embedding for Face Recognition
【論文筆記】SphereFace: Deep Hypersphere Embedding for Face Recognition

總結

本文通過增加angular margin的限制,在Softmax的基礎上提出了A-Softmax,以此來學習區分力更強的人臉特征Sphereface,并且證明了增強參數m的下界。各個人臉識别測試集的實驗證明了該方法的有效性。