你的涂鴉活了,CMU中國本科生讓畫成真丨有代碼有Demo
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
凡人的世界,繪畫就是靜態(tài)的。但在一個神秘的計算機世界,一切都不一樣,不信你看。
畫一個獨角獸,然后輕輕一點。
獨角獸就“活了”,奔跑跳動、躍然紙上。
給它取個名,再輕輕一點——擁有姓名的獨角獸,就從紙面進入一個三維世界,開始不知疲倦的翻越,一座座山丘……
這個世界里,還生活著各種奇奇怪怪的生物。
比方藏在人群中扭秧歌的蝸牛。
看,長了四只腳的怪物:
在天上行走的漁夫,怕不是個仙人:
帶著帽子的鬼怪紳士
連一草一木都能成精:
卡通人物也可以,你看有哆啦A夢:
黃皮耗子皮卡丘,這次沒長毛:
還有神奇的大方臉:
這些小家伙,都是吃瓜群眾們畫出來的。
在這個虛擬世界里,只要寥寥幾筆涂鴉,所繪之物盡成真,堪稱真神筆馬良。它們在同一片天地間奔跑,魑魅魍魎糾纏,宛如百鬼夜行。
這個,就是正在CMU就讀的中國小哥Lingdong Huang同學(xué)創(chuàng)造的涂鴉世界,在這個世界里,任何人都能像神筆馬良一樣,隨便一畫,即刻成真。
不少吃瓜群眾看到之后紛紛驚嘆:
這特么簡直是魔法:
好喜歡這些涂鴉,我能連著看好幾天,哈哈。
簡直像詩一樣,都是有血有肉的形象,在一個自然隨性的地方飄蕩。
怎么做到的
明明是隨意的涂畫,竟然能自動分辨出小鬼怪們的“胳膊”和“腿兒”,還能有節(jié)奏的活動,這些涂鴉是怎么“活”過來的?
“造物主”黃同學(xué)用了三個步驟來完成這個世界的構(gòu)建。
給涂鴉加上骨架
就像人體關(guān)鍵點檢測一樣,隨手畫出的涂鴉也需要關(guān)鍵點,確定骨骼位置,才能描繪出它的精氣神。
這里,黃同學(xué)用了OpenCV的骨架化工具,借助Zhang-Suen的C++代碼實現(xiàn)。不過,這套實現(xiàn)遍歷了圖像中的所有效果,所以在web端實現(xiàn)的效果又卡又慢。
黃同學(xué)不得不重新借助gpu.js,用WebGL shaders的javascript分支重寫了代碼。
重寫之后要快得多了。比如我們放一張寡姐持槍的照片,它就能自動把畫面的重點,寡姐的軀干和兩條拿槍的胳膊就可以自動勾勒出來。
讓機器看懂骨架
但是,現(xiàn)在問題來了,看到這樣一張圖,人類可以判斷出來是一個人和TA的兩條胳膊,可是機器好像不行啊。
于是,黃同學(xué)決定用8×8窗口掃描整個圖像,找到那些有筆畫的部分馬克出來,作為根補?。╮oot patch),然后,看根補丁小方塊的四個邊,哪邊有線就往哪邊延伸,這樣就能找出整個骨架,之后用中值模糊濾波器(aggressive median-blur filter)降噪。
現(xiàn)在,機器終于能理解你畫的涂鴉的形狀,和它內(nèi)部的骨架結(jié)構(gòu)。
讓涂鴉動起來
下面就得想辦法讓涂鴉動起來了。
這里,黃同學(xué)確定了五大物種:哺乳動物、人、鳥、魚、植物,根據(jù)涂鴉形象骨架,確定畫出來的小怪物屬于哪一類物種,然后給骨架的不同部分分配身體器官:這是頭,這是胳膊,這是腿……
之后,他為不同物種設(shè)定了單獨的“走路”姿勢,比如植物應(yīng)該是在一個固定的地方蹦蹦跳跳,哺乳動物和人類應(yīng)該是在地上跑,鳥應(yīng)該放在天上呼扇翅膀,魚應(yīng)該是在水里擺尾游動。
這樣一套流程下來,涂鴉就能動起來了。
對了,涂鴉小怪物們所生活世界的“天、地、水”也需要定義。
黃同學(xué)用2D高斯函數(shù)乘以Perlin噪聲,生成了一個類似海里的小島的地圖,中間高,周圍低,最外層是水,這樣,花鳥魚蟲們就能夠各得其所了。
AI搞怪愛好者
黃同學(xué)即將在明年從CMU畢業(yè),此前他還是迪士尼的實習(xí)生。這位97年出生的少年,創(chuàng)造過很多神奇的項目。
比如,自動生成山水畫:
還有Emoji小人大戰(zhàn):
自動書法生成器:
相當(dāng)有趣的內(nèi)容,大家可以戳進傳送門體驗。
專業(yè)“馬良”公司已面世
涂鴉動起來,這種像神筆馬良一樣的功能其實已經(jīng)被一家公司商業(yè)化了。
前微軟人機交互專家曹翔博士創(chuàng)立的小小??萍季褪沁@樣一家公司,他們用自研的Wonder Painter技術(shù),可以把各種物體變成會動的角色。
比如,在繪畫界面里畫一個穿裙子的姑娘:
接下來,姑娘就可以直接開始熱舞了:
小小牛的這項技術(shù)已經(jīng)以游戲的形式,應(yīng)用在了一些線上營銷活動中。未來,這類技術(shù)或許還能在藝術(shù)創(chuàng)作、兒童教育等領(lǐng)域大放異彩,會大大降低藝術(shù)創(chuàng)造的門檻。
所以“神筆馬良”,不止是前沿技術(shù),未來商業(yè)前景也隱隱轟鳴。
傳送門
Demo體驗:
https://doodle-place.glitch.me/
差點忘了說,因為這個項目太受歡迎,有時候需要像滴滴一樣排隊才能進入,開頭的皮卡丘和哆啦A夢在第二個Demo服務(wù)器里:
https://doodle-place-server-2.glitch.me/
原作博客:
http://golancourses.net/2019/ngdon/03/05/ngdon-drawingsoftware/
骨架化代碼:
https://skeletonization-js.glitch.me/