這兩天,一個(gè) " 魔法畫(huà)板 " 在國(guó)外傳瘋了。
AI 圈內(nèi)外的靈魂畫(huà)手們玩到根本停不下來(lái),創(chuàng)造的驚喜畫(huà)作能裝滿好幾個(gè)美術(shù)館。
這個(gè)畫(huà)板背后,可不是一個(gè)普通的畫(huà)畫(huà) AI。它,會(huì)腦補(bǔ)。
隨便畫(huà)一筆,就能得到一只貓:
畫(huà)個(gè)圓圈,變成貓:
畫(huà)個(gè)三角,變成貓:
畫(huà)個(gè)方塊,變成貓:
真是萬(wàn)物皆可喵喵。
當(dāng)然,你也可以不讓它畫(huà)貓,改成畫(huà)狗。只要你設(shè)定了一個(gè)繪畫(huà)的目標(biāo),之后隨便畫(huà)一筆,AI 就能腦補(bǔ)出余下的畫(huà)面。
這個(gè) " 魔法 ",是來(lái)自谷歌的吸貓少女 Monica Dinculescu 用 Sketch RNN 開(kāi)發(fā)的。
因?yàn)樗龕?ài)貓成癡,不僅自己頭像是和自家喵子的合影,連個(gè)人主頁(yè)域名都叫 Meowni.ca,我們就叫她喵妮卡好了。
所以,受到創(chuàng)作者的影響,這個(gè) AI 默認(rèn)屬性為吸貓愛(ài)好者,但除了貓之外,AI 也會(huì)腦補(bǔ)許多其他內(nèi)容,腦洞很大。
發(fā)布之后,眾人競(jìng)相玩耍,好評(píng)如潮,2000 多人點(diǎn)贊。
有人讓 AI 畫(huà)了滿屏的骷髏,說(shuō),好美?。?/p>
谷歌大佬 David Ha 也表示,他已經(jīng)試過(guò)用各種基本形狀來(lái)教導(dǎo) AI 畫(huà)羊了。
不止有魔力,還可以加戲
喵妮卡給應(yīng)用起名為魔法畫(huà)板 ( Magic Sketchpad ) ,也名副其實(shí)。
畢竟,只要畫(huà)一筆,媽咪媽咪哄!一整張圖就出現(xiàn)在眼前。
△你想要什么樣的美人魚(yú)?
而且,只要按一下選擇欄左邊的刷新按鈕,AI 就會(huì)根據(jù)剛才那一筆,不斷為你展現(xiàn)新的畫(huà)法。
一共有 100 多種東西可以畫(huà),青蛙,秋千,直升飛機(jī),連龍貓里的貓巴士都有。
我是一只豆豆眼的貓頭鷹:
我是一只很鬼魅的仙人掌:
為了這 100 多種選項(xiàng),都能找到合適的色彩來(lái)詮釋,畫(huà)板還提供了 18 種顏色的畫(huà)筆。
這樣一來(lái),就有數(shù)不清的排列組合。有大膽想法的小伙伴們,可以在魔法畫(huà)板上盡情加戲了。
在你開(kāi)始表演之前,量子位先拋拋磚:
鯨魚(yú)噴出的不一定是水,也有可能是花。
牙刷上方溫柔的曲線不一定是牙膏,也有可能是蝸牛。
另外,如果你還沒(méi)想到,除了排列組合之外,還可以鬼畜啊。
一頭鯨魚(yú)噴水沒(méi)什么,十幾頭鯨一起噴,就很有節(jié)奏感了 ( 誤 ) 。
一個(gè)人做瑜伽太孤單了,十幾個(gè)人一起做,姿態(tài)各不相同,清明瑜伽圖豈不美哉?
不過(guò)雖然好玩,量子位似乎還是發(fā)現(xiàn)了一個(gè) bug,像貓巴士 ( Catbus ) 這種組合選項(xiàng):畫(huà)方成車,畫(huà)圓成貓,無(wú)法兼顧。那么,怎樣才能一步生成下面這樣的效果呢?
想要體驗(yàn)一下的盆友,傳送門(mén)照例在文末 ~
人家是有背景的
可能你已經(jīng)發(fā)覺(jué)了,它的畫(huà)風(fēng)很像的谷歌推出的 Quick, Draw!,中文名為 " 猜畫(huà)小歌 "。
是的,他們是一家人。
喵妮卡在推特上說(shuō)了,她的魔法畫(huà)板使用的就是 Quick, Draw! 數(shù)據(jù)集。
這個(gè)數(shù)據(jù)集里面,有 5000 萬(wàn)張畫(huà),分為 345 個(gè)類別。每一張畫(huà),都記錄了畫(huà)畫(huà)的整個(gè)過(guò)程:畫(huà)筆運(yùn)動(dòng)的方向,何時(shí)提筆,何時(shí)停止繪畫(huà)。
如果你玩過(guò)猜畫(huà)小歌,那這個(gè)數(shù)據(jù)集里,也有你的一份貢獻(xiàn)。
既然使用的是 Quick, Draw! 數(shù)據(jù)集,模型基本上沒(méi)有什么懸念。
正是 Sketch-RNN。這是一個(gè)用 Quick, Draw!數(shù)據(jù)集訓(xùn)練出來(lái)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。目標(biāo)是讓 AI 以類似人類的方式來(lái)畫(huà)畫(huà),并概括出抽象的概念。
模型有這樣的能力,做出來(lái)魔法畫(huà)板也就沒(méi)有那么難了。
你隨手畫(huà)個(gè)圈,就是為 Sketch-RNN 輸入了一個(gè)序列,它可以根據(jù)這個(gè)序列和你選擇要畫(huà)的東西,預(yù)測(cè)接下來(lái)的序列:也就是補(bǔ)完這幅畫(huà)。
雖然畫(huà)風(fēng)奇特,但畫(huà)啥就有點(diǎn)像啥。
具體的實(shí)現(xiàn)代碼,喵妮卡也全部放出來(lái)了。(傳送門(mén)在文末。)
三種額外玩法
除了這個(gè)萬(wàn)物皆可喵的網(wǎng)頁(yè)之外,喵妮卡所在的 Google Magenta 團(tuán)隊(duì)還用 Sketch-RNN 創(chuàng)作了幾個(gè)不同的涂鴉應(yīng)用。
9 × N 種預(yù)測(cè),總能猜中你的心
你涂鴉的每一筆,都被我預(yù)料到了。
無(wú)論你畫(huà)了個(gè)啥,我都能猜出你接下來(lái)準(zhǔn)備如何下筆。
并且,我有無(wú)數(shù)種方案,只要點(diǎn)擊 predict,就可以出現(xiàn)新的 9 種圖案。
而且我還能選擇不同的美術(shù)風(fēng)格,通過(guò)調(diào)整 temperature,數(shù)值越接近 1,我的畫(huà)風(fēng)越抽象、越狂放不羈;
數(shù)值越接近 0,我的畫(huà)風(fēng)越寫(xiě)實(shí),下筆婉轉(zhuǎn),基本符合小學(xué)美術(shù)的要求。
不同圖像,一鍵生成漸變效果
和 GAN 的許多應(yīng)用 Demo 一樣,Sketch-RNN 也可以實(shí)現(xiàn) " 漸變 " 功能。
比如,我們隨機(jī)選了兩個(gè)公交車的圖案,圖案的美術(shù)風(fēng)格依然由 " 狂放度 "temperature 決定。
之后,點(diǎn)擊 Interpolate! 就可以實(shí)現(xiàn)插值效果,也就是兩個(gè)圖案漸變過(guò)程的每一幀變化圖案。
我畫(huà)得跟你一樣
這個(gè)玩法用上了變分自動(dòng)編碼器(Variational Auto-Encoder,VAE)
VAE 在這里的應(yīng)用,是 " 模仿你畫(huà)畫(huà) "。
比如,畫(huà)一只貓貓,畫(huà)完之后點(diǎn)擊 auto-encode,就可以模仿你的筆觸,畫(huà)出各種不同的貓。
不過(guò),在不同品類上,似乎學(xué)得不太像。
可能是貢獻(xiàn)數(shù)據(jù)集的那些外國(guó)人,不認(rèn)識(shí) " 王 " 字,對(duì)小腦斧的理解跟我們不太一樣吧。
另外,這個(gè) AI 很有個(gè)性,非常堅(jiān)持自己的看法。
比如選中菠蘿 pineapple,你非要畫(huà)一個(gè)蘋(píng)果,它也不相信你畫(huà)的就是菠蘿。
△ " 圖樣,本 AI 見(jiàn)過(guò)的菠蘿多了去了,不要拿蘋(píng)果糊弄我 "
真是 " 投之以蘋(píng)果,報(bào)之以菠蘿 "。
【來(lái)源:36氪】