Face Aging with Contextual Generative Adversarial Nets
網路結構如圖2所示,首先按照68個人臉特徵點對輸入影象進行對齊,之後,採用Deeplab v2演算法將輸入影象分割為
人臉區域,和非人臉區域,並將非人臉區域標記為灰色.
生成網路-Transformer network
將處理後的影象,與年齡lable
輸入到條件變換網路(G,Transformer),得到合成影象
生成網路結構如下,
輸入影象,輸出影象大小都為 ,畫素值範圍為[-1,1].條件向量即為年齡向量,為一個7維的one hot向量,將該項了reshape為與輸入影象相同的空間維度的7通道的變數,並將其值也變換到[-1,1]範圍-1對應於0.將輸入影象與年齡向量串聯,輸入生成網路,得到目標年齡的生成影象.前三個residual blocks將feature maps大小降低到輸入的一半,之後的為反捲積層,將feature maps大小上取樣到與輸入同樣大小.
判別網路
存在兩個判別網路,分別為年齡判別網路,即Age Discriminative Network,另一個為Transition Pattern Discriminative Network,分別用於判別生成影象是否為目標年齡,以及生成影象是否符合真實目標影象分別.
Age Discriminative Network
Age Discriminative Network輸入為fake image與年齡lable y的特徵向量串聯(判別為real),以及real image與年齡label y的特徵向量串聯(判別為fake).也就是是說,Age Discriminative Network用於判別生成影象是否為輸入影象的指定年齡的生成影象.
年齡判別網路結構為,
與生成網路一樣,將年齡label resized為一個變數,輸入到一個卷積層,得到年齡特徵向量,將輸入影象輸入卷積層,得到feature maps,並將兩者串聯,輸入到之後的5個卷積層,判別網路損失函式為,
Transition Pattern Discriminative Network
為了得到更好的年齡生成影象,加入了一個年齡轉換判別網路,用於判別不同年齡段的影象的transition pattern(轉移模式),即判別不同年齡段的人臉是否變換正確.為了簡化,在本文中,只考慮相鄰的年齡組的transition pattern.
如圖5所示,隨著頭骨的成長,年齡從10到20歲的臉的形狀會發生變化,然而,對於50到60歲的臉,主要的變化是在臉上的皺紋增多了.也就是不同年齡段的臉有不同的特徵,但是他們都是同一個人.
Transition Pattern Discriminative Network輸入為年齡y,對應的人臉影象 ,以及臨近年齡y+1,對應的影象 的串聯值,損失函式如下,
整體的損失函式
為了是生成影象儘量平滑,引入了TV損失函式(total variation).
不同年齡段圖片生成效果