*
(1.中北大學大數據學院,太原 030051;2.山西省醫學影像與數據分析工程研究中心(中北大學),太原 030051;3.山西警察學院刑事科學技術系,太原 030401)
隨著深度學習的發展,人臉正面識別的性能有了很大提升,而監控視頻中獲得的人臉圖像往往同時受到偏轉角和俯仰角的影響,對于這種包含多角度變化的側臉圖像,現有人臉識別系統的識別準確率較低。目前針對多角度側臉識別主要有兩種方法:一種是學習不受姿態影響的人臉身份特征[1-2];另一種是利用單一側臉圖像恢復出保留身份的逼真正臉圖像,也稱為人臉正面化[3-8]。就第一種方法而言,由于現有人臉數據集呈現長尾分布,在姿態變化上分布不均勻,因此很難學習到較為魯棒的姿態不變性人臉特征[3]。第二種方法人臉正面化可以作為一種預處理操作部署在人臉識別系統中,使得現有性能強的識別系統不需要重新訓練也可以在一定程度上提升識別準確率,同時在某些場景中,正面化的結果可以作為關鍵的參考材料,例如在刑偵領域,可以為辦案人員提供參考。此外,人臉正面化在其他領域也具有重要的實用意義。
目前針對監控攝像頭得到的側臉進行正面化主要有兩方面的困難:被遮擋信息的補全和保留身份問題。
對于解決多角度側臉被遮擋信息補全的問題,現有方法可以分為兩種:基于二維方法[4-8]和基于三維方法[9-11]。
基于三維的方法需要二維圖像到三維模型的映射,這一過程會引入較大誤差,且三維方法得到的正面化圖像通常不夠真實,會出現人工偽影和嚴重的面部紋理信息丟失情況,并且在大角度姿態下,三維方法的性能會嚴重下降[4]。
基于二維的方法在大角度姿態下相比三維方法性能較好,是目前人臉正面化算法中使用最多的。Kan等[5]利用自編碼器提出堆疊漸進式自編碼器(Stacked Progressive Auto-Encoder,SPAE),以漸進方式把大角度側臉逐漸轉換為小角度最終實現正面化。Yim等[6]提出包括主深度神經網絡(Main Deep Neural Network,Main DNN)和輔深度神經網絡(Auxiliary Deep Neural Network,Auxiliary DNN)的多任務學習模型,Main DNN負責生成目標姿態下的人臉圖像,Auxiliary DNN 利用生成圖作為輸入來重建原始輸入圖像,以這種多任務方式保留更多的身份信息。但這些方法在訓練時由于引入的約束較少,得到的生成圖像較為模糊。近幾年,生成對抗網絡(Generative Adversarial Network,GAN)[12]提升了二維圖像生成任務的視覺效果,很多基于GAN 的人臉正面化方法被提出。兩路生成對抗網絡(Two-Pathway Generative Adversarial Network,TP-GAN)[7]提出了雙支路生成對抗網絡,通過全局和局部兩條路徑分別處理側臉圖像,再將兩部分結果進行融合得到最終的正面人臉,同時根據人臉對稱性先驗提出對稱損失來補全被遮擋部分,但這是從圖像層面上補全信息。人臉正面化模型(Face Normalization Model,FNM)[4]提出了一系列人臉注意力機制判別器來判別生成圖的真實性,從而增加對生成器的懲罰,得到逼真的正面人臉圖像。用于面部姿態分析的多偏轉多俯仰高質量數據庫(Multi-yaw Multi-pitch high-quality database for Facial Pose Analysis,M2FPA)[8]采用軟注意力的方式利用人臉解析網絡分割出頭發、五官和皮膚,分別給每一部分增加判別器判別其真假,以補全丟失的面部信息從而實現正面化。上述這些基于GAN 的方法大多通過改進判別器結構,從而增大對生成器的懲罰,促使生成器生成被遮擋部分,但即使判別器能力強,多角度姿態的自遮擋問題使得輸入圖像本身有效的面部特征較少,造成生成器可利用的信息較少,使得生成過程困難。因此,為了增加可利用信息,緩解自遮擋問題,本文根據人臉對稱性這一先驗知識,設計了特征圖對稱模塊,即根據鼻尖位置判斷輸入側臉的朝向,然后將編碼器卷積層提取的特征圖依據人臉朝向進行鏡像對稱,從特征層面上補全被遮擋的關鍵人臉信息,幫助生成器生成缺失的面部信息。
對于保留身份問題,現有正面化方法[3-4,7-8]利用性能強的人臉識別網絡提取生成圖和真實圖的深層身份特征,通過降低特征之間的感知距離使得生成圖的身份信息保留,這種方法通過全局方式保留生成圖的面部整體特征,但在局部特征保留上關注較少,文獻[13-14]指出眼周區域即包含眼睛和眉毛的矩形區域是面部中具有高判別性的區域,因此本文在文獻[3-4,7-8]提出的身份保留損失基礎上,加入了眼周特征保留損失,分別從全局和局部的角度來提高生成圖像的身份信息保留。
本文的主要工作如下:
1)本文提出了一個端到端的特征圖對稱人臉正面化生成對抗網絡(Symmetric Generative Adversarial Network,Sym-GAN),可以根據單張大角度下的側臉圖像生成保留其身份的正面化圖像。生成器中加入了特征圖對稱模塊,可以對多角度變化的側臉圖像進行一定程度的信息補全。
2)為了使得生成圖保留更多關鍵的身份信息,同時利用人臉全局特征和眼周局部特征,通過縮小生成圖像和真實圖像對在面部區域和眼周區域的特征向量距離,使得生成正臉圖保留更多的身份信息。
3)即使Sym-GAN 未包含任何人臉識別網絡,但它可以輕松地部署在人臉識別系統中,作為一種預處理操作來專門處理多角度變化的側臉圖像,以提高現有人臉識別系統的性能。
在公開數據集CAS-PEAL-R1[15]上進行了定性和定量實驗,實驗結果證明本文提出的Sym-GAN 可以有效提高人臉識別模型在多角度側臉下的識別性能。
目前基于生成對抗網絡的人臉正面化方法主要包括TPGAN[7]、M2FPA[8]、雙注意力生成對抗網絡(Dual-Attention Generative Adversarial Network,DA-GAN)[16]。如圖1 所示,TP-GAN提出包括全局和局部路徑的雙支路生成器,全局路徑處理側臉圖像得到正面臉型輪廓,局部路徑處理各五官圖像塊輸出對應正面圖像,最后將全局和局部路徑的結果進行融合得到正面圖像。TP-GAN 的生成器采用編-解碼結構,同時加入跳層拼接利用編碼器提取的側臉特征進行特征融合,但側臉特征包含的信息較少,使得解碼器上采樣過程中可用的有效特征較少。對于TP-GAN 的雙路徑生成器,網絡結構龐大,生成圖像受最慢路徑影響,在訓練和預測時效率低,針對這一問題,M2FPA 和DA-GAN 只采用全局路徑的單支路網絡也可以達到相同效果。對于生成圖身份信息保留,TP-GAN、M2FPA 和DA-GAN 使用的身份保留損失是以面部全局角度提高生成圖身份信息保留,對局部具有高辨別能力的五官信息關注較少。

圖1 TP-GAN網絡框架Fig.1 Network framework of TP-GAN
本文提出的Sym-GAN 用于對受多角度變化的側臉實現正面化生成,網絡框架如圖2所示。Sym-GAN 由生成器-判別器組成。生成器和TP-GAN 全局路徑生成器一樣采用編解碼結構。編碼器對輸入側臉圖像提取特征,同時借助特征圖對稱模塊,將側臉特征依據鼻尖位置鏡像對稱;解碼器將編碼器提取的深層特征進行多次反卷積,在上采樣過程中加入跳層拼接,將原始側臉特征圖、對稱特征圖、輸入圖像在通道維度上進行拼接,最終輸出生成正臉圖像。判別器采用深層卷積網絡判定生成圖和基準圖的真實性,促使生成器生成逼真的正面圖像。Sym-GAN 主要包含兩個模塊:特征圖對稱模塊和改進的解碼器跳層拼接模塊。根據人臉對稱性這一先驗提出了特征圖對稱模塊,應用于解碼器跳層拼接,以補全丟失的人臉關鍵信息,從而緩解自遮擋造成的生成器對丟失部分生成困難的問題。改進的解碼器跳層拼接是指對TP-GAN 解碼器跳層拼接進行改進,在反卷積過程中拼接了編碼器提取的側臉特征圖、對稱特征圖以及輸入圖,可以起到補全信息和增強面部細節學習的作用。此外,本文在身份特征保留損失的基礎上,加入了眼周特征保留損失來訓練生成器。身份特征從全局角度表征一些面部紋理特征和五官間的拓撲結構,眼周特征從局部角度表征眉毛、眼型和眼間距等局部身份信息,從而提高生成圖全局和局部區域身份信息保留能力。下面將詳細介紹特征對稱模塊和改進的解碼器跳層拼接模塊,眼周特征保留損失在3.2節眼周特征保留損失介紹。

圖2 Sym-GAN網絡框架Fig.2 Network framework of Sym-GAN
編碼器的作用是將輸入圖像通過多層卷積提取特征,得到高維人臉特征表達向量,解碼器對特征向量進行上采樣恢復出正面圖。對于多角度變化下的側臉正面化任務,為了保證生成正面人臉逼真且保留足夠多的身份信息,編碼器一方面需要對輸入圖像進行信息過濾,濾去背景噪聲和與人臉身份無關的角度信息,為解碼器提供更為緊湊的面部特征向量;另一方面需要提供給解碼器較為豐富有效的面部信息,以緩解自遮擋導致的人臉信息丟失問題。為了實現這一目的,本文在編碼器對側臉圖像進行下采樣過程中加入了特征圖對稱模塊,首先使用預訓練的人臉特征點檢測器視網膜人臉(Retinaface)[17]對輸入側臉圖像進行特征點檢測,通過鼻尖點位置坐標來判斷當前輸入側臉的朝向,將側臉圖像中信息包含較多的一側以鼻尖橫坐標為中心做鏡像對稱,編碼器提取的特征圖和對稱后的特征圖可視化效果如圖3 所示,對稱特征圖應用于解碼器跳層拼接,以補全丟失的人臉信息。編碼器繼續對側臉特征圖進行下采樣得到256 維的深層人臉特征表達向量。

圖3 特征圖對稱模塊Fig.3 Feature map symmetry module
解碼器作用是將編碼器得到的高層特征依次經過多個反卷積層進行上采樣,直到生成圖的分辨率和輸入圖一致。本文對TP-GAN 解碼器跳層拼接做出改進,TP-GAN 在跳層拼接時只將側臉特征圖、輸入原圖和反卷積特征圖進行拼接,如圖4 所示。本文的改進方法為:在解碼過程中,每層反卷積輸入的特征圖由編碼器中對應尺度側臉特征圖、特征圖對稱模塊得到的對稱特征圖、同一尺寸的輸入側臉圖以及前一層反卷積的輸出特征圖拼接得到。相較于TP-GAN 的拼接方式,本文得到的對稱特征圖也參與了拼接,這種拼接方式不僅可以實現特征融合,也可以在特征層面上對丟失側臉特征進行模擬和補全,以緩解生成器生成過程中能利用的有效面部信息較少的困難,從而生成出具有高細節保真的正面圖像。

圖4 改進的解碼器跳層拼接Fig.4 Skip layer splicing of improved decoder
判別器的作用是判別生成圖和真實圖的真假性,從而對生成器造成一定的懲罰,使得生成器生成的結果更接近真實圖像。本文采用的判別器結構如圖5所示,由6層卷積層組成,其中在第4層和第5層卷積層之后加入殘差塊,使得網絡層數加深,從而提取到更為抽象的面部細節特征,提高判別器的判別能力。從第5層到第6層采用1×1卷積核用于降低特征通道,最后輸出4×4概率圖。本文采用1×1卷積核代替全連接層,是因為全連接層會破壞圖像的空間結構,而1×1卷積核可以保證在降低特征圖維度的同時不改變圖像的空間結構,即不破壞面部拓撲結構。此外,相較于傳統生成對抗網絡中判別器只輸出一個標量值來表示生成圖或真實圖整幅圖像的真實性,本文的判別器輸出4×4概率圖,其中每一個概率值對應圖像中一個局部感受野,可以恰好將人臉五官位置進行分離判別,采用這種方法可以提高判別器對局部細節的判別能力,從而促使生成器生成高細節保留、高分辨率的正面人臉圖像。

圖5 判別器網絡結構Fig.5 Network structure of discriminator
用于訓練Sym-GAN 的目標函數Lsyn由一系列損失函數加權和組成,公式如下所示:

其中:Lip表示身份保留損失,以全局角度保留生成圖身份信息;在Lip的基礎上,為了增加對生成圖局部身份信息的關注,本文提出眼周特征保留損失Leyefp;Lpixel表示多尺度像素級損失,確保生成圖和真實圖的內容一致性;Ladv表示對抗損失,使生成圖在視覺效果上較好;Lsym表示對稱損失,用于緩解自遮擋問題;Ltv表示總差分正則化,降低生成圖的人工偽影,提高視覺效果;λ1、λ2、λ3、λ4、λ5、λ6為對應的權重參數。下面將詳細介紹每一個損失函數。
為了保留生成圖身份信息,文獻[7-8]利用輕卷積神經網絡(Light Convolutional Neural Network,Light CNN)[18]提取生成圖和真實圖的高維特征向量構成感知損失來確保生成圖身份信息保留,這種方式是以全局角度關注生成圖的身份特征,而對面部局部區域的身份信息關注較少;文獻[13-14]指出眼周區域(即包含眉毛和眼睛的矩形區域)是面部最具有判別能力的區域之一,表明眼周區域相較面部其他五官,可以表征出更加獨特的人臉身份特征。因此,為了提高生成圖全局和局部區域的身份特征保留,在文獻[7-8]身份保留損失的基礎上,提出眼周特征保留損失,文獻[19]分析了傳統特征提取方法,如局部二值模式(Local Binary Pattern,LBP)[20]、方向梯度直方圖(Histogram of Oriented Gradient,HOG)[21]、尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[22]和現有卷積特征在眼周圖像識別效果,提出了現有的卷積特征在眼周圖像上也有較好的識別性能,且實驗表明使用殘差網絡(Residual Network,ResNet)[23]ResNet50 在眼周圖像上的第73 層特征識別效果相對較好。因此,本文按照如圖6所示設計了眼周特征保留損失,利用ResNet50 分別提取生成圖和真實圖的左右眼區域的第73層特征,然后分別計算對應特征之間的余弦距離,將兩部分距離相加得到眼周特征保留損失,作為訓練生成器損失函數的一部分,約束局部區域身份保留。

圖6 眼周特征保留損失計算Fig.6 Calculation of preserving loss of periocular feature
眼周特征保留損失函數公式如下所示:

其中:φ(·)定義為ResNet50提取的第73層網絡的特征和分別表示生成圖像和基準圖像分別表示I*的左右眼區域圖像;dist表示余弦距離。
為了保留生成圖像全局身份信息,按照文獻[7-8],使用預訓練人臉識別網絡提取的高維特征向量構成感知損失來保留生成圖的身份信息。

其中:φ(·)定義為預訓練的人臉識別網絡Light CNN 提取的最后一層全連接層的特征,由于Light CNN 是在大規模人臉數據集上進行訓練,它可以提取到更為普遍、更為顯著的人臉特征表示向量2范數。
按照文獻[7],加入多尺度像素級損失來確保生成圖像Igen和基準圖像Igt在內容上的一致性,此外也可提高生成圖像Igen的逼真程度。

其中:i表示第i個圖像尺寸,分別在圖像尺寸為128×128、64×64、32×32大小的生成圖Igen和真實圖Igt之間計算像素值的L1距離;C表示圖像的通道數,Wi和Hi分別表示對應分辨率圖像的寬和高。
Sym-GAN 由兩部分組成:生成器G 和判別器D。判別器D 的目的是從真實圖和生成圖中區分出真實圖。生成器G 的目的是生成接近真實的圖像以欺騙判別器。生成器和判別器之間的訓練[12]可表示為:

對抗損失Ladv可以幫助生成圖在視覺感官上產生較好的效果。
文獻[7]提出的對稱損失,可以有效地緩解自遮擋問題以提高模型在大角度姿態下的正面化生成性能。

其中:W-(w-1)表示生成圖Igen中w位置的對稱橫坐標。
通常,GAN 模型生成的圖像會產生許多的人工偽影,干擾視覺質量和識別性能,按照文獻[3],在生成圖像中加入了總變分正則化項以緩解這一問題。

其中:W和H表示最終生成圖像的寬和高。
Sym-GAN 的核心目標是根據包含多角度變化的側臉合成其逼真的正面人臉,同時能夠保留足夠的身份信息。在4.2節中展示了提出的Sym-GAN 在公開數據集上的定性正面化合成效果,在4.3 節中定量評估了Sym-GAN 對人臉識別網絡的增強效果。在4.4 節中,針對Sym-GAN 不同結構變體和損失函數變體進行了消融實驗,以分析其各自的作用。
CAS-PEAL-R1 數據集是一個公開的大規模中國人臉數據集,它涵蓋了姿態、表情、裝飾物和光照等變化。該數據集總共包含1 040 個人的30 863 張灰度圖像,其中男性有595人、女性有445 人。本文中只使用含有姿態變化的圖像,包含7 個偏轉角度(0°,± 15°,± 30°,± 45°)和3 個俯仰角度(0°,± 30°),共21 種角度變化。使用前600 人構成訓練集,剩下的440人構成測試集。
使用人臉檢測模型Retinaface 對圖像進行預處理,將CAS-PEAL-R1 數據集中用于實驗評估的所有圖像裁剪到分辨率為128×128,并且為了保證正面化的效果,對所有基準正面圖像進行對齊處理,即保證左右眼特征點處于同一水平線上,且確保兩眼連線的中點落在裁剪后圖像的中點上。用于計算身份損失的預訓練人臉識別網絡Light CNN-29在訓練期間參數固定,眼周區域大小選取數據集眼周矩形框的平均尺寸。本文的模型采用Pytorch 深度學習框架實現。選擇β1為0.9,β2為0.99 的Adam 優化器,學習率為2-4,圖像分辨率為128×128 時設置batch size 為16。在一張NVIDIA Tesla P100 GPU(16 GB)上訓練網絡。在所有實驗中,依據經驗分別設置權重參數λ1,λ2,λ3,λ4,λ5,λ6為0.01,0.05,150,0.1,0.01,1。
本文以側臉圖像作為輸入圖像,以偏轉角和俯仰角都為0°的正面圖像作為基準圖像訓練網絡。圖7所示為Sym-GAN在各個俯仰角的生成結果。可以觀察到,生成圖像和基準圖像不僅在全局的面部結構上保持一致,同時在眉毛和眼型等局部細節上也與基準圖像接近,證明了本文提出的眼周特征保留損失對局部區域特征保留具有一定的作用。

圖7 Sym-GAN在CAS-PEAL-R1數據集上不同俯仰角的生成正面人臉圖像Fig.7 Frontal images generated by Sym-GAN on images with different pitch angles in CAS-PEAL-R1 dataset
本文提供了一系列人臉正面化方法的生成結果與Sym-GAN 進行比較,包括TP-GAN[7]、完整表示生成對抗網絡(Complete Representations Generative Adversarial Network,CRGAN)[24]、M2FPA[8]、DA-GAN[16],生成效果對比結果如圖8 所示。由圖8 可以看出,在眼周部分Sym-GAN 模型的生成效果相較其他方法與基準圖像更為接近。此外,相較其他方法在判別器加入一些區域約束,會造成其他區域出現模糊的現象,本文方法使用相對簡單的判別器結構,保證了面部整體細節的一致性。

圖8 CAS-PEAL-R1數據集上不同方法的比較Fig.8 Comparison of different methods on CAS-PEAL-R1 dataset
人臉正面化可以作為人臉識別模型的一種預處理操作,所以使用人臉識別準確率作為評價指標來評估不同正面化方法的身份保留能力。識別準確率越高,人臉合成過程中保留下的人臉特征越多,正面化合成的效果越好。因此,本文在CAS-PEAL-R1數據集上定量驗證Sym-GAN 模型“通過生成再進行識別”的有效性。把Sym-GAN 模型作為預處理操作,然后使用預訓練人臉識別模型Light CNN 作為人臉特征提取器,并使用距離度量計算生成圖像和真實圖像對之間的相似度。表1 所示為不同方法在CAS-PEAL-R1 數據集上的Rank-1 識別準確率。從表1 中可以觀察到,在一些極端角度上,本文的方法可以得到更高的識別準確率,證明了本文方法在側臉正面化任務上的有效性。
為了驗證Sym-GAN 模型的優勢以及其各個組成部分的貢獻,進行了消融對比實驗。圖9為本文方法與其3個不完全變體在CAS-PEAL-R1數據集上的可視化比較結果。從圖9可以看出,若消去總變分正則化損失,會產生更多的人工偽影;若消去身份信息保留損失,在臉型輪廓上和基準圖像差距較大;此外,加入眼周特征保留損失,可以使眉毛和眼型上與基準圖像更加接近,并且網絡訓練中有無眼周特征保留損失對身份信息保留損失收斂的對比如圖10(a)和(b)所示,加入眼周特征保留損失有助于身份信息保留損失的收斂,從而對面部全局身份信息保留起到一定積極作用。表2 為本文方法與其3 個不同變體在CAS-PEAL-R1 數據集上的Rank-1 識別率,也可以展示出身份保留損失和眼周特征保留損失在身份信息保留過程中的有效作用。

表1 CAS-PEAL-R1數據集上不同方法的Rank-1識別率 單位:%Tab.1 Rank-1 recognition rates of different methods on CAS-PEAL-R1 dataset unit:%

圖9 Sym-GAN模型及其變體在CAS-PEAL-R1數據集上的生成效果Fig.9 Generation results of Sym-GAN model and its variants on CAS-PEAL-R1 dataset

圖10 身份信息保留損失曲線對比Fig.10 Comparison of identity information preserving loss curves

表2 CAS-PEAL-R1數據集上各消融結果的Rank-1識別率 單位:%Tab.2 Rank-1 recognition rates of ablation results on CAS-PEAL-R1 dataset unit:%
本文針對多角度側臉正面化問題提出了一種基于面部特征圖對稱和眼周特征保留損失的生成對抗網絡模型。首先,根據人臉對稱性這一先驗知識,本文提出了特征圖對稱模塊,用于緩解大角度姿態下人臉存在的自遮擋現象造成正面化生成較為困難的問題。此外,受益于眼周區域相較于面部其他五官,具有較高的判別能力,加入了眼周特征保留損失使得在生成過程中對眼周區域增大關注,從而提高生成圖的身份信息保留程度。定性的正面化結果和定量的人臉識別性能的實驗驗證了本文方法的有效性。同時,將對面部各五官特征對人臉識別的貢獻度進行調研,在眼周保留損失的基礎上嘗試加入面部其他高辨別區域的身份特征保留從而進一步提高生成人臉的效果。