變老 - 1 - Learning Face Age Progression: A Pyramid Architecture of GANs-1-實現人臉老化


Learning Face Age Progression: A Pyramid Architecture of GANs

Abstract

人臉年齡發展有着兩個重要的需求,即老化准確性和身份持久性,但是在文獻中都沒有很好地學習到。在該論文中,我們提出了一種創新的基於生成對抗網絡的方法。該方法對固有的特定目標特性和根據消逝時間的特定年齡面部更改分別構建約束模型,保證生成的人臉能表示期望的年齡效果,並能同時保證人物特性的穩定。更進一步,為了生成更真實的人臉細節,合成人臉傳達的高級別的特定年齡特性將被一個金字塔對抗判別器在多尺度上估計出來,並以一個更精細的方式模擬年齡效果。該提出的方法被應用在了在姿勢、表情和妝容等不同的情況下去區分人臉樣本,並能夠獲得明顯生動的年齡效果。在視覺保真度和質量評估兩方面表明了該方法是優於其他先存最好方法的。

 

1. Introduction

年齡的發展是一個審美的過程,呈現一個給定的面部圖像,以呈現老化的影響。它經常用於娛樂行業和取證,例如,預測兒童長大后的面部表情或為失蹤的人生成當代照片。物理老化的內在復雜性、其他因素(如PIE變化)的干擾以及缺乏有標記的老化數據共同使年齡進展成為一個相當困難的問題。在過去的幾年里,人們為解決這一問題做出了巨大的努力,老化的准確性和身份持久性通常被認為是[29][36][26][14]成功的兩個基本前提。早期的嘗試主要是基於皮膚的解剖結構,他們機械地模擬了輪廓生長和面部肌肉隨着時間消逝的變化[31][35][23]。這些方法提供了對人臉老化合成的首次了解。然而,它們通常以一種復雜的方式工作,因此很難概括。隨后采用了數據驅動的方法,主要通過使用老化細節的原型來測試人臉[13][29],或者對縱向面部變化與相應年齡[28][34][20]之間的依賴關系進行建模來實現面部年齡的增長。雖然明顯的老化跡象被很好地合成,但它們的老化功能往往不能准確地表達復雜的老化機理,限制了老化模式的多樣性。

深度生成網絡在圖像生成[8][9][11][30]方面表現出了顯著的能力,並對年齡進展進行了研究。與以前的傳統解決方案相比,這些方法使人臉具有更吸引人的老化效果和更少的虛影。然而,這個問題尚未得到根本解決。具體來說,這些方法將更多的注意力放在建模兩個年齡組之間的轉換,年齡因素起着主導作用,而身份信息中扮演着從屬角色,導致衰老的准確性和身持久性很難同時實現,特別是實現長期年齡進展時[18][19]。此外,訓練階段多需要同一個體不同年齡的多張人臉圖像,這涉及到另一個棘手的問題,即個體內老化人臉序列采集[33][15]。上述兩個事實都表明,目前的深度生成老化方法還有改進的空間。

在該論文中,我們提出了一種人臉年齡進展的創新行方法,在合成視覺上可信的圖像與人類衰老的先驗領域知識上綜合了生成對抗網絡(GAN)的優勢。與文獻中已有的方法相比,它更能處理年齡發展的兩個關鍵要求,即身份持久性和老化准確性。具體來說,該方法使用基於卷積神經網絡(CNN)的生成器學習年齡轉換,並根據不同的人臉屬性隨時間的變化分別建模。因此訓練在圖像空間中包含平方歐氏損失,GAN損失函數鼓勵生成的臉難以與訓練集中老人的臉區分,同時身份損失將通過在高級特性表征中嵌入人物特性來最小化的輸入-輸出之間的距離。它確保得到的人臉呈現出預期的老化效果,同時身份屬性保持穩定。通過估計每個目標年齡聚類的數據密度,我們的方法不需要像大多數對應方法那樣跨兩個年齡域匹配同一個人的人臉對。此外,與之前主要針對面部修剪區域(通常不包括額頭)的技術相比,我們強調整個面部的合成很重要,因為前額和頭發的部分也會顯著影響感知年齡。為了實現這一點並進一步增強老化細節,我們的方法利用了深層網絡的固有層次結構,並設計了金字塔結構的判別器,以細粒度的方式估計與年齡相關的高級線索。我們的方法克服了單一年齡特定表示的限制,處理局部和全局的年齡轉換。因此,生成了更多逼真的圖像(老化結果見圖1)。

該論文的主要貢獻是:

  • 提出了一種新的基於GAN的年齡進展方法,結合人臉驗證和年齡估計技術,以耦合的方式解決了年齡效果生成和身份線索保存問題;
  • 我們強調了與感知年齡密切相關但在其他研究中被忽略的面部前額和頭發成分的重要性;它確實提高了合成年齡的准確性;
  • 在已有實驗的基礎上,我們建立了新的驗證實驗,包括基於商業人臉分析工具的評價和對表情、姿勢、妝容變化的不敏感性評價

我們的方法不僅被證明是有效的,而且對年齡增長具有魯棒性。

 

2. Related Work

在人臉年齡發展的初步探索中,利用物理模型來模擬顱骨和面部肌肉的衰老機制。Todd等人的[31]介紹了一種修正的cardioidal-strain轉換,其中頭部生長模型是在一個可計算的幾何程序上構建的。Wu等人[35]基於皮膚的解剖結構,提出了一種3層動態皮膚模型來模擬皺紋。Ramanathan、Chellappa[23]和Suo[]28等人也采用了機械老化方法。

隨后的方法大多是數據驅動的,不太依賴於生物學上的先驗知識,老化模式是從訓練人臉中學習的。Wang等人[34]在tensor空間中建立了對應的下采樣與高分辨率人臉之間的映射關系,並在tensor空間中加入了老化細節。Kemelmacher-Shlizerman等[13]人提出了一種基於原型的方法,並進一步考慮了光照因子。Yang[36]等人首先解決了多屬性分解問題,通過將年齡成分轉化為目標年齡組來實現。這些方法確實改善了結果,但是在合成的人臉中經常出現虛影。

最近,人們嘗試了深度生成網絡。在[33]中,Wang等人通過在RNN模型中建模中間過渡狀態,平滑地變換了不同年齡層的人臉。但是每個目標在訓練階段都需要多個不同年齡的人臉圖像,在測試過程中需要准確的人臉年齡標簽,極大地限制了它的靈活性。在條件對抗自編碼器[37]框架下,對老化引起的面部肌肉松弛進行了仿真,但由於訓練判別器的表達能力不足,只呈現了粗糙的皺紋。采用Temporal Non-Volume Preserving(TNVP)老化方法[18],通過ResNet block[10]對連續兩個年齡組的數據密度進行映射,實現短期的年齡發展,最終通過短期階段的鏈接實現長期的衰老合成。然而,它的主要缺點是,它只考慮了一組沒有任何身份信息的人臉的概率分布。因此,導致在一個完整的老化序列中合成的人臉在顏色、表情甚至身份上都有很大的變化。

我們的研究也使使用GAN的圖像生成能力,並提出了一個不同的但有效的方法。與年齡相關的損失用於年齡變換,基於個體的批評是用來保證身份線索的穩定,以及多通道的判別器是應用於改進老化細節的生成。這一解決方案在處理年齡增長的核心問題,即年齡准確性和身份保存方面更為強大。

 

3. Method

3.1. Overview

一個典型的GAN網絡包含生成器G和判別器D,通過對抗過程來交互訓練。生成函數G嘗試去捕獲重要數據密度並迷惑判別函數D,用於優化D來獲得可辨別性,使得D能夠區分從生成器G生成的假人臉和自然人臉圖像。G和D都可以近似為神經網絡,如多層感知機(MLP)。風險函數為:

z是來自先驗概率分布Pz的噪聲樣本,x表示來自某個分布Pdata的一個真實人臉圖像。在收斂中,合成圖像的分布Pg將等價於Pdata

近年來,條件GANs (cGANs)得到了越來越多的重視,生成模型G近似於預處理圖像(或控制屬性)及其對應目標之間的依賴關系。cGANs在視頻預測[17]、文本到圖像合成[24]、圖像到圖像的翻譯[11][38]等方面都取得了良好的效果。在我們的例子中,基於CNN的生成器將年輕的面孔作為輸入,並學習到與老年面孔對應的域的映射。為了達到老化效果,同時保持與用戶相關的信息,使用了復合批評critic, 即在圖像空間中融合了傳統的平方歐氏損失,GAN損失用來鼓勵生成的臉與訓練中的老人臉在年齡方面難以區分,同時身份損失函數通過在高級特性表征中嵌入個人特性來最小化的輸入-輸出距離。圖2為概述。

 

3.2. Generator

合成年齡發展人臉僅需要通過G進行前向傳播。生成網絡是編碼器和解碼器的結合。輸入年輕的臉后,它首先利用三步卷積層編碼到一個潛在的空間,捕捉面部屬性,使其能夠隨着時間消逝傾向於穩定,然后由四個殘差塊[10]構建輸入和輸出的臉能共享的共同結構,類似於[12]。最后通過三個轉置卷積層實現對目標圖像空間的年齡變換,得到了以給定的年輕人臉為條件的年齡發展結果。我們沒有使用max-pooling和upsampling層來計算feature map,而是使用了步長為2的3×3卷積核,保證每個像素貢獻以及相鄰像素的協同變換。所有卷積層都經過Instance Normalization和ReLU非線性激活函數。將padding添加到層中,使輸入和輸出具有完全相同的大小。G的架構如補充資料所示。

 

3.3. Discriminator

critic體系結合目標年齡群中人臉數據密度的先驗知識,引入判別器D,輸出scalar標量D(x)表示x來自數據的概率。優化后,生成人臉的分布Pg(我們表示年輕人臉的分布為x~Pyoung,生成人臉分布為G(x)~Pg)應與Pold分布相等。假設我們使用典型GAN[9],其使用二進制交叉熵分類,訓練的過程就是把損失降到最低:

G和D一致收斂總是可取的;然而,D在實踐中往往更快地實現可分辨性,並反饋給G學習的消失梯度,因為JS散度局部飽和。最近的研究,即Wasserstein GAN[5]、最小二乘GAN[16]和對損失敏感的GAN[22],揭示了最基本的問題在於如何准確定義概率分布序列之間的距離。在這里,我們使用最小二乘損失來代替負對數似然目標,該目標根據樣本在度量空間中與決策邊界的距離來懲罰樣本,從而最小化Pearson X 2散度。此外,為了獲得更有說服力和更生動的特定年齡的面部細節,將實際的年輕面孔和生成的年齡發展的老面孔都作為負樣本輸入D,而真實的老年圖像作為正樣本。

因此,訓練過程輪流盡量減少下列各項:

注意在(3)和(4) 中的連接G和D函數Φage是用於抽取人臉圖像傳達的年齡相關特性,如上圖2所示。考慮到不同年齡組的人臉共享着一個共同的配置和相同的紋理特征,因此一個特性抽取器Φage獨立與D設計出來,其輸出高級特性表征來使得生成的人臉更容易在年齡方面與真實的老人臉區分開來。尤其是Φage使用了VGG-16結構[27],預訓練於年齡估計的多標簽分類任務,在收斂之后,我們移除了全連接層並將其連接到我們的框架中。因為自然圖像具有多尺度特征和沿分層架構,Φage捕捉屬性逐漸從精確的像素值到特定年齡段高層語義信息,本研究利用內在金字塔層次結構。金字塔面部特征表征在多個尺度上共同被D估計,以細粒度的方式處理老化效應的產生。

Φage的第2、4、7、10卷積層輸出將被使用。它們通過D的通道,最終得到12×3的串聯表示。在D中,所有卷基層后都跟着Batch Normalization和LeakyReLU激活函數,除了每個通道的左后一層。D的詳細結構可見補充資料,在高級特征上的共同估計將在圖3說明:

 

3.4. Identity Preservation

面部年齡增長的一個核心問題是保持人依賴屬性的穩定。因此,我們通過在適當的特征空間中測量輸入-輸出距離來引入相關約束,該特征空間對身份變化敏感,對其他變化相對魯棒。具體地說,深度面部描述網絡[21],利用φid表示,對個性化信息進行編碼,進一步定義身份損失函數。φid是使用來自成千上萬個體的百萬張人臉圖的人臉數據集來訓練的。它最初是通過識別N = 2,622個獨立個體來啟動的;然后移除最后一層分類層,調整φid (x)來提高使用triplet損失訓練計划的歐幾里得空間的驗證能力。在我們的例子中,φid剪切成10個卷基層層,然后制定身份損失為:

d是特征表征之間的歐氏距離。更多的深度人臉描述器的實現細節可參考[21](O. M. Parkhi, A. Vedaldi, and A. Zisserman. Deep face recognition)

 

3.5. Objective

除了特別設計與年齡相關的GAN critic和身份持久性懲罰,還有一個在圖像空間的基於像素的L2損失用於更進一步縮小輸入和輸出的差距,比如色差等,表示為:

x表示輸入人臉,W、H和C表示圖像的形狀

最后,該體系的訓練損失函數為:

我們交替訓練G和D,直到最優解,最后G將學習的期望的年齡轉換,D將成為一個可靠的估計器

 

4. Experimental Results

4.1. Data Collection

用於訓練GANs的數據來源分別是標准化成像的MORPH mugshot數據集[25]和涉及PIE變量的跨年齡名人數據集(Cross-Age Celebrity dataset, CACD)[7]。

MORPH老化數據庫[25]的一個擴展包含52099張彩色圖像,具有近正面姿態、中性表情和均勻光照(確實存在一些較小的姿態和表情變化)。研究對象的年齡從16歲到77歲不等,平均年齡約為33歲。研究對象的縱向年齡跨度從46天到33歲不等。CACD是一個通過谷歌圖像搜索收集到的[7]公共數據集,包含了2000位名人10年間的163,446張臉,年齡從14歲到62歲不等。該數據集具有最大數量的隨年齡變化的圖像,顯示了姿態、光照、表情等方面的變化,對采集的控制比MORPH少。我們主要使用MORPH和CACD進行訓練和驗證。采用FG-NET[4]進行測試,與之前的工作進行公平的比較。該數據集在之前的老化分析中比較流行,但只包含82個個體的1002張圖像。這些數據庫的更多性質可以在補充材料中找到。

 

4.2. Implementation Details

在將圖像輸入網絡之前,使用數據集本身提供的眼睛定位(CACD)或face ++[3]在線人臉識別API (MORPH)對人臉進行對齊。剔除MORPH中未檢測到的圖像,最終分別采用兩個數據集中的163,446和51,699張人臉圖像,裁剪為224×224像素。由於在這兩個數據庫中,60歲以上的人臉數量都非常有限,而且都不包含兒童的圖像,所以我們只考慮成年人的年齡。我們按照之前許多研究中報道的[36][29][37][37][18]中每個年齡群10年的時間跨度,將年齡進展應用於30歲以下的人臉,合成一系列30歲、40歲和50歲時的年齡進展效果圖。因此,針對不同的目標年齡組,有三個單獨的訓練部分。

補充材料中顯示了網絡G和網絡D的體系結構。對於MORPH,權衡參數λp、λa和λi分別經驗設置為0.10、300.00和0.005;而CACD的值分別是0.20、750和0.005。在訓練階段,我們使用Adam,學習率為1×10−4,每2000次迭代的權重衰減因子為0.5。

(i)在每個迭代中更新判別起器

(ii)在每個生成器迭代中使用與年齡和身份相關的critic

(iii)在每5個生成器迭代中使用像素級critic

網絡在5000次總迭代中使用batch size為8,在GTX 1080Ti GPU機器上訓練了8個小時

 

 

4.3. Performance Comparison

4.3.1 Experiment I: Age Progression

 

進行了五個fold的交叉驗證。在CACD上,每個fold包含400個個體,分別來自[14-30]、[31-40]、[41-50]和[51-60]四個年齡群,共近10,079、8,635、7,964和6,011張人臉圖像(其他不在這4個范圍內的數據作為一個fold);在MORPH中,每個fold由來自四個年齡組的4467、3030、2205和639張臉組成,共近2586名測試者。每一次運行,四個fold用於訓練,其余的用於評估。年齡進展結果的例子如圖4所示。正如我們所看到的,雖然這些例子在種族,性別,姿勢,化妝和表情上涵蓋廣泛,但在視覺上,似乎可信的,並能夠達到令人信服的老化效果。

 

4.3.2 Experiment II: Aging Model Evaluation

我們認識到,面部年齡進展應該在審美上預測個人未來的外貌,不僅是出現皺紋和身份保存,因此,在本實驗中,通過視覺和定量分析,對年齡進展結果提供了更全面的評估。

Experiment II-A: Visual Fidelity: 圖5 (a) 顯示帶有眼鏡、遮擋和姿態變化的人臉圖像示例。隨着年齡的增長,人臉仍然是逼真的,與原始輸入是真實的;而以往的基於原型的方法[29][32]在這種情況下不適應,參數化老化模型[26][28]也可能導致重影現象。圖5 (b)展示了一些頭發老化的例子。據我們所知,幾乎所有在文獻[36][26][13][33][33][37][15]中提出的老化方法都是在不考慮頭發老化的情況下對剪短的臉進行研究,主要是因為頭發不像臉面積那樣有結構。此外,頭發在質地、形狀和顏色上是多種多樣的,因此很難建模。然而,本方法以整張臉為輸入,並且如預期的那樣,在模擬老化過程中,頭發變得又細又細。圖5 (c)證實了在老化過程中保留必要面部細節的能力,圖5 (d)顯示了老化變化的平滑性和一致性,嘴唇變薄,眼袋越來越明顯,皺紋越來越深。

Experiment II-B: Aging Accuracy:隨着臉的老化,估計的年齡應該會增加。相應的,通過客觀年齡估計來測量老化精度。我們將Face++[3]的在線人臉分析工具應用到每個合成的人臉上。排除未檢測到的,研究了MORPH數據集中22,318個測試樣本的老化面孔(在5fold交叉驗證下,平均每次運行4,464個測試面孔)。表1顯示了結果:

3個年齡組的平均年齡分別為42.84歲、50.78歲和59.91歲。理想的觀察年齡范圍為[31-40][41-50]和[51-60]。誠然,生活方式因素可能加快或減緩個人的老齡化速度,導致估計年齡與實際年齡的偏差,但總體趨勢應該是相對強勁的。由於這種內在的模糊性,進一步對數據集中的所有人臉進行客觀年齡估計作為基准。從表1和圖6(a)、圖6(c)中可以看出,合成人臉的估計年齡與真實圖像的年齡吻合較好,並且隨着時間的推移呈穩步增長的趨勢,明顯驗證了我們的方法。

在CACD上,我們使用了50222個年輕面孔的老化合成結果(平均每次運行1044個測試面孔)。雖然不同聚類的年齡分布不像MORPH那樣具有很好的分離性,但仍然表明本文提出的年齡進展方法確實捕捉到了給定人臉子集的年齡數據密度。具體結果見表1和圖6(b)、圖6(d)

 Experiment II-C: Identity Preservation:客觀的使用face ++進行人臉驗證,以檢查原始身份屬性在年齡增長期間是否保存良好。對於每個測試人臉,我們將輸入圖像與相應的老化仿真結果進行比較:[測試人臉,老化人臉1],[測試人臉,老化人臉2],[測試人臉,老化人臉3];並對合成的人臉進行統計分析,即[老化臉1,老化臉2],[老化臉1,老化臉3],[老化臉2,老化臉3]。與實驗II-B相似,本次評估使用了22,318張變形的年輕面孔和他們的年齡進展效果圖,總共驗證了22,318×6次。如表2所示,3個age-progressed集群獲得的平均驗證率分別是100%,98.91%,和93.09%;對於CACD,有50222×6次驗證,平均驗證率分別是99.99%,99.91%,和98.28%。這顯然證實該方法的身份保存的能力。

此外,在表2和圖7中,人臉驗證性能隨着兩幅圖像之間時間的增加而降低,這符合人臉老化[6]的物理效應,這也可能解釋了本次評估中CACD的性能優於MORPH。

 

Experiment II-D: Contribution of Pyramid Architecture:其中一個模型假設是,判別器D的金字塔結構促進了老化效應的產生,使老化的人臉更加自然。因此,我們對單通道判別器進行了比較,在單通道判別器中生成的人臉直接被輸入到估計器中,而不是表示為特征金字塔。對比實驗中所采用的判別器結構相當於網絡Φage和所提出的金字塔D中的第一個路徑的鏈接。

圖8顯示了結果:

從視覺上看,合成結果的老化細節並不明顯。為了使比較更加具體和可靠,進一步采用與實驗II-B和II-C相似的設置進行定量評價,統計結果如表3所示。

表中,MORPH和CACD的估計年齡通常高於基准(見表1),和平均絕對誤差對於這兩個數據庫的三個集群來說分別超出2.69和2.52歲,表現出與使用金字塔結構更大的偏差,分別大0.79和0.50年。這可能是因為對比實驗中合成的皺紋不那么清晰,臉部看起來也相對凌亂。這也可以解釋表3中人臉驗證置信度下降的原因。基於視覺保真度和定量估計,我們可以得出一個推論,與金字塔結構相比,之前廣泛使用的基於gan的框架中的單通道判別器,在建模復雜的老化變化方面是落后的。

 Experiment II-E: Comparison to Prior Work:為了與之前的工作相比較,我們以CACD為訓練集,在FG-NET和MORPH數據庫上進行了測試,這些之前的研究分別是[26][28][33][36][19][37][18][20][15],他們是最先進的方法。此外,還比較了最流行的移動老化應用之一,即Agingbooth[1],以及在線老化工具Face of the future[2]。圖9顯示了一些人臉示例:

可以看出,Face of the future和Agingbooth采用的是基於原型的方法,其中相同的老化mask直接應用到所有給定的人臉上,就像大多數的老化應用一樣。雖然這種方法的概念很簡單,但隨着年齡的增長,人臉並不具有真實感。對於已發表的文獻,參數化方法[28]和基於字典重構的解[36][26]不可避免地會出現重影現象。技術進步可以在深層生成模型[33][37][15]中觀察到,然而它們只關注裁剪的面部區域,而隨着年齡增長的面部缺乏必要的老化細節。在進一步的實驗中,我們從已發表的論文中收集了54個人的138張配對圖片,並邀請了10名人類觀察者來評估哪張隨着年齡增長的臉在配對比較中表現得更好。在1380票中,69.78%的人支持本方法,20.80%的人支持前期工作,9.42%的人表示大致相同。此外,本方法不需要像以前的工作那樣進行繁瑣的預處理,只需要2個標志點就可以對准瞳孔。綜上所述,我們可以說所提出的方法優於相應的方法。

 

5. Conclusions

本研究與以往面對年齡進展的方法相比,對其關鍵問題,即年齡轉換的准確性和身份保持,提出了一種不同但更有效的解決方案,並提出了一種新的基於GAN的方法。該方法涉及人臉識別技術和年齡估計技術,利用一種合並簡單像素級懲罰、年齡相關性GAN損實現年齡轉換的復合訓練critic,以及保持身份信息穩定的個體依賴critic。為了產生詳細的老化跡象,設計了一種金字塔判別器,以更精確的方式估計高層次的面部表征。通過大量的實驗,得到的老化圖像和定量評價結果均表明了該方法的有效性和魯棒性。

 


免責聲明!

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



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