卡成PPT不開心?GAN也能生成流暢的連續表情了
鬼畜栗 發自 凹非寺
量子位 出品 | 公眾號 QbitAI
用生成對抗網路 (GAN)製造表情,本不是什麼新玩法。
PPT表情包舉栗
不過,從前的GAN只會生成一些互無關聯的表情。這樣,即便做成動圖,也擁有濃厚的PPT風韻。
它們的表情包技能,是不完整的。
GANimation可不一樣,能給圖像里的人類,生成連續變化的表情,讓他們身不由己地動起來。
聽名字也能感受到,新選手的動畫屬性。於是,在下把這一串進行中的圍笑,做成了動圖。
笑一秒
生動的假笑,是在完全無監督的環境里煉成的,不需要變化前與變化後這樣成對的數據來訓練。
GANimation入選了ECCV 2018的Oral環節。評審裡面,肯定有一小撮心系Gif事業的人類。
表情的漸變
那麼,來看一下GANimation是如何讓面部表情,發生連續變化的。
首先,觀察神經網路結構,這裡當然要包含一個生成模型(G) 和一個判別模型(D) 。
生成模塊是雙向工作的,既可以給輸入的圖像,做出想要的表情,也可以從做好的表情出發,回到輸入的樣子。
所以,把動圖做成雙向播放,不只是為了順滑的效果喲。
機智的我
然後,重點來了。
能讓表情發生變化的,是一些名為動作單元(Action Unit, AU) 的東西。它來自前人發明的面部動作編碼系統(FACS)。
不同的AU,負責不同的肌群
每個AU各司其職,比如AU25(右二) 可以讓人開口閉口 ,AU45(右一) 決定睜眼閉眼。
如此一來,不同情感的表達,動用的AU也不同。比如,一個面無表情的少女變得恐懼,調動的是AU1、2、4、5、7、20和26這七個。
如果要連續變化呢?有個參數叫α,負責調節AU的激活程度,只要一點一點激活,表情就會不知不覺地改變了。
所有AU,都可以從開始逐漸激活到1,0表示不變,1表示變動最大。
還以恐懼的少女為栗,從有點嚇到慢慢變成嚇得不輕,就是那七個AU的激活程度在慢慢變化。
單獨調vs同時調
再來看一次這張圖,這是每個AU單獨調節的效果。
而上文出現過 (除喵之外) 的動圖,還有即將出現的兩幅動圖,都是同時調節多個AU,生成的動態表情。
兩種操作相比,後者難度更大,按照論文作者的說法,是「挑戰模型的極限」。
不過,團隊依然對GANimation的訓練成果表示滿意。畢竟,用人類照片餵養的AI,連阿凡達都不怕。
與人類臉部相異只是其一。除此之外,改變面部表情的操作,對陰影渲染的要求很高,而阿凡達又處在非自然的光照條件之下,難度升級。
考驗疊加的情形之下,GANimation依然表現穩定,實屬不易。
被誇到害羞
研究人員說,複雜情況下不亂陣腳,依靠的是注意力機制(Attention Mechanism) ,即每個AU有不同的職責。
以上就是連續表情的生成。那麼,為動圖而生的AI,在不連續的任務里表現如何?
其實,上文出鏡的恐懼少女,是GANimation同許多對手比賽的一個片段,比賽內容便是生成互不相干的表情。
它最強的對手,是一路璀璨的StarGAN。不過……
StarGAN生成的表情,跟原圖相比,清晰度的損失比較大。
而GANimation生成的少女,大多是相對清晰的少女。
可能StarGAN的作品,與原圖更像同一個人,但在相似度和解析度之間,GANimation也算找到了一種比較理想的取捨。不分勝負。
已為您生成:離散的夜王
其他選手,不論看解析度還是相似度,都基本屬於陪練了。
顏藝是百年大計
當然,GANimation也是有局限性的。
比如,輸入圖像的表情比較極端的時候,注意力機制的權重分配會出現一些問題,然後發生上圖的慘狀。
不過,路還長。再說,極端表情本身已經是表情包了嘛。
最後介紹一下,論文作者來自加泰羅尼亞理工大學,以及俄亥俄州立大學哥倫布分校。
ECCV Oral論文傳送門:
https://arxiv.org/pdf/1807.09251.pdf
開源代碼:
https://github.com/albertpumarola/GANimation
大家來找茬
—完—
※MIT機器人閉上眼睛,靠觸覺也爬得上兇險的樓梯
※Google開啟全新圖像目標檢測大賽,場景多樣性和複雜度史無前例
TAG:量子位 |