CVPR 2018 | Spotlight論文:單攝像頭數秒構建3D人體模型
來自專欄 機器之心
選自arXiv,作者:Thiemo Alldieck等,機器之心編譯。
想把自己的身體形象投射進電子遊戲里?現在已經是很容易的事了。人工智慧演算法此前已被廣泛應用於虛擬現實頭像、監視、服裝試穿或電影等多種任務的人體建模上,但大多數方法需要特殊的照相設備來檢測景深,或從多個角度探查人體。近日,來自德國布倫瑞克工業大學和 Max Planck Institute for Informatics 的研究人員提出了一種新的演算法,可以使用單個角度的標準視頻素材為人體創建 3D 模型,用時僅需數秒。目前,該研究的論文已被評為 CVPR 2018 大會 Spotlight 論文。
圖 1:本論文提出的技術首創從人的單個視頻序列中提取精確的 3D 人體模型,包括頭髮和衣服,這些人在攝像機前面移動,從而保證我們能從各個角度看到他們。
引言
在許多應用中,包括虛擬現實和增強現實、用於監視的人體跟蹤、遊戲或生物測定,都需要人的個性化現實和可動畫化的 3D 模型。該模型應包括特定個人身體的靜態幾何形狀、頭髮和衣物,以及連貫的表面紋理。
獲取這種模型的一種方法是使用昂貴的主動式掃描儀。但是這種掃描儀的尺寸和成本妨礙了它們在消費級應用軟體中的使用。或者,可以使用來自一組密集靜態身體姿勢圖像的多視角被動重建 [22, 46]。然而,人們很難長期站立不動,因此這一過程耗時且容易出錯。此外,消費級 RGB-D 相機可用於掃描 3D 人體模型 [39],但這些專用感測器的可用性並不像普通攝像頭那樣廣泛。此外,所有這些方法僅重建表面形狀和紋理,而沒有內部裝配動畫骨架。所有上述應用將受益於從單目 RGB 視頻自動重建個性化可移動替身的能力。
儘管利用深度數據重建 3D 人體模型 [6, 71, 81] 或自由曲面 [86, 44, 47, 21] 的研究近年來已經有了很大進步,但對單目視頻中穿衣服的人類進行 3D 重建(沒有對該人進行預先掃描)的問題並未解決。在這篇論文中,研究者評估了單個視頻中穿衣服的人的外形(視頻中的人是運動的)。一些方法利用單個圖像推斷參數化人體模型的外形參數 [7, 20, 5, 27, 83, 34],但是重建受限於參數空間,無法捕捉每個人體的外形細節和衣物幾何圖形。
為了從視頻序列中估計幾何圖形,研究者優化受限於人體模型的單個自由外形,以擬合 F 個圖像的集合。不過,這需要一次優化 F 個姿勢,更重要的是,優化過程中需要在內存中存儲 F 個模型,使得計算成本高昂,且可行性不強。
圖 2. 本論文提出方法概覽。輸入是具備對應分割的圖像序列。研究者首先使用 SMPL 模型計算姿勢 (a)。然後研究者 unpose 輪廓相機光線(圖中紅色)(b),並按照標準 T 型姿勢優化對象的外形 (c)。最後,研究者計算紋理,生成個性化的混合形狀模型 (d)。
該方法的關鍵在於將可視外殼方法 [41] 泛化至單目視頻(其中的人處於運動狀態)。標準可視外殼方法從多個視角捕捉靜態形狀。穿過圖像輪廓點(silhouette point)的每束相機光線對 3D 人體形狀帶來約束。為使可視外殼方法適用於動態單目視頻,必須「撤銷」人類動作,使其變成標準幀。本論文中,(穿寬鬆/緊身衣服的)人的幾何形狀被表示為標準 T 型姿勢的裸體人 SMPL 參數化人體模型的偏移,該模型的特徵是依賴姿勢的非剛性曲面蒙皮。研究者首先擬合 SMPL 模型和 2D 檢測(類似 [37, 7]),來估計每一幀的初始人體形狀和 3D 姿勢。基於擬合,研究者將每一幀中的輪廓點與人體模型中的 3D 點結合起來,根據每個投影光線的對應 3D 模型點的反向變形模型,變換投影光線;研究者將該操作成為 unposing(圖 3)。為所有幀 unpose 光線之後,研究者獲得了一個可視外殼,以標準 T 姿勢展示整個人體形狀。之後,研究者優化人體形狀參數和自由曲面頂點位移,以最小化 3D 模型點與 unposed 光線之間的距離。從而基於 SMPL 高效優化單個位移面,一次性擬合所有幀,這要求只能在內存中存儲一個模型(圖 2)。研究者的方法首次實現從單個運動人類視頻序列(這樣我們可以從各個側面看到這個人)中提取出準確的 3D 人體模型(包括頭髮和衣服)。
在多個 3D 數據集上的研究結果表明本論文提出的方法可以重建 3D 人類形狀,準確率高達 4.5 mm(比真值姿勢的 3.1 mm 稍高一些),儘管單目視頻很模糊。研究者提供了其數據集和源代碼 [1]。
方法
給定描繪一個移動人物的一部單目 RGB 視頻,目標是生成對象的個性化 3D 模型,包括身體外形、頭髮、衣物、個性化的紋理圖和潛在地控制表面的骨架。因此新姿勢的柔性曲面變形完全是骨架驅動的。本研究提出的方法由 3 個步驟構成:(1)姿勢重建 (Sec. 3.2);(2)一致形態評估 (Sec. 3.3);(3)幀精鍊和紋理圖生成 (Sec. 3.4)。本文的主要貢獻在第二步,第一步建立在以前的研究上,第三步中的紋理獲取和時變性細節是可選的。
為了評估對象的一致形態(consensus shape),研究者首先計算每個幀的 3D 姿勢。他們擴展了 [7] 中的方法使其更加魯棒,並獲得更好的時間一致性和輪廓重疊。在第二步,一致形態的計算在 3.3 節中有詳細介紹。一致形態被高效優化,以最大化地解釋每幀實例中的輪廓。由於時間變化導致的衣物變形,這些姿勢的一致形態可能和幀輪廓有輕微的錯配。因此,為了計算紋理和捕捉時間演化細節,第三步中將用滑動窗口方法對一致形態的偏離進行每一幀的優化(3.4 節)。給出精鍊的逐幀形態,我們可以計算紋理圖。本文的方法依賴於圖像的前景分割。因此,研究者使用了 [9] 中基於 CNN 的視頻分割方法,並對每個序列用 3-4 個手工分割圖像進行訓練。為了在單目 3D 人類形態重構中克服模糊性的問題,研究者使用 SMPL 身體模型 [40] 作為起始點。
圖 3:形成圖像輪廓的攝像頭射線(左)從無姿態形成標準的 T-姿態(右)。這種方式可以讓我們在單個模型上對多個幀進行有效的優化。
圖 6:在 BUFF 和 D-FAUST 數據集的圖像序列上的結果。左邊展示的是 DFAUST 結果:(a) 真值 3D 掃描;(b)真實姿態的一致外觀 (consensus-p);(c)consensus-p 熱圖;(D)一致外觀(consensus);(e)consensus 熱圖(藍色意味著 0mm,紅色意味著 ≥ 2cm)。右邊展示了在 BUFF 數據上的結果(a) 真值掃描;(b) 真實姿態的一致外觀;(c)一致外觀。
圖 7:定性測試結果:因為重構的模版與 SMPL 人體模型有同樣的拓撲結構,我們可以使用 SMPL 來改變重構形體的姿態和外形。雖然 SMPL 不建模帶衣著人體的變形,但變形模版看起來還是可信的,從質量上來看足夠承擔多種應用。
圖 9:輸入圖像(豎線左)與構建形象(豎線右)的對比。正如圖像右側所示,用本文方法構建的形體準確地覆蓋了輸入圖像。在右下角還呈現了構建模型的側面視角。
論文:Video Based Reconstruction of 3D People Models
論文鏈接:https://arxiv.org/abs/1803.04758
摘要:本論文描述了如何為單個單目視頻中的移動人體做準確的 3D 建模。基於參數化的人體模型,我們提出了穩健的處理流程,即使是對穿衣服的人群也能夠獲得 5mm 解析度的 3D 模型。我們的主要貢獻是提出的這種方法可根據動態人體輪廓,柔性地變形輪廓錐體外形,得到共同參考幀中的視覺軀殼,用於重構人體表面。這種方法可有效地評估基於大量畫面幀的 3D 外形、紋理和植入式的動畫骨架。我們展示了對大量主體的評估結果,並分析了整體表現。只需要一個智能手機或者攝像頭,我們的方法就能讓每個人都創造自己的全動畫數字孿生體,並可應用到社交 VR 或者在線時裝購物的虛擬試穿。
推薦閱讀:
※有沒有一種辦法可以很清晰理解shader中實現不同質感的關鍵要素?
※快被逼瘋了。。怎麼提高3D作圖水平?
※Substance 工具套的流行程度如何?
※如何評價sketchfab在線瀏覽3D模型這個網站?
※請問國內有沒有比較好的開源3D模型庫?