易鋒 胡馨瑩
摘要:隨著計算機技術、圖像處理和計算機視覺技術的快速發(fā)展,行人人臉識別相關問題的研究熱度逐年升高。行人人臉識別是為了識別不同攝像頭中的同一個人,由于行人的角度、姿勢、光照等發(fā)生變化時容易影響行人的外觀,使得行人人臉識別問題具有一定的難度。本文提出了一種基于深度殘差網(wǎng)絡(ResNet)與度量學習的行人人臉識別算法,將基于函數(shù)的度量學習方法與深度殘差網(wǎng)絡相結(jié)合,可以解決當前網(wǎng)絡層次不斷增加時梯度消失的現(xiàn)象,并可通過單純增加網(wǎng)絡深度來提高網(wǎng)絡性能。通過實驗驗證,提出的算法在LFW上的實驗結(jié)果較好,說明該算法可在實際場景中得到較好的應用。
關鍵詞:計算機技術;人臉識別;圖像處理
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)23-0233-03
1研究背景
身份驗證經(jīng)常在多種日常場景中出現(xiàn),如考勤、支付等,已成為現(xiàn)在生活不可缺少的一部分。隨著計算機技術的快速發(fā)展,身份驗證的方式從指紋識別到虹膜識別,再到人臉識別,其使用的簡單性和驗證的準確性不斷提升。
人臉識別是一項基于人臉特征進行身份識別的生物識別技術,是通過用攝像頭采集人臉的圖像或視頻,并進行自動檢測從而實現(xiàn)身份識別。人臉具有唯一性和不容易被復制的特點,且與傳統(tǒng)的生物識別技術如指紋和虹膜識別相比,具有非強制性、非接觸性和并發(fā)性等三大特點,使其在公共安全、信息安全等方面得到廣泛應用。
近些年來,隨著卷積神經(jīng)網(wǎng)絡CNN的不斷發(fā)展,以及CNN可以避免對圖像進行復雜的預處理,直接輸入原始圖像進行處理,且具有更高的識別準確率,使得基于CNN的人臉識別取得了優(yōu)秀的成績。DeepID1便是通過使用CNN學習特征,對任意輸入的一張圖片,生成160維的特征向量,然后再使用淺層機器學習組合貝葉斯進行分類。
但是由于行人所處環(huán)境較為復雜,處于時刻變化之中,通過傳統(tǒng)的分類網(wǎng)絡進行人臉識別難以達到理想的識別精度。同時,在使用特征學習方法進行訓練時,為了保證分類準確率會產(chǎn)生大量的訓練數(shù)據(jù)。這些數(shù)據(jù)是正、負樣本對,由于其生成的隨機性使得網(wǎng)絡深度加深,使得神經(jīng)網(wǎng)絡不夠穩(wěn)定,性能降低。
針對許多方法的各種不足,本文提出了一種基于深度殘差網(wǎng)絡(ResNet)與度量學習的人臉識別方式,將基于函數(shù)的度量學習方法與深度殘差網(wǎng)絡相結(jié)合,可以解決當前網(wǎng)絡層次不斷增加時梯度消失的現(xiàn)象,這樣能夠通過單純地增加網(wǎng)絡深度來提高網(wǎng)絡性能。
2基于深度殘差網(wǎng)絡與度量學習的特征提取方法
目前基于CNN的特征提網(wǎng)絡大多是使用分類損失作為網(wǎng)絡訓練的監(jiān)督訊號,這些網(wǎng)絡訓練的目標是使得不同類別的距離變得更遠。但由于環(huán)境因素影響,同一個人的不同人臉的圖片可能也存在很大的差別,甚至可能出現(xiàn)不同人臉的相似度比同一個人的不同人臉圖片的相似度還要高的識別結(jié)果。
所以特征學習的目標是不僅需要增大不同類之間的距離還需要減小同類之間的距離。在學習特征的時候,在考慮分類準確率的同時考慮類間差距,且在目標函數(shù)上加入了驗證信號即驗證損失。但是在進行訓練時,訓練數(shù)據(jù)是大量的正、負樣本對。正、負樣本對的功能分別是減小同類間距離和增大不同類間距離。但由于大量正、負樣本對的生成是隨機的,會使得網(wǎng)絡的性能大大下降。
在本文中,我們首先說明使用卷積神經(jīng)網(wǎng)絡來實現(xiàn)人臉識別時,神經(jīng)網(wǎng)絡建模遇到的困難和解決途徑,同時說明在訓練網(wǎng)絡時使用的目標函數(shù)和訓練設置。我們進行了多種網(wǎng)絡的設置和建模,并將所得較優(yōu)的網(wǎng)絡用于后面的實驗部分。
2.1基于深度殘差網(wǎng)絡結(jié)構(gòu)的人臉特征提取網(wǎng)絡
卷積神經(jīng)網(wǎng)絡CNN的結(jié)構(gòu)一般由下面幾個模塊相交互構(gòu)成:輸入層、卷積層、池化層、全連接層和輸出層。
輸入層是卷積網(wǎng)絡的前端,圖像直接輸入到輸入層中。在人臉識別問題中,所輸入的圖像是多種形態(tài)的人臉圖像,常見的形態(tài)是固定攝像頭拍攝的相同場景中的人臉。通常這樣的圖像需要經(jīng)過人臉檢測的步驟將人臉框出等一系列預處理,使得人臉圖像能夠統(tǒng)一到相似的環(huán)境和設置中。例如在LFW人臉識別數(shù)據(jù)庫中便存有不同場景中的人臉圖像和經(jīng)過對齊等預處理后的人臉圖像。
卷積層是卷積網(wǎng)絡的重要組成部分。卷積層的特點是卷積核的權重是共享的。不同通道上的信息會通過卷積核映射到下一層的通道的相應位置。卷積層的這個特點使得卷積網(wǎng)絡有著和標準的多層感知機模型不同的性質(zhì),就是卷積層使得卷積網(wǎng)絡具有位置不變性的特點。不論檢測對象在圖像的位置如何,卷積網(wǎng)絡都有著相同的輸出。
池化層常常間隔的用在卷積層之間。池化層的作用是在一定視野內(nèi)收集通過卷積核形成的圖像特征。由于是多個點的特征通過池化層被收集到一個點上,因此池化層也給卷積網(wǎng)絡帶來了一些新的特點,例如我們可以通過池化層得到旋轉(zhuǎn)不變性的特性。這擴展了捕捉圖像特性的能力,在圖像識別任務中起到了提高識別率的效果。
全連接層是上層神經(jīng)元和下一層神經(jīng)元都有充分鏈接的神經(jīng)網(wǎng)絡組成部分。多層感知機就是由全連接層以此疊加組成的。全鏈接層常常設置在網(wǎng)絡的輸出部分以通過不同的圖像特征組合得到區(qū)別不同圖像類別的特征組合方式。在全局逼近定理的保證下,足夠多的中間層神經(jīng)元可以近似模擬任何的非線性關系。在卷積網(wǎng)絡中,全連接層放置在網(wǎng)絡輸出端來建立從圖像特征到圖像類別的關系。
輸出層是卷積神經(jīng)網(wǎng)絡最后的組成部分。輸出層常常由sigmoid函數(shù)輸出后再輸入softmax函數(shù)而得到每個類別的比重。為了數(shù)值上的穩(wěn)定,我們將sigmoid函數(shù)和softmax函數(shù)放到一個模塊中實現(xiàn)。
2.2基于殘差網(wǎng)絡的人臉識別網(wǎng)絡
一般情況下,為了能夠獲得魯棒性更強的特征,研究者常使用加深和加寬網(wǎng)絡結(jié)構(gòu),并通常采用以下方法加以實現(xiàn):
(1)通過卷積層和池化層的相互疊加;
(2)使用多個全連接層。
但是通過這些方法構(gòu)建的加深和加寬的網(wǎng)絡結(jié)構(gòu)也會產(chǎn)生下述問題:
(1)網(wǎng)絡參數(shù)過多的情況下,極易出現(xiàn)過擬合現(xiàn)象;
(2)網(wǎng)絡深度不斷增加的情況下,梯度消失的現(xiàn)象越來越明顯,網(wǎng)絡的性能明顯下降;
(3)網(wǎng)絡的尺寸不斷增大會使得計算復雜度增大,消耗的資源變多也會導致網(wǎng)絡的性能下降。
為解決上述三個問題,我們在研究中構(gòu)建了ResNet深度殘差網(wǎng)絡,與傳統(tǒng)網(wǎng)絡相比較,其包含有殘差網(wǎng)絡結(jié)構(gòu),并加入了y=x(恒等映射層),可使網(wǎng)絡隨著深度的增加不會出現(xiàn)梯度消失的現(xiàn)象,并且具有較好的收斂效果。我們通過疊加25個卷積層,構(gòu)建的ResNet-25網(wǎng)絡模型如圖1所示。ResNet-25網(wǎng)絡模型中ResNet殘差單元的基本結(jié)構(gòu)如圖2所示。
在網(wǎng)絡輸出后我們利用交叉熵作為目標函數(shù)來訓練網(wǎng)絡。同時我們在實驗中利用ResNet-25來得到所有的實驗結(jié)果。
通過以上方式所構(gòu)建的ResNet深度殘差網(wǎng)絡,其優(yōu)點是網(wǎng)絡只需建模不同層間數(shù)據(jù)的變化,無須利用卷積層去建模數(shù)據(jù)分布分身。這大大降低了網(wǎng)絡對數(shù)據(jù)建模的復雜性,提高了網(wǎng)絡效能。使得網(wǎng)絡在使用較少參數(shù)的情況下就可以對數(shù)據(jù)進行較好的建模,提高識別準確率。
3 實驗結(jié)果及分析
3.1 訓練樣本
文本使用的訓練樣本是WIDER FACE人臉數(shù)據(jù)集。WIDER FACE是由香港中文大學提供的擁有更廣泛人臉數(shù)據(jù)的數(shù)據(jù)集。其包括了393703個人臉圖像,在角度、姿勢、光照等方面都有不同的變化。
3.2測試集
本文使用的測試集是LFW人臉數(shù)據(jù)庫。LFW是一個用于研究無約束的人臉數(shù)據(jù)庫,大約有13000張人臉圖像,每張圖像都以被拍攝的人名命名。其中有1680人有兩張或以上不同的照片。
3.3實驗細節(jié)
實驗對所有訓練集和測試集都需要進行相同的預處理,并通過以下兩步實現(xiàn)。
第一步:用HOG特征和SVM分類器對人臉進行檢測和人臉的68個特征點定位;
第二步:經(jīng)過ResNet生成128維向量空間。
網(wǎng)絡的訓練參數(shù)設置如下:初始學習率設置為0.01,權重衰減設置為0.005,訓練批次大小設置為32,最大迭代次數(shù)為10萬次。之后根據(jù)獲得的向量空間進行距離度量。
3.4LFW庫測試結(jié)果及分析
在實驗過程中,我們首先在訓練數(shù)據(jù)集上按照前述的設置訓練我們的網(wǎng)絡模型,之后在測試數(shù)據(jù)集上驗證我們的模型效果。當我們觀察到模型在訓練過程中開始出現(xiàn)過擬合的情況時,我們停止模型的訓練。圖3所示為模型在LFW訓練數(shù)據(jù)集上的ROC圖。從圖中我們可以看見ROC曲線已經(jīng)極大的偏向左上角。說明模型有足夠的表達能力,已經(jīng)可以擬合訓練數(shù)據(jù)集上的數(shù)據(jù)。在LFW測試數(shù)據(jù)集上的ROC圖如圖4所示,我們可以看到在測試數(shù)據(jù)集上的ROC仍然較強的偏向左上角,模型在沒有見過的數(shù)據(jù)上任然能夠得到較好的結(jié)果,說明模型在LFW數(shù)據(jù)集上有著較好的泛化能力。在圖4中,我們可以看到最終準確率可到94%。通過實驗,我們可以得到使用ResNet-25作為卷積神經(jīng)網(wǎng)絡的核心應用到人臉識別問題上可以在LFW數(shù)據(jù)集上取得較好的效果。
4 結(jié)論
本文針對行人人臉識別過程中,因為獲得更強魯棒性特征而使用加深加寬網(wǎng)絡結(jié)構(gòu)時所導致的問題,提出了一種基于深度殘差卷積網(wǎng)絡的人臉識別方法。在這種方法中我們使用多層殘差卷積網(wǎng)絡作為基礎,提出了合適的目標函數(shù)來和相應參數(shù)對網(wǎng)絡模型進行了構(gòu)建和訓練,并通過LFW庫人臉數(shù)據(jù)集對網(wǎng)絡模型進行了實驗驗證。實驗結(jié)果表明本文所提出的方法能夠有效地提高人臉識別的效能,可進一步擴展至不同場景中進行檢驗和應用。
參考文獻
[1]栗科峰,黃全振.融合深度學習與最大間距準則的人臉識別方法[J].計算機工程與應用,2018,54(05):206-210.
[2]郭金鑫,陳瑋.基于HOG多特征融合與隨機森林的人臉識別[J].計算機科學,2013,40(10):279-282+317.
[3]Taigman Y, Yang M, Ranzato M, et al. DeepFace: Closing the Gap to Human-Level Performance in Face Verification[C], IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2014:1701-1708.
[4]Schroff F, Kalenichenko D, Philbin J. FaceNet: A unified embedding for face recognition and clustering[J]. 2015:815-823.
[5]Sun Y, Wang X, Tang X. Deep Learning Face Representation from Predicting 10,000 Classes[C], IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2014:1891-1898.
[6]Dalal N, Triggs B. Histograms of Oriented Gradients for Human Detection[C], IEEE Computer Society Conference on Computer Vision & Pattern Recognition. IEEE Computer Society, 2005:886-893.
【通聯(lián)編輯:光文玲】