余成波 田桐 熊遞恩 許琳英
摘要:深度學習在人臉識別領(lǐng)域已經(jīng)取得了巨大的成就,針對當前大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)采用Softmax損失函數(shù)進行特征分類,增加新的類別樣本會減小類間距離的增長趨勢,影響網(wǎng)絡(luò)對特征判別的問題,采用了一種基于中心損失與Softmax損失聯(lián)合監(jiān)督的人臉識別算法,來提高網(wǎng)絡(luò)對特征的識別能力。在Softmax基礎(chǔ)上,首先,分別對訓練集每個類別在特征空間維護一個類中心,訓練過程新增加樣本時,網(wǎng)絡(luò)會約束樣本的分類中心距離,從而兼顧了類內(nèi)聚合與類間分離。其次,引入動量概念,在分類中心更新的時候,通過保留之前的更新方向,同時利用當前批次的梯度微調(diào)最終的更新方向,該方法可以在一定程度上增加穩(wěn)定性,提高網(wǎng)絡(luò)的學習效率。最后,在人臉識別基準庫LFW上的測試實驗證明:所提的聯(lián)合監(jiān)督算法,在較小的網(wǎng)絡(luò)訓練集上,獲得了99.31%的人臉識別精度。
關(guān)鍵詞:深度學習;中心損失;Softmax損失;動量;人臉識別
中圖分類號:TP391.4
文獻標志碼:A文章編號:1000-582X(2018)05-092-09
Abstract: Nowadays, deep learning has made great achievements in face recognition. Most of the convolutional neural network uses the Softmax loss function to increase the distance between classes. However, adding samples of new classes will reduce the distance between classes and the performance of the network. In order to improve the recognition ability of the network characteristics, a face recognition approach based on joint supervision of center loss and Softmax loss is proposed. On the basis of Softmax, first of all, a class center is maintained in the feature space for each class of the training set. When a new sample is added to the training process, the network will constrain the distance of the classification center of the sample, and thus both intra-class aggregation and inter-class separation are considered. Secondly, the concept of momentum is introduced. When the classification center is updated, by retaining the previous update direction and using the gradient of the current batch to fine-tune the final update direction, the method can increase the stability and improve the learning efficiency of the network. Finally, the test experiments on the face recognition benchmark library LFW (labeled faces in the wild) prove that the proposed joint supervision algorithm achieves 99.31% of face recognition accuracy on a small network training set.
Keywords: deep learning; central loss; Softmax loss; momentum; face recognition
近年來,隨著深度學習的不斷發(fā)展,人臉識別技術(shù)已經(jīng)獲得了飛躍式的發(fā)展[1]。相較于傳統(tǒng)的人臉識別技術(shù),如:特征臉、局部特征分析法、基于幾何特征法等,深度卷積神經(jīng)網(wǎng)絡(luò)(CNNs, convolutional neural networks)進行的人臉識別,能有效的克服諸如光照、多姿態(tài)、面部遮擋等干擾。深度卷積神經(jīng)網(wǎng)絡(luò)是通過不斷的訓練從圖片中提取特征,克服了手動選擇中人為的主觀性[2]。對于CNNs的常用人臉識別框架如圖1所述。
早期的人臉識別通過不斷的研究網(wǎng)絡(luò)結(jié)構(gòu)來提升人臉的識別精度,其中較著名的網(wǎng)絡(luò)有Lenet[3]、Alexnet[4]、Googlenet[4]、VGG[5]、Deep Residual Learning[6]等,其研究結(jié)果表現(xiàn)在網(wǎng)絡(luò)越深,獲得的識別精度就越高。然而,這些網(wǎng)絡(luò)結(jié)構(gòu)需要大量的人臉數(shù)據(jù)庫、較大的計算資源及消耗大量的計算時間,而讓許多研究者望而卻步,并成為人臉識別的研究瓶頸。為了解決這個問題,文獻[7]提出了遷移學習方法,并得到迅速發(fā)展,被廣大研究者廣泛使用。遷移學習可以利用現(xiàn)有的訓練好的網(wǎng)絡(luò)模型,在樣本數(shù)據(jù)不是特別充足的情況下獲得較好的結(jié)果。但遷移學習的前提是訓練數(shù)據(jù)具有相似性,否則性能將會降低。
由于相似性的訓練數(shù)據(jù)不具有普遍性,而簡單的網(wǎng)絡(luò)結(jié)構(gòu)不能滿足需求,因此研究者將目光轉(zhuǎn)向了對數(shù)據(jù)特征關(guān)系的研究。在2005年,文獻[8]中就提出可通過計算2幅人臉圖像的相似距離來識別人臉,孿生網(wǎng)絡(luò)[9]被廣泛使用,孿生網(wǎng)絡(luò)能夠很好的提取2個輸入獲取到的特征的相似性。2014年,Taigman等人[10]通過對人臉進行三維對稱處理,使用DeepFace孿生網(wǎng)絡(luò)結(jié)構(gòu)進行訓練,該方法在LFW(labeled faces in the wild)人臉數(shù)據(jù)庫上進行測試的精度達到了97.25,接近人眼識別精度。Sun等人[11]在DeepFace的基礎(chǔ)上提出了DeepID(deep hidden identity features)網(wǎng)絡(luò),采用Softmax損失函數(shù)作為監(jiān)督信號,通過在CelebFaces 和 WDRef結(jié)合的較大的人臉數(shù)據(jù)庫上進行訓練,最終在LFW上達到了97.35%的精度。
Softmax損失監(jiān)督網(wǎng)絡(luò)在面對未訓練過的新標簽樣本時,由于網(wǎng)絡(luò)對特征的泛化能力不足,其識別效果不佳。為了解決這個問題,文獻[12]中提出使用識別信號和驗證信號進行聯(lián)合監(jiān)督,其中識別信號能增大不同人臉的差異性,驗證信號能減小人臉類內(nèi)差異,使得在LFW上識別精度達到99.15%。與選取某一層直接使用損失進行分類的方法不同,文獻[13]提出了triplet損失函數(shù)作為監(jiān)督信號,直接學習圖像到歐式空間上點的映射,2張圖像所對應(yīng)的特征的歐式空間上的點的距離直接對應(yīng)著2個圖像是否相似,來獲得更好的分類效果,該方法在LFW上達到了99.63%的精度。
文獻[13]中的方法對訓練樣本數(shù)量要求很高,并且計算量增大,訓練步驟也變得復雜。為了解決這個問題,研究采用了一種中心損失與Softmax損失進行聯(lián)合監(jiān)督的方法,該方法在增大不同人臉間距離的同時,減小同一個人臉內(nèi)部的距離,從而使學習到的特征具有更好的泛化性和辨別能力,提高深度卷積網(wǎng)絡(luò)對特征的識別能力。其優(yōu)點是收斂速度更快、所需樣本數(shù)量比其他方法少,最后,通過在基準LFW庫的實驗也證明了算法的有效性,獲得了99.31%的人臉識別精度。
1 損失函數(shù)及算法步驟
在卷積神經(jīng)網(wǎng)絡(luò)的前向傳播中,通過網(wǎng)絡(luò)最后一層預測結(jié)果與真實結(jié)果的比較得到損失,計算誤差更新值,通過反向傳播對網(wǎng)絡(luò)的所有權(quán)值進行更新。其中,損失層是前向傳播的終點,也是反向傳播的起點。通過對預測值和真實值的計算,得到損失函數(shù)(loss function)的值,而分類中的優(yōu)化過程實質(zhì)就是對損失函數(shù)進行最小化的過程??梢圆捎锰荻认陆捣ǖ葍?yōu)化算法計算最小值。
1.1 Softmax損失
Softmax 函數(shù)是 Logistic 函數(shù)[14]的推廣,主要用于解決多分類問題。Softmax所獲得的結(jié)果代表輸入圖像被分到每一類的概率,若是一個K分類器,則輸出是一個K維的向量(向量中元素的和為1)。
通過聯(lián)合監(jiān)督方法不僅解決了對比損失中無法采集合適的樣本對的問題,同時也解決了三重損失中復雜采樣的問題。在該中心損失中,采用了對比損失中同類樣本損失公式,用同類樣本中的類中心替換了其中的一個同類樣本,而異類時,是直接采用Softmax損失進行計算。
1.4 網(wǎng)絡(luò)參數(shù)配置及算法步驟
為了有效的實現(xiàn)非限制條件下的人臉識別,將Softmax損失與中心損失相結(jié)合,其聯(lián)合損失的監(jiān)督示意圖如圖3所示,對于整個訓練網(wǎng)絡(luò)的具體參數(shù)的配置見實驗部分。
通過對網(wǎng)絡(luò)結(jié)構(gòu)的研究,構(gòu)建網(wǎng)絡(luò),對于聯(lián)合監(jiān)督算法部分,將算法的輸入抽象為:訓練數(shù)據(jù)集{xi},分別初始化池化層和loss層的參數(shù)θc、W及{cjj=1,2,…,n},同時輸入?yún)?shù):λ、α和學習率μt,其中迭代的次數(shù)t初始化為0。輸出則抽象為輸出參數(shù)θc,因此歸納聯(lián)合監(jiān)督的人臉識別算法步驟如下所示。
2 實驗及結(jié)果分析
為驗證算法的有效性,選用人臉基準庫LFW人臉庫進行人臉識別實驗。實驗選用網(wǎng)絡(luò)中單獨使用Softmax損失監(jiān)督的Model A、Softmax損失與對比損失聯(lián)合監(jiān)督的Model B幾個使用最廣泛的網(wǎng)絡(luò)模型與算法的Model C進行對比分析。
2.1 網(wǎng)絡(luò)模型及數(shù)據(jù)集
2.1.1 網(wǎng)絡(luò)模型
VGGNet[17]是Andrew Zisserman 教授研究團隊(Oxford)提出的一種CNN,該網(wǎng)絡(luò)相較于AlexNet具有更深的網(wǎng)絡(luò)結(jié)構(gòu),通常有16~19層,且其所有卷積層都使用了同樣的大小的卷積核,大小為3×3。VGGNet在2014年的ILSVRC定位和分類2個問題上分別取得了第一名和第二名。因此,全部采用3×3的網(wǎng)絡(luò)結(jié)構(gòu)來組建網(wǎng)絡(luò)。此外,受Resnet[18]的啟發(fā),在VGGNet基礎(chǔ)上添加殘差網(wǎng)絡(luò)結(jié)構(gòu),其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。其卷積層由一個3×3的步長為1的卷積網(wǎng)絡(luò)和一個PReLU激活函數(shù)組成。對于圖4中的LC層,其結(jié)構(gòu)如圖5所示。其中,特征圖大小分別為128,256,521,2個全連接層的輸出維度都為512。
2.1.2 數(shù)據(jù)集
①訓練數(shù)據(jù)集
選取CASIA-WebFace作為訓練數(shù)據(jù)集,其包含10 575人的約500 K張圖片。由于該數(shù)據(jù)庫與LFW有3個人臉是重復的,選取了10 572個人的人臉圖像,對其進行剪切、對齊處理(圖像剪切為112×96),采用4∶1的比例拆分訓練數(shù)據(jù)和驗證數(shù)據(jù)。在訓練過程中,對訓練和驗證數(shù)據(jù)做鏡像處理。其訓練數(shù)據(jù)和驗證數(shù)據(jù)如圖6所示。
②測試數(shù)據(jù)集
選取目前廣泛使用的LFW標準人臉識別數(shù)據(jù)集,該數(shù)據(jù)集是是專門用來研究人臉識別問題的數(shù)據(jù)集。該數(shù)據(jù)集包含5 749人,共13 233張人臉圖像。LFW定義了3個標準的協(xié)議(無監(jiān)督、限制與非限制)去評估人臉識別的性能。這里選取了6 000組測試比對集,其中3 000組為相同人的比對集,3 000組為不同人的比對集。經(jīng)過對人臉進行矯正和剪切的預處理后[19-20],其人臉如圖7所示,其中綠色方框中的人臉表示2組中的人臉是同一個人,紅色方框中的人臉表示2組中的人臉不是同一個人。
2.2 不同參數(shù)下人臉識別精度的影響
研究所提算法中,通過使用ρ來控制中心的學習率,λ用來平衡Softmax及中心2個損失,從而加強網(wǎng)絡(luò)對特征的識別能力。η則用來校正特征中心的更新,因此這3個參數(shù)對所述算法起著至關(guān)重要的作用,下面分別對其進行討論。
1)參數(shù)λ對人臉識別精度的影響
本實驗,通過固定ρ及動量η,改變λ參數(shù)的方式進行試驗,從參考文獻[15]中知道,當ρ=0.5的時候,能夠獲得較高的中心學習率。因此,第一個試驗,固定ρ=0.5,η=0.5,而使λ從0變化到1,從而學習到不同的網(wǎng)絡(luò)模型。
在LFW數(shù)據(jù)集上的測試結(jié)果如圖8所示,由圖可知,所提Softmax損失及中心損失聯(lián)合監(jiān)督算法的優(yōu)越性,其人臉識別測試精度,要高于僅Softmax損失監(jiān)督下(當λ=0時,訓練網(wǎng)絡(luò)僅有Softmax損失監(jiān)督)的測試精度。同時,從圖8中也可以得到,一個合適的λ值有助于提高人臉識別精度,參數(shù)λ的最佳結(jié)果為0.003。
2)學習率ρ對人臉識別精度的影響
根據(jù)本章實驗(1)中獲得的最優(yōu)結(jié)果,本節(jié)實驗固定λ=0.003,η=0.5,而讓ρ從0.01變化到1,從而學習到不同的模型。
分別采用這些模型在精準庫LFW上做人臉識別測試,可以得到該實驗的人臉識別精度如圖9所示。由圖9分析得出,選擇合適的ρ值,同樣有助于提高訓練網(wǎng)絡(luò)的人臉識別精度。根據(jù)實驗分析,參數(shù)ρ的最佳結(jié)果為0.6。
3)參數(shù)η對人臉識別精度的影響
根據(jù)實驗(1)、(2)獲得的最優(yōu)結(jié)果,本節(jié)實驗通過固定ρ=0.6,λ=0.003,而讓參數(shù)η在0到1之間η發(fā)生變化,從而訓練到不同的網(wǎng)絡(luò)模型。通過LFW數(shù)據(jù)集上的測試,得到該實驗的人臉識別精度,其實驗結(jié)果如圖10所示。
由圖10分析得出,一個合適的動量選擇,能夠提高訓練網(wǎng)絡(luò)的人臉識別精度,從實驗結(jié)果來看,當η取0.9時,人臉識別精度最高。同時,將其與圖9、圖10對比發(fā)現(xiàn),最佳的λ、ρ及η值,能夠在總體上提高人臉識別精度。
2.3 不同網(wǎng)絡(luò)模型下的人臉識別精度比較
ROC(receiver operating characteristic)曲線和AUC(area under curve)常被用來評價一個二值分類器(binary classifier)的優(yōu)劣[21]。其中,AUC被定義為ROC曲線下的面積。為了說明所提聯(lián)合監(jiān)督算法在人臉識別精度中的優(yōu)勢,將其與目前獲得了最高人臉識別精度的幾種經(jīng)典網(wǎng)絡(luò)模型比較分析,其中,網(wǎng)絡(luò)模型是在CAISA-webface數(shù)據(jù)集上訓練而來的,該數(shù)據(jù)集中的任何一張人臉都與LFW上的人臉不同,并且所采用的參數(shù)ρ=0.6,λ=0.003,η=0.9。
在實驗中,通過人臉驗證試驗繪制ROC曲線,從而評價算法訓練下的分類特征的好壞。人臉驗證試驗是:對于LFW中給定的6 000組測試人臉,分別判斷他們是否是同一個人。經(jīng)過試驗,在LFW測試集中達到了99.31%的平均精度,與表1中所列方法的平均精度和ROC曲線的比較分別如表1和圖11所示,其中用Model A表示僅使用Softmax損失函數(shù)監(jiān)視的模型,Model B表示Softmax損失和對比損失聯(lián)合監(jiān)視的模型,而Model C則表示所提模型。
從表1及圖11的實驗數(shù)據(jù)分析來看,所提算法(Softmax損失與center損失聯(lián)合監(jiān)督)比單一的損失監(jiān)督Model A,在相同訓練數(shù)據(jù)圖片的情況下獲得了較高的識別精度,在LFW基準庫上識別精度從97.35%提高到99.31%。該對比結(jié)果可以證明,聯(lián)合監(jiān)督方法相比單一監(jiān)督方法,在對特征的分類能力上有顯著的提升。其次,研究還將算法與當前使用最為廣泛的聯(lián)合監(jiān)督Model B進行比較,從實驗結(jié)果來看,表1顯示Model C的人臉識別精度從原來的99.28%提高到99.31%,表2可見其訓練時間已經(jīng)縮短。實驗表明網(wǎng)絡(luò)收斂速度已經(jīng)加快,在減小類內(nèi)距離上有更加顯著的優(yōu)勢。最后,表1還列出了當前表現(xiàn)最好的幾種經(jīng)典模型,結(jié)合圖11的ROC曲線??梢娝崴惴P偷淖R別結(jié)果,能夠在使用較小訓練數(shù)據(jù)集的情況下,獲得較高的人臉識別精度。
3 結(jié) 論
筆者提出了一種基于中心損失與Softmax損失聯(lián)合監(jiān)督的人臉識別算法,在LFW人臉庫上的實驗結(jié)果表明:算法能夠提高網(wǎng)絡(luò)對特征的識別能力,將中心損失與Softmax損失相結(jié)合,克服了Softmax損失在面對未訓練過的新標簽樣本時,泛化能力不足的問題。同時,重點引入動量的概念,在分類中心更新的時候,通過保留之前的更新方向,同時利用當前批次的梯度微調(diào)最終的更新方向,該方法可以在一定程度上增加穩(wěn)定性,提高網(wǎng)絡(luò)的學習效率。
最后,實驗表明:在較小的網(wǎng)絡(luò)訓練集的基礎(chǔ)上,算法獲得了99.31%的人臉識別精度,從而驗證了算法在提高網(wǎng)絡(luò)對特征的識別能力上的優(yōu)越性。
參考文獻:
[1] Parkhi O M, Vedaldi A, Zisserman A, et al. Deep face recognition[C]∥British Machine Vision Conference. Swansea, UK: British Machine Vision Association, 2015: 41-42.
[2] Mufti H N, Abidi S, Abidi S R, et al. Predictors of post-operative delirium in cardiac surgery patients; a machine learning approach[J]. Canadian Journal of Cardiology, 2014, 30(10): 237-238.
[3] LeCun L, Bottou Y, Bengio P, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2323.
[4] Ballester P, Araujo R M. On the performance of GoogLeNet and alexNet applied to sketches[C]∥Thirtieth AAAI Conference on Artificial Intelligence. Phoenix, USA: AAAI Press, 2016: 1124-1128.
[5] Day M J, Horzinek M C, Schultz R D, et al. Guidelines for the vaccination of dogs and cats[J]. Journal of Small Animal Practice, 2007, 48(9): 528.
[6] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[G]∥Computer Vision and Pattern Recognition, Las Vegas, USA: IEEE, 2015: 770-778.
[7] Sinno J, Yang Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge & Data Engineering, 2010, 22(10):1345-1359.
[8] Hadsell R, Chopra S, Lecun Y, et al. Dimensionality reduction by learning an invariant mapping[C]∥Computer Vision and Pattern Recognition, Conference on 2006 IEEE Computer Society. New York: IEEE, 2006: 1735-1742.
[9] Chopra S, Hadsell R, Lecun Y, et al. Learning a similarity metric discriminatively, with application to face verification[C]∥Computer Vision and Pattern Recognition, 2005. New York: IEEE, 2005: 539-546.
[10] Taigman Y, Yang M. Deepface: closing the gap to human-level performance in face verification[C]∥Computer Vision and Pattern Recognition. Columbus, USA: IEEE, 2014: 1701-1708.
[11] Sun Y, Wang X, Tang X. Deep learning face representation from predicting 10,000 classes[C]∥IEEE Conference on Computer Vision and Pattern Recognition. Columbus, USA: IEEE Computer Society, 2014: 1891-1898.
[12] Sun Y, Wang X, Tang X, et al. Deep learning face representation by joint identification-verification[C]∥NIPS Montred, CANADA: MIT Press, 2014, 27: 1988-1996.
[13] Cheng D, Gong Y, Zhou S, et al. Person reidentification by multi-channel parts-based CNN with improved triplet loss function[C]∥Computer Vision and Pattern Recognition. Las Vega S, USA: IEEE, 2016: 1335-1344.
[14] King G, Zeng L. Logistic regression in rare events data[J]. Political Analysis, 2001, 9(2): 137-163.
[15] Wen Y, Zhang K, Li Z, et al. A discriminative feature learning approach for deep face recognition[C]∥Computer Vision-ECCV 2016. Amsterdam: Springer International Publishing, 2016: 11-26.
[16] Qian N. On the momentum term in gradient descent learning algorithms[J]. Neural Networks the Official Journal of the International Neural Network Society, 1999, 12(1): 145-151.
[17] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science, 2014, 6(1): 1409-1556.
[18] Szegedy C, Ioffe S, Vanhoucke V, et al. Inception-v4, Inception-ResNet and the impact of residual connections on learning[C]∥AAAI. Palo Alto, California: AAAI, 2017: 4278-4284.
[19] Kazemi V, Sullivan J. One millisecond face alignment with an ensemble of regression trees[C]∥Computer Vision and Pattern Recognition. Columbus, USA: IEEE, 2014: 1867-1874.
[20] Klawonn F, Hppner F, May S. An alternative to ROC and AUC analysis of classifiers[C]∥International Conference on Advances in Intelligent Data Analysis X. Berlin: Springer, 2011: 210-221.
(編輯 侯 湘)