石正宇,陳仁文,黃 斌
南京航空航天大學 機械結構力學及控制國家重點實驗室,南京210016
人臉識別具有巨大的應用前景,近四十年來被廣泛研究,并且涌現出了眾多優秀算法。近幾年,一些基于深度學習的技術[1-2]在LFW數據集上的識別率已經超過了99%。然而,當涉及到監控系統時,由于采集到的人臉圖片往往是低分辨率(Low-Resolution,LR)的,并且伴隨著模糊、遮擋等,這些算法的性能大大下降。利用這些低質量的圖片進行識別,被稱為低分辨率人臉識別(Low-Resolution Face Recognition,LRFR)問題。
現有的LRFR方法可以大致上分為兩類,其中一類是超分辨率重構法,即提高待測圖像的分辨率再使用傳統的人臉識別方法進行識別[3]。傳統的超分辨率重構方法會模糊圖像細節,比如紋理和邊緣,因此Wang等人[4]使用深度神經網絡,并巧妙地構造了損失函數,在監控數據集上驗證了算法的有效性。盡管這些方法可以一定程度上恢復低分辨率圖像,但深層網絡結構往往會帶來巨大的計算量和時間消耗,因此不適用于實際應用。此外,大部分超分辨率重構法的目標在于恢復LR 圖片的視覺效果,而非針對模型的識別效果。因此,重構得到的圖片中沒有判別性信息的增加,甚至會帶來冗余信息,從而降低最終的識別率[5]。
另一類方法是子空間法,相比于超分辨率重構法更直接,即采用映射函數將高低分辨率圖片映射到統一的特征空間中,在這個特征空間里,不同分辨率圖像特征之間的距離最小。基于線性判別分析,文獻[6-7]提出了幾種具有判別性的子空間方法;Ren等人[8]采用Gram核函數計算不同特征之間的差異性,并將其最小化,從而獲得映射函數;Biswas等人[9]提出多維縮放方法(MDS),使得待測圖像以及高分辨率(High-Resolution,HR)樣本圖像之間的距離與樣本圖之間的距離大致相等;為減少計算成本,Biswas 等人提出了更靈活的框架[10],在特征提取階段不借助特征點標定;文獻[5]基于判別相關性分析(Discriminant Correlation Analysis,DCA),將高低分辨率圖片映射至同一特征空間,不僅解決了特征向量維度不匹配的問題,同時也使對應的HR-LR 圖片之間相關性最大;Yang 等人[11]提出兩種基于MDS 的方法(DMDS和LDMDS),除了不同特征之間的距離,還考慮到它們之間的相似度,并取得了很好的效果。
由于卷積神經網絡(Convolutional Neural Network,CNN)的優良表現,Zeng等人[12]采用深度網絡(RICNN),將HR 圖片和上采樣后的LR 圖片混合,從中學習分辨率不變性特征表達。文獻[13]指出,盡管RICNN提高了LRFR的精度,該方法對于待測低分辨率圖片的分辨率變化十分敏感。為了解決這一問題,Lu等人[13]基于ResNet提出了深度耦合殘差網絡(Deep Coupled ResNet,DCR),該模型的損失函數與文獻[11]是相同的思路,即類內距最小,類間距最大,同時特征空間中高分辨率及其對應的低分辨率圖片之間的距離最小。
盡管DCR方法在SCface數據集上取得了很高的識別率,但同時深度網絡也伴隨著巨大的計算量,為解決這一問題,本文提出一種輕型判別性自歸一化神經網絡(Light Discriminative Self-normalizing Neural Network,LDSNN),在模型的訓練階段,網絡從高低分辨率圖片中提取特征并將其映射到子空間中。訓練完成后使用SVM進行分類,本文的主要創新點如下:
(1)基于PydMobileNet[14]設計出高效CNN 結構用于特征提取。
(2)優化損失函數以擴大類間距,同時加入center loss[15]約束以縮小類內差異。
(3)引入縮放線性指數單元,加速網絡的收斂。
多個數據集上的實驗結果表明了本文算法相比于現有方法有一定提高。
由于其杰出性能,CNN 被廣泛用于特征提取。在人臉檢測與對齊階段,采用了能較好地檢測低分辨率人臉的MTCNN[16]。文獻[4]指出,在低分辨率圖片的特征提取中,深層網絡結構以及過大的通道數會降低模型性能,因此本文采用了合適的卷積核大小以及通道數,設計出高效CNN,網絡的基本組成是瓶頸狀的殘差結構,如圖1所示。

圖1 殘差模塊
殘差結構用于控制深度可分離卷積(Depthwise Separable Convolution,DWC)的維度,該結構中使用3個不同大小的卷積核取代傳統的3×3 卷積核來進行DWC卷積操作,并將得到的特征圖級聯,相比傳統3×3卷積而言能獲得更多的空間語義信息。級聯之后繼續經過1×1卷積和SELU[17]激活函數得到模塊的輸出。左側虛線表示當步長為1的時候不進行1×1卷積操作,步長為2 的時候進行,并與前面得到的特征圖相加。以FERET數據集上的實驗為例,具體的網絡結構如表1所示,共包含6個殘差模塊。
每個卷積層都伴隨SELU激活函數,定義如下:


表1 網絡結構
文獻[17]中證明了取λ≈1.050 7 和α≈1.673 3 可以使得神經元輸出逼近于零均值和單位方差,通過數層前向傳播最終輸出也會收斂到零均值和單位方差,這種收斂屬性使學習更具魯棒性。本文中λ和α的取值與文獻[17]相同,SELU與ReLU函數的對比如圖2所示。

圖2 SELU和ReLU激活函數
如圖3所示,相同的參數設置下,使用SELU激活函數的網絡,loss值下降得更快,說明SELU激活函數相比傳統的批歸一化(Batch Normalization,BN)與ReLU 組合能更快地使網絡收斂。

圖3 兩種激活函數的對比
將提取出的特征映射至160維的特征空間中,作為耦合映射階段的輸出,為了進一步穩定訓練過程并減少在小數據集上的過擬合,本文還采用了L2正則化。
耦合映射階段160 維的特征向量構成了損失函數的輸入,具體結構如圖4 所示(圖中n表示輸入樣本的類別數)。
耦合傳統的Softmax 損失函數并不能優化特征從而使得正樣本有更高的相似度,同時負樣本有更低的相似度。為了擴大決策邊界,本文在損失函數中加入了CosineFace[18]約束,不同分辨率圖片提取到的特征之間的類間距定義如下:

圖4 損失函數的組成

約束條件為:

式中,xi和zi分別表示高低分辨率圖片中對應著標簽yi的第i個特征向量,n表示輸入樣本的類別數,N表示每一批的訓練樣本數。Wj表示第j類的權值向量,Wj與xi之間的夾角用θj表示。本文的實驗中添加約束,m取值為0.5。
為了更好地利用類別信息,本文采用了center loss,從而最小化類內距,使得相同類別的特征之間更緊湊,定義如下:

為了保證HR 及其對應的LR 特征之間的一致性,本文添加了歐式距離約束,定義如下:

最終的損失函數定義為:

當loss不再下降時停止訓練,將樣本圖以及待測圖都輸入到LDSNN 模型中以獲得相應的特征向量,并采用SVM 分類器進行分類,本文中采用的核函數為線性核函數。
在所有的實驗中,λ1和λ2都設置為0.001,并且將特征向量的維數設為160。由于訓練數據中存在著低質量的圖片,為了進一步減少過擬合,本文采用了Drop-Block[19]方法,實驗表明最佳參數設置為block_size=3 以及keep_prob=0.8。本文深度學習框架使用TensorFlow,采用Xavier 參數初始化,初始學習率設置為0.01,總迭代輪數(Epoch)為300,每迭代75 輪學習率衰減為之前的0.1倍,權重衰減(Weight Decay)設置為0.000 1,輸入批次大小(Batch Size)為64,采用動量(p=0.9)的標準動量優化法(Momentum)進行權重的更新。
關于LRFR的研究,由于缺少由監控攝像頭拍攝到的低分辨率數據集,大多數研究都是基于高分辨率數據集比如FERET[20],將高分辨率圖片降采樣得到LR 圖片,這顯然跟實際中的監控情況有所差別[23]。在FERET數據集中鮮有模糊、遮擋的圖片,因此有必要在更具挑戰性的監控數據集上進行實驗,比如UCCSface[21]和SCface[22],更接近現實情況。本文將提出的LDSNN 與現有的DMDS、LDMDS[11]以及RICNN[12]等方法進行了對比,實驗表明本文的方法在三個數據集上的識別率均有較大的提升。所有實驗結果中的識別率均為rank-1識別率。
與文獻[11]一致,本文的實驗采用了FERET的一個子集,其中包括200類,有著不同的姿態、表情以及光照條件,如圖5所示。

圖5 FERET數據集中相對應的高低分辨率圖片
隨機選取50 類用于訓練LDSNN 模型,剩余的150類用于測試,高低分辨率圖片的分辨率分別為32×32和8×8。訓練結束后,每類選取三張降采樣至8×8 作為待測圖,剩余四張作為樣本圖。在本文的方法中,通過對損失函數的改進可以逐步提高最終的識別率,如圖6所示。
圖中,橫軸上從左往右對應的四個損失函數分別是:Softmax loss、CosineFace loss、CosineFace loss+center loss、CosineFace loss+center loss+Euclidean loss,可以看出隨著損失函數的改進,模型的性能也在逐步提高。

圖6 損失函數與識別率的關系
不同的DropBlock 參數設置對識別結果的影響如圖7所示,圖中橫軸表示不同的keep_prob值,可以看出當block_size和keep_prob分別取值為3和0.8時,模型性能最佳。文獻[19]指出,當block_size=1 時,DropBlock就退化為dropout,顯然該方法優于傳統的dropout。

圖7 不同參數設置對識別率的影響
本文也探索了特征空間的維度對識別結果的影響,并選取160作為實驗設置,如圖8所示。

圖8 特征空間的維數與識別率的關系
文獻[15]指出,更大的特征維度相比小維度而言,會需要更多的訓練迭代次數來達到最優,因此計算量更大。損失函數中超參數m對結果的影響如圖9所示,當m取值從0.25 增加到0.4 時,識別率顯著增加。可以看出,當m在0.4到0.5之間時可以取得最佳效果。
不同的m取值下,特征分布可視化效果如圖10 所示。顯然,隨著m的增加,特證空間中不同類別之間的距離也隨之增大,從而擴大決策邊界,使特征更具判別性。

圖9 超參數m 對識別率的影響

圖10 不同的m 取值對特征分布的影響
不同各種方法的rank-1識別率對比如表2所示。在相同的實驗設置下,文獻[11]使用了四次雙線性插將低分辨率圖片上采樣到所需大小,本文提出的LDSNN 在圖片預處理過程中僅采用了簡單的雙三次插值,相比文獻[11]的方法大大簡化,且識別率提高了超過2%,表明了該算法的有效性。

表2 FERET數據集上的識別率對比
UCCSface數據集是由1 800萬像素的攝像頭在100~150 m 距離拍攝到的學生圖片,該數據集有超過70 000個人臉區域,其中很少有正臉或者無遮擋的圖片,是非限制場景下戶外人臉識別領域新的基準數據集。本文的實驗設置與文獻[21,23]一致,共選出180 類,每類都不少于15 張圖,其中10 張用于訓練LDSNN 模型,剩余的5 張或更多圖片用于測試。本文將裁剪出的人臉區域規范化為80×80,作為HR 圖片,并將其降采樣至16×16作為對應的LR圖片。初始學習率設為0.01時訓練集與驗證集的loss和訓練周期的關系如圖11所示,可以看出訓練集和驗證集的loss曲線都在持續下降,走勢基本相同,說明并沒有出現過擬合現象。

圖11 訓練集與驗證集的loss和訓練周期的關系
現有的性能最佳的方法是文獻[23]中,rank-1 識別率達到了93.4%。不同方法的性能對比如表3 所示,可以看出本文提出的模型相比現有方法性能得到了一定的提升。考慮到DNN 模型在訓練階段使用了4 500 張圖片,本文僅采用了1 800 張,計算量大大減小,這也表明本文模型能夠處理現實中的監控圖片。

表3 UCCSface數據集上的識別率對比
該數據集共有130類,每類包括了監控攝像頭在三個不同距離4.2 m(d1),2.60 m(d2),以及1.00 m(d3)距離下拍攝到的共15張圖(每個距離3張),以及一張高清正臉圖。與文獻[11]一致,將d3 距離下拍攝的圖片規范化至48×48,作為高分辨率圖片,將d2 距離下拍攝的圖片降采樣至16×16作為低分辨率圖片。
隨機選取80 類作為訓練集,剩余50 類用于測試。如表4所示,LDSNN算法平均識別率達到了84.56%,比現有的最佳算法LDMDS提高了3個百分點。

表4 SCface數據集上的識別率對比
在3 個數據集上,LDSNN 的識別率相比現有算法均得到了提升。對比實驗結果可以得出,盡管FERET數據集上的訓練樣本最少,但相對于現實場景中的模糊遮擋等情況,標準數據集中的人臉圖片更易于識別。同時,UCCSface數據集上的訓練樣本最多,因此識別率也達到了較高的水平。
用LDSNN 模型從SCface 數據集中不同的LR 圖片中提取特征,并計算特征間的歐氏距離,如圖12,數值越小表明圖片越相似。可以看出相同類別的圖片之間歐氏距離較小,不同類別的圖片之間歐氏距離較大,這表明本文的方法能夠縮小類內距,擴大類間距,從而使提取出的特征更具判別性。

圖12 不同圖片之間的歐氏距離(×10-9)
如圖13 所示,從左到右分別表示8×8、12×12 以及16×16 分辨率下的特征分布可視化結果,由于LDSNN模型結合了高低分辨率圖片中的信息,其特征分布抱團性良好,即使在極低分辨率的情況下(如8×8),其特征空間中的分布依然具有可分性,因此適用于低分辯率人臉識別任務。

圖13 不同分辨率下的特征分布結果
然而,在非限制場景下,監控設備捕捉到的人臉圖片往往伴隨著一定的遮擋或角度傾斜,如圖14 所示為UCCSface 中的誤判樣本,由于遮擋造成低分辨率圖片中有效信息減少,模型難以識別。應對這種情況,可以通過增加訓練樣本的數量來提高識別率。

圖14 UCCSface數據集中的誤判樣本
本文提出了一種新的基于自歸一化神經網絡的耦合映射方法——LDSNN,可以從圖片中學習到具有判別性的特征,并將其映射到子空間中。在子空間內,優化Softmax 函數使得不同的類別之間的特征更稀疏,并且引入類內距以及歐氏距離約束,從而使相同類別的HR及LR圖片更緊湊。在標準數據集FERET以及兩個監控數據集UCCSface 和SCface 上的實驗結果表明本文的方法相比現有的算法有一定程度的提升,有實際應用價值。
盡管LDSNN 在多個數據集上的表現均優于主流算法,但當人臉圖片帶有遮擋或一定傾斜角度時,模型難以對其正確分類,這也是進一步的研究目標,實際應用中可以通過豐富訓練數據等方法來提高模型的泛化能力。