隨著GAN的發(fā)展,單憑一張圖像就能自動將面部表情生成動畫已不是難事。但近期在Reddit和GitHub熱議的新款GANimation,卻將此技術提到新的高度。GANimation構建了一種人臉解剖結構(anatomically)上連續(xù)的面部表情合成方法,能夠在連續(xù)區(qū)域中呈現(xiàn)圖像,并能處理復雜背景和光照條件下的圖像。
若是能單憑一張圖像就能自動地將面部表情生成動畫,那么將會為其它領域中的新應用打開大門,包括電影行業(yè)、攝影技術、時尚和電子商務等等。隨著生成網絡和對抗網絡的流行,這項任務取得了重大進展。像StarGAN這樣的結構不僅能夠合成新表情,還能改變面部的其他屬性,如年齡、發(fā)色或性別。雖然StarGAN具有通用性,但它只能在離散的屬性中改變面部的一個特定方面,例如在面部表情合成任務中,對RaFD數(shù)據(jù)集進行訓練,該數(shù)據(jù)集只有8個面部表情的二元標簽(binary label),分別是悲傷、中立、憤怒、輕蔑、厭惡、驚訝、恐懼和快樂。
GANimation的目的是建立一種具有FACS表現(xiàn)水平的合成面部動畫模型,并能在連續(xù)領域中無需獲取任何人臉標志(facial landmark)而生成具有結構性(anatomically-aware)的表情。為達到這個目的,我們使用EmotioNet數(shù)據(jù)集,它包含100萬張面部表情(使用其中的20萬張)圖像。并且構建了一個GAN體系結構,其條件是一個一維向量:表示存在/缺失以及每個動作單元的大小。我們以一種無監(jiān)督的方式訓練這個結構,僅需使用激活的AUs圖像。為了避免在不同表情下,對同一個人的圖像進行訓練時出現(xiàn)冗余現(xiàn)象,將該任務分為兩個階段。首先,給定一張訓練照片,考慮一個基于AU條件的雙向對抗結構,并在期望的表情下呈現(xiàn)一張新圖像。然后將合成的圖像還原到原始的樣子,這樣可以直接與輸入圖像進行比較,并結合損失來評估生成圖像的照片級真實感。此外,該系統(tǒng)還超越了最先進的技術,因為它可以在不斷變化的背景和照明條件下處理圖像。
最終,構建了一種結構上連續(xù)的面部表情合成方法,能夠在連續(xù)區(qū)域中呈現(xiàn)圖像,并能處理復雜背景和光照條件下的圖像。它與其他已有的GAN方法相比,無論是在結果的視覺質量還是生成的可行性上,都是具有優(yōu)勢的。
圖1:根據(jù)一張圖像生成的面部動畫
無監(jiān)督學習+注意力機制
讓我們將一個輸入RGB圖像定義為,這是在任意面部表情下捕獲的。通過一組N個動作單元對每個手勢表達式進行編碼,其中每個表示0到1之間的歸一化值,表示第n個動作單元的大小。值得指出的是,由于這種連續(xù)的表示,可以在不同表情之間進行自然插值,從而可以渲染各種逼真、流暢的面部表情。
我們的目標是學習一個映射,將轉換成一個基于動作單元目標的輸出圖像,即:我們希望估計映射:
圖2. 生成照片級真實條件圖像方法的概述
所提出的架構由兩個主要模塊組成:用于回歸注意力和color mask的生成器G; 用于評估所生成圖像的真實度和表情調節(jié)實現(xiàn)的評論家(critic) D。
我們的系統(tǒng)不需要監(jiān)督,也就是說,不需要同一個人不同表情的圖像對,也不假設目標圖像
生成器G
生成器器被訓練來逼真地將圖像
我們系統(tǒng)的一個關鍵要素是使G只聚焦于圖像的那些負責合成新表情的區(qū)域,并保持圖像的其余元素如頭發(fā)、眼鏡、帽子、珠寶等不受影響。為此,我們在生成器中嵌入了一個注意力機制。
圖3:Attention-based的生成器
給定一個輸入圖像和目標表情,生成器在整個圖像上回歸并注意mask A和RGB顏色變換C。attention mask 定義每個像素強度,指定原始圖像的每個像素在最終渲染圖像中添加的范圍。
具體地說,生成器器不是回歸整個圖像,而是輸出兩個mask,一個color mask C和一個attention mask A。最終圖像可表示為:
實驗評估
首先測試主要組件,即單個和多個AU編輯。然后將我們的模型與離散化情緒編輯任務中的當前技術進行比較,并展示我們的模型處理野外圖像的能力,可以生成大量的解剖學面部變換的能力。最后討論模型的局限性和失敗案例。
值得注意的是,在某些實驗中,輸入的面部圖像是未被裁剪的。在這種情況下,我們首先使用檢測器2來對面部進行定位和裁剪,利用(1)式進行表達式的轉換,以應用于相關區(qū)域。 最后,將生成的面部圖像放回原圖像中的原始位置。注意力機制(attention mechanism)可以確保經過變換處理的裁剪面部圖像和原始圖像之間的平滑過渡。
稍后圖中可見,與以前的模型相比,經過這三個步驟的處理可以得到分辨率更高的圖像(鏈接見文末)。
圖4:單個動作單元的編輯
隨著強度(0.33-1)的增加,一些特定的動作單元被激活。圖中第一行對應的是動作單元應用強度為零的情況,可以在所有情況下正確生成了原始圖片。
圖5: 注意力模型
中間注意力掩模A(第一行)和顏色掩模C(第二行)的細節(jié)。 最底下一行圖像是經合成后的表達結果。注意掩模A的較暗區(qū)域表示圖像的這些區(qū)域與每個特定的動作單元的相關度更高。 較亮的區(qū)域保留自原始圖像。
圖6: 與當前最先進技術的定性比較
圖為面部表情圖像合成結果,分別應用DIAT、CycleGAN、IcGAN、StarGAN和我們的方法??梢钥闯?,我們的解決方案在視覺準確度和空間分辨率之間達到了最佳平衡。 使用StarGAN的一些結果則出現(xiàn)了一定程度的模糊。
圖7:采樣面部表情分布空間
通過yg向量對活動單元進行參數(shù)化,可以從相同的源圖像合成各種各樣的照片的真實圖像。
圖8:自然圖像的定性評估
上圖:分別給出了取自電影《加勒比海盜》中的一幅原圖像(左)及其用我們的方法生成的圖像(右)。 下圖:用類似的方式,使用圖像框(最左綠框)從《權力的游戲》電視劇中合成了五個不同表情的新圖像。
圖9:成功和失敗案例
圖中分別表示了源圖像Iyr,目標Iyg,以及顏色掩膜C和注意力掩模A. 上圖是在極端情況下的一些成功案例。 下圖是一些失敗案例
-
GaN
+關注
關注
19文章
1933瀏覽量
73286 -
pytorch
+關注
關注
2文章
807瀏覽量
13199
原文標題:GAN如此簡單的PyTorch實現(xiàn),一張臉生成72種表情(附代碼)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論