首頁>資訊 >
幾分鐘讓小孩的人物涂鴉「動起來」,Meta AI創(chuàng)建了一個(gè)奇妙的火柴人世界 2021-12-19 19:57:26  來源:36氪

本文來自微信公眾號“機(jī)器之心”(ID:almosthuman2014),36氪經(jīng)授權(quán)發(fā)布。

你有沒有想過將一張兒童繪畫制作成動畫?就如下圖,兒童能夠繪制出獨(dú)特和富有創(chuàng)造力的人物和動物:長著雙腳的星星、腿超級長的鳥……

父母和老師可以很容易地理解孩子繪畫想要表達(dá)什么,但 AI 很難完成這項(xiàng)任務(wù),因?yàn)閮和L畫通常以抽象、奇特的方式構(gòu)建,就以兒童繪畫中的「人」來說,繪畫中的「人」有許多不同的形式、顏色、大小和比例,在身體對稱性、形態(tài)和視角方面幾乎沒有相似之處。對 AI 來說,識別兒童繪畫還存在一定的困難。

目前,出現(xiàn)了許多 AI 工具和技術(shù)來處理逼真的繪圖,但兒童繪畫增加了一定程度的多樣性和不可預(yù)測性,這使得識別所描繪的內(nèi)容變得更加復(fù)雜。

許多 AI 研究人員正在試圖克服這一挑戰(zhàn),以便 AI 系統(tǒng)能夠更好地識別兒童創(chuàng)作的各種人物繪畫。

近日,Meta 宣布首創(chuàng)了一種 AI 系統(tǒng),該系統(tǒng)可以在沒有任何人工指導(dǎo)的情況下,高成功率的自動為兒童手繪人物和類人角色(即有兩條胳膊、兩條腿、一個(gè)頭等的角色)制作動畫,幾分鐘就可以實(shí)現(xiàn)從一張靜態(tài)圖到動畫的轉(zhuǎn)變。

例如,兒童繪制的小貓咪和小蜜蜂,上傳到 Meta AI,你就會看到繪畫變成會跳舞的角色,動作非常逼真。

試玩地址:https://sketch.metademolab.com/

通過將繪畫上傳到 Meta 原型系統(tǒng),用戶就可以體驗(yàn)繪畫變成會跳躍的角色。此外,用戶還可以下載動畫與朋友家人分享。如果用戶愿意,他們也可以提交這些繪畫以幫助改進(jìn) AI 模型。

Meta 通過四個(gè)步驟來完成從繪畫到動畫的轉(zhuǎn)變:目標(biāo)檢測識別人形;使用角色 mask 從場景中提升人形;通過「rigging」為動畫做準(zhǔn)備;使用 3D 動作捕捉制作 3D 人形動畫。

第一步是將繪畫中的人物與背景以及繪畫中的其他類型的角色區(qū)分開來。使用現(xiàn)有的目標(biāo)檢測方法在兒童繪畫上識別效果較好,但分割掩碼不夠準(zhǔn)確,無法用于動畫。為了解決這個(gè)問題,Meta 改為使用從目標(biāo)檢測器獲得的邊界框(bounding boxes),并應(yīng)用一系列形態(tài)學(xué)操作和圖像處理步驟來獲得掩碼。

Meta AI 采用基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測模型 Mask R-CNN 來提取兒童繪畫中的人物。雖然 Mask R-CNN 是在最大的分割數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練,但該數(shù)據(jù)集是由真實(shí)世界物體照片組成,而不是繪畫。為了讓模型能夠處理繪圖,需要對模型進(jìn)行微調(diào),Meta AI 使用 ResNet-50+FPN 進(jìn)行了微調(diào),以預(yù)測單個(gè)類別「人形圖」。 Meta AI 在大約 1,000 幅繪畫上微調(diào)了模型。

微調(diào)后,模型很好地檢測到了測試數(shù)據(jù)集中的人形圖。但是也有失敗的案例,如下圖可分為四類:檢測到的人形圖沒有包含整個(gè)圖像(例如圖中尾巴沒有包含);沒有把人形圖和背景分開;沒有把幾個(gè)湊在一起的人形圖分開;錯誤地識別非人類人物(例如樹)。

從畫作中識別和提取人物后,生成動畫的下一步是將其與場景的其他部分和背景分離,該過程被稱為 masking。mask 必須準(zhǔn)確映射人物的輪廓,因?yàn)樗鼘⒈挥糜趧?chuàng)建網(wǎng)格,然后變形以生成動畫。一切妥當(dāng)后,mask 將包含角色的所有組件,而消除任何背景內(nèi)容。

盡管 Mask R-CNN 可以輸出 mask,但 Meta AI 發(fā)現(xiàn)它們并不適合動畫。當(dāng)身體部位的外觀變化很大時(shí),預(yù)測的 mask 通常無法捕捉到整個(gè)人物。如下圖下行圖例所示,一個(gè)大的黃色三角形代表身體,一個(gè)鉛筆筆畫代表手臂,使用 Mask R-CNN 預(yù)測 mask 時(shí),通常會漏掉連接雙手的鉛筆筆畫部分。

基于此,Meta AI 開發(fā)了一種基于經(jīng)典圖像處理的方法,該方法對人物變化具有更強(qiáng)的穩(wěn)健性。基于這種方法,Meta AI 使用預(yù)測到的人形邊界框來裁剪圖像。然后,使用自適應(yīng)閾值和形態(tài)學(xué) closing/dialating 操作,從邊界框邊緣填充,并假設(shè) mask 是未被填充的最大多邊形。

Mask R-CNN 與基于經(jīng)典圖像處理方法的效果比較。

然而,這種方法雖然對于提取適合動畫的準(zhǔn)確 mask 來說簡單有效,但當(dāng)背景雜亂、人物靠得太近或者紙張頁面上有褶皺撕裂或陰影時(shí),也有可能會失敗。

通過「rigging」為動畫做準(zhǔn)備

兒童會畫出千奇百怪的身體形狀,遠(yuǎn)遠(yuǎn)超出了具有完整頭部、手臂、腿和軀干的傳統(tǒng)人形概念。一些兒童畫出來的火柴人沒有軀干,只有手臂和腿直接與頭部相連。另一些兒童畫下的人形更詭異,腿從頭部延伸出來,手臂從大腿眼神出來。

因此,Meta AI 需要找到一種能夠出來身形變化的 rigging 方法。

他們選擇使用了人體姿態(tài)檢測模型 AlphaPose,用來識別人畫中作為臀部、肩膀、肘部、膝蓋、手腕和腳踝的關(guān)鍵點(diǎn)。該模型是在真人圖像上訓(xùn)練的,因此在將它調(diào)整以檢測兒童畫作中人形姿勢之前,Meta AI 必須重新訓(xùn)練以處理兒童畫作中存在的變化(variation)類型。

具體地,Meta AI 通過內(nèi)部收集和注釋兒童人形畫面的小數(shù)據(jù)集實(shí)現(xiàn)了上述目標(biāo)。然后,使用這些初始數(shù)據(jù)集上訓(xùn)練的姿態(tài)檢測器創(chuàng)建了一個(gè)內(nèi)部工具,使得父母可以上傳并對他們孩子的畫作進(jìn)行動畫處理。隨著更多數(shù)據(jù)的加入,Meta AI 迭代地對模型進(jìn)行再訓(xùn)練,直到達(dá)到較高的準(zhǔn)確度。

使用 3D 動作捕捉制作 3D 人形動畫

有了蒙版和聯(lián)合預(yù)測,就有了制作動畫所需要的一切。Meta AI 首先使用提取的蒙版生成網(wǎng)格,并使用原始畫作進(jìn)行紋理化處理。利用預(yù)測到的關(guān)節(jié)位置,他們?yōu)榻巧珓?chuàng)建骨骼。之后,通過旋轉(zhuǎn)骨骼并使用新的關(guān)節(jié)位置使網(wǎng)格變形,將角色移植到各種姿態(tài)中。通過將角色移植到一系列連續(xù)的姿態(tài)中,然后就可以創(chuàng)建動畫了。

兒童作畫時(shí)很常見的一種情況是從他們最容易辨認(rèn)的角度來畫身體部位,比如傾向于從側(cè)面畫腿和腳,從正面畫頭部和軀干。Meta AI 在動作重定位步驟中利用到了這一現(xiàn)象。對于下半身和生半身,他們會自動確定是從正面還是側(cè)面來對動作進(jìn)行識別。

具體地,他們將動作映射到單個(gè) 2D 平面并使用它來驅(qū)動角色,并使用 Mechanical Turk 運(yùn)行的感知用戶研究來對這種動作重定位的結(jié)果進(jìn)行驗(yàn)證。分段檢測流程如下圖所示:

Meta AI 表示,將扭曲視角考慮在內(nèi)是有幫助的,因?yàn)楹芏囝愋偷膭幼鞑⒉粫瓿陕湓趩蝹€(gè)投影平面上。比如跳繩時(shí),手臂和手腕主要在額平面內(nèi)運(yùn)動,彎曲的腿則傾向于在矢狀平面內(nèi)運(yùn)動。因此,Meta AI 并沒有為動作捕捉姿態(tài)確定單個(gè)動作平臺,而是分別確定上半身和下半身的投影平面。

與此同時(shí),有了 AR 眼睛,畫作中的故事可以在現(xiàn)實(shí)世界中栩栩如生,畫中的角色更可以與畫出它的兒童一起跳舞或說話。

原文鏈接:

https://ai.facebook.com/blog/using-ai-to-bring-childrens-drawings-to-life/

關(guān)鍵詞: 幾分鐘 人世 火柴

相關(guān)閱讀:
熱點(diǎn)
圖片 圖片