一張隨便勾畫的草圖,居然也可以分分鐘自動變成逼真的3D模型?!360°無死角不說,轉換期間真的不需要任何其它角度姿勢的輸入。這就是獲得SIGGRAPH2022榮譽獎的一個最新3D姿態估計模型:Sketch2Pose。
除草圖,像這樣的小猴子,四肢嚴重不按比例生長,Sketch2Pose也可以辦到:
這是如何做到的?
隻要4步,草圖人變3D人
將草圖上的人物/形象變成3D模型,此前的研究中都還未專門涉及。
該任務 最大的挑戰就是比例失真問題,因為畫上的東西可能頭大身子小、胳膊長腿短……
為此,Sketch2Pose通過 對三個關鍵元素進行預測來消除繪制姿勢時的可能出現的“歧義”。
這三個元素分別是:
2D骨骼切線 (2D bone tangents)
自接觸區域 (self-contacts)
骨骼縮短比例 (bone foreshortening)
其中,2D骨骼切線 (下圖藍色部分)是預測3D骨骼方向最有力的指標 (關節位置不行)。
自接觸區域 (如下圖綠色部分,手接觸腰的位置)對於理解3D姿勢至關重要,也是消除未知身體部位歧義的線索。
骨骼縮短轉換系統則利用統計分析來糾正原圖中的比例問題。
根據這三者預測,再使用最先進的優化框架 (optimization framework),並用專門設計的一種新的損失 (loss)來平衡姿勢自然度,以及與輸入草圖的相似性,AI就能最終推斷出符合畫者意向的3D姿勢。
具體步驟如下:
輸入一張草圖,首先預測出2D關節位置或骨架,用於3D人體模型的粗略對齊。
然後預測屏幕空間 (screen-space)接觸區域,將其映射到粗略對齊的3D模型上,得到一組接觸頂點 (紅色部分)。
接著,利用縮短轉換階段描述的草圖人物比例問題,進行修補。
最後,在優化框架中利用2D骨架的骨骼切線、粗略對齊的3D姿勢以及比例修補,產生最終結果。
有遮擋缺失也OK
最終的Sketch2Pose可以 支持多種草圖風格的轉換,比如下圖中的簡筆畫或者水墨畫,像下下圖最後一張那樣簡略的也可以。
同時, 對缺失、遮擋部位也能穩健處理。
比如上圖第一行中的人手 (不過我們發現左邊的似乎推測有錯,手應該是放在兩腿之間;右邊的抱頭基本沒啥問題,但手掌應該向後彎曲) 。
再將Sketch2Pose和SOTA方法進行比較,結果還是令人非常滿意的。
可以看到,Sketch2Pose (第三列)對姿勢還原的更到位,缺失部分的預測也更符合人體構造。
而開頭那隻小猴子,Müller et al. 2021等方法的轉換效果就是下面這樣:
對於猴子“扭曲”的下肢部分,這些方法都出現理解偏差——Sketch2Pose完勝。
作者介紹
Sketch2Pose一共有兩位作者,都來自 加拿大蒙特利爾大學。
一作名叫Kirill Brodt (Кирилл Бродт) ,出生於1991年,本碩畢業於新西伯利亞州立大學 (數學學位),後在Yandex數據分析和計算機科學中心學院學習機器學習,現為蒙特利爾大學的一位博士生。
他的主要研究方向為跟草圖有關的計算機視覺轉換。
另一位作者名叫Mikhail Bessmeltsev,是一作的導師,蒙特利爾大學計算機科學與運籌學系的助理教授。
感興趣的同學可以戳論文原文,或者去Huggingface上試試效果。
項目主頁:
https://www-labs.iro.umontreal.ca/~bmpix/sketch2pose/
Huggingface demo:
https://huggingface.co/spaces/SIGGRAPH2022/sketch2pose
Github代碼:
https://github.com/kbrodt/sketch2pose