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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

通過「rigging」為動畫做準備

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

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

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

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

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

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

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

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

Meta AI 表示,將扭曲視角考慮在內(nèi)是有幫助的,因為很多類型的動作并不會完成落在單個投影平面上。比如跳繩時,手臂和手腕主要在額平面內(nèi)運動,彎曲的腿則傾向于在矢狀平面內(nèi)運動。因此,Meta AI 并沒有為動作捕捉姿態(tài)確定單個動作平臺,而是分別確定上半身和下半身的投影平面。

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

原文鏈接:

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

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

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