范文豪,吳曉富,張索非
(1.南京郵電大學 通信與信息工程學院,江蘇 南京 210003;2.南京郵電大學 物聯網學院,江蘇 南京 210003)
近年來,人臉識別[1]問題引起了越來越多研究人員的關注。在具有一定約束環境下的人臉識別問題, 它們的識別精度已經取得了極大的提高。然而,低分辨率人臉識別問題在人臉識別領域仍然具有挑戰性。在人口較稠密的公共場所[2-3],例如購物商場和游樂園,通常需要通過從監控視頻中獲得的圖像來尋找具有特殊身份的人。但是,由于行人與監控攝像頭之間距離較遠以及攝像頭的分辨率有限,通常只能夠獲得較低分辨率的人臉圖像。在這種情況下捕獲的人臉經常是模糊的、光照不均勻的或人臉姿勢[4]不正確的,這些干擾因素使得基于深度模型和預處理的技術(例如人臉正面化和人臉對齊),不能直接應用于低分辨率的人臉圖像[5]。
對于人臉識別中的低分辨率問題,已經有了許多解決方法。這些方法大多數基于超分辨率(super resolution,SR)技術[6-7]來嘗試提高圖像的質量,將復原后的較高分辨率圖像用于人臉識別。盡管基于深度學習的SR技術使得重建后的圖像在主觀圖像質量評價指標上取得了較好的評分,但重建后的圖像通常過于平滑,會丟失高頻細節信息。當圖像的分辨率非常低時,通常會出現上述情況,導致恢復的高分辨率圖像和低分辨率圖像差異明顯,識別性能顯著下降。
為了提高低分辨率人臉識別的準確率,該文針對低分辨率人臉識別問題對CentreFace方法進行了改進。主要的改進包括以下三個方面:(1)提出新的模損失函數與原來的損失函數進行聯合訓練,以學習在類內距離不變的情況下,具有更大類間距離的人臉識別模型;(2)在訓練過程中,隨機更改輸入圖像的亮度,以進行數據增強;(3)改進了傳統CentreFace中模型的訓練方法,能夠使模型收斂的效果更好。實驗結果證明,改進方案可以有效地解決CentreFace方法中的不足,使得在低分辨率人臉識別問題中具有更好的識別精度。
低分辨率人臉識別是一種特殊的人臉識別問題,用于解決這類的方法可以大致概括為兩種:一種是圖像的超分辨率技術,另一種是圖像分辨率不變的學習方法。第一種方法主要采用超分辨率和去模糊技術,將輸入的低分辨率人臉圖像轉換為對應的高分辨率人臉圖像,從而可以采用高分辨率人臉識別(HRFR)技術。第二種方法旨在學習分辨率不變圖像的人臉特征。在許多論文中都對第一種方法進行了嘗試,但是從結果來看使用這種方法對識別精度的提升并不明顯。
為了獲得具有高度區分性的人臉特征,近年來提出了一系列新的深度學習人臉識別方法,例如DeepID2[8]、FaceNet[9]、CentreFace[1]、SphereFace[10]和ArcFace[11]等,這些方法在解決高分辨率人臉識別問題時通常能夠表現出良好的性能。2014年提出的DeepFace和DeepID系列主要是先訓練Softmax多分類器;然后抽取特征層,用特征再訓練另一個神經網絡、孿生網絡或組合貝葉斯等人臉驗證框架。2015年FaceNet提出了一個絕大部分人臉問題的統一解決框架,直接學習嵌入特征,然后人臉識別、人臉驗證和人臉聚類等都基于這個特征來做。FaceNet在DeepID2的基礎上,拋棄了分類層,再將Contrastive Loss改進為Triplet Loss,獲得更好的類內緊湊和類間差異。但人臉三元組的數量出現爆炸式增長,特別是對于大型數據集,迭代次數顯著增加;導致樣本挖掘方法使得很難有效地進行模型的訓練。2016年提出的Center Loss為每個類別學習一個中心,并將每個類別的所有特征向量拉向對應類別中心,根據每個特征向量與其類別中心之間的歐幾里得距離,以獲得類內緊湊度;而類間分散則由Softmax Loss的聯合訓練來保證。然而,在訓練期間更新實際類別中心非常困難,因為可供訓練的人臉類別數量急劇增加。2017年SphereFace提出A-Softmax,是L-Softmax的改進,提出了角度間隔損失,又歸一化了權值W,讓訓練更加集中在優化深度特征映射和特征向量角度上,降低樣本數量不均衡問題。2018年ArcFace提出加性角度間隔損失,θ+m,還歸一化特征向量和權重,幾何上有恒定的線性角度margin。直接優化弧度,為了模型性能的穩定,ArcFace不需要與其他損失函數聯合監督。
在QMUL_SurvFace論文中,采用了五種不同的人臉識別方法實現監控下低分辨率人臉識別挑戰。但是僅使用論文中提出的QMUL_SurvFace數據集進行訓練時,并不是所有的FR模型都可以達到收斂。然而,五種不同的FR模型都可以在CASIA數據上成功訓練并收斂。在所有這些FR方法中,使用CASIA和QMUL_SurvFace數據集進行訓練的CentreFace模型,可以在QMUL_SurvFace基準測試上得到最佳Rank1識別率為25.8%。因此,該文針對低分辨率人臉識別問題對CentreFace方法進行一系列改進。同時,還與其他較好的FR方法進行了比較。
在本節中,首先簡單介紹一下CentreFace方法,然后指出CentreFace在用于低分辨率人臉識別問題時的一些缺陷,接著對CentreFace方法提出一系列的改進。
通常,CentreFace采用尺寸為112×112的RGB圖像作為輸入,并將輸入圖像像素大小壓縮至[-1,1]。將參數N設置為模型訓練時輸入的batch大小,然后使用具有不同結構的CNN模型作為骨干網絡從人臉圖像中提取深度特征進行分類。模型的輸出是尺寸為d的臉部特征向量,可以使用xn表示。為了對特征向量進行分類,在網絡的最后添加了一個全連接層用于計算logits。全連接層中參數W的尺寸為d×M,M為訓練集中類別數量。
在訓練過程中,采用Softmax損失函數來監督類間特征向量進行分離,可表示為:
其中,xn表示第n個特征向量[12-13],yn是對應于xn的類別,Wm表示最后全連接層權重W的第m列,b是偏差(可省略),N是batch大小,M是訓練集種類個數。Softmax損失函數確保可以通過決策邊界來區分學習到的不同類別的深度特征。
如果僅使用Softmax損失函數進行訓練,雖然可以在訓練過程中很好地區分不同類別的特征向量,但最終的測試結果會很差,因為類間不夠緊湊。所以加入中心損失函數來減少類內距離,可表示如下:
其中,cyn表示yn類的中心特征向量,它應隨著訓練數據的不斷更新而變化。在對cyn進行更新時,有兩點需要注意。首先,每次更新cyn時不是基于整個數據集而是基于當前的小批量訓練集進行更新。在迭代過程中,每個類中心點的變化取決于這個batch中相應類的特征向量的均值。在這種情況下,每次進行迭代時,并不是所有中心點都會進行更新,因為每個batch中經常不能包含所有的類。其次,為了避免由少量錯誤標記的樣本引起的大擾動,需要使用一個小的常量來控制中心向量的學習率。要對cyn進行更新,需要計算LC相對于xn的梯度,cyn的更新步驟如下:
中心損失函數可以在保持不同類的特征可分離的情況下,最大程度地減少特征的類內距離。在算法描述中,總結了聯合監督[14]下CentreFace訓練步驟和細節。
在本節中,將會指出CentreFace應用于低分辨率人臉識別問題時的兩個缺點,并針對這兩個問題加以改善。首先,如果僅使用Softmax損失函數和中心損失函數來訓練模型,會發現中心損失函數的值在訓練過程中會不斷減小,但是各類的中心點到原點的距離也在不斷減小,這意味著類內和類間距離都減小了,這種現象并不能證明中心損失函數的減少對于分類效果是有利的。更加直觀的解釋可以參考圖1(a),在這種情況下,類內距離的減少對于分類是沒有作用的。為了改進CentreFace這一缺點,在Softmax損失函數和中心損失函數的基礎上又添加了一個模損失函數,在保持類內距離的情況下,增加類間距離。提出的模損失函數表示如下:
其中,LN損失表示每個類中心點到原點O的平均距離。在總的損失函數中加入LN是為了防止在訓練期間隨著類內距離的減少,類間距離也隨之減少。模損失函數的影響如圖1(b)所示。采用Softmax損失、中心損失和模損失的聯合監督來訓練判別特征學習模型。總的損失函數如下:
L=LS+λ1LC+λ2LN

圖1 特征分布


參數初始化和訓練方法:參數:首先初始化卷積層中的參數θC,全連接層中的參數W,和每個類的中心點{cmm=1,2,…,M},設置超參數λ1,λ2,α和學習率μt,迭代次數t←0。訓練步驟:1:while not converge do2:t←t+13:計算總的損失函數Lt=LtS+λ1LtC+λ2LtN4:計算反向傳播梯度:?Lt?xtn=?LtS?xtn+λ1?LtC?xtn+λ2?LtN?xtn5:更新參數W:Wt+1=Wt-μt·?Lt?Wt=Wt-μt·?LtS?Wt 6:更新參數cm:ct+1m=ctm-αΔctm 7:更新參數θC:θt+1C=θtC-μt∑Nn?Lt?xtn·?xtn?θtC 8:end while
在本節中,首先介紹作為低分辨率人臉識別問題的基準數據集QMUL_SurvFace。然后,在該數據集上進行四組對比實驗。通過實驗結果證明對CentreFace方法進行改進的有效性。
為了能促進更多的研究人員來開發有效且魯棒的人臉識別方法來解決低分辨率人臉識別問題,一個新的監控下人臉識別挑戰在論文中有所介紹,該挑戰稱為QMUL_SurvFace。這一新挑戰是目前最大的且唯一一個真實的監控下人臉識別問題。在該挑戰中,低分辨率人臉圖像是由監控攝像頭拍攝得到,而不是通過對高分辨率圖像的人工下采樣來合成的。數據分布可見表1。QMUL_SurvFace數據集包含463 507張低分辨率面部圖像,這些圖像來自于15 573個不同的人。在數據集中,人臉圖像有著不同的姿勢、遮擋、背景、亮度,且伴隨著一些運動造成的模糊和其他干擾因素。其中有10 638(68.3%)個人有兩張以上的人臉圖像。10 638個人分為兩部分:其中一半(5 319)作為訓練數據,另一半(5 319)加上剩余的4 935(總計10 254)作為測試數據。QMUL-SurvFace數據集中人臉圖像的分辨率非常低,這使得監控下的人臉識別任務非常具有挑戰性。面部的空間分辨率的長度/寬度范圍為6/5至124/106像素,平均值為24/20。由于分辨率太低,導致人臉檢測操作不能檢測出QMUL_SurvFace數據集中所有圖像中的人臉,人臉對齊[15-16]操作也就無法進行。

表1 QMUL_SURFFACE挑戰數據集劃分
文中使用的網絡模型以34層和50層的ResNet為主,具體參見表2。fc1層的輸出是輸入人臉圖像所提取到的特征向量。fc2層的輸出向量的維數為訓練數據集種類數,以QMUL_SurvFace數據集為例,網絡模型輸出維數為5 319,網絡輸入圖像的尺寸為112×112。為了分析提取到的特征維度對結果的影響,對比實驗中分別提取人臉圖像的256維和350維的特征向量進行對比。對于數據預處理部分,會將所有面部圖像的大小調整為112。即使圖像的大小發生了改變但基本分辨率改變不大,因此仍將這些調整大小后的圖像視為低分辨率圖像。通過觀察QMUL_SurvFace數據集,發現來自同一身份的人臉圖像的亮度經常變化很大。因此在數據預處理期間,會隨機改變面部圖像的亮度以作為數據增強。

表2 34層和50層ResNet網絡結構
在所有實驗中,會將QMUL-SurvFace數據集中的所有人臉圖像調整為所需的大小112,然后對圖像中每個像素減去127.5除以128,從而將像素值壓縮至[-1,1]。在CentreFace算法中,設置參數λ1=0.005,λ2=0.2,α=0.5。為了對closed-sets數據集識別的性能進行評估,選擇廣泛使用的度量:累積匹配特征(cumulative matching characteristic,CMC)曲線。receiver operating characteristic(ROC)曲線同CMC一樣,是模式識別系統,如人臉、指紋、虹膜等的重要評價指標,尤其是在生物特征識別系統中,一般同ROC曲線一起給出,能夠綜合評價出算法的好壞。CMC曲線綜合反映了分類器的性能,它評價的指標與深度學習當中常用的top1 err和top5 err評價指標意思一樣,不同的是橫坐標的Rank表示正確率而不是錯誤率。其中Rank-1的比率是最常見的評價指標。Rank-r的CMC定義如下:
其中,Nmate(i)表示匹配在Rank-i處的probe圖像數量,N表示probe中的類別數。在以下實驗中,使用Rank-1作為評價指標[17]。
不同訓練方法:在第一組對比實驗中,網絡模型采用34層ResNet,提取到的人臉特征向量維數為256。分別采用文中提出的改進后和改進前的訓練方法[9]進行訓練,可以獲得兩條損失函數曲線。損失函數曲線如圖2,Rank-1識別率可見表3。比較兩條曲線可以發現,圖2(a)的loss函數曲線收斂于值1.45,圖2(b)的loss函數曲線收斂于值1.3,說明改進后的訓練方法有助于以更快的速度收斂且收斂后的中心損失更小。
不同網絡和特征維度的影響:在第二組對比實驗中,分別采用34層ResNet和50層ResNet的網絡模型,且提取了不同維度的特征向量。實驗結果見表4,從中可以發現,當網絡模型為50層ResNet,特征向量維數為350時可以獲得最佳結果。
預處理加入數據增強:在第三組對比實驗中,在數據預處理期間隨機更改人臉圖像的亮度。仍然使用34層ResNet和50層ResNet,提取到的特征向量維度是350。實驗結果見表5,可以發現,數據預處理階段采用數據增強可以極大地提高人臉的識別性能。
模損失函數聯合監督:在第四組對比實驗中,根據上述對比實驗中的最佳結果進行了進一步的實驗。將模損失函數添加到總的損失函數中,將三個損失函數結合起來進行聯合訓練。首先,計算每個類別中的點到該類別的中心點的距離,以及從所有類別的中心點到原點O的距離。距離分布如圖3所示。發現在加上模損失函數后,各類中心點到原點O的距離大約增加了一倍,但是每個類中的點到中心點的距離分布和未添加之前相當接近。從圖中可以看出,模損失可以在保持類內距離的同時增加類間距離。從表6中可以看出,提出的模損失函數給Rank-1的識別率帶來了進一步的提高。

表3 不同訓練方法下的Rank-1識別率 %

表4 不同網絡結構和特征維度下的Rank-1識別率 %

表5 數據增強對Rank-1識別率的影響 %

表6 添加模損失函數對Rank-1識別率的影響 %
在以上四組實驗中,僅使用QMUL_SurvFace數據集來訓練模型,最佳的Rank-1識別率為30.403%。與文中使用CASIA和QMUL_SurvFace圖像訓練模型的最佳Rank-1識別率相比,實驗結果中的最佳Rank-1識別率更高。這意味著改進后的CentreFace比原始的CentreFace效果更好。此外,還在QMUL_SurvFace數據集中測試了最新的ArcFace方法的性能。為了便于進行比較,實驗中仍然使用50層的ResNet,提取的特征向量維度為350。將ArcFace中尺度因子s設置為64,參數m設置為0.5。在實驗中也僅使用QMUL-SurvFace數據集來訓練所構建的模型, 但得到的Rank-

表7 不同FR方法的Rank-1識別率

(a)訓練方法改進前中心損失函數曲線

(b)訓練方法改進后中心損失函數曲線

(a)兩種情況下各類中心點到原點O的距離的分布圖

(b)未添加模損失情況下各類中的點到中心點的距離的分布圖

(c)添加模損失后各類中的點到中心點的距離的分布圖
1識別率僅為24.987%。在表7中,對原始CentreFace,改進后的CentreFace,SphereFace和ArcFace的實驗結果進行了比較。
提出了一種模損失函數并將該損失與Softmax損失和中心損失相加,三種損失函數聯合監督進行訓練。相比于僅使用Softmax損失和中心損失,加入的模損失函數可以在保持特征類內距離不變的情況下,增大類間距離,從而增強網絡模型對特征的判別能力。此外,還對CentreFace的訓練方法做了一些改進,通過調整訓練步驟來更好地進行參數更新優化,最終中心損失函數值可以收斂得更好。在基準人臉數據集上的實驗結果表明,改進的CentreFace在低分辨率人臉識別任務上的識別精度要優于之前的CentreFace以及其他先進的人臉識別方法。