陰法明 ,仇劍鵬
(1.南京信息職業(yè)技術學院智能交通學院,江蘇 南京 210023;2.東南大學信息科學工程學院,江蘇 南京 210096)
由于深度神經網絡(deep neural network,DNN)的快速發(fā)展,在過去的十年中,基于DNN 的任務在計算機視覺領域中取得了很大進展,包括人臉識別[1],物體檢測[2],動作識別[3]。因為有更好的損失函數(shù)和更好的數(shù)據集,人臉識別取得了更為顯著的進步。面部數(shù)據集的數(shù)量和質量對DNN 模型性能是會產生重要影響的。人臉數(shù)據庫有很多,例如,MS-Celeb-1M[4],VGGFace2[5],MegaFace[6]和CASIA WebFace[7]。其中,MS-Celb-1M 和MegaFace 都存在長尾分布[8]問題,這意味著有少部分人有大量圖像,還有大部分人的圖像數(shù)量十分有限。使用具有長尾分布的數(shù)據集,訓練好的模型容易在數(shù)據量大的樣本上過擬合,從而降低了長尾部分的泛化能力。具體來說,擁有豐富樣本的類往往和類中心有較大差距;與之相反的是,有限樣本的類在類中心之間具有相對較小的余量,因為它們僅占據空間中的小區(qū)域,所以易于壓縮。邊際差異問題是由于長尾分布導致的,也導致人臉識別算法性能下降。
除了訓練集和數(shù)據分布外,影響識別性能的另一個重要因素就是損失函數(shù),該函數(shù)指導網絡在訓練過程中優(yōu)化其權重。目前性能最佳的損失函數(shù)可以大致分為兩種類型:基于歐氏距離的損失函數(shù)和基于余弦距離的損失函數(shù)。其中大多數(shù)是通過添加懲罰或直接修改Softmax 而從Softmax Loss 中獲得的。
基于歐氏距離的損失函數(shù)包括對比損失[9],三重損失[10],中心損失[11],范圍損失[9]和邊際損失[12]。這些功能通過最大化類間距離或最小化類內距離來提高特征的辨別能力。對比損失要求網絡采用兩種類型的樣本對作為輸入,正樣本對(來自同一類的兩個人臉圖像)和負樣本對(來自不同類的兩個人臉圖像)。對比損失最小化正樣本對的歐氏距離,同時懲罰距離小于閾值的負樣本對。三重損失(Triplet Loss)使用三元組作為輸入,包括正樣本,負樣本和錨點。錨點也是正樣本,其最初接近某些負性樣本而不是某些正性樣本。在訓練期間,錨-正對被拉在一起,而錨-負對被盡可能地推開。然而,對于對比損失和三重損失來說,樣本對和三元組的選擇都是非常耗時的。中心損失,邊際損失和范圍損失增加了另一個判罰規(guī)則,以實施與Softmax Loss 的聯(lián)合監(jiān)督。具體而言,中心損失通過計算和限制類內樣本與相應類中心之間的距離來對Softmax 增加一個判罰。邊際損失考慮批次中的所有樣本對,并讓來自不同類別的樣本對的距離大于閾值,同時使來自相同類別的樣本的距離小于閾值。然而,使一類中兩個最遠的樣本的距離小于來自不同類別的兩個最近樣本的距離的規(guī)則,是過于嚴格的,這使得訓練過程難以收斂。范圍損失計算每個類中樣本的距離,并選擇具有最大距離的兩個樣本對作為類內約束;同時,范圍損失計算每對類中心(也稱為中心對)的距離,并使具有最小距離的中心對獲得比指定閾值更大的余量。然而,每次僅考慮一個中心對并不全面,因為更多的中心對可能具有小于指定閾值的距離,因此由于學習速度慢,訓練過程難以完全收斂。
基于余弦距離的損失函數(shù)包括L2-Softmax Loss[13],L-Softmax Loss[14],A-Softmax Loss[15],AMSoftmax Loss[16]和ArcFace[17]?;赟oftmax Loss,L2-Softmax Loss 將特征描述符的L2 范數(shù)限制為恒定值。L2-Softmax Loss 帶來更好的幾何解釋,同時關注質量好的和壞的人臉數(shù)據。L-Softmax 將Softmax 層的輸出從W·f重新計算為|W|·|f|·cosθ,將歐氏距離轉換為余弦距離,并將乘法角度約束加到cosθ,以擴大不同身份之間的角度差值。基于L-Softmax Loss,A-Softmax 應用權重歸一化,因此W·f被進一步重新表示為|f|·cosθ簡化了訓練目標。然而,在使用相同的乘法角度約束之后,L-Softmax 和A-Softmax Loss 都難以收斂。因此,這兩種方法采用退火優(yōu)化策略來幫助算法收斂。為了提高A-Softmax 的收斂性,Wang[16]提出了AM-Softmax,它用加性角約束代替乘法角約束,即將cos(mθ)變換為cos(θ-m)。此外,AM-Softmax 還應用了特征歸一化,并引入了全局縮放因子s=30,這使得|W|·|F|=s。因此,訓練目標|W|·|f|·cosθ再次簡化為s·cosθ。ArcFace 也使用附加角度約束,但它將cos(mθ)改變?yōu)閏os(θ+m),這使得它具有更好的幾何解釋。AM-Softmax 和ArcFace 都采用權重歸一化和特征歸一化,將所有特征限制在超球面上。但是,它們似乎過于要求所有功能都位于超球面而不是更寬的空間,權重規(guī)范化和特征規(guī)范化能否使培訓程序受益? 這個問題難以明確回答,有些證據表明軟特征歸一化可能會帶來更好的結果[18]。
現(xiàn)有損失函數(shù)不考慮保證邊際偏差問題。為了糾正這種邊際偏差,本文建議為所有類別設置最小邊際,然后根據最小邊際設計損失函數(shù)。根據Softmax 損失,中心損失和邊際損失的原理,本文中提出了一種新的損失函數(shù),最小邊際損失(Minimum Edge Loss,MEL),旨在強制所有類中心對的距離大于指定的最小邊際。與范圍損失不同,MEL 懲罰所有不合格的類中心對,而不是僅懲罰具有最小距離的中心對。MEL 重新使用Center Loss 不斷更新的中心位置,并通過Softmax Loss 和Center Loss 的聯(lián)合監(jiān)督指導訓練過程。據我們所知,沒有損失函數(shù)考慮設定類中心之間的最小差值。用這樣的約束來糾正由訓練數(shù)據中的類不平衡引入的邊緣偏差是有必要的。為了證明所提方法的有效性,對LFW[19]和YTF[20]數(shù)據集進行了實驗。結果表明,MEL 取得了比Softmax Loss,Center Loss,Range Loss 和Marginal Loss 更好的性能,計算成本沒有增加。
Softmax Loss 是最常用的損失函數(shù),如式(1)所示:
式中:N是批量大小,K是批次的類號,fi∈Rd表示屬于第yi類的第i個樣本的特征,ωj∈Rd表示最終完全連接層中權重矩陣ω∈Rd×n的第j列,bj是第j類的偏置項。從式(1)可以看出,Softmax Loss 旨在最小化預測標簽和真實標簽之間的差異,意味著Softmax Loss的目標只是區(qū)分訓練集中不同的類的特征,并不是學習辨別特征。這樣的目標適用于近似任務,例如對象識別和行為識別的大多數(shù)應用場景。但是在大多數(shù)情況下,人臉識別的應用場景是開放式任務,因此特征的判別能力對人臉識別系統(tǒng)的性能有很大影響。為了提高特征的辨識能力,Wen 等人[11]提出中心損失,以盡量減少類內距離,如下所示:
式中:cyi表示第i類的類中心。中心損失計算類中心和類內樣本之間的所有距離,并與Softmax Loss一起使用:
式中:λ是用于平衡兩個損失函數(shù)的超參數(shù)。
將Softmax Loss 與Center Loss 相結合后,內部緊湊性得到顯著提升。但僅僅使用Softmax Loss 作為類間約束是不夠的,因為它只會鼓勵特征的可分離性。所以鄧等人[12]提出了邊際損失,它也采用Softmax Loss 的聯(lián)合監(jiān)督:
式中:LMar代表邊界損失,fi和fj分別是批次中第i和第j個樣本的特征;yij∈{±1}表示fi和fj是否屬于同一類,θ是分離正對和負對的閾值,ξ是除了分類超平面的誤差范圍。邊際損失考慮批次中樣本對的所有可能組合,并指定閾值θ以約束所有這些樣本對,包括正對和負對。邊際損失迫使正對的距離接近閾值θ,同時迫使負對的距離遠超過閾值θ。但是利用相同的閾值θ來約束正負對是不合適的。因為通常情況是類中兩個最遠的樣本的距離大于兩個不同但最接近的類的兩個最接近的樣本。強行改變這種情況將使訓練程序難以收斂。
與上述方法類似,Zhang 等人提出的范圍損失[8]也適用于Softmax Loss 作為監(jiān)控信號:
與邊際損失不同,范圍損失由兩個獨立的損失組成,即LRintra和LRinter分別用于計算類內損失和類間損失(見方程(8))。
式中:K是當前批次中的類號,Dij是第i類中樣本對的第j個最大距離,Dcentre是當前批次中兩個最近類別的中心距離,和表示具有最短中心距離的χQ和χR的類中心,M是邊際閾值。測量一個類中的所有樣本對,并選擇具有大距離的n個樣本對來構建用于控制類內緊湊性的損失。如文獻[12]中所述,實驗表明n=2 是最佳選擇。旨在強制具有最小距離的類中心對具有大于指定閾值的更大余量。但是有更多的中心對可能具有小于指定閾值的距離。由于學習速度慢,每次僅考慮一個中心對,導致訓練過程需要很長時間才能完全收斂,因此不夠全面。
根據Softmax Loss 和Center Loss,我們在本文中提出了最小邊際損失(MEL)。MEL 與Softmax Loss和Center Loss 結合使用,Center Loss 用于增強類內緊湊性,Softmax 和MEL 用于改善類間可分離性。Softmax 負責保證分類的正確性,而MEL 旨在優(yōu)化類間距離。總損失如下所示:
式中:α和β是用于調整Center Loss 和MEL 影響的超參數(shù)。
MEL 指定一個最小邊緣的閾值。通過重用由Center Loss 更新的類中心位置,MEL 根據指定的最小邊緣過濾所有類中心對。對于距離小于閾值的那些對,將相應的罰分加到損失值中。MEL 的細節(jié)表述如下:
式中:K是批次的類號,ci和cj分別表示第i和第j類的類中心,M表示指定的最小邊界。在每個訓練批次中,中心損失使用以下兩個等式更新類中心:
式中:γ是類中心的學習率,t是迭代次數(shù),δ(條件)是條件函數(shù)。如果滿足條件,則δ(條件)=1,否則δ(條件)=0。在Range Loss 中,類的中心是通過批量平均此類的樣本來計算的。但是,批次的大小是有限的,并且某一類的樣本數(shù)量更受限制。因此,與真實類中心相比,以這種方式生成的類中心并不精確。與Range Loss 相比,MEL 的學習中心更接近真實的中心。
1.4.1 MEL 是否可以真正擴大小于指定最小邊距的最近班級中心對的距離
為了驗證這一點,我們使用方案Ⅰ(Softmax Loss+中心損失)和方案Ⅱ(Softmax Loss +Center Loss +MEL)訓練的深度模型從MS-Celeb-1M 數(shù)據集中提取所有圖像的特征。2.1 節(jié)中介紹了處理數(shù)據集的詳細信息和這兩個模型的訓練過程。方案Ⅰ和方案Ⅱ之間的區(qū)別在于方案Ⅱ使用MEL 作為監(jiān)督信號的一部分,但方案Ⅰ沒有。通過提取的特征,我們計算每個類的中心位置,然后計算每個類中心與其對應的最近鄰居類中心之間的距離。這些類中心距離的分布如圖1 所示。圖1(a)和(b)分別顯示了方案Ⅰ和方案Ⅱ的距離分布。圖1(c)對方案Ⅰ和方案Ⅱ進行了比較,從中可以看出,方案Ⅱ在前五個區(qū)間具有較小的值,而在其余的區(qū)間具有較大的值。這表明MEL 擴大了一些相鄰中心對的距離,因此增加了具有大余量的中心對的數(shù)量。
圖1 每個類中心與其對應的最接近分類之間的距離分布
1.4.2 MEL 是否可以真正改善人臉識別模型的性能
為了回答這個問題,本文對不同的基準數(shù)據集進行了大量實驗。實驗類型包括面部驗證,面部識別,基于圖像的識別和基于視頻的識別。結果表明,該方法可以勝過基本方法以及一些最先進的方法。
(1)訓練數(shù)據
在所有實驗中,本文使用MS-Celeb-1M 數(shù)據集作為我們的訓練數(shù)據。
(2)數(shù)據預處理
用MTCNN[21]對所有圖像進行面部對齊和面部檢測。如果在訓練圖像上面部檢測失敗,圖片將被丟棄不參與訓練;所有訓練和測試圖像都被裁剪為160 pixel×160 pixel RGB 圖像。為了增加訓練數(shù)據,我們還對訓練圖像執(zhí)行隨機水平翻轉。為了提高識別精度,本文將原始測試圖像的特征與其水平翻轉對應物的特征相結合。請注意,本文沒有對實驗中涉及的其他測試集進行數(shù)據清理。
(3)神經網絡設置
基于Inception-ResNet-v1[22],我們根據五種監(jiān)督方案實施了Tensorflow[23]的五種模型:Softmax Loss,Softmax Loss+Center Loss,Softmax Loss+MEL,Softmax Loss+Range Loss 和Softmax Loss+Center Loss+MEL。為方便起見,本文分別在實驗結果中使用“Softmax Loss”,“Center Loss”,“Marginal Loss”,“Range Loss”和“MEL”來表示這五種方案。本文在一個GPU(GTX 1070)上訓練這五個模型,我們設置90 作為批量大小,512 作為嵌入大小,5×10-4作為權重衰減,0.4作為完全連接層的保持概率。迭代總數(shù)為275 K。學習率以0.05 開始,每100 K 次迭代除以10。所有方案都使用相同的參數(shù)設置,除了Softmax Loss+Center Loss+MEL 在訓練開始之前加載經過訓練的Softmax Loss+Center Loss 模型作為預訓練模型,這樣可以使前者獲得更好的識別性能。
(4)測試設置
在測試過程中,本文會盡力找到能夠帶來最高性能的參數(shù)設置。式(12)中的α和β分別設定為5×10-5和5×10-8。MEL 的最小邊距設置為280。每個圖像的深度特征是從全連接層的輸出獲得的,并且連接原始測試圖像的特征和其水平翻轉的對應物,因此產生的特征每幅圖像的尺寸為2 pixel×512 pixel。最終驗證結果是通過將閾值與兩個特征的歐氏距離進行比較來實現(xiàn)的。
β是用于調整MEL 在組合中的影響的超參數(shù)。M是指定的最小邊際。這兩個參數(shù)影響本文所提出方法的性能。因此,如何設置這兩個參數(shù)是一個值得研究的問題。
總損失僅反映模型在訓練集上的表現(xiàn)。我們對MS-Celeb-1M 數(shù)據集進行了兩次實驗,并評估了這兩個參數(shù)對總損失的影響。在第一個實驗中,我們將β修正為5×10-8,并觀察M對總損失的影響,如圖2(a)所示。在第二個實驗中,我們將M固定為280,并評估β和總損失之間的關系,如圖2(b)所示。從圖2(a)可以看出,將M設置為0,即不使用MEL,是不合適的,因為它會導致高的總損失。當M為280 時,出現(xiàn)最低的總損失。從圖2(b)中,我們可以觀察到總損失在β的寬范圍內保持穩(wěn)定,但在β是5×10-8時達到最低值。因此,在隨后的實驗中,我們分別將M和β固定為280 和5×10-8。
圖2 MS-Celeb-1M 數(shù)據集在兩組模型上的人臉驗證準確性
在本節(jié)中,參照2.1 節(jié)中的方法,對LFW 和YFW數(shù)據進行預處理。LFW 數(shù)據集是從網上收集的,其中包含13 233 張面部圖像,面部姿勢和表情有很大差異。這些面部圖像來自5 749 個不同的身份,其中4 069 個具有一個圖像,而剩余的1 680 個身份具有至少2 個圖像。YTF 數(shù)據集包含從YouTube 獲得的3 425 個視頻。這些視頻來自1 595 個身份,每個人平均有2.15 個視頻。視頻剪輯的幀數(shù)范圍為48 到6 070,平均值為181.3 幀。此外,我們遵循標準實驗協(xié)議,不受標記的外部數(shù)據的限制[30],以評估相關方法在給定的5 000 視頻對上的性能。
表1 顯示了不同方法在LFW 和YTF 上的識別率,我們可以從中觀察到以下內容:
表1 LFW 和YTF 數(shù)據集的最新方法的識別率比較
(1)本文提出的MEL 優(yōu)于Softmax Loss 和Center Loss,提高了LFW 和YTF 數(shù)據集的驗證性能。在LFW 上,準確度從99.42%和99.49%提高到99.62%,而在YTF 上,準確度從94.8%和95.0%提高到95.4%。此外,MEL 在LFW 和YTF 數(shù)據集上都優(yōu)于Range Loss 和Marginal Loss。在LFW 上,準確度從99.49%和99.51%提高到99.62%,而在YTF 上,準確度從95.0%和95.2%提高到95.4%。這證明了MEL 的有效性,也證明了Softmax Loss+Center Loss+MEL 組合的有效性。
(2)與現(xiàn)有技術方法相比,該方法對LFW 的精度為99.62%,對YTF 的精度為95.4%,高于大多數(shù)方法。
本文提出了一個新的損失函數(shù),最小邊際損失(MEL)來指導深度神經網絡學習高度辨別性的面部特征。MEL 第一個考慮在不同類別之間設置最小余量的損失。本文證明了所提出的損失函數(shù)在CNN 中很容易實現(xiàn),本文的CNN 模型可以通過標準SGD 直接優(yōu)化。本文對常用的公共可用數(shù)據集進行了大量實驗。本文將MEL 與過去幾年在頂級會議和期刊上發(fā)布的方法進行比較。本文還直接將MEL 與相同框架下的相關損失函數(shù)進行比較。結果表明MEL 具有最先進的性能。