張鵬升



摘要:在人臉識別中,人臉姿態差異處理始終是一個難點。人臉正面化中大體可以分為兩類:一是通過圖形學方法生成正臉,二是通過產生式模型生成正臉。然而,第一類方法生成的正臉畸變會比較大,第二類方法普遍采用GAN網絡,但是訓練過程不易收斂。為解決以上問題,設計基于變分自編碼器的產生式模型,采用β?VAE模型,學習隱空間與真實圖片空間關系,提高圖片生成質量;使用模擬+無監督(S+U)學習方法,提高模型在訓練過程的穩定性。通過在Multi?PIE數據集上進行實驗,模型在定量打分中取得了不錯效果,能夠生成更加真實的圖片。實驗證明,該模型能夠有效解決傳統方法中生成圖片不真實和訓練不穩定的問題。
關鍵詞:人臉正面化;產生式模型;對抗生成網絡;變分自編碼器
The Generative Adversarial Network Based on Variational
Auto?encoder for Face Frontalization
ZHANG Peng?sheng
(Information Technology and Network Security, People′s Public Security University of China,Beijing 102623,China)
Abstract:Pose variations are always difficult to handle in face recognition. Face frontalization can be roughly divided into two categories. The first one is to obtain a frontal face by means of graphics. The second is to get a frontal face through the generative model. However, the frontal face images generated by the first method can be seriously distorted. The second method usually uses the GAN network. However, the process of training is not easy to converge. In order to solve the above problems, this paper proposes a generative network model based on variational auto?encoder and makes the following innovations. First, the model uses the β?VAE to learn the relationship between hidden space and real picture spaces so that the quality of the generated images is improved. Second, the model uses the simulation + unsupervised (S+U) learning method to the stability of the training process. We conducted experiments on the Multi?PIE dataset, which achieved good results in quantitative scoring and could generate more realistic images. Through experiments, it is proved that the proposed model can effectively solve the problem of generating unrealistic images and unstable training in traditional methods.
Key Words:face frontalization; generating model; generative adversarial network; variational auto?encoder
0?引言
神經網絡快速發展,各種網絡模型出現,大規模人臉數據集可以進行訓練,使得人臉識別技術取得了巨大進步。例如,Schroff等[1]提出的FaceNet網絡在LFW數據集上識別率達到了99.63%。但是,姿態不變的人臉識別(Pose?Invarian Face Recognition,PIFR)依然是人臉識別中一個巨大挑戰[2]。Sengupta等[3]通過CFP數據集測試表明,在根據正臉或側臉判別身份時,最優算法都比人類直觀判別的效果差。所以,如何處理人臉姿態差異始終是人臉識別的一個難點。
目前人臉姿態識別解決方案大體可以分為兩類:第一類是希望直接通過對非正臉進行學習得到可判別特征,如單一網絡模型FaceNet根據不同姿態人臉特征之間的距離大小進行判斷,以及多視圖[4?5]或多特定角度的網絡模型[6]先對人臉角度進行分類,再用對應角度的卷積網絡進行識別;第二類是人臉正面化,將側臉正面化,再對新生成的正面人臉進行判別,如Hassner等[7]利用圖形學方法使用平均3D面部模型生成正臉,被證明有用且高效。基于深度神經網絡的產生式模型在人臉正面化方面同樣取得了很好成績,如堆疊漸進式自編碼器(Stacked Progressive Auto?Encoders,SPAE)通過自編碼器將非正臉旋轉為正臉[8],以及通過對抗生成網絡(Generative Adversarial Network,GAN)的各種變形合成正面人臉[9?12]。
目前,流行的產生式模式大多采用GAN網絡模型,其中取得較好效果的有DR?GAN網絡模型,它能夠學習姿態不變的身份表示特征,同時合成任意角度的人臉[12]。但是,該網絡依舊存在兩點問題:一是其編碼—解碼結構生成器的解耦表示特征不明顯,保持身份特征的效果不是很好;二是GAN網絡存在訓練不穩定、不易收斂、對多樣性與準確性懲罰不平衡等問題。
針對以上問題,本文設計基于變分自編碼器(Variational Auto?Encoder, VAE)的對抗生成網絡模型,其由生成網絡和判別網絡兩部分組成。生成網絡采用β?VAE模型,目前在解耦表示學習方面,β?VAE模型是公認效果最好的[13]。生成網絡中,編碼器G?enc輸入任意角度的人臉,解碼器G?dec輸出特定角度的人臉。判別網絡D不僅區分圖片為真實圖片還是合成圖片,而且還預測圖片的身份。總體而言,本文進行了如下創新:①采用β?VAE模型作為生成模型,在編碼過程中不加條件,在解碼過程中加入姿態編碼c,通過采用變分自編碼器模型,可使G?enc更好地學習姿態不變情況下人臉特征表示;②運用模擬+無監督(Simulated + Unsupervised ,S+U)學習方法[14],采用局部對抗損失函數,避免G網絡只注重圖片的某一區域而欺騙D網絡,并且設置緩存區,使用已經判別過的圖片持續更新D,通過S+U方法提高整個網絡訓練過程的穩定性和有效性。
1?相關研究
1.1?人臉正面化
因為側面人臉只含有正面人臉的一部分信息,所以根據側臉生成正臉具有挑戰性,一直是計算機視覺領域的一個難題。人臉正面化可以應用于人臉編輯、姿態變換、數據增益、表示學習等多個領域,因此受到廣泛關注。人臉正面化常見方法可以分為兩類:一是利用圖形學方法從側臉獲得正面人臉,二是通過產生式模型根據側臉生成正臉。在第二類方法中,可以引入對稱性強約束,減小一對多問題困難,如TP?GAN[9]通過一條全局通路和4個局部通路相融合,加入對稱性損失函數,確保生成的人臉更真實。此外,如CAPG?GAN、DR?GAN能夠進行任意角度人臉旋轉,進一步提升了網絡性能[11?12]。
1.2?對抗生成網絡
本文產生式模型整體框架采用對抗生成網絡模型,由生成網絡和判別網絡兩部分組成。2014年,Goodfellow等[15]提出了對抗生成網絡模型,GAN啟發于博弈論中的二人零和博弈,博弈雙方分別是生成網絡?G和判別網絡D。生成網絡G盡可能學習樣本數據分布,用服從某一分布的噪聲z生成類似真實數據樣本,生成樣本越像真實樣本就越好;判別網絡D?是一個二分類器,盡可能判別接收的樣本來自真實數據還是生成數據。二者關系可以用式(1)表示。
但是,文獻[16]指出原始GAN網絡在訓練過程中容易發生?D達到最優、G梯度消失的現象,因為在判別網絡D達到最優時,最小化生成網絡G的損失函數等價變換為最小化真實分布p?d與生成分布p?z?之間的JS散度[15]。?p?d和p?z?大概率存在不重疊情況,此時JS散度為常數log2,導致?G?梯度消失。同時,因為KL散度的不對稱性,GAN訓練過程容易出現懲罰不準確、多樣性不足問題。本文生成網絡采用變分自編碼器模型,改進了?D的損失函數,避免出現梯度消失情況,而且采用S+U?學習方法,增強了網絡訓練過程中的穩定性和圖片生成的多樣性。
1.3?變分自編碼器
在本文產生式模型中,生成網絡采用β?VAE結構。變分自編碼器是一類重要的生成模型,于2013年由Kingma等[17]提出。VAEs由編碼器和解碼器兩部分組成,與GANs網絡直接進行度量生成樣本分布和真實樣本分布不同,VAEs從變分和貝葉斯理論出發,將學習目標變成盡可能滿足某個預設先驗分布的性質[18]。通常希望一個好的生成模型可以學到數據的解耦表示,β?VAE是目前最有效的模型之一[13]。該模型使用修正系數β修正VAE目標函數,通過重建精度、變化后驗分布和先驗分布的KL散度以更好地學習解耦表示。β?VAE目標函數如下:
其中,生成模型通過標準的高斯先驗?p(z)=N(0,1)定義,解碼器p?θ(x|z)通過神經網絡進行優化,后驗分布為q?φ(z|x)。方程右半部分是期望E?p?data(x)?[log?p(x)]的變分下界。當β=1時,目標函數變為原始VAE的函數,其它情況取β>1,增強隱變量之間的獨立性,以更好地學到數據的解耦表示。
2?網絡模型
在本文模型中,生成網絡采用變分自編碼器結構從人臉圖片學習身份表示,?G采用人臉圖片、姿態編碼c作為輸入,從而生成具有相同身份特定角度的人臉。G?enc學習圖片到特征表示的映射,G?dec接收學到的表示并用姿態編碼進行人臉旋轉。判別網絡D判別圖片的身份,與G相互競爭,促使G?生成更加真實且具有特定身份的圖片。
2.1?判別網絡目標函數
給定人臉圖片?x以及標簽y={y?d,y?p},其中y?d代表身份,y?p代表角度。生成網絡G的目標是學習姿態不變的身份表示,并且合成特定角度y?p但具有相同身份y?d的圖片。判別網絡D∈RN?d+1代表身份判別器,N?d包括身份類別總個數,1代表生成圖片為假一類。對于真實圖片x,D需要判斷出它的身份;對于合成圖片=G(x,c),D需要判斷出是假的。因此,D的目標函數是:
式(3)第一部分代表最大化真實圖片?x被識別的概率,第二部分代表最大化生成圖片?被判斷為假的概率。
2.2?生成網絡目標函數
生成網絡?G采用β?VAE結構,包括編碼器G?enc和解碼器G?dec。編碼器輸出隱變量z的均值μ和方差σ?文獻[17]中指出q(z|x)~N(μ(x),σ(x)),同時需要保證q(z|x)向N(0,1)看齊,達到先驗假設p(z)為標準正態分布,因此通過KL散度進行約束。公式推導如下:
隱變量通過重參數技巧采樣 z=μ+ε×σ,其中選取ε~N(0,1)。采樣操作不可導,但是利用重參數技巧使得從N(μ,σ?2)采樣z轉換為從N(0,1)采樣ε,保證采樣結果可導,使得整個模型可以訓練。通過獲得從x到z的映射f(x),G?dec根據姿態編碼c生成合成圖片=G?dec(f(x),c)。其中,姿態編碼c∈RN?P由特定角度標簽y?p經過one?hot編碼而來。因此,G的目標函數為:
其中,?β>1激勵生成網絡G更好地學習各個變量的表示,增強網絡解耦性。G和D網絡進行交替更新,當D判別能力不斷提高時,G也努力生成具有特定身份的正面人臉圖片。
3?實驗
3.1?網絡結構
在實驗中,?G?enc和判別網絡D?采用CASIA?Net網絡模型,而且在每個卷積層后添加批歸一化(Batch Normalization,BN)層和指數線性單元(Exponential Linear Unit,ELU)層[19]。?G?enc與G?dec之間添加全連接層,通過隱變量進行連接,G?dec由與G?enc相反的反卷積層組成。判別網絡D的全連接層輸出大小為N?d+1,網絡結構可簡化為圖1。
給定人臉圖片?x?,通過生成網絡G?enc和G?dec兩部分生成圖片?,判別網絡D接收真實圖片x,生成圖片進行更新并將梯度反傳給生成網絡G,G?根據目標函數式(5)更新參數。
3.2?實驗細節
本文使用Multi?PIE數據集進行訓練,如文獻[12]對數據集的設置一樣,使用數據集中337位具有中性表情的參與者人臉進行實驗,角度選取±60°,共9種,以及20種不同光照強度。選取200名參與者的人臉圖片作為訓練集,剩余137名參與者的人臉圖片作為測試集。在訓練過程中,因為Multi?PIE數據集存在光照影響,因此,添加光照編碼以提升網絡的解耦性,?N?d=200,N?P=9,Nil=20?。
訓練過程采用S+U訓練方法。在傳統的對抗訓練過程中,?G有時會局限于圖片的某一特征,重點放在一個區域欺騙D網絡,忽視了整張圖片的特征。因此,可以采用局部對抗損失函數,定義判別網絡分別計算圖片每個區域的交叉熵損失值并累加,從而促使生成圖片的每一個區域都更加真實,而且G有時會生成重復圖片,但是D因為懲罰的不準確性可能不予約束。因此,可為之前生成的圖片設置緩存區,B為緩存區圖片數量,b為每次批訓練的大小。在每輪D的訓練過程中,使用b/2當前生成圖片和b/2緩存區圖片計算損失函數,更新參數。訓練過程始終保持B數量固定,每次訓練結束后用隨機的b/2?新生成refined圖片替換緩存區圖片,從而保證訓練過程的穩定性。
3.3?實驗結果
分別使用DR?GAN和本文網絡模型,通過選擇是否采用S+U訓練方法進行實驗。直觀上,可以通過生成圖片觀察不同網絡模型的生成效果,此外,可以根據文獻[20]中起始分值定量衡量生成圖片的真實性,還可根據文獻[21]中模型分數定量衡量生成圖片的多樣性。本文選取了測試集中4位參與者的側臉進行人臉正面化,效果如圖2所示。
在圖2中,第一列為輸入的側臉圖片,第2、3列是DR?GAN未使用和使用S+U訓練方法生成的圖片,最后兩列是本文設計模型未使用和使用S+U訓練方法生成的圖片。通過對比生成圖片效果和采用定量衡量方式,本文網絡模型通過使用S+U訓練方法,能夠較好地實現人臉正面化。
4?結語
GANs、VAE等生成模型迅速發展,使得人臉正面化在近來研究中已經取得巨大進步[22]。基于變分自編碼器的產生式模型,結合了兩類模型優點,使得訓練過程可以學到更具區別性的身份表示,增強了網絡的解耦性;采用新的訓練技巧,提升了網絡穩定性與生成圖片多樣性。但是,訓練時間長以及未能高效應對多種干擾因素等問題仍需繼續改進[23]。
參考文獻:
[1]?SCHROFF F, KALENICHENKO D, PHILBIN J. Facenet: a unified embedding for face recognition and clustering[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:815?823.
[2]?DING C, TAO D. A comprehensive survey on pose?invariant face recognition[J]. ACM Transactions on Intelligent Systems and Technology (TIST),2016,7(3):37.
[3]?SENGUPTA S, CHEN J C, CASTILLO C, et al. Frontal to profile face verification in the wild[C]. IEEE Winter Conference on Applications of Computer Vision,2016:1?9.
[4]?KAN M, SHAN S, CHEN X. Multi?view deep network for cross?view classification[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016:4847?4855.
[5]?XIA Y, QIN T, CHEN W, et al. Dual supervised learning[DB/OL]. Arxiv Preprint:1707.00415, 2017.
[6]?MASI I, RAWLS S, MEDIONI G, et al. Pose?aware face recognition in the wild[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016:4838?4846.
[7]?HASSNER T, HAREL S, PAZ E, et al. Effective face frontalization in unconstrained images[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015: 4295?4304.
[8]?KAN M, SHAN S, CHANG H, et al. Stacked progressive auto?encoders(SPAE) for face recognition across poses[C].IEEE Conference on Computer Vision and Pattern Recognition, 2014:1883?1890.
[9]?HUANG R, ZHANG S, LI T,et al. Beyond face rotation: global and local perception GAN for photorealistic and identity preserving frontal view synthesis[C].IEEE International Conference on Computer Vision, 2017:2458?2467.
[10]?CAO J, HU Y, ZHANG H, et al. Learning a high fidelity pose invariant model for high?resolution face frontalization[DB/OL].Arxiv Preprint:1806.08472,2018.
[11]?HU Y, WU X, YU B, et al. Pose?guided photorealistic face rotation[C]. Salt Lake City: IEEE Conference on Computer Vision and Pattern Recognition, 2018.
[12]?LUAN T, YIN X, LIU X. Disentangled representation learning GAN for pose?invariant face recognition[C]. Computer Vision and Pattern Recognition,2017:1283?1292.
[13]?HIGGINS I, MATTHEY L, PAl, et al. Beta?VAE: learning basic visual concepts with a constrained variational framework[C]. Toulon: International Conference on Learning Representations (ICLR), 2017.
[14]?SHRIVASTAVA A, PFISTER T, TUZEL O, et al. Learning from simulated and unsupervised images through adversarial training[C]. Computer Vision and Pattern Recognition,2017,2(4):5.
[15]?GOODFELLOW I J, POUGET?ABADIE J, MIRZA M, et al. Generative adversarial nets[C]. International Conference on Neural Information Processing Systems,2014:2672?2680.
[16]?ARJOVSKY M, BOTTOU L. Towards principled methods for training generative adversarial networks[DB/OL].Arxiv Preprint:1701.04862,2017.
[17]?KINGMA D P, WELLING M. Auto?encoding variational Bayes[DB/OL].Arxiv Preprint:1312.6114, 2013.
[18]?DOERSCH C. Tutorial on variational autoencoders[DB/OL].Arxiv Preprint:1606.05908,2016.
[19]?YI D, LEI Z, LIAO S, et al. Learning face representation from scratch[DB/OL].Arxiv Preprint:1411.7923,2014.
[20]?SALIMANS T, GOODFELLOW I, ZAREMBA W, et al.Improved techniques for training GANS[C]. Advances in Neural Information Processing Systems,2016:2234?2242.
[21]?HEUSEL M,RAMSAUER H,UNTERTHINER T,et al. GANS trained by a two time?scale update rule converge to a local Nash equilibrium[C].Advances in Neural Information Processing Systems,2017:6626?6637.
[22]?許哲豪,陳瑋.基于生成對抗網絡的圖片風格遷移[J].軟件導刊,2018,17(6):207?209+212.
[23]?鄒國鋒,傅桂霞,李海濤,等.多姿態人臉識別綜述[J].模式識別與人工智能,2015,28(7):613?625.