1. 程式人生 > >FACE AGING WITH CONDITIONAL GENERATIVE ADVERSARIAL NETWORKS

FACE AGING WITH CONDITIONAL GENERATIVE ADVERSARIAL NETWORKS

文章用於生成不同年齡的圖片,採用的模型是條件對抗網路,主要創新點是,首先通過一個網路,提取影象特徵向量,並通過身份保持網路,優化影象的特徵向量,特到特徵向量 z ,之後便可以對於每個輸入年齡,查詢其年齡向量,並將該年齡向量與輸入圖片特徵向量 z 串聯,輸入生成網路,生成目標年齡圖片.

特徵向量優化網路結構如下,

這裡寫圖片描述

網路的訓練資料為,輸入影象x,以及該影象的年齡 y0 ,對輸入影象,將其輸入Encoder網路,將影象編碼為一個特徵向量 z0 .對於特徵向量 z

0 ,採用身份保持網路,對其優化,特到特徵向量 z .之後便可以將特徵向量 z 與年齡 y0 輸入CGAN(條件對抗網路)的生成網路,得到目標年齡影象.

1.indetiry preserving optimization(身份保持優化)

身份保持的思想是對於同一張圖片,不管是任何年齡端,他都是輸入同一個人,如果直接採用特徵向量 z0 ,重構的年齡圖片如下圖b.

這裡寫圖片描述

由圖b所示,直接採用特徵向量 z0 重構的影象,與原圖為同一個人的特徵損失比較大.因此文章提出了對特徵向量

z0 進行身份保持優化,方法為將 z0 輸入一個人臉識別網路FR,該網路可以識別輸入人臉x的身份,對於輸入影象x,重構影象 x ,分別將其輸入身份識別網路FR,我們希望其輸出儘量接近,也就是識別的身份儘量相同,

這裡寫圖片描述

優化為初始化 z=z0 ,並採用 L-BFGS-B 演算法進行後向搜尋.圖c為採用優化後的特徵向量 z 重構的影象,由圖可知,優化後的影象與原圖身份特徵保持更好.

2.CGAN

將優化後的特徵向量 z

與年齡向量 y0 作為CGAN的輸入,用於訓練CGAN.

對於年齡,分為6個年齡段,分別為0-18,19-29,30-39,40-49,50-59,60+,每個年齡端對應一個年齡一個特徵向量,具體為一個6維的one-hot向量.

CGAN網路的生成網路G,判別網路D結構與文獻15相同,具體可以參考http://friskit.me/2017/04/05/read-paper-unsupervised-representation-learning-with-deep-convolutional-generative-adversarial-networks/.

同時在生成網路的輸入,以及判別網路的第一個卷積層,插入條件資訊,這裡為年齡向量.

不同年齡段生成圖片效果:

這裡寫圖片描述