在日本游戲開發(fā)者大會CEDEC2020的最后一天(9月4日),Mixi發(fā)表了關(guān)于CreativeAI的演講。
CreativeAI是什么呢?簡而言之,就是用AI無限生成畫像之類物品的研究。雖然很多人都見過能夠無限生成動畫角色風(fēng)格畫像的網(wǎng)站了,但Mixi想到了“能否把這種方法用到游戲角色的制作中呢?”并展開了研究,以下要介紹的,就是這個研究的結(jié)果。
本次進(jìn)行結(jié)果介紹的,是Mixi設(shè)計本部制作辦公室技術(shù)美術(shù)小組工程師團(tuán)隊(duì)負(fù)責(zé)人長舩龍?zhí)上壬汀豆治飶椫椤肥聵I(yè)本部開發(fā)辦公室《怪物彈珠》客戶端G客戶端2T主程序錢宇喆先生兩位,演講的核心是《怪物彈珠》的角色生成。
※本次演講的內(nèi)容正在研究開發(fā)中,尚未用到《怪物彈珠》中。
演講開頭提出的問題:“哪些圖像是AI生成的?”其中包含4張AI生成的圖像(答案在文章末尾)
長舩先生提到,之所以開始CreativeAI的研究,是因?yàn)榭紤]到Mixi正在長期開發(fā)2D手游《怪物彈珠》,并且也需要經(jīng)常制作動畫或VTuber等3DCG內(nèi)容,對于富有魅力的角色的需求是常態(tài),而將AI投入使用之后,能夠大大提高生產(chǎn)力。在確定要研究AI這個課題之后,Mixi就始調(diào)查基于GAN的角色畫像生成。
此后Mixi開始調(diào)查設(shè)計中哪些問題能夠用AI解決,得到的結(jié)論是將AI投入到草稿的制作中。雖說是草稿,但《怪物彈珠》中的草稿已經(jīng)完成了上色,具有了不低的品質(zhì)。
《怪物彈珠》想要的就是這種高質(zhì)量的草稿
(《怪物彈珠》所用的)生成手法,使用了同類技術(shù)常用的GAN(生成對抗網(wǎng)絡(luò))。這種系統(tǒng)給人的感覺就像是生成畫像的AI和給不斷給前者挑刺的AI二者之間的較量。其中也有用到一種叫做StyleGAN(基于樣式的生成對抗網(wǎng)絡(luò))的方法。項(xiàng)目最初使用的是公司內(nèi)空置的Rendering服務(wù)器,最近則開始使用谷歌云平臺。
評價方式是對learning?rate或batch?size等超參數(shù)進(jìn)行變更,然后在TensorBoard(TensorFlow的可視化工具)中查看損耗并進(jìn)行調(diào)整。GAN還會定期將生成的畫像發(fā)送到Slack上。
GAN(生成對抗網(wǎng)絡(luò))是指?
畫像生成手法中常常使用的AI技術(shù)
由Generator和Disctiminator兩種網(wǎng)絡(luò)構(gòu)成
可類比為假幣制造者(Generator)和警察(Disctiminator)
有StyleGAN、BigGAN、DCGAN(深度卷積生成對抗網(wǎng)絡(luò))等多種方法,泛用性很高
雖然現(xiàn)在看來經(jīng)驗(yàn)豐富,但一開始Mixi對這方面知之甚少,他們選擇了和正在開發(fā)使用了GAN的偶像生成AI的DATAGRID合作,以此開始研究。
最開始,AI學(xué)習(xí)了《怪物彈珠》的角色圖像之后,隨便生成了一些角色的全身畫像,最后生成的東西有些勉強(qiáng)能說是人型,大部分則是讓人懷疑“是粒子嗎?”的噪點(diǎn)。這是因?yàn)椤豆治飶椫椤返慕巧还馐侨诵汀⑵渲羞€有很多怪物和機(jī)械。演說者也提到了因?yàn)橛螒蜻\(yùn)營了超過七年,角色設(shè)計發(fā)生了很多變化,角色的共同點(diǎn)已經(jīng)很難找到的原因。
上述經(jīng)歷讓長舩先生它們認(rèn)識到了數(shù)據(jù)的重要性,于是他們從《交鋒聯(lián)盟》的3D模型中截取了很多2D畫像讓AI學(xué)習(xí)。最后雖然生成了很多具有《交鋒聯(lián)盟》風(fēng)格的角色畫像,但卻缺少了創(chuàng)新性。從輸出的圖像來看就像是原有角色擺出了新的姿勢。這是因?yàn)樵磾?shù)據(jù)的變化不足。
因此,Ai的學(xué)習(xí)對象就從網(wǎng)上找來的動畫全身畫像抽出一萬張形成的數(shù)據(jù)庫轉(zhuǎn)向了《怪物彈珠》的全身數(shù)據(jù)。從數(shù)據(jù)庫生成的對象本來已經(jīng)具有了一定品質(zhì),轉(zhuǎn)向?qū)W習(xí)《怪物彈珠》的全身數(shù)據(jù)之后,生成的結(jié)果又有了不少噪點(diǎn)。這是因?yàn)椤豆治飶椫椤返娜頂?shù)據(jù)中大量使用了特效,給AI造成了負(fù)面影響。長舩先生從這件事中學(xué)到了AI學(xué)習(xí)時要將要素之間分開學(xué)習(xí)。
此外,他們還做了給AI骨骼信息的嘗試,具體方式是將OpenPose中的信息變換之后對GAN進(jìn)行擴(kuò)張。但是,要從2D畫像中抽出這種信息十分困難,只能想想別的辦法。
因?yàn)槿砩傻碾y度很高,于是他們將學(xué)習(xí)對象限定在了對方的臉,并介紹了那時候起了很大參考作用的兩個網(wǎng)站。他們以Making?AnimeFace?With?StyleGAN和包含330萬張不同動畫臉數(shù)據(jù)為基礎(chǔ),將《怪物彈珠》的高分辨率畫像進(jìn)行模板匹配抽出了數(shù)千張臉的畫像,讓AI進(jìn)行學(xué)習(xí)。
但是,要在《怪物彈珠》的角色中單獨(dú)抽出人型角色的工作非常辛苦,每天只能進(jìn)行兩小時左右,因此嘗試了自動化。將Danbooru相關(guān)的自動標(biāo)記工具DeepDanbooru進(jìn)行改良之后,就能進(jìn)行簡單的選擇了。
這樣生成的結(jié)果如下圖所示,既具備《怪物彈珠》的特點(diǎn),也具有了創(chuàng)新性。
接下來要介紹的是,為了操作這個CreativeAI而使用的工具或者GUI。最初實(shí)裝的工具是能夠調(diào)整和參考網(wǎng)站同樣參數(shù)的工具,之后也參考了其他畫像生成網(wǎng)站添加了能夠最大限度接近想要畫像的Encoder機(jī)能,能夠一次性展示全部變化的機(jī)能,隨意改變參數(shù)的節(jié)能,其他參考網(wǎng)站如下,“StyleGanEncoder”、“WaifuLabs”、“ArtBreeder”。
AI角色生成工具GUI化~假說
用Encoder生成與自己的圖像相近的畫像(StyleGanEncoder)用簡單的GRIDGUI進(jìn)行差異生成(WaifuLabs)用滑動條GUI進(jìn)行微調(diào)(ArtBreeder)在實(shí)際的Demo演示中,(使用者)要首先從不斷隨機(jī)生成的畫像中選擇一個喜歡的,這樣就會展示出這個畫像的差異版本,不斷選擇縮小范圍之后,就進(jìn)入了調(diào)整參數(shù)隨意改動細(xì)節(jié)的部分,看著頗為有趣。
在隨機(jī)生成的角色中選擇一個之后,就可以選擇這個角色的差異版本
參數(shù)調(diào)整界面
對上方圖片的某個參數(shù)進(jìn)行簡單調(diào)整之后就成了下圖
雖然沒有介紹Encoder機(jī)能的實(shí)例,但是展示了將長舩先生自己的照片輸入進(jìn)去的結(jié)果。結(jié)果雖然和本人不是特別像,但卻變成了《怪物彈珠》風(fēng)格的美少年。同樣也展示了將貓的圖像輸入進(jìn)去的示例。輸出的結(jié)果是雖然沒有的貓的特征,但很有貓的感覺的女孩子。這也是一個看起來很有用的機(jī)能。
這個系統(tǒng)制作出來是為了滿足角色的臉和彈珠兩個需求的,長舩先生也展示了將生成角色的參數(shù)原樣輸入生成彈珠用的系統(tǒng)中就生成了和這個角色相似的彈珠的結(jié)果。雖然看起來理所當(dāng)然,但學(xué)習(xí)角色的臉和彈珠的數(shù)據(jù)應(yīng)該有所差異。
如果要給2D畫像生成部分一個總體評價的話,Encoder部分因?yàn)樯傻漠嬒窈驮掌粔蛳裰荒芙o△(日本人用◎、○、△、×表示認(rèn)可程度,從前到后認(rèn)可程度依次降低),表示差異的GUI能夠給到◎,用滑動條調(diào)整參數(shù)的設(shè)計則是○。第一感覺是用滑動條來調(diào)整參數(shù)的話,即使很小的動作變化量也會很大,在憑感覺來到了工作的最終階段之后,這一步的處理還是細(xì)致些好。
自動生成3D角色
接下來進(jìn)行自動生成3D角色的報道。這一部分的開發(fā)進(jìn)度目前還是中期報告的程度,由錢先生進(jìn)行介紹。
因?yàn)镸ixi的新作大部分都是使用Unity引擎制作的3D游戲,3D角色的需求量很大,《怪物彈珠》等作的宣傳等活動中也常常要用到3D模型,加上最近也有用Unity制作的動畫,于是將3D模型制作的自動化納入了討論范圍。
首先錢先生訴說了他們的理想,就是輸入一張角色圖像之后,就能由AI自動制作出一個3D角色的系統(tǒng)。但是,目前生成的角色精度還很低,而且現(xiàn)有的研究大部分是研究從真人照片生成寫實(shí)角色的方法,對于動畫角色的研究很少。
因此Mixi的目標(biāo)是參數(shù)化的方法和機(jī)械學(xué)習(xí)的混合。對參數(shù)進(jìn)行調(diào)整之后對3D角色進(jìn)行客制化的解決方法很多,但這些都需要將參數(shù)作為矢量去學(xué)習(xí)。他們就這一點(diǎn)與東京大學(xué)五十嵐研究室展開了共同研究。
錢先生他們參考的是網(wǎng)易發(fā)表的將照片轉(zhuǎn)化為游戲角色的AI系統(tǒng)的研究。
參考這項(xiàng)研究產(chǎn)生的方法是,從畫像中將臉和身體的特征抽出,并算出網(wǎng)格和骨骼的參數(shù)。
作為學(xué)習(xí)素材的則是用VRoid?Studio對參數(shù)被多次變更的角色進(jìn)行截取得出的數(shù)據(jù)。其中一項(xiàng)來源就是對同公司的Vtuber正在使用的“加百列”的3D數(shù)據(jù)的改造及素體化。將角色本體與發(fā)型、服裝等分離開之后就能作為素體數(shù)據(jù)使用了。
AI為了使之與給定的VRiod?的圖像變得更為接近,要對參數(shù)進(jìn)行調(diào)整并輸出,再判定這個結(jié)果并且使之更為接近,如此循環(huán)往復(fù)。
此外,還要將臉部等等的材質(zhì)抽出進(jìn)行Scale補(bǔ)正,進(jìn)行變形等操作之后再加以UVMapping。雖然能從畫像上將眼睛、眉毛等等進(jìn)行自動的部位分割(Segmentation),但Segmentation技術(shù)更多被用在照片圖像中,因而有開發(fā)動畫用的對應(yīng)技術(shù)的必要。也要對被頭發(fā)蓋住的地方進(jìn)行補(bǔ)正。
這次雖然沒能展示具體的輸出結(jié)果,但這項(xiàng)技術(shù)已經(jīng)在研究中了。錢先生說到了三點(diǎn)現(xiàn)在亟待解決的問題,首先是單一的素體不能完全適應(yīng)的情況很多,因而需要復(fù)數(shù)模型,對發(fā)型和服裝也需要進(jìn)行同樣的處理。此外參數(shù)推定方法和Segmentation等等也還有改良的空間。
雖然這樣說,但如果能夠真正實(shí)現(xiàn)3D角色的自動生成,那回報也將十分豐厚。錢先生表示一定會一起加油好好研究。
CreativeAI是設(shè)計者們的敵人嗎?
長舩先生提出了這樣一個人類共同的問題。雖然已經(jīng)是老生常談了,但如果繪畫真的能夠?qū)崿F(xiàn)自動化,設(shè)計者們到底會不會真的失業(yè)呢?
長舩先生表示,他雖然通過了解公司內(nèi)部的信息和參加學(xué)習(xí)會認(rèn)識到了AI并不是設(shè)計者的敵人,但現(xiàn)實(shí)中還是有很多設(shè)計者們對此抱有危機(jī)感。此外,他還十分堅決地表示一個有魅力的角色需要許多的設(shè)定和背景支撐,而GAN只能做出一副皮囊。他總結(jié)道,既要避免在未完成的狀態(tài)就展示給設(shè)計者們看而被設(shè)計者們視為敵人,同時也不能忽視傾聽各類人士的意見。
AI不是敵人而是設(shè)計者的好伙伴
今后如果能夠生成3D角色了,就能夠形成制作2D角色,然后將之3D化,再將其3D數(shù)據(jù)進(jìn)行截取以強(qiáng)化2D學(xué)習(xí)的循環(huán),角色的自動生成技術(shù)就能因此變得更加成熟。
但,這樣的機(jī)械學(xué)習(xí)需要大量的學(xué)習(xí)數(shù)據(jù),這不能僅靠一個企業(yè),而是需要贊同的企業(yè)的共同開發(fā),為此,他呼吁大家參加Game?AI Community的Slack頻道。
對于非設(shè)計者來說,這是夢一般的技術(shù),對于設(shè)計者這也并非是噩夢般的技術(shù),CreativeAI的研究今后毫無疑問還將繼續(xù),用現(xiàn)在的眼光看來,成果也快要達(dá)到實(shí)用水平了。Mixi的研究用了一年半走到了這里,者也是近未來的游戲開發(fā)繞不開的一個話題。這是一篇讓人既被現(xiàn)有的AI技術(shù)震驚也認(rèn)識到技術(shù)上還存在問題,對于運(yùn)用上的問題還需要進(jìn)一步討論的演講。
還記得文章開頭的問題嗎?答案用紅框標(biāo)示了出來
09/398342