Generative Adversarial Nets[CAAE]



本文來自《Age Progression/Regression by Conditional Adversarial Autoencoder》,時間線為2017年2月。
該文很有意思,是如何通過當前圖片生成你不同年齡時候的樣子。

假設給你一張人臉(沒有告訴你多少歲)和一堆網上爬取的人臉圖像(包含不同年齡的標注人臉但不一定配對),你能給出那一張人臉80歲或者5歲時候的樣子么。當然回答不能,當前現有的人臉年齡研究都試圖學習一個年齡組間的變換,因此需要配對的樣本和標注的詢問圖片。在本文中,作者從一個生成建模角度看待這個問題,從而不需要配對的樣本。另外,給定一個無標注圖片,生成的模型可以直接生成合適年齡的圖片。本文提出的就是一個條件對抗自動編碼器(conditional adversarial autoencoder ,CAAE),學習一個人臉流行,在該流行上滑動即得到平滑的年齡漸變。在CAAE中,人臉首先通過一個條件編碼器映射到一個潛在向量,然后該向量通過一個解卷積生成器映射到基於年齡的人臉流行上。該潛在變量保留了個人的人臉特征,且具有年齡條件控制。兩個對抗網絡插入該編碼器和生成器,強制生成更多真實性的人臉。

1 引言

人臉年齡預見(age progression)(即,預測未來的長相)和回溯(regression)(即,估計先前的長相),也叫做人臉衰老和青春復蘇(face aging and rejuvenation),意在帶有或者不帶有年齡影響下的渲染人臉圖片,但是依然保留人臉的個人特征(如個人屬性)。這能影響到很多的應用,如思念/失蹤人口的人臉預測,年齡不變性的驗證,娛樂等等。該領域已經吸引了很多的研究人員。大多數挑戰來自對訓練和測試數據集的嚴格要求,以及在表情,姿勢,分辨率,照明和遮擋方面在面部圖像中呈現的大變化。對數據集的嚴格要求是指大多數現有工作需要可用的配對樣本,即不同年齡的同一人的人臉圖像,有些甚至需要在很長的年齡范圍內配對樣本,這是非常難以收集的。例如,最大的年齡數據集"Morph"[11]只抓取平均時間為164天的個人圖像。另外,現在的工作同樣需要查詢的圖片有真實年齡的標記,這就很不方便了。給定訓練集,現在的工作基本都是將它們划分成不同的年齡組,然后學習不同年齡之間的一個變換,因此,必須標記查詢圖像才能正確定位圖像。

雖然年齡預見和回溯是同等重要的,不過現在大多數工作還是在年齡預見上。只有非常少的工作在青春復蘇上獲得很好的效果,特別是從一個成年人得到其嬰兒時候相片,因為他們只是基於表面進行建模,並簡單移除給定圖片上的紋理而已[7,14,18]。另一方面,研究者在年齡預見上有了很好的進展。如基於物理模型的方法[14,22,26,27]參數化模擬生物面部隨年齡變化,例如肌肉,皺紋,皮膚等。然而,他們需要面對復雜的建模,還需要足夠長時間的覆蓋,而且計算代價較大;基於原型的方法[11,24,28,29]傾向將訓練集划分成不同年齡組,並學習組間的變換。然而一些可以保留個人屬性但是會引發嚴重的鬼影,其他的工作可以消除重影效應但會失去個性,而大多數工作放寬了長時間跨配對圖像的要求,並且可以在兩個相鄰年齡組之間學習老化模式。盡管如此,他們仍然需要在短時間內配對樣本。

本文中,作者從生成模型角度調研了年齡預見/回溯問題。在人臉圖像生成領域GAN的快速發展也是有目共睹[17,19,21,31]。本文中,假設人臉圖片位於一個高維流行上,

給定一個查詢人臉,首先在流行上找到對應的點(人臉),然后朝着年齡變化的方向前進,去獲取不同年齡段的人臉圖片同時保留個性。作者提出一個條件對抗自動編碼器(CAAE)網絡來學習這個人臉流行。通過控制年齡屬性,可以很靈活的同時得到年齡預見和回溯。因為很難直接在高維流行上進行操作,所以人臉首先通過一個卷積編碼器映射到一個潛在向量上,然后該向量通過解卷積生成器去生成人臉。將兩個對抗網絡插入編碼器和生成器,強制生成更多真實性人臉。

CAAE的好處有如下四點:

  • 該網絡結構同時獲取年齡預見和回溯的時候還能生成真實性人臉圖片;
  • 拋棄基於組的學習,因此不需要在訓練數據中有配對的樣本或者測試數據中標注的人臉,使得框架更加靈活和通用;
  • 潛在向量中的年齡和個性的解耦有助於保留個性同時避免鬼影;
  • CAAE對於姿態,表情和光照有很好的魯棒性。

2 在流行上遍歷

我們假設人臉位於高維流行上,沿着特定方向遍歷可以得到年齡預見/回溯的同時保留個性。該假設在下面用實驗去證明。然而,對高維流行進行建模是很復雜的,也很難直接在流行上修改(遍歷)。因此需要學習一個基於流行和更低維度空間(如潛在變量的空間)的映射,這就相對容易修改。

如圖2所示,人臉\(x_1\)\(x_2\)通過\(E\)(即一個編碼器)映射到潛在變量空間,其提取個人特征\(z_1\)\(z_2\)。與年齡標簽\(l_1\)\(l_2\)合並,從潛在空間中生成2個點,即\([z_1,l_1]\)\([z_2,l_2]\)。注意到個性\(z\)和年齡\(l\)在潛在變量空間中是解耦的,因此只需要簡單修改年齡的同時保留個性即可。從紅色矩形開始\([z_2,l_2]\)(對應\(x_2\)),沿着年齡軸雙向步進(如紅色箭頭),可以得到一系列新點(紅色圓點)。通過另一個映射\(G\)(一個生成器),這些點映射到流行\(\mathcal{M}\)上,即生成一系列人臉圖片,他們表示\(x_2\)的年齡預見/回溯。通過同樣的邏輯,綠色點和箭頭表示基於學到的流行和映射基礎上,\(x_1\)的年齡預見/回溯。如果我們在潛在變量空間沿着虛線箭頭移動,就可以同時改變個性和年齡。

3 方法

3.1 條件對抗自動編碼器 CAAE



CAAE網絡結構如圖3.輸入和輸出的人臉圖片都是128x128大小的RBG圖片,一個CNN作為編碼器。采用stride=2的卷積操作來代替池化操作(如最大池化),因為strided卷積是完全可微的,所以允許網絡學到他自己的空間下采樣[21]。編碼器的輸出\(E(x)=z\)保留了輸入人臉\(x\)的高層個人特征。基於特定年齡的輸出人臉可以通過\(G(z,l)=\hat x\)來表示,其中\(l\)是one-hot年齡label。不同於現存的GAN工作,這里插入一個編碼器以避免\(z\)的隨機采樣,因為這里需要生成具有特定個性的人臉,而這些信息包含在\(z\)中。另外,還在編碼器\(E\)和生成器\(G\)上插入兩個判別器網絡。\(D_z\)正則懲罰\(z\)為均勻分布,平滑年齡的變換。\(D_{img}\)為任意\(z\)\(l\),強制\(G\)生成真實的相片和可接受的人臉。

\[\begin{align}.\end{align} \]

3.2 目標函數

假設真實人臉圖片都位於一個人臉流行\(\mathcal{M}\)上,所以輸入的人臉圖片具有\(x\in\mathcal{M}\),編碼器\(E\)將輸入人臉\(x\)映射到一個特征向量上,即\(E(x)=z\in\mathbb{R}^n\),這里\(n\)是人臉特征的維度。給定\(z\)和特定年齡label \(l\),生成器\(G\)生成的輸出人臉\(\hat x=G(z,l)=G(E(x),l)\)。作者的目標是確保輸出人臉\(\hat x\)位於流行的同時能夠與輸入人臉\(x\)共享個性和年齡。因此,輸入和輸出人臉期望是相似的,如式子2,這里\(\mathcal{L}(\cdot,\cdot)\)是L2范式:

\[\begin{align}\underset{E,G}{\min}\mathcal{L}(x,G(E(x)),l)\end{align} \]

同時,通過\(D_z\)判別器將均勻分布插入到\(z\)上。這里將訓練數據的分布表示為\(p_{data}(\mathbf{x})\),然后\(z\)的分布為\(q(\mathbf{z}|\mathbf{x})\)。假設\(p(\mathbf{z})\)是一個先驗分布,\(z^*\sim p(\mathbf{z})\)表示從\(p(\mathbf{z})\)上的隨機采樣過程。一個最小最大目標函數可以用來訓練\(E\)\(D_z\)

同樣的邏輯,在人臉圖像上的判別器\(D_{img}\)和帶有條件\(l\)\(G\)可以通過下面的目標函數訓練:

最終的目標函數為:

其中\(TV(\cdot)\)是有效去除鬼影的總變化。系數\(\lambda\)\(\gamma\)用於權衡平滑和高分辨率。

注意到年齡label是resize的,然后合並到\(D_{img}\)的第一個卷積層,讓其能同時判別年齡和人臉。然后通過式子2,3,4去更新王最終學到如圖4的流行\(\mathcal{M}\).

3.3 在\(z\)上的判別器

基於\(z\)的判別器,表示為\(D_z\),是在\(z\)上介入一個先驗分布(即均勻分布)。特別的,\(D_z\)為了判別由編碼器\(E\)生成的\(z\)。同時,\(E\)會生成\(z\)來愚弄\(D_z\)。這樣的對抗過程可以讓生成的\(z\)的分布逐步接近先驗。作者用均勻分布作為先驗,迫使\(z\)均勻的填充潛在空間,使其不會有明顯的“洞”。

圖5所示,生成的\(z\)(圖中藍色點)表示基於\(D_z\)正則的均勻分布,同時\(z\)的分布在沒有\(D_z\)時候,就會有明顯的“洞”。這些“洞”的出現表示通過在任意\(z\)之間插值產生的人臉圖像可能不會位於面部流形上,即產生不切實際的人臉。如圖5中給定兩個人臉\(x_1\)\(x_2\),通過\(E\),分別在有和沒有\(D_z\)的參與下,得到對應的\(z_1\)\(z_2\).在\(z_1\)\(z_2\)之間插值(圖5的虛線箭頭),生成的人臉期望能夠具有真實性和平滑變形(圖5底部),然而在沒有\(D_z\)的正則懲罰下,變形呈現的是扭曲(非真實)的人臉,即中間部分(圖中黑色虛線矩形框),其對應着插值\(z\)時候經過的“洞”。

3.4 在人臉圖像上的判別器

繼承自GAN的相似性原則,在人臉圖像上的判別器\(D_{img}\)強制生成器生成更具真實性的人臉。另外,插入\(D_{img}\)的年齡label,以區別不同年齡的非自然人臉。通過最小化輸入和輸出人臉之間的距離,如式子2,強制輸出人臉更靠近真實人臉。當然式子2並不會確保框架從無采樣人臉上生成合理的人臉。例如,給定訓練過程中未看見的人臉和一個隨機年齡label,逐像素loss 只能讓框架生成的人臉靠近訓練過的人臉,以插值的方式實現,這時候就會導致生成的人臉是十分模糊的。\(D_{img}\)會從年齡,真實性,分辨率角度判別從真實人臉上生成的人臉

圖6展示了\(D_{img}\)的效果。其中\(D_{img}\)會增強紋理,特別是更老的人臉上。

3.5 與其他生成網絡的區別

這里會介紹CAAE與VAE,AAE等的差別。

VAE vs GAN
VAE使用一個識別網絡,在潛在變量基礎上預測后驗分布,而GAN使用一個對抗訓練過程直接通過BP塑造網絡的輸出分布。因為VAE遵循一個編碼解碼過程,我們可以直接將生成的圖片與輸入進行對比,而在使用GAN的時候是不可能的。VAE的一個缺點是它是由均值平方差而不是對抗網絡來生成圖像,所以會生成更多模糊的圖片[15]。

AAE vs GAN and VAE
AAE可以被看成GAN和VAE的結合,這保持如VAE的AE網絡,但是用GAN中的對抗網絡來替換其中的KL散度。不是如GAN中一樣基於隨機噪音生成圖像,AAE利用編碼器去學習潛在的變量,以此逼近某個先驗,讓生成的圖像類型可控。另外,AAE相比VAE更好的抓取數據流行。

CAAE vs AAE
提出的CAAE更相似於AAE。與AAE的主要區別是提出的CAAE在編碼器和生成器上加入了判別器。編碼器上的判別器保證潛在空間中的平滑過渡,而生成器上的判別器有助於生成真實的人臉圖像。因此,CAAE會生成比AAE質量更高的人臉。

4 實驗評估

4.1 數據收集

首先獲取Morph數據集[11]和CACD數據集[2]。Morph數據集是最大的,包含每個人多個年齡段的數據集,包含13000個人的55000張圖片,從16歲到77歲。CACD數據集包含2000個人和13446個圖片。因為兩個數據集量都比較少,所以作者從Bing和google上基於關鍵字進行了搜索,如baby,boy,teenager,15 years old等等。因為提出的方法不需要來自同一個人的多個人臉,所以簡單隨機從Morph和CACD上挑選大概3000張圖片和7670張搜索的圖片。爬取人臉的年齡和性別是基於圖片標題或者年齡估算器進行估算的[16]。作者這里將年齡划分成10個階段,0-5,6-10,11-15,16-20,21-30,31-40,41-50,51-60,61-70,71-80。因此,可以使用10個元素的one-hot去只是訓練過程中每個人臉的年齡。最終數據集包含10670張人臉圖,基於性別和年齡均勻抽取。作者使用[5]中的檢測算法和68個標注點進行裁剪和對齊人臉,使得訓練更容易實現。

4.2 CAAE的實現

如圖3,其中kernel size為5x5。輸入圖像的像素值歸一化到[-1,1]。\(E\)的輸出如\(z\)同樣通過tanh函數限制到[-1,1]。然后合適的年齡label,一個oneh-hot向量合並到\(z\)上,構建\(G\)的輸入。為了同等的合並,label的元素也限制到[-1,1],其中-1就是表示0.最后,輸出同樣通過tanh約束到[-1,1]。歸一化輸入可以讓訓練過程收斂更快。注意帶這里沒有使用BN,是因為它會模糊個人特征並讓輸出的人臉在測試中遠離輸入。然而如果用在\(D_{img}\)上,bn可以讓框架更穩定。每個塊(E,G,\(D_z\)\(D_{img}\))的所有中間層都是用ReLU激活函數。

在訓練中\(\lambda=100,\gamma=10\),這四個塊是用minibatch size等於100進行交替更新的,采用的ADAM(\(\alpha=0.0002,\beta_1=0.5\)).人臉和年齡成對輸送給網絡。在50個epoch之后,就可以生成可接受的人臉。在測試階段,只有\(E\)\(G\)是活動的。給定一個沒有真實年齡label的輸入人臉,\(E\)會將其映射成\(z\)。合並一個任意年齡label到\(z\)\(G\)會生成一個基於年齡和個性的真實人臉。

4.3 定性和定量的對比

4.4 姿態,表情,光照的容忍度

reference:

[1] D. M. Burt and D. I. Perrett. Perception of age in adult caucasian male faces: Computer graphic manipulation of shape and colour information. Proceedings of the Royal Society of London B: Biological Sciences, 259(1355):137–143, 1995. 2
[2] B.-C. Chen, C.-S. Chen, and W. H. Hsu. Cross-age reference coding for age-invariant face recognition and retrieval. In Proceedings of the European Conference on Computer Vision, 2014. 6
[3] X. Chen, Y. Duan, R. Houthooft, J. Schulman, I. Sutskever, and P. Abbeel. InfoGAN: Interpretable representation learning by information maximizing generative adversarial nets. In Advances in Neural Information Processing Systems, 2016. 3
[4] E. L. Denton, S. Chintala, R. Fergus, et al. Deep generative image models using a laplacian pyramid of adversarial networks. In Advances in Neural Information Processing Systems, pages 1486–1494, 2015. 3
[5] Dlib C++ Library. http://dlib.net/.
[Online]. 6
[6] Face Transformer (FT) demo. http://cherry.dcs. aber.ac.uk/transformer/.
[Online]. 8
[7] Y. Fu and N. Zheng. M-face: An appearance-based photorealistic model for multiple facial attributes rendering. IEEE Transactions on Circuits and Systems for Video Technology, 16(7):830–842, 2006. 2
[8] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D.Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In Advances in Neural Information Processing Systems, pages 2672–2680, 2014. 2, 5
[9] K. Gregor, I. Danihelka, A. Graves, D. J. Rezende, and D. Wierstra. Draw: A recurrent neural network for image generation. arXiv preprint arXiv:1502.04623, 2015. 3
[10] D. J. Im, C. D. Kim, H. Jiang, and R. Memisevic. Generating images with recurrent adversarial networks. arXiv preprint arXiv:1602.05110, 2016. 3
[11] I. Kemelmacher-Shlizerman, S. Suwajanakorn, and S. M. Seitz. Illumination-aware age progression. In IEEE Conference on Computer Vision and Pattern Recognition, pages 3334–3341. IEEE, 2014. 1, 2, 6, 7, 8
[12] D. Kingma and J. Ba. ADAM: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014. 7
[13] D. P. Kingma and M. Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114, 2013. 5
[14] A. Lanitis, C. J. Taylor, and T. F. Cootes. Toward automatic simulation of aging effects on face images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(4):442–455, 2002. 2, 7
[15] A. B. L. Larsen, S. K. Sønderby, and O. Winther. Autoencoding beyond pixels using a learned similarity metric. arXiv preprint arXiv:1512.09300, 2015. 6
[16] G. Levi and T. Hassner. Age and gender classification using convolutional neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, pages 34–42, 2015. 6
[17] M. Y. Liu and O. Tuzel. Coupled generative adversarial networks. In Advances in neural information processing systems, 2016. 2, 3
[18] Z. Liu, Z. Zhang, and Y. Shan. Image-based surface detail transfer. IEEE Computer Graphics and Applications, 24(3):30–35, 2004. 2
[19] A. Makhzani, J. Shlens, N. Jaitly, and I. Goodfellow. Adversarial autoencoders. In International Conference on Learning Representations, 2016. 2, 3, 5, 6
[20] M. Mirza and S. Osindero. Conditional generative adversarial nets. arXiv preprint arXiv:1411.1784, 2014. 3
[21] A. Radford, L. Metz, and S. Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. In International Conference on Learning Representations, 2016. 2, 3, 4
[22] N. Ramanathan and R. Chellappa. Modeling age progression in young faces. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition, volume 1, pages 387–394. IEEE, 2006. 2
[23] N. Ramanathan and R. Chellappa. Modeling shape and textural variations in aging faces. In IEEE International Conference on Automatic Face & Gesture Recognition, pages 1–8. IEEE, 2008. 2
[24] X. Shu, J. Tang, H. Lai, L. Liu, and S. Yan. Personalized age progression with aging dictionary. In Proceedings of the IEEE International Conference on Computer Vision, pages 3970–3978, 2015. 2, 7, 8
[25] J. Suo, X. Chen, S. Shan, W. Gao, and Q. Dai. A concatenational graph evolution aging model. IEEE Transactions on Pattern Analysis and Machine Intelligence, 34(11):2083– 2096, 2012. 2
[26] J. Suo, S.-C. Zhu, S. Shan, and X. Chen. A compositional and dynamic model for face aging. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(3):385–401, 2010. 2, 7, 8
[27] Y. Tazoe, H. Gohara, A. Maejima, and S. Morishima. Facial aging simulator considering geometry and patch-tiled texture. In ACM SIGGRAPH 2012 Posters, page 90. ACM, 2012. 2
[28] B. Tiddeman, M. Burt, and D. Perrett. Prototyping and transforming facial textures for perception research. IEEE Computer Graphics and Applications, 21(5):42–50, 2001. 2
[29] W. Wang, Z. Cui, Y. Yan, J. Feng, S. Yan, X. Shu, and N. Sebe. Recurrent face aging. In IEEE Conference on Computer Vision and Pattern Recognition, pages 2378–2386. IEEE, 2016. 2, 7, 8
[30] X. Yu and F. Porikli. Ultra-resolving face images by discriminative generative networks. In European Conference on Computer Vision, pages 318–333. Springer, 2016. 3
[31] J. Zhao, M. Mathieu, and Y. LeCun. Energy-based generative adversarial network. arXiv preprint arXiv:1609.03126, 2016. 2, 3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM