石正宇,陳仁文,黃 斌
南京航空航天大學(xué) 機械結(jié)構(gòu)力學(xué)及控制國家重點實驗室,南京210016
人臉識別具有巨大的應(yīng)用前景,近四十年來被廣泛研究,并且涌現(xiàn)出了眾多優(yōu)秀算法。近幾年,一些基于深度學(xué)習(xí)的技術(shù)[1-2]在LFW數(shù)據(jù)集上的識別率已經(jīng)超過了99%。然而,當(dāng)涉及到監(jiān)控系統(tǒng)時,由于采集到的人臉圖片往往是低分辨率(Low-Resolution,LR)的,并且伴隨著模糊、遮擋等,這些算法的性能大大下降。利用這些低質(zhì)量的圖片進行識別,被稱為低分辨率人臉識別(Low-Resolution Face Recognition,LRFR)問題。
現(xiàn)有的LRFR方法可以大致上分為兩類,其中一類是超分辨率重構(gòu)法,即提高待測圖像的分辨率再使用傳統(tǒng)的人臉識別方法進行識別[3]。傳統(tǒng)的超分辨率重構(gòu)方法會模糊圖像細(xì)節(jié),比如紋理和邊緣,因此Wang等人[4]使用深度神經(jīng)網(wǎng)絡(luò),并巧妙地構(gòu)造了損失函數(shù),在監(jiān)控數(shù)據(jù)集上驗證了算法的有效性。盡管這些方法可以一定程度上恢復(fù)低分辨率圖像,但深層網(wǎng)絡(luò)結(jié)構(gòu)往往會帶來巨大的計算量和時間消耗,因此不適用于實際應(yīng)用。此外,大部分超分辨率重構(gòu)法的目標(biāo)在于恢復(fù)LR 圖片的視覺效果,而非針對模型的識別效果。因此,重構(gòu)得到的圖片中沒有判別性信息的增加,甚至?xí)砣哂嘈畔?,從而降低最終的識別率[5]。
另一類方法是子空間法,相比于超分辨率重構(gòu)法更直接,即采用映射函數(shù)將高低分辨率圖片映射到統(tǒng)一的特征空間中,在這個特征空間里,不同分辨率圖像特征之間的距離最小?;诰€性判別分析,文獻[6-7]提出了幾種具有判別性的子空間方法;Ren等人[8]采用Gram核函數(shù)計算不同特征之間的差異性,并將其最小化,從而獲得映射函數(shù);Biswas等人[9]提出多維縮放方法(MDS),使得待測圖像以及高分辨率(High-Resolution,HR)樣本圖像之間的距離與樣本圖之間的距離大致相等;為減少計算成本,Biswas 等人提出了更靈活的框架[10],在特征提取階段不借助特征點標(biāo)定;文獻[5]基于判別相關(guān)性分析(Discriminant Correlation Analysis,DCA),將高低分辨率圖片映射至同一特征空間,不僅解決了特征向量維度不匹配的問題,同時也使對應(yīng)的HR-LR 圖片之間相關(guān)性最大;Yang 等人[11]提出兩種基于MDS 的方法(DMDS和LDMDS),除了不同特征之間的距離,還考慮到它們之間的相似度,并取得了很好的效果。
由于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的優(yōu)良表現(xiàn),Zeng等人[12]采用深度網(wǎng)絡(luò)(RICNN),將HR 圖片和上采樣后的LR 圖片混合,從中學(xué)習(xí)分辨率不變性特征表達。文獻[13]指出,盡管RICNN提高了LRFR的精度,該方法對于待測低分辨率圖片的分辨率變化十分敏感。為了解決這一問題,Lu等人[13]基于ResNet提出了深度耦合殘差網(wǎng)絡(luò)(Deep Coupled ResNet,DCR),該模型的損失函數(shù)與文獻[11]是相同的思路,即類內(nèi)距最小,類間距最大,同時特征空間中高分辨率及其對應(yīng)的低分辨率圖片之間的距離最小。
盡管DCR方法在SCface數(shù)據(jù)集上取得了很高的識別率,但同時深度網(wǎng)絡(luò)也伴隨著巨大的計算量,為解決這一問題,本文提出一種輕型判別性自歸一化神經(jīng)網(wǎng)絡(luò)(Light Discriminative Self-normalizing Neural Network,LDSNN),在模型的訓(xùn)練階段,網(wǎng)絡(luò)從高低分辨率圖片中提取特征并將其映射到子空間中。訓(xùn)練完成后使用SVM進行分類,本文的主要創(chuàng)新點如下:
(1)基于PydMobileNet[14]設(shè)計出高效CNN 結(jié)構(gòu)用于特征提取。
(2)優(yōu)化損失函數(shù)以擴大類間距,同時加入center loss[15]約束以縮小類內(nèi)差異。
(3)引入縮放線性指數(shù)單元,加速網(wǎng)絡(luò)的收斂。
多個數(shù)據(jù)集上的實驗結(jié)果表明了本文算法相比于現(xiàn)有方法有一定提高。
由于其杰出性能,CNN 被廣泛用于特征提取。在人臉檢測與對齊階段,采用了能較好地檢測低分辨率人臉的MTCNN[16]。文獻[4]指出,在低分辨率圖片的特征提取中,深層網(wǎng)絡(luò)結(jié)構(gòu)以及過大的通道數(shù)會降低模型性能,因此本文采用了合適的卷積核大小以及通道數(shù),設(shè)計出高效CNN,網(wǎng)絡(luò)的基本組成是瓶頸狀的殘差結(jié)構(gòu),如圖1所示。
圖1 殘差模塊
殘差結(jié)構(gòu)用于控制深度可分離卷積(Depthwise Separable Convolution,DWC)的維度,該結(jié)構(gòu)中使用3個不同大小的卷積核取代傳統(tǒng)的3×3 卷積核來進行DWC卷積操作,并將得到的特征圖級聯(lián),相比傳統(tǒng)3×3卷積而言能獲得更多的空間語義信息。級聯(lián)之后繼續(xù)經(jīng)過1×1卷積和SELU[17]激活函數(shù)得到模塊的輸出。左側(cè)虛線表示當(dāng)步長為1的時候不進行1×1卷積操作,步長為2 的時候進行,并與前面得到的特征圖相加。以FERET數(shù)據(jù)集上的實驗為例,具體的網(wǎng)絡(luò)結(jié)構(gòu)如表1所示,共包含6個殘差模塊。
每個卷積層都伴隨SELU激活函數(shù),定義如下:
表1 網(wǎng)絡(luò)結(jié)構(gòu)
文獻[17]中證明了取λ≈1.050 7 和α≈1.673 3 可以使得神經(jīng)元輸出逼近于零均值和單位方差,通過數(shù)層前向傳播最終輸出也會收斂到零均值和單位方差,這種收斂屬性使學(xué)習(xí)更具魯棒性。本文中λ和α的取值與文獻[17]相同,SELU與ReLU函數(shù)的對比如圖2所示。
圖2 SELU和ReLU激活函數(shù)
如圖3所示,相同的參數(shù)設(shè)置下,使用SELU激活函數(shù)的網(wǎng)絡(luò),loss值下降得更快,說明SELU激活函數(shù)相比傳統(tǒng)的批歸一化(Batch Normalization,BN)與ReLU 組合能更快地使網(wǎng)絡(luò)收斂。
圖3 兩種激活函數(shù)的對比
將提取出的特征映射至160維的特征空間中,作為耦合映射階段的輸出,為了進一步穩(wěn)定訓(xùn)練過程并減少在小數(shù)據(jù)集上的過擬合,本文還采用了L2正則化。
耦合映射階段160 維的特征向量構(gòu)成了損失函數(shù)的輸入,具體結(jié)構(gòu)如圖4 所示(圖中n表示輸入樣本的類別數(shù))。
耦合傳統(tǒng)的Softmax 損失函數(shù)并不能優(yōu)化特征從而使得正樣本有更高的相似度,同時負(fù)樣本有更低的相似度。為了擴大決策邊界,本文在損失函數(shù)中加入了CosineFace[18]約束,不同分辨率圖片提取到的特征之間的類間距定義如下:
圖4 損失函數(shù)的組成
約束條件為:
式中,xi和zi分別表示高低分辨率圖片中對應(yīng)著標(biāo)簽yi的第i個特征向量,n表示輸入樣本的類別數(shù),N表示每一批的訓(xùn)練樣本數(shù)。Wj表示第j類的權(quán)值向量,Wj與xi之間的夾角用θj表示。本文的實驗中添加約束,m取值為0.5。
為了更好地利用類別信息,本文采用了center loss,從而最小化類內(nèi)距,使得相同類別的特征之間更緊湊,定義如下:
為了保證HR 及其對應(yīng)的LR 特征之間的一致性,本文添加了歐式距離約束,定義如下:
最終的損失函數(shù)定義為:
當(dāng)loss不再下降時停止訓(xùn)練,將樣本圖以及待測圖都輸入到LDSNN 模型中以獲得相應(yīng)的特征向量,并采用SVM 分類器進行分類,本文中采用的核函數(shù)為線性核函數(shù)。
在所有的實驗中,λ1和λ2都設(shè)置為0.001,并且將特征向量的維數(shù)設(shè)為160。由于訓(xùn)練數(shù)據(jù)中存在著低質(zhì)量的圖片,為了進一步減少過擬合,本文采用了Drop-Block[19]方法,實驗表明最佳參數(shù)設(shè)置為block_size=3 以及keep_prob=0.8。本文深度學(xué)習(xí)框架使用TensorFlow,采用Xavier 參數(shù)初始化,初始學(xué)習(xí)率設(shè)置為0.01,總迭代輪數(shù)(Epoch)為300,每迭代75 輪學(xué)習(xí)率衰減為之前的0.1倍,權(quán)重衰減(Weight Decay)設(shè)置為0.000 1,輸入批次大?。˙atch Size)為64,采用動量(p=0.9)的標(biāo)準(zhǔn)動量優(yōu)化法(Momentum)進行權(quán)重的更新。
關(guān)于LRFR的研究,由于缺少由監(jiān)控攝像頭拍攝到的低分辨率數(shù)據(jù)集,大多數(shù)研究都是基于高分辨率數(shù)據(jù)集比如FERET[20],將高分辨率圖片降采樣得到LR 圖片,這顯然跟實際中的監(jiān)控情況有所差別[23]。在FERET數(shù)據(jù)集中鮮有模糊、遮擋的圖片,因此有必要在更具挑戰(zhàn)性的監(jiān)控數(shù)據(jù)集上進行實驗,比如UCCSface[21]和SCface[22],更接近現(xiàn)實情況。本文將提出的LDSNN 與現(xiàn)有的DMDS、LDMDS[11]以及RICNN[12]等方法進行了對比,實驗表明本文的方法在三個數(shù)據(jù)集上的識別率均有較大的提升。所有實驗結(jié)果中的識別率均為rank-1識別率。
與文獻[11]一致,本文的實驗采用了FERET的一個子集,其中包括200類,有著不同的姿態(tài)、表情以及光照條件,如圖5所示。
圖5 FERET數(shù)據(jù)集中相對應(yīng)的高低分辨率圖片
隨機選取50 類用于訓(xùn)練LDSNN 模型,剩余的150類用于測試,高低分辨率圖片的分辨率分別為32×32和8×8。訓(xùn)練結(jié)束后,每類選取三張降采樣至8×8 作為待測圖,剩余四張作為樣本圖。在本文的方法中,通過對損失函數(shù)的改進可以逐步提高最終的識別率,如圖6所示。
圖中,橫軸上從左往右對應(yīng)的四個損失函數(shù)分別是:Softmax loss、CosineFace loss、CosineFace loss+center loss、CosineFace loss+center loss+Euclidean loss,可以看出隨著損失函數(shù)的改進,模型的性能也在逐步提高。
圖6 損失函數(shù)與識別率的關(guān)系
不同的DropBlock 參數(shù)設(shè)置對識別結(jié)果的影響如圖7所示,圖中橫軸表示不同的keep_prob值,可以看出當(dāng)block_size和keep_prob分別取值為3和0.8時,模型性能最佳。文獻[19]指出,當(dāng)block_size=1 時,DropBlock就退化為dropout,顯然該方法優(yōu)于傳統(tǒng)的dropout。
圖7 不同參數(shù)設(shè)置對識別率的影響
本文也探索了特征空間的維度對識別結(jié)果的影響,并選取160作為實驗設(shè)置,如圖8所示。
圖8 特征空間的維數(shù)與識別率的關(guān)系
文獻[15]指出,更大的特征維度相比小維度而言,會需要更多的訓(xùn)練迭代次數(shù)來達到最優(yōu),因此計算量更大。損失函數(shù)中超參數(shù)m對結(jié)果的影響如圖9所示,當(dāng)m取值從0.25 增加到0.4 時,識別率顯著增加??梢钥闯?,當(dāng)m在0.4到0.5之間時可以取得最佳效果。
不同的m取值下,特征分布可視化效果如圖10 所示。顯然,隨著m的增加,特證空間中不同類別之間的距離也隨之增大,從而擴大決策邊界,使特征更具判別性。
圖9 超參數(shù)m 對識別率的影響
圖10 不同的m 取值對特征分布的影響
不同各種方法的rank-1識別率對比如表2所示。在相同的實驗設(shè)置下,文獻[11]使用了四次雙線性插將低分辨率圖片上采樣到所需大小,本文提出的LDSNN 在圖片預(yù)處理過程中僅采用了簡單的雙三次插值,相比文獻[11]的方法大大簡化,且識別率提高了超過2%,表明了該算法的有效性。
表2 FERET數(shù)據(jù)集上的識別率對比
UCCSface數(shù)據(jù)集是由1 800萬像素的攝像頭在100~150 m 距離拍攝到的學(xué)生圖片,該數(shù)據(jù)集有超過70 000個人臉區(qū)域,其中很少有正臉或者無遮擋的圖片,是非限制場景下戶外人臉識別領(lǐng)域新的基準(zhǔn)數(shù)據(jù)集。本文的實驗設(shè)置與文獻[21,23]一致,共選出180 類,每類都不少于15 張圖,其中10 張用于訓(xùn)練LDSNN 模型,剩余的5 張或更多圖片用于測試。本文將裁剪出的人臉區(qū)域規(guī)范化為80×80,作為HR 圖片,并將其降采樣至16×16作為對應(yīng)的LR圖片。初始學(xué)習(xí)率設(shè)為0.01時訓(xùn)練集與驗證集的loss和訓(xùn)練周期的關(guān)系如圖11所示,可以看出訓(xùn)練集和驗證集的loss曲線都在持續(xù)下降,走勢基本相同,說明并沒有出現(xiàn)過擬合現(xiàn)象。
圖11 訓(xùn)練集與驗證集的loss和訓(xùn)練周期的關(guān)系
現(xiàn)有的性能最佳的方法是文獻[23]中,rank-1 識別率達到了93.4%。不同方法的性能對比如表3 所示,可以看出本文提出的模型相比現(xiàn)有方法性能得到了一定的提升??紤]到DNN 模型在訓(xùn)練階段使用了4 500 張圖片,本文僅采用了1 800 張,計算量大大減小,這也表明本文模型能夠處理現(xiàn)實中的監(jiān)控圖片。
表3 UCCSface數(shù)據(jù)集上的識別率對比
該數(shù)據(jù)集共有130類,每類包括了監(jiān)控攝像頭在三個不同距離4.2 m(d1),2.60 m(d2),以及1.00 m(d3)距離下拍攝到的共15張圖(每個距離3張),以及一張高清正臉圖。與文獻[11]一致,將d3 距離下拍攝的圖片規(guī)范化至48×48,作為高分辨率圖片,將d2 距離下拍攝的圖片降采樣至16×16作為低分辨率圖片。
隨機選取80 類作為訓(xùn)練集,剩余50 類用于測試。如表4所示,LDSNN算法平均識別率達到了84.56%,比現(xiàn)有的最佳算法LDMDS提高了3個百分點。
表4 SCface數(shù)據(jù)集上的識別率對比
在3 個數(shù)據(jù)集上,LDSNN 的識別率相比現(xiàn)有算法均得到了提升。對比實驗結(jié)果可以得出,盡管FERET數(shù)據(jù)集上的訓(xùn)練樣本最少,但相對于現(xiàn)實場景中的模糊遮擋等情況,標(biāo)準(zhǔn)數(shù)據(jù)集中的人臉圖片更易于識別。同時,UCCSface數(shù)據(jù)集上的訓(xùn)練樣本最多,因此識別率也達到了較高的水平。
用LDSNN 模型從SCface 數(shù)據(jù)集中不同的LR 圖片中提取特征,并計算特征間的歐氏距離,如圖12,數(shù)值越小表明圖片越相似??梢钥闯鱿嗤悇e的圖片之間歐氏距離較小,不同類別的圖片之間歐氏距離較大,這表明本文的方法能夠縮小類內(nèi)距,擴大類間距,從而使提取出的特征更具判別性。
圖12 不同圖片之間的歐氏距離(×10-9)
如圖13 所示,從左到右分別表示8×8、12×12 以及16×16 分辨率下的特征分布可視化結(jié)果,由于LDSNN模型結(jié)合了高低分辨率圖片中的信息,其特征分布抱團性良好,即使在極低分辨率的情況下(如8×8),其特征空間中的分布依然具有可分性,因此適用于低分辯率人臉識別任務(wù)。
圖13 不同分辨率下的特征分布結(jié)果
然而,在非限制場景下,監(jiān)控設(shè)備捕捉到的人臉圖片往往伴隨著一定的遮擋或角度傾斜,如圖14 所示為UCCSface 中的誤判樣本,由于遮擋造成低分辨率圖片中有效信息減少,模型難以識別。應(yīng)對這種情況,可以通過增加訓(xùn)練樣本的數(shù)量來提高識別率。
圖14 UCCSface數(shù)據(jù)集中的誤判樣本
本文提出了一種新的基于自歸一化神經(jīng)網(wǎng)絡(luò)的耦合映射方法——LDSNN,可以從圖片中學(xué)習(xí)到具有判別性的特征,并將其映射到子空間中。在子空間內(nèi),優(yōu)化Softmax 函數(shù)使得不同的類別之間的特征更稀疏,并且引入類內(nèi)距以及歐氏距離約束,從而使相同類別的HR及LR圖片更緊湊。在標(biāo)準(zhǔn)數(shù)據(jù)集FERET以及兩個監(jiān)控數(shù)據(jù)集UCCSface 和SCface 上的實驗結(jié)果表明本文的方法相比現(xiàn)有的算法有一定程度的提升,有實際應(yīng)用價值。
盡管LDSNN 在多個數(shù)據(jù)集上的表現(xiàn)均優(yōu)于主流算法,但當(dāng)人臉圖片帶有遮擋或一定傾斜角度時,模型難以對其正確分類,這也是進一步的研究目標(biāo),實際應(yīng)用中可以通過豐富訓(xùn)練數(shù)據(jù)等方法來提高模型的泛化能力。