蕭簫 發自 凹非寺量子位 報導 | 公眾號 QbitAI
使用GAN生成的2D人臉模型很美麗,然而卻終究缺了點什麼?
沒錯,雖然GAN能生成逼真的人臉,但距離自己理想的人臉,總有那麼一點不完美——面部表情、臉上皺紋、發質……
由於GAN沒辦法進行參數調控,即使人臉再逼真,也沒辦法控制五官等細節。
現在,一個新模型GIF(Generative Interpretable Faces)的出現打破了這一定律:
不僅能用GAN生成逼真的人臉,而且還能通過具體的參數控制它。
這是怎麼做到的?
用3D模型的參數,控制2D照片
目前的3D和2D人臉生成模型,在真實性和參數可控這兩方面,有著很大的差異。
3D人臉的參數可以分為幾種:臉型變化、姿勢差異、表情變化。
然而,目前生成的3D人臉模型普遍存在一個問題:與真實的人臉相差甚遠。
因為無論是頭髮、眼睛、膚質(皺紋)或者口腔(牙齒、舌頭),目前的3D人臉模型都難以進行真實的模擬。
與之相反的是,2D人臉生成模型(如目前很火的StyleGAN、StyleGAN2等)雖然能實現照片級模擬,但卻沒辦法獨立更改如面部外觀、形狀或表情等參數。
那麼,有沒有辦法將這兩類人臉模型的優勢結合起來,利用3D模型的參數控制,生成可以控制具體環節的2D照片呢?
抱著這樣的想法,研究者們將2D人臉生成模型StyleGAN2,與一個名為FLAME的3D人臉生成模型進行了結合,如下圖所示。
原本在StyleGAN2中,會插入一部分隨機噪音,用於調節局部紋理的變化,現在則是將FLAME模型生成的紋理和常規渲染當做這個噪聲,輸入StyleGAN2中,以對生成的圖像產生直接影響。
在這其中,生成的圖像會被投影到3D人臉生成模型的網格(mesh)上,獲得一個不完整的紋理圖,也就是所謂的「紋理竊取」(texture stealing)。
從下圖可見,「紋理竊取」看起來就像是把人臉分成了幾部分,強行進行了拼湊。
事實上,這是用3D模型,來對人臉進行參數控制的重要步驟。在進行像素對齊後,模型參數與生成圖像之間的像素局部關聯就能變得明確。
也就是說,這一生成模型不僅能利用GAN的特性,生成逼真的人臉圖像,還能根據3D模型給出的參數,進行人臉細節的調控。
那麼,這一模型的效果具體如何呢?
各種細節都能變
從控制情況來看,參數對人臉模型的控制還是不錯的。
下圖是改變參數對人臉造成的影響。
與第一行相比,第二行改變了髮型,第三行主要改變了個人身份,第四行改變了五官參數,第五行改變了姿勢,第六行改變了外觀,第七行則是對膚色和光照角度的改變。
可以看出,參數對於人臉的控制還是比較明顯的。
如果想不好要生成什麼樣的人臉,也可以用隨機採樣的模式。
從下圖可以看出,從年齡、膚色、表情、姿勢等來看,模型也保留了GAN的效果,生成的人臉圖像也具有非常大的差異性,但無一例外都比較逼真。
當然,GAN該有的那些玩法,這個模型也有,不僅能生成口對口動畫,還能與語音相結合生成演講模型。
具體到圖像質量,GIF的FID得分也非常不錯(數值越低越好)。
相比於動畫捏臉模型,這個GAN版捏臉模型,可以說是非常逼真了。
作者介紹
一作Partha Ghosh,來自馬普所,研究領域涉及計算機視覺、計算機圖形學和機器學習的交叉學科,教計算機如何看待和理解人類行為。
二作Pravir Singh Gupta,來自德州農工大學,目前是一名博士生。共同二作Roy Uziel,來自內蓋夫本-古裡安大學,目前在馬普所實習。
此外,作者還有Anurag Ranjan、Michael Black和Timo Bolkart,他們都來自馬普所。
目前相關代碼已經開源。