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