霍西寶,曹 林+,郭亞男,杜康寧
(1.北京信息科技大學 光電測試技術及儀器教育部重點實驗室,北京 100101; 2.北京信息科技大學 信息與通信工程學院,北京 100101)
近年來,人臉識別作為快速身份驗證的重要形式已廣泛應用于視頻監控[1]、智能門禁[2]、金融支付[3]等民生領域。素描人臉識別[4]作為人臉識別的重要分支主要應用于刑偵追捕、安全保衛等領域,畫師根據目擊證人的口頭描述,勾勒出嫌疑人的素描人臉圖像。
目前針對素描人臉識別的方法主要分為兩類:模態內算法和模態間算法。模態間算法旨在提取出人臉圖像中能夠保留對象身份信息的關鍵特征,最大限度區分不同對象身份。但由于素描圖像和可見光圖像數據來源不同導致二者存在較大模態差異,該方法并沒有考慮圖像間模態差異問題,因此直接使用模態間算法進行素描人臉識別并不能取得理想的結果。模態內算法將不同模態域的圖像轉換到同一模態,在同一模態域中完成人臉的特征提取、識別工作。這一方法有效減少了不同模態域圖像間的差異,通過將數據集中的圖像統一到同一模態域進行識別,使得不同域的圖像具有可比性。但由于現有的模態內算法生成器和分類器分開進行訓練,生成網絡合成的圖像并不能保證是對提升識別精度最有利的,因此輔助提升識別性能的幫助有限。
針對上述問題,本文提出了一種基于轉換生成網絡的素描人臉識別方法,該網絡同時實現跨模態圖像生成和人臉識別的任務。利用該網絡生成素描圖像對應的可見光域圖像,轉換到同一模態并加入到訓練集樣本圖像,充分補充模態信息,豐富同一對象的特征信息,有效提升素描人臉識別性能。
素描人臉識別因其在案件偵破、公共安全領域的重要地位,正受到越來越多的國內外研究工作者的關注。素描人臉識別的研究方法主要分為兩類:模態內算法和模態間算法。
模態間算法旨在提取出區分不同對象身份的關鍵人臉特征,例如:人臉中眼部區域對人臉識別貢獻最大,提取特征時,應重點保留眼睛所包含的判別性特征。Lu等[5]提出了一種無監督的用于異質人臉識別的特征學習和編碼(SLBFLE)方法。不同于LBP,SLBFLE僅使用一階段特征學習和編碼過程,便可以從不同人臉圖像中獲取判別信息。Wan等[6]提出了一種基于轉移學習的素描人臉識別方法。該方法設計了一種三通道卷積神經網絡體系結構,以提取判別性的人臉特征,來自同一對象的數字照片和素描圖像面部特征更加接近,如果數字照片和素描圖像來自不同的身份,則相反。
模態內算法將數據集中的圖像轉換到同一模式圖像,減少模態差異,在同一模態域完成人臉識別任務。Wang等[7]提出了一種用于人臉素描合成的貝葉斯框架,考慮了相鄰圖像塊之間的空間相鄰約束,而現有方法則忽略了相鄰選擇模型或權重中的約束,大量實驗結果表明,所提出的貝葉斯方法可以取得更好的性能。Zhang等[8]提出的合成方法結合了不同圖像塊之間的相似性和先驗知識,將給定測試照片分成重疊的小塊,通過學習詞典獲得其稀疏系數,使用最近鄰算法匹配不同的模塊,最終將具有高頻信息的馬爾可夫網絡應用于人臉素描圖像的合成。
近年來,對抗學習理論得到快速發展,基于生成對抗網絡(generative adversarial networks,GANs)[9]的深度學習模型廣泛應用于圖像合成領域。Yi等[10]提出了APDra-wingGAN,采用全局網絡(用于整體圖像)和局部網絡(用于個人面部區域)相結合的方法,使得合成的人臉圖像更清晰、細節更完整。
由于素描圖像和可見光圖像之間存在模態差異,因此素描人臉識別仍是一項極具挑戰的任務。針對上述問題,本文提出了基于轉換生成網絡的素描人臉識別方法。轉換生成網絡采用端到端的訓練方式優化模型參數,同時實現生成跨模態圖像和識別。在模型訓練過程中,生成網絡和識別網絡相輔相成,彼此促進,通過使用識別損失約束項指導生成更好的跨模態圖像,通過生成的跨模態圖像減少模態差異帶來的識別精度損失。本節主要從網絡模型框架和損失函數介紹所提出的方法。


圖1 網絡整體結構
對輸入的素描圖像,使用生成器合成其對應的可見光域跨模態人臉圖像,加入到訓練集樣本,補充模態信息,輔助提升識別精度。
生成器網絡主要由下采樣層、殘差模塊、上采樣層構成。輸入圖像首先經由下采樣層網絡提取特征,減少網絡要學習的參數數量,保留需要的特征參數。下采樣網絡結構如圖2(a)所示,原始人臉圖像首先由卷積層提取特征,卷積結束后對特征圖進行實例歸一化(instance normalization,instance norm)[11]處理,減小特征圖中不同通道的均值和方差對圖像風格的影響,保持每個圖像實例之間的獨立。使用線性整流函數(rectified linear unit,ReLU)作為激活函數,緩解模型出現過擬合問題。為了防止隨著網絡越來越深,出現性能退化問題,在下采樣結束后,在模型中引入殘差模塊,如圖2(b)所示。最后,由上采樣層對提取的人臉特征放大、還原,生成跨模態的人臉圖像。
使用判別器網絡對輸入的圖像進行真偽判別,通過與生成器形成對抗學習的方式,使得生成圖像具備兩種模態信息,提升人臉識別精度。將原始域和生成域的目標圖像作為判別器的輸入,經過判別器網絡的處理,提取判別性的人臉特征,鑒別圖像的真偽。通過在判別器網絡中引入批量歸一化操作(batch normalization, batch norm)[12],把每層神經元的輸入值拉回到標準正態分布,防止隨著網絡深度的增加,其分布發生偏移,降低網絡的訓練速度和泛化能力。使用LeakyRELU作為網絡的激活函數,判別器網絡結構如圖3所示。

圖2 生成器網絡主要模塊網絡結構

圖3 判別器網絡結構
為了合成與原始域盡可能逼真的圖像,補充模態信息,輔助提升識別精度,本文引入了對抗損失函數。生成器根據判別器的反饋,不斷調整模型訓練參數,提升合成圖像的質量
(1)
xsm,xsn∈Sd,G(xsm) 是xsm對應可見光域Pd中的表示,在不引入額外約束條件下,素描域Sd的任一圖像可映射為可見光域Pd的任意成員來滿足其目標,可能造成生成的圖像都映射到目標域的同一對象。為了避免這一現象的發生,使用特征轉換網絡(S網絡)將圖像映射到某個空間,在該空間中,原始圖像之間的關系與其在目標域中生成圖像之間的關系相同,完成生成圖像的單一映射。
S網絡作為特征提取模型[13],主要用于學習輸入圖像的高級語義特征,輔助生成圖像和人臉識別。生成器和判別器采用對抗學習的方式訓練,生成器根據判別器的反饋,不斷調整模型訓練參數,生成更逼真的圖像,直到生成的圖像達到以假亂真。而S網絡和生成器采樣合作的方式訓練,促使原始圖像之間的關系與生成的版本之間保持一致,生成更真實的人臉圖像。S網絡結構使用預訓練的resnet18網絡[14],主要由4層基本殘差模塊構成。基本的殘差模塊結構如圖4所示,圖中虛線框為下采樣過程,將提取的特征進一步壓縮、降維,降低計算復雜度。其中第一層殘差模塊不包含下采樣過程。

圖4 殘差模塊結構
為了生成和原始圖像具有相同語義信息的跨模態圖像,生成器必須學習一個映射,使得S(xsm)-S(xsn)=S(G(xsm))-S(G(xsn))。 如式(2)~式(4)所示
vmn=S(xsm)-S(xsn)
(2)
(3)
(4)
其中,Dist是距離度量標準,例如余弦相似度。
在訓練過程中,為了避免經過S網絡處理后,輸出始終為零,增加約束條件,使每個點與空間中的其它點至少相距δ(默認為10),如式(5)所示
(5)
為了判別不同對象所屬的類別,本文將S網絡所提取的特征信息輸入到分類器,預測其所對應的標簽,實現素描人臉識別。分類器由兩個全連接層構成,在第一個全連接層后加入批量歸一化操作,使得每一層神經網絡的輸入保持相同分布。為了防止模型出現過擬合現象,在第一個全連接層中使用Dropout衰減函數。第二個全連接層的輸出為訓練樣本集的圖像類別數。分類損失使用交叉熵損失,如式(6)所示

(6)
其中,xi為輸入素描、可見光和生成人臉圖像,p(yi|C(S(xi))) 表示某一輸入樣本圖像xi通過模型預測出其屬于樣本標簽為yi的概率。
總生成損失如式(7)所示
Ltotal=λadvLadv+λtravelLtravel+λmarginLmargin+λclsLcls
(7)
其中,λadv,λtravel,λmargin,λcls分別為生成對抗損失(Ladv)、轉換損失(Ltravel)、邊沿損失(Lmargin)、識別損失(Lcls)等控制相關損失項重要性的權重參數。
為了驗證本文方法的識別性能,在S1(UoM-SGFSv2 SetA)、S2(UoM-SGFSv2 SetB)[11]、S3(e-PRIP)[15]等3個數據集上進行識別率的評估。UoM-SGFSv2包括UoM-SGFSv2 SetA和UoM-SGFSv2 SetB,它是最大的軟件生成的素描數據集,也是唯一一個以全彩色表示所有素描圖像的數據集。UoM-SGFSv2 SetA包含600對可見光-素描人臉圖像,其素描圖像由EFIT-V創建。圖5展示了部分UoM-SGFSv2 SetA數據集原始樣本對圖像,包括人的上半身圖像和背景信息。

圖5 原始UoM-SGFSv2 SetA數據集樣本對圖像
使用圖像編輯程序對UoM-SGFSv2 SetA中的素描進行稍微改動,以使素描更真實(模擬執法機構在現實生活中執行的過程),構成了UoM-SGFSv2 SetB。e-PRIP包含AR數據庫中的123個人的可見光圖像和對應的合成素描。本文實驗數據集設置見表1。

表1 實驗數據集設置
其中,S1、S2、S3數據集均由兩種模態的人臉圖像構成:可見光圖像、素描圖像,每個數據集劃分為訓練集和測試集,訓練集圖像主要用來擬合模型,確定模型參數,測試集用來評估訓練模型的性能和分類能力。
為了評估本文方法與現有算法的識別性能,保證實驗的公平性,對于UoM-SGFSv2數據集,前兩個實驗設置(S1設置和S2設置)與DEEPS[16]保持一致。具體劃分如下:隨機從UoM-SGFSv2 SetA抽取450對可見光-素描人臉圖像作為S1訓練集圖像。S1測試集由Probe和Gallery組成,Probe為UoM-SGFSv2 SetA中剩余150對人臉數據集中的素描圖像,Gallery由UoM-SGFSv2 SetA中剩余150對人臉圖像中的可見光圖像和擴充的1521張可見光照片構成。擴充的1521可見光照片包括來自MEDS-Ⅱ數據庫的509張照片、來自FEI數據庫的199張照片以及來自LFW數據庫中的813張照片。S2數據集具體設置同S1一致,只是將隨機抽取的數據集更換為UoM-SGFSv2 SetB,其它保持不變。對于e-PRIP數據集,實驗設置(S3設置)與Deep Network[17]保持一致。隨機從e-PRIP數據集抽取的48對配對的人臉圖像作為S3訓練集圖像。S3測試集Probe和Gallery分別包含e-PRIP剩余75個人的素描圖像、可見光圖像。
本文的訓練模型采用Pytorch框架搭建而成。訓練過程中,采用隨機加載的方式訓練模型,每次隨機載入的樣本對數設置為16。使用Adam優化器迭代更新模型的訓練參數,將Adam優化器的學習率設置為0.0002。總損失函數中各部分權重分別設置為:λadv=0.01,λtravel=0.1,λmargin=0.1,λcls=10。
在模型開始訓練前,首先使用MTCNN[18]對現有的數據集進行人臉檢測,獲得僅包括面部的人臉輸出圖像。使用MTCNN對UoM-SGFSv2數據集和e-PRIP數據集中的人臉圖像進行檢測、對齊,保留有利于識別的人臉關鍵點信息,獲得同一尺度的人臉輸出圖像。經過MTCNN處理后的UoM-SGFSv2數據集部分人臉圖像如圖6所示,其中第一列為可見光圖像,第二列為UoM-SGFSv2 SetA數據集中的素描人臉圖像,第三列為處理后的UoM-SGFSv2 SetB數據集中的素描人臉圖像。

圖6 UoM-SGFSv2數據集樣本對圖像
部分裁剪后的e-PRIP數據集中的人臉圖像如圖7所示。

圖7 e-PRIP數據集樣本對圖像
在對數據集人臉樣本處理完畢后,使用自定義的數據加載器將樣本圖像載入模型進行訓練。數據加載過程中對本文使用的數據集進行以下預處理:包括人臉圖像的裁剪(將輸入的人臉圖像裁剪到同一尺度進行處理)、圖像填充(圖像上下左右填充10個像素點)、圖像隨機裁剪(裁剪尺寸為256*256)、圖像水平翻轉操作(默認概率值大小為0.5)、歸一化處理(經過歸一化處理后,可加快模型的收斂速度)。
為了減少因實驗波動帶來的識別精度誤差,本文訓練采用五重隨機交叉驗證的方式。將每個數據集隨機抽取5次,分別統計在這5個數據集上的識別率,最終識別率取5個值的均值。
3.3.1 合成結果定性分析
如圖8展示了本文方法生成的部分人臉圖像。生成的跨模態圖像五官細節更加銳利、突出,可以有效補充模態信息,與原始數據集人臉圖像一起輸入到識別網絡,不斷更新、優化模型參數,極大豐富了同一對象的特征信息,有效提升素描人臉識別性能。

圖8 本文方法合成人臉結果
圖8從第一行至第三行依次為:原始可見光人臉圖像、本文方法合成的人臉圖像、原始素描人臉圖像。
3.3.2 識別性能消融研究
為了驗證本文方法的有效性,在本節進行識別性能消融研究。消融實驗分別設置為:去掉生成器和判別器,直接對原始數據集進行素描人臉識別(Baseline)、合成和識別階段分開進行(w/o SPT),查看各項因素對識別性能的影響。其中,Baseline為模態間方法,直接使用識別網絡判別素描圖像、可見光圖像所在的類別,統計在3個數據集上的識別率結果。w/o SPT實驗生成和識別階段分開進行,用于驗證端對端訓練對識別性能的影響。
Baseline網絡模型結構由特征提取器、分類器兩部分構成,其中特征提取器采用預訓練的resnet18網絡。原始成對的素描、可見光人臉圖像經過預處理后作為resnet18網絡的輸入,由該網絡完成對人臉圖像的特征提取任務,輸出的特征作為分類器的輸入,完成人臉圖像的配對、識別工作。
為了驗證本文提出的端對端訓練方法是否能帶來識別性能的提升,本文進行了w/o SPT消融實驗。其中w/o SPT為分開訓練合成、識別模型,先生成后識別,加載已訓練完畢的生成模型處理原始數據集,生成的輔助圖像加入到識別的訓練樣本中,然后利用識別模型完成對人臉的識別任務。消融研究識別率結果見表2。

表2 識別性能消融研究結果
表2中,S1/S2數據集上統計Rank1識別率,S3數據集上統計Rank10識別率。
從表2識別率結果可發現,由于可見光人臉圖像和素描人臉圖像存在模態差異,直接對原始數據域人臉圖像識別效果不佳,如表2中Baseline數據行所示。為了驗證端對端訓練對識別性能是否帶來增益,本文將合成和識別模型的訓練分開進行,通過實驗發現,不采用端對端訓練的方法在3個數據集上的識別率明顯低于本文方法,如表2 中w/o SPT數據行所示。本文提出了基于轉換生成網絡的素描人臉識別方法通過引入識別損失約束項指導生成更好的跨模態圖像,而且生成的跨模態圖像有效減少了模態差異帶來的識別精度損失,顯著提升了模型的識別率,如表2中Proposed數據行所示。
圖9、圖10繪制了在S1、S2數據集上的CMC曲線,圖中橫坐標1~10表示Rank1~Rank10。通過觀察曲線,不難發現,本文方法對識別率的提升貢獻最大。

圖9 S1數據集消融實驗

圖10 S2數據集消融實驗
在S3數據集上的消融實驗如圖11所示。由于S3數據集僅包括123個人的素描、可見光圖像對,數據量少,因此Rank1識別率比較低。

圖11 S3消融實驗
為了評估本文方法的識別性能,在S1、S2、S3等3個數據集上與現有方法進行比較。其中,S1、S2數據集主要統計Rank-1、Rank-10、Rank-50識別率,S3數據集由于數據量少,主要記錄Rank-10識別率。
本文方法與現有方法在S1數據集上識別率結果見表3。其中EP(+PCA)[19]為模態內方法,即將圖像轉換到同一模態域內進行識別;LGMS[17]、DEEPS[16]、VGG-Face[20]

表3 S1數據集識別率結果
為模態間方法,通過提取出數據集圖像中能夠保留對象信息的關鍵特征來判別其身份。
表3中R-1,R-10,R-50分別表示Rank-1、Rank-10、Rank-50識別率。
通過表3可以發現,在S1數據集上,所有對比算法的性能均較低,因為該數據集模仿了現實世界中的法醫繪制的素描人臉圖像。本文提出的基于轉換生成網絡的素描人臉識別方法使用端對端訓練來更新模型參數,同時實現生成跨模態圖像和識別,識別性能明顯優于其它對比算法。
為了直觀展示不同算法的識別性能,圖12繪制了本文方法與現有方法在S1數據集上的識別率柱狀圖。

圖12 S1數據集對比實驗
本文方法與現有方法在S2數據集上識別率結果見表4。

表4 S2數據集識別率結果
相比于S1數據集,S2數據集對素描人臉圖像經過稍微改動,所有算法的性能均得到有效提升。
圖13繪制了本文方法與現有方法在S2數據集上的識別率柱狀圖。通過柱狀圖可以明顯發現本文方法的優越性。

圖13 S2數據集對比實驗
針對S3數據集,表5記錄了本文方法與現有方法的識別率統計結果。其中DEEPS擴充了訓練集樣本數,采用深度神經網絡進行素描人臉識別。CNN和Deep Network均采用了遷移學習的方式,將從大型人臉照片數據庫學習到的人臉表示應用到素描數據集。

表5 S3數據集識別率結果
素描圖像和可見光圖像之間存在模態差異,直接進行素描人臉識別效果不佳,本文提出了基于轉換生成網絡的素描人臉識別方法,該網絡由生成模塊和識別模塊組成,使用端對端訓練來更新模型參數,生成和識別部分同時進行,彼此促進。通過生成跨模態圖像、補充模態信息來輔助提升識別精度,通過引入識別損失約束項指導生成更好的跨模態圖像。為了充分利用數據集的人臉圖像,擴充同一對象的特征信息,分別提取原始素描圖像、原始可見光圖像、合成的可見光圖像的人臉特征信息輸入到分類器中進行識別,不斷更新、優化模型參數,極大豐富了同一對象的特征信息,有效提升素描人臉識別性能。
在UoM-SGFSv2、e-PRIP等數據集上驗證本文方法的識別性能,識別率相對現有方法顯著提升,尤其在UoM-SGFSv2 Set A數據集上效果最為明顯,與現有識別性能最好的DEEPS相比,Rank-1識別率提升了約30%。