本發(fā)明涉及生物特征識別、計算機視覺和深度學(xué)習(xí)等
技術(shù)領(lǐng)域:
,具體涉及一種基于聚集損失深度度量學(xué)習(xí)的人臉識別方法。
背景技術(shù):
:目前隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,信息安全受到嚴(yán)重威脅,但另一方面也使得信息安全問題受到日益重視。身份識別是信息安全中一個重要體現(xiàn),在實際應(yīng)用中具有重要地位。與傳統(tǒng)的身份識別技術(shù)相比,生物特征識別技術(shù)具有唯一性、持久性、安全性、普遍性和實用性等特點。人臉識別以其直觀性、非接觸性、易用性等諸多優(yōu)點,獲得了非常廣泛的應(yīng)用。人臉識別是計算機視覺和模式識別領(lǐng)域最富挑戰(zhàn)性的課題之一,目前,人臉識別被廣泛應(yīng)用于商業(yè)領(lǐng)域和安防領(lǐng)域。但在一些萬級以上非配合用戶的監(jiān)控場景下,現(xiàn)有的人臉識別算法的識別效果并不是很理想。原因是監(jiān)控環(huán)境下的人臉是從動態(tài)視頻中定位并抓拍的,得到的人臉通常具有分辨率低、模糊、噪聲大、特征不明顯等特點,同時帶有較大的姿態(tài)變化、光照變化等問題,大大增大了識別的難度,因此,人臉識別在監(jiān)控場景下仍具有較大的提升空間。近年來,隨著深度學(xué)習(xí)的火熱,深度度量學(xué)習(xí)在各種計算機視覺任務(wù)中取得了很好的效果。雖然深度度量學(xué)習(xí)在不同任務(wù)中的表現(xiàn)形式不同,但其根本目標(biāo)都是希望學(xué)習(xí)一個特征空間,使得同類/相似的樣本在空間中的距離盡可能近,異類/不相似的樣本在空間中的距離盡可能遠。目前,經(jīng)典的深度度量學(xué)習(xí)函數(shù)主要有對比損失函數(shù)(contrastiveloss)和三元組損失函數(shù)(tripletloss)。然而,這兩種損失函數(shù)均需要復(fù)雜的難例挖掘策略,網(wǎng)絡(luò)才能較好地收斂,這大大提高了算法的計算復(fù)雜度。此外,三元組損失對于錨點的選取非常敏感,若選取了不合適的錨點,網(wǎng)絡(luò)將往錯誤的方向優(yōu)化,這導(dǎo)致網(wǎng)絡(luò)收斂緩慢。對于對比損失,如果選取的負(fù)樣本對之間的連線指向第三個類的聚類時,也將使得異類樣本之間的距離變小。為此,研究一種能夠克服上述各種缺點的人臉識別方法具有重要的實用價值和研究意義。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種基于聚集損失深度度量學(xué)習(xí)的人臉識別方法,該方法利用聚類中心的思想,使得同類樣本向類中心聚集,不同類的類中心保持較遠距離,同時引入關(guān)鍵點池化技術(shù),可充分利用人臉結(jié)構(gòu)信息,有效降低計算復(fù)雜度,且在訓(xùn)練樣本較少的情況下依然有較高的識別準(zhǔn)確率。本發(fā)明的目的通過以下的技術(shù)方案實現(xiàn):基于聚集損失深度度量學(xué)習(xí)的人臉識別方法,包括如下步驟:步驟s1,對訓(xùn)練圖像進行預(yù)處理,得到規(guī)格一致的人臉圖像作為網(wǎng)絡(luò)輸入;步驟s2,用預(yù)處理過的人臉圖像對深度卷積神經(jīng)網(wǎng)絡(luò)進行預(yù)訓(xùn)練,采用softmax損失作為網(wǎng)絡(luò)的損失函數(shù),在網(wǎng)絡(luò)結(jié)構(gòu)方面引入關(guān)鍵點池化(landmarkpooling)技術(shù),利用人臉結(jié)構(gòu)信息輔助人臉識別,得到預(yù)訓(xùn)練的基于關(guān)鍵點池化的深度卷積神經(jīng)網(wǎng)絡(luò)模型;步驟s3,將所有訓(xùn)練圖像輸入所述預(yù)訓(xùn)練的基于關(guān)鍵點池化的深度卷積神經(jīng)網(wǎng)絡(luò)模型,計算每個類的初始類中心;步驟s4,利用深度度量學(xué)習(xí)函數(shù)——聚集損失(concentrateloss)對上述預(yù)訓(xùn)練的基于關(guān)鍵點池化的深度卷積神經(jīng)網(wǎng)絡(luò)進行精調(diào),使得每類樣本向類中心聚集,同時增大不同類中心之間的間距,初始類中心由步驟s3所述方法得到;經(jīng)過反復(fù)迭代更新網(wǎng)絡(luò)參數(shù)和類中心,直至網(wǎng)絡(luò)收斂,人臉識別準(zhǔn)確率達到最高,得到最終的深度卷積神經(jīng)網(wǎng)絡(luò)模型;步驟s5,對待識別人臉圖像進行預(yù)處理,預(yù)處理后的圖像輸入最終的深度卷積神經(jīng)網(wǎng)絡(luò)模型以提取高層人臉特征表達,通過比較不同人臉間的相似度得分,實現(xiàn)人臉識別。優(yōu)選的,所述步驟s1中,對訓(xùn)練圖像進行預(yù)處理的步驟如下:運用級聯(lián)cnn檢測器(參考:zhangk,zhangz,liz,etal.jointfacedetectionandalignmentusingmultitaskcascadedconvolutionalnetworks[j].ieeesignalprocessingletters,2016,23(10):1499-1503.),對訓(xùn)練圖像進行人臉檢測和關(guān)鍵點定位,并根據(jù)關(guān)鍵點位置進行旋轉(zhuǎn)、縮放、裁剪等操作,得到對齊后的大小統(tǒng)一的人臉圖像塊,作為網(wǎng)絡(luò)的輸入。具體的,步驟s2中,所述softmax損失用下式來表達:其中,m為批尺寸(batchsize)的大小,為第i個樣本的深度特征,為最后一個全連接層的權(quán)重,為偏置項,d為特征向量的長度,n為訓(xùn)練集的總類別數(shù),yi為樣本xi所屬的類別,t為矩陣轉(zhuǎn)置符號。具體的,步驟s2中,所述關(guān)鍵點池化技術(shù)的實現(xiàn)方法如下:根據(jù)關(guān)鍵點的位置,直接在深度卷積神經(jīng)網(wǎng)絡(luò)的輸出特征圖上完成關(guān)鍵點池化操作,池化(pooling)出關(guān)鍵點附近區(qū)域的局部特征,從而利用人臉結(jié)構(gòu)信息,輔助人臉識別。具體的,步驟s3中,計算初始類中心的步驟是:將所有訓(xùn)練圖像輸入所述預(yù)訓(xùn)練的基于關(guān)鍵點池化的深度卷積神經(jīng)網(wǎng)絡(luò)模型,提取對應(yīng)的人臉特征表達,計算每一類所有樣本特征的算數(shù)平均值,將該平均值作為該類的初始類中心。聚集損失首先對每個類學(xué)習(xí)一個類中心,使得每類樣本向類中心聚集,減少類內(nèi)距離,同時增大不同類中心之間的間距,增大類間距離,從而學(xué)習(xí)到魯棒的有判別性的人臉特征表達。具體的,步驟s4中,利用聚集損失這一深度度量學(xué)習(xí)函數(shù)對預(yù)訓(xùn)練的模型進行精調(diào)的步驟是:(4-1)將預(yù)處理后的圖像輸入預(yù)訓(xùn)練的模型,使用聚集損失作為損失函數(shù),進行參數(shù)精調(diào);初始類中心由步驟s3所述方法得到;(4-2)聚集損失用下式表達:其中,為類內(nèi)損失,f(xi)為第i個樣本的深度特征,為第yi類的類中心;為類間損失,表示批(batch)中第j短的類中心距離,d為歐式距離,λ為異類類中心之間希望滿足的間隔(margin);α,β為平衡類內(nèi)損失和類間損失的參數(shù);(4-3)根據(jù)公式(5)、(6)、(7)、(8)更新網(wǎng)絡(luò)參數(shù)以及類中心:在公式(6)中,1(yi=j(luò))為指示函數(shù),當(dāng)yi=j(luò)時,取值1,否則取值0,整個公式表示在整個批中,類別為j的樣本數(shù)為0。更進一步的,所述步驟s4中,采用googlenet(參考:szegedyc,liuw,jiay,etal.goingdeeperwithconvolutions[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2015:1-9.)作為基本網(wǎng)絡(luò)模型,并整合了關(guān)鍵點池化層,網(wǎng)絡(luò)的訓(xùn)練采取隨機梯度下降法。本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果:1、本發(fā)明提出基于深度度量學(xué)習(xí)函數(shù)——聚集損失進行人臉識別,該方法利用聚類中心的思想,使得同類樣本向類中心聚集,不同類的類中心保持較遠距離,避免了復(fù)雜的難例挖掘,能夠?qū)W習(xí)到魯棒的有判別性的人臉特征表達。2、本發(fā)明是首次將關(guān)鍵點池化技術(shù)運用到人臉識別中,可以直接在特征圖上池化出關(guān)鍵點區(qū)域附近的局部特征,充分利用人臉的結(jié)構(gòu)信息輔助人臉識別。,同時避免了針對局部圖像塊訓(xùn)練多個網(wǎng)絡(luò)模型,大大降低了計算復(fù)雜度。3、本發(fā)明提出的基于聚集損失深度度量學(xué)習(xí)的人臉識別方法,在訓(xùn)練樣本較少的情況下依然有較高的識別準(zhǔn)確率,可應(yīng)用于人臉識別、人臉比對系統(tǒng)。附圖說明圖1為本發(fā)明方法的操作流程圖。圖2為本實施例圖像預(yù)處理的結(jié)果示例圖,其中(a)為檢測到人臉圖像的原圖,(b)為標(biāo)記關(guān)鍵點的人臉圖像。圖3為聚集損失的優(yōu)化方向示例圖。圖4為關(guān)鍵點池化層(landmarkpoolinglayer)的示例圖。圖5為本發(fā)明網(wǎng)絡(luò)結(jié)構(gòu)的示例圖。圖6為blufr協(xié)議的roc曲線,其中(a)為各種方法在驗證準(zhǔn)確率上的roc曲線,(b)為各種方法在檢測識別率上的roc曲線。具體實施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清晰,下面結(jié)合具體實施例,并參照詳細附圖,對本發(fā)明作進一步詳細的描述,但所描述的實施例僅旨在便于對本發(fā)明的理解,而對其不起任何限定作用。實施例1如圖1所示,本實施例基于聚集損失深度度量學(xué)習(xí)的人臉識別方法,包括下述步驟:步驟s1,圖像預(yù)處理:運用級聯(lián)cnn檢測器對訓(xùn)練圖像進行人臉檢測和關(guān)鍵點定位,并根據(jù)關(guān)鍵點位置進行旋轉(zhuǎn)、縮放、裁剪等操作,得到對齊后的224*224大小的人臉圖像塊,作為網(wǎng)絡(luò)的輸入。本發(fā)明中,對訓(xùn)練圖像和待識別圖像采用相同的預(yù)處理方式,圖2(a)、(b)為圖像預(yù)處理的結(jié)果圖。運用人臉檢測器檢測人臉,并得到5個關(guān)鍵點:左眼中心、右眼中心、鼻子中心,左嘴角和右嘴角,根據(jù)關(guān)鍵點位置進行相似變換,再進行縮放、裁剪等操作,得到224*224大小的人臉圖像塊,作為網(wǎng)絡(luò)的輸入。步驟s2,預(yù)訓(xùn)練分類網(wǎng)絡(luò):用預(yù)處理好的人臉圖像對深度卷積神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練,采用softmax損失作為網(wǎng)絡(luò)的損失函數(shù),在網(wǎng)絡(luò)結(jié)構(gòu)方面引入關(guān)鍵點池化技術(shù),利用人臉結(jié)構(gòu)信息輔助人臉識別,得到預(yù)訓(xùn)練的基于關(guān)鍵點池化的深度卷積神經(jīng)網(wǎng)絡(luò)模型;其中,所述softmax損失用下式來表達:其中,m為batchsize的大小,為第i個樣本的深度特征,為最后一個全連接層的權(quán)重,為偏置項。圖4為關(guān)鍵點池化層的示例圖。根據(jù)關(guān)鍵點的位置,直接在深度卷積神經(jīng)網(wǎng)絡(luò)的輸出特征圖上完成關(guān)鍵點池化操作,本實施例具體采用roipooling方法實現(xiàn),池化出關(guān)鍵點附近區(qū)域的局部特征,從而利用人臉結(jié)構(gòu)信息,輔助人臉識別。需要說明的是,本實施例中,一共選取了3個roi區(qū)域,分別對應(yīng)兩個眼睛以及鼻子和嘴巴區(qū)域(如圖4所示)。步驟s3,計算初始類中心:將所有訓(xùn)練圖像輸入所述預(yù)訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)模型,提取對應(yīng)的人臉特征表達,計算每一類所有樣本特征的算數(shù)平均值,將該平均值作為該類的初始類中心。值得說明的是,本發(fā)明通過預(yù)訓(xùn)練模型來計算初始類中心,而不是通過隨機初始化得到,該方法得到的初始類中心相對準(zhǔn)確,可避免隨機初始化導(dǎo)致的網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定問題,提高網(wǎng)絡(luò)收斂速度。步驟s4,利用深度度量學(xué)習(xí)函數(shù)——聚集損失精調(diào)網(wǎng)絡(luò)。聚集損失用下式表達:其中,為類內(nèi)損失,f(xi)為第i個樣本的深度特征,為第yi類的類中心;為類間損失,表示batch中第j短的類中心距離,d為歐式距離,λ為margin;α,β為平衡類內(nèi)損失和類間損失的參數(shù);根據(jù)公式(5)、(6)、(7)、(8)更新網(wǎng)絡(luò)參數(shù)以及類中心:這樣的損失函數(shù)可以對類內(nèi)和類間距離加以約束,減少每類樣本到其類中心的距離,同時增大不同類的類中心之間的距離,從而學(xué)習(xí)到類內(nèi)內(nèi)聚,類間可分的魯棒特征。圖3為聚焦損失的優(yōu)化方向示意圖。需要說明的是,本發(fā)明采用googlenet作為基本網(wǎng)絡(luò)模型,并整合了關(guān)鍵點池化層,模型的結(jié)構(gòu)如圖5所示。網(wǎng)絡(luò)的訓(xùn)練采取隨機梯度下降法,多次迭代直至模型收斂,網(wǎng)絡(luò)性能達到最優(yōu),從而獲得最終的深度卷積神經(jīng)網(wǎng)絡(luò)模型。步驟s5,具體到實際應(yīng)用,先對輸入人臉圖像進行步驟s1相同的預(yù)處理,分別輸入到最終的深度卷積神經(jīng)網(wǎng)絡(luò)模型,提取最后一個全連接層的輸出作為人臉特征表達,計算不同人臉之間的相似度得分,相似度計算可直接采用歐式距離,距離越小,則相似度越高,相似度最高的則判為同一個人,從而實現(xiàn)人臉識別。本實施例通過以下實驗驗證本發(fā)明的有效性,本實驗分為兩部分:第一部分,在blufr協(xié)議(參考:liaos,leiz,yid,etal.abenchmarkstudyoflarge-scaleunconstrainedfacerecognition[c]//biometrics(ijcb),2014ieeeinternationaljointconferenceon.ieee,2014:1-8.)上,采用不同的損失函數(shù),相同的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練數(shù)據(jù)來訓(xùn)練模型,以驗證聚集損失(concentrateloss)以及關(guān)鍵點池化技術(shù)的有效性;第二部分,在labeledfacesinthewild(lfw),youtubefaces(ytf)數(shù)據(jù)庫上,與目前效果最好的幾種人臉識別方法作比較。關(guān)于超參數(shù)的選取,在本實驗中,公式(3)中的k取1,λ取0.5。對于公式(4)中α,β的選取,表1列出了不同α,β值對網(wǎng)絡(luò)性能的影響。表1不同α,β在lfw上的驗證準(zhǔn)確率α,βα=1,β=0.1α=1,β=1α=0.1,β=1acc.onlfw99.20%99.28%99.15%可以看出,α,β對性能的影響不大,當(dāng)α,β取1時,性能達到最優(yōu),因此下面的實驗均取α=β=1。在blufr上的實驗:lfw數(shù)據(jù)庫(參考:huanggb,rameshm,bergt,etal.labeledfacesinthewild:adatabaseforstudyingfacerecognitioninunconstrainedenvironments[r].technicalreport07-49,universityofmassachusetts,amherst,2007.)包含5749個人,13233張圖像,是目前最常用的人臉驗證數(shù)據(jù)集。然而,它僅包含6000個人臉對,難以評估算法在低錯誤接收率下的性能。因此,blufr協(xié)議被提出,用以充分利用lfw中的所有圖像。blufr協(xié)議包括人臉驗證和開集識別兩個實驗,尤其關(guān)注低錯誤接收率下的性能。blufr分為10個子實驗,每個子實驗平均包含156915個正樣本對和46960863個負(fù)樣本對。本實驗分別采用不同損失函數(shù)(softmaxloss、contrastiveloss、tripletloss、centerloss和concentrateloss)來訓(xùn)練模型,為了公平比較,采用相同的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練數(shù)據(jù)集。對于本發(fā)明的方法,采用帶有關(guān)鍵點池化層的googlenet,對于其他方法,采用標(biāo)準(zhǔn)googlenet。評測標(biāo)準(zhǔn)采用far=0.1%時的驗證準(zhǔn)確率以及rank=1,far=1%時的開集識別率。實驗結(jié)果見表2??梢钥闯?,在同樣采用softmax損失的情況下,本發(fā)明基于關(guān)鍵點池化層的googlenet要優(yōu)于標(biāo)準(zhǔn)googlenet,驗證準(zhǔn)確率提升了4.03%,開集識別率提升了6.54%,這證明了關(guān)鍵點池化技術(shù)的有效性。此外,加上聚集損失后,進一步提高了性能(92.59%vs95.22%,65.64%vs65.81%),這證明了聚集損失的有效性。總的來說,本發(fā)明方法不管是在驗證準(zhǔn)確率還是開集識別率(即檢測識別率)上,都超出了其他方法。圖6(a)、(b)分別為驗證和開集識別的roc曲線。表2blufr協(xié)議實驗結(jié)果在lfw和ytf上的實驗:ytf數(shù)據(jù)庫(參考:wolfl,hassnert,maozi.facerecognitioninunconstrainedvideoswithmatchedbackgroundsimilarity[c])是一個人臉視頻數(shù)據(jù)庫,包含3425段視頻,1595個人。本實驗比較了本發(fā)明方法和幾種目前最優(yōu)方法,評測指標(biāo)采用驗證準(zhǔn)確率。實驗結(jié)果見表3。表3lfw和ytf的實驗結(jié)果其中,ours(softmax)為本發(fā)明方法的基準(zhǔn)方法,deepface是taigman等人的文章《deepface:closingthegaptohuman-levelperformanceinfaceverification》,deepid-2+來自yisun等人的文章《deeplearningfacerepresentationbyjointidentificationverification》,baidu來自jinguoliu等人的文章《targetingultimateaccuracy:facerecognitionviadeepembedding》,facenet來自schroff等人的文章《facenet:aunifiedembeddingforfacerecognitionandclustering》,vggface來自parkhi等人的文章《deepfacerecognition》,centerloss來自wen等人的文章《adiscriminativefeaturelearningapproachfordeepfacerecognition》。由表3可看出,相比于基準(zhǔn)方法,本發(fā)明方法將lfw準(zhǔn)確率提高了0.98%,ytf準(zhǔn)確率提高了1.38%,再次證明了聚集損失的有效性。此外,本發(fā)明方法超過了大部分目前最優(yōu)方法,值得說明的是,本發(fā)明方法僅用了小規(guī)模訓(xùn)練數(shù)據(jù)(70萬),就達到了目前最優(yōu)效果。而其他方法則用了比本發(fā)明方法多好幾倍甚至幾十倍的訓(xùn)練數(shù)據(jù)。從以上結(jié)果可以看出,本發(fā)明提出的基于聚集損失深度度量學(xué)習(xí)的人臉識別方法能夠?qū)W習(xí)到魯棒有判別性的人臉特征表達,并有效提高人臉識別精度,可應(yīng)用于人臉比對、人臉檢索等系統(tǒng)。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。當(dāng)前第1頁12