讓 AI 畫人臉見得多了,要是讓 AI 畫個幻想中的怪物又如何?
來看幾個,先是人形的:
再來個獸形的:
還有詭異到說不出來屬于什么型的:
你可能會問,這很難嗎?
畢竟現(xiàn)在用 GAN 生成人臉都能以假亂真,生成怪物只要“瞎畫”就行了,又不需要像誰。
一位從皮克斯辭職又跑去讀博的小哥 Vavilala,最近就在研究讓 AI 輔助人類原畫師設(shè)計怪物這件事。
他的答案是:難,但不是同一種難。
如今的 GAN 比如英偉達的 StyleGAN2,在生成怪物任務(wù)上存在一個大問題:
只擅長改變畫面的風(fēng)格,但里面的怪物在人類看起來還是同一種。
他開始思考,如何才能讓 AI 創(chuàng)造出新的怪物?
關(guān)鍵在控制噪聲
讓 AI 生成怪物圖像,首先要面對問題是數(shù)據(jù)集變了。
像 StyleGAN 系列所用的高清人臉數(shù)據(jù)集 FFHQ 里面,有 7 萬張人臉照片,而且都是大致朝向正面的大頭照。
雖然人的性別年齡膚色表情不一樣,但好歹整體結(jié)構(gòu)是相同的,都是一個鼻子兩個眼。
小哥用的怪物數(shù)據(jù)集是從 YGOPRODeck 上獲取的卡牌游戲《游戲王》中的 1 萬多張插畫,其中可以算怪物的有 6800 張,這里面的怪物可是什么樣都有。
怪物的圖片資源本來就少還要分成不同種類,全身畫像在姿勢上差異也很大,相當于是稀疏型數(shù)據(jù)集。
數(shù)據(jù)集變了,算法也要相應(yīng)的改變。
先看看 StyleGAN 系列原版的算法。
StyleGAN 一代繼承自 ProGAN,采用漸進式訓(xùn)練,從 4x4 分辨率開始,每層訓(xùn)練到穩(wěn)定再將分辨率翻倍,直到 1024x1024。
▲ 來自 Towards Data Science
4x4 到 32x32 分辨率層的特征能改變姿勢、發(fā)型、臉型、五官等能識別一個人身份的粗粒度特征。
從 64x64 到 1024x1024 分辨率層就只能調(diào)整一下皮膚的顏色和皺紋斑點等細節(jié)特征了。
同時 StyleGAN 系列又靠在每個分辨率層的卷積后添加噪聲獲得更豐富多樣的面部特征,增強圖像的質(zhì)量。
在初代 StyleGAN 論文中有這樣一個實驗:
如下圖所示,(a) 是在所有層添加隨機噪聲,(b) 是無噪聲,(c) 是只在 64x64 分辨率及以上的層添加噪聲,(d) 是只在 4x4 到 32x32 分辨率的層添加噪聲。
從結(jié)果可以看出,對于生成人臉來說需要在所有層上添加噪聲。
高分辨率層的噪聲能夠增加臉上和背景物體上的細節(jié) (a、c 對比 b、d),低分辨率層噪聲又控制頭發(fā)的卷曲看起來不那么夸張 (a 對比 c)
小哥在用游戲王數(shù)據(jù)集訓(xùn)練的 StyleGAN2 上做了同樣的實驗。
結(jié)果發(fā)現(xiàn),噪聲對于生成怪物來說同樣重要,但又有所不同。
用無噪聲方法生成的怪物圖像在 FID 分數(shù)上慘不忍睹 (越小代表生成的圖像質(zhì)量越好)。
在所有層加入噪聲會好一些,而只在 32x32 分辨率以上的層加入噪聲效果會更好。
這是因為稀疏型的怪物數(shù)據(jù)集特征太雜太多,畫面還是全身的,噪聲改變一點點很容易就面目全非。
等一下,這難道不就創(chuàng)造了新的怪物么?
仔細看上圖,生成的幾種怪物質(zhì)量并不算高,容易出現(xiàn)不完整的特征和幾種不同類型的特征胡亂拼湊。
修改噪聲得到的圖像還不可控,因為噪聲是隨機生成的,不同噪聲對最終結(jié)果的影響也是不可解釋的。
去掉低分辨率層的噪聲這個方法,可以減少噪聲對怪物圖像粗粒度特征的影響,獲得高質(zhì)量圖像圖像的同時也保留了通過改變噪聲獲得隨機細節(jié)的能力。
現(xiàn)在有了適用于生成怪物的魔改版 StyleGAN2,最開始那個問題,讓 AI 設(shè)計出新的怪物要怎么做?
其實還是靠去掉低分辨率層的噪聲,這么一個簡單的改動就能解決。
可控的創(chuàng)新
還是先看一下之前的做法。
StyleGAN2 的后續(xù)研究中,阿爾托大學(xué)提出了 PCA 方法 (Principal Component Analysis,主成分分析)。
通過 PCA 可以在隱空間中找到代表某種特征變化的方向,沿著特定方向修改隱變量 (latent variables) 能做到獨立可控制的修改人臉特征。
如果在生成怪物任務(wù)上沿用在所有分辨率層添加噪聲的訓(xùn)練方法,PCA 的效果又不行了。
此時改變隱變量反倒成了對風(fēng)格的修改,怪物看起來還是同一種。
改了,但沒完全改。
在低分辨率層不添加噪聲的訓(xùn)練方法再次發(fā)揮了作用。
少了低分辨率層噪聲的干擾,PCA 方法更容易找出有意義的修改方向,讓 AI 在中間一列原圖的基礎(chǔ)上設(shè)計出新的怪物。
還提出實用 Workflow
另外值得一提的是,這位小哥不愧是在大公司實際業(yè)務(wù)上鍛煉過又回到學(xué)術(shù)界的,寫論文不忘了探討一下如何打造方便一線設(shè)計師操作的工作流程。
比如將魔改版 StyleGAN2 部署到 A100 上推理時間平均可達 0.05 秒,能滿足即時操作的要求。
再用 Streamlit 工具可以用很少代碼創(chuàng)建交互式的圖形界面,用滑塊一類的控件方便地調(diào)整參數(shù)。
論文最后展示了使用 GAN 中常見的截斷技巧 (Trunction)、風(fēng)格混合和 PCA 方法結(jié)合,是怎么一步步設(shè)計出新的怪物的。
論文一作 Vaibhav Vavilala 來自伊利諾伊大學(xué)厄巴納-香檳分校。
他的導(dǎo)師是 CV 大牛 David Forsyth,《計算機視覺:一種現(xiàn)代方法》的作者。
論文地址:
https://arxiv.org/abs/2108.08922
參考鏈接:
[1]StyleGAN https://arxiv.org/abs/1812.04948
[2]StyleGAN2 https://arxiv.org/abs/1912.04958
[3]PCA https://arxiv.org/abs/2004.02546
[4]https://towardsdatascience.com/progan-how-nvidia-generated-images-of-unprecedented-quality-51c98ec2cbd2
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。