MagicArticulate: 超48K海量數(shù)據(jù)革新3D動畫,自回歸Transformer驅(qū)動關節(jié)智能生成! 精華
論文鏈接:https://arxiv.org/pdf/2502.12135
Git鏈接:https://chaoyuesong.github.io/MagicArticulate/
亮點直擊
- 首個大規(guī)模關節(jié)化基準數(shù)據(jù)集,包含超過48,000個具有高質(zhì)量關節(jié)標注的模型;
- 一種新穎的兩階段框架,有效處理骨架生成和蒙皮權重預測;
- 實現(xiàn)了當前最先進的性能,并在實際動畫生產(chǎn)流程中展現(xiàn)了實用性。
總結速覽
解決的問題
隨著3D內(nèi)容創(chuàng)作的快速增長,自動將靜態(tài)3D模型轉(zhuǎn)換為支持真實動畫的可關節(jié)化版本的需求日益增加。然而,傳統(tǒng)方法嚴重依賴人工標注,既耗時又費力。此外,缺乏大規(guī)模的基準數(shù)據(jù)集也阻礙了基于學習的解決方案的發(fā)展。
提出的方案
MagicArticulate是一個高效的框架,能夠自動將靜態(tài)3D模型轉(zhuǎn)換為可關節(jié)化資產(chǎn)。其主要貢獻包括:
- 引入ArticulationXL,一個包含超過33,000個3D模型的大規(guī)?;鶞蕯?shù)據(jù)集,這些模型具有高質(zhì)量的關節(jié)標注。Articulation-XL2.0已開源,包含超過48,000個3D模型。
- 提出一種新穎的骨架生成方法,將任務表述為序列建模問題,利用自回Transformer模型處理骨骼或關節(jié)數(shù)量的變化及其依賴關系。
- 通過功能性擴散過程預測蒙皮權重,結合了頂點與關節(jié)之間的體積測地距離先驗。
應用的技術
- 自回歸Transformer模型用于骨架生成,處理骨骼和關節(jié)的變化及依賴關系。
- 功能性擴散過程用于蒙皮權重預測,結合頂點與關節(jié)之間的體積測地距離先驗。
- 使用ArticulationXL數(shù)據(jù)集,提供大規(guī)模的高質(zhì)量關節(jié)標注。
達到的效果
MagicArticulate在各種對象類別上顯著優(yōu)于現(xiàn)有方法,實現(xiàn)了高質(zhì)量的關節(jié)化,支持真實的動畫效果。其在實際動畫生產(chǎn)流程中展現(xiàn)了實用性,并實現(xiàn)了當前最先進的性能。
Articulation-XL
為了促進3D模型關節(jié)化的大規(guī)模學習,推出了Articulation-XL,這是一個從Objaverse-XL精心篩選的數(shù)據(jù)集。數(shù)據(jù)集構建流程包括三個主要階段:初步篩選、基于VLM的篩選和類別標注。
初始數(shù)據(jù)收集。首先從Objaverse-XL中識別出包含骨架和蒙皮權重標注的3D模型。為了確保數(shù)據(jù)質(zhì)量和實用性,應用以下篩選標準:1)根據(jù)骨架和網(wǎng)格相似性去除重復數(shù)據(jù);2)排除僅有單個關節(jié)/骨骼結構的模型;3)過濾掉包含超過100根骨骼的數(shù)據(jù),這部分數(shù)據(jù)在數(shù)據(jù)集中所占比例可忽略不計。通過初步篩選,獲得了38,800個帶有關節(jié)化標注的候選模型。
基于VLM的篩選。然而,注意到許多初始候選模型的骨架定義不佳,可能會影響學習(見下圖3)。為了確保數(shù)據(jù)集質(zhì)量,進一步實施了基于視覺語言模型(VLM)的篩選流程:1)從四個視角渲染每個對象及其骨架;2)然后利用GPT-4o根據(jù)特定標準評估骨架質(zhì)量(詳見補充材料)。此過程最終收集了超過33,000個具有高質(zhì)量關節(jié)化標注的3D模型,形成了精心篩選的數(shù)據(jù)集Articulation-XL。該數(shù)據(jù)集展示了多樣的結構復雜性:每個模型的骨骼數(shù)量從2到100不等,關節(jié)數(shù)量從3到101分布如下圖2c所示。
類別標簽標注。此外,還利用視覺語言模型(VLM)根據(jù)特定指令自動為每個模型分配類別標簽。這些類別的分布通過詞云和餅圖展示,如上圖2a和圖2b所示。觀察到對象類別的豐富多樣性,其中與人類相關的模型構成了最大的子集。
方法
我們提出了一個兩階段的流程,使3D模型準備好進行關節(jié)化。給定一個輸入的3D網(wǎng)格,我們的方法首先使用自回歸Transformer生成結構一致的骨架。隨后,我們在功能性擴散過程中預測蒙皮權重,條件基于輸入形狀及其對應的骨架。
自回歸骨架生成
在MagicArticulate的初始階段,為3D模型生成骨架。
與依賴固定模板的先前方法不同,本文方法通過自回歸生成框架處理3D對象固有的結構多樣性,如上圖所示。
問題表述
其中,M 可以來源于多種輸入,包括直接的3D模型、文本到3D的生成或基于圖像的重建。
骨架生成的一個關鍵挑戰(zhàn)在于不同物體的關節(jié)結構復雜性各異。傳統(tǒng)方法 [3, 22] 通常采用預定義的骨架模板,這對于像人體這樣的特定類別效果良好,但無法推廣到具有多樣結構模式的對象。當處理我們的大規(guī)模數(shù)據(jù)集時,這一限制尤為明顯,因為該數(shù)據(jù)集包含廣泛的對象類別。
為了解決這一挑戰(zhàn),本文從最近的自回歸網(wǎng)格生成研究中獲得靈感 [9, 30],并將骨架生成重新表述為一個序列建模任務。這一新穎的表述使能夠:
- 處理不同3D模型中骨骼或關節(jié)數(shù)量的變化;
- 捕捉骨骼之間的內(nèi)在依賴關系;
- 有效擴展到多樣化的對象類別。
基于序列的生成框架
本框架通過四個關鍵組件將骨架生成任務轉(zhuǎn)化為一個序列建模問題:骨架標記化、序列排序、形狀條件化和自回歸生成。
序列排序。 在這項工作中,研究了兩種不同的排序策略。我們的第一種方法遵循了最近3D網(wǎng)格生成方法中的序列排序策略 [28, 30]。在這種方法中,關節(jié)首先按升序z-y-x順序排序(其中z代表垂直軸),并相應地更新骨骼中的關節(jié)索引。然后,骨骼首先按其較低的關節(jié)索引排序,然后按較高的排序。此外,對于每個骨骼,關節(jié)索引循環(huán)置換,使較低的索引首先出現(xiàn)。在本文中將這種排序稱為空間序列排序。然而,這種排序策略破壞了骨骼之間的父子關系,并且不利于識別根關節(jié)。因此,構建骨架層次結構需要額外的處理。
為了克服這些限制,提出了一種稱為分層序列排序的方法,該方法利用骨架的內(nèi)在層次結構,通過逐層處理骨骼來實現(xiàn)。在對關節(jié)按照升序的 z-y-x 順序進行排序并更新其在骨骼中的索引后,我們首先對直接連接到根關節(jié)的骨骼進行排序。當根關節(jié)有多個子關節(jié)時,我們從與索引最小的子關節(jié)相連的骨骼開始,然后按升序依次處理。對于后續(xù)層,骨骼按照其直接父關節(jié)分組,在每個組內(nèi),骨骼根據(jù)子關節(jié)的索引按升序排列。此外,對于同一層中的多個組,先處理對應于最小父關節(jié)索引的組,然后依次處理索引較大的組。
基于形狀的生成 按照 [8, 9] 的慣例,我們通過從輸入網(wǎng)格M中采樣 8,192 個點來利用點云作為形狀條件。隨后,我們將該點云輸入一個預訓練的形狀編碼器 [52],該編碼器將原始 3D 幾何信息轉(zhuǎn)換為適合 Transformer 處理的固定長度特征序列。然后,將這一編碼后的特征序列附加到 Transformer 輸入骨架序列的起始位置,用于自回歸生成。此外,對于每個序列,在形狀潛在特征后插入一個 ??<bos>?
?? 標記,以表示骨架序列的開始。同樣,在骨架序列之后添加一個 ??<eos>?
? 標記,以表示骨架序列的結束。
自回歸學習 對于骨架生成,采用了一種僅解碼器的 Transformer 架構,具體來說是 OPT-350M 模型,該模型在序列建模任務中表現(xiàn)出了強大的能力。在訓練過程中,我們提供真實的目標序列,并使用交叉熵損失來監(jiān)督模型的下一個token預測。
在推理階段,生成過程以僅包含形狀標記作為輸入開始,模型依次生成每個骨架標記,直到生成 ??<eos>?
? 標記為止。然后,將生成的標記序列解碼以恢復最終的骨架坐標和連接結構。
蒙皮權重預測
第二階段的重點是預測蒙皮權重,它控制網(wǎng)格如何隨骨架運動而變形。在本工作中,我們將蒙皮權重表示為定義在網(wǎng)格表面上的n維函數(shù),該函數(shù)是連續(xù)的、高維的,并且在不同的骨架結構之間表現(xiàn)出顯著的變化。為了解決這些復雜性,我們采用了功能性擴散框架來進行精確的蒙皮權重預測。
預備知識:功能性擴散
擴散過程逐漸將功能噪聲g(將相同的域映射到范圍)添加到原始函數(shù):
這種公式自然地與我們的任務需求一致。通過將蒙皮權重視為網(wǎng)格表面上的連續(xù)函數(shù),我們可以捕捉頂點之間平滑過渡的權重。此外,該框架的靈活性允許其適應不同的網(wǎng)格拓撲和骨架結構。
蒙皮權重預測
我們采用去噪擴散概率模型 (DDPM) [16] 作為調(diào)度器。在實踐中,將蒙皮權重和體積測地先驗規(guī)范化到 [-1, 1] 的范圍,然后再添加噪聲。將在下文中對該設計進行消融研究。
實驗
實現(xiàn)細節(jié)
數(shù)據(jù)集。 在兩個數(shù)據(jù)集上評估我們的方法:提出的 Articulation-XL 和 ModelsResource。Articulation-XL 包含 33k 個樣本,其中 31.4k 用于訓練,1.6k 用于測試。ModelsResource 是一個較小的數(shù)據(jù)集,包含 2,163 個訓練樣本和 270 個測試樣本。每個對象的關節(jié)數(shù)量從 3 到 48 不等,平均為 25.0 個關節(jié)。雖然 ModelsResource 中的數(shù)據(jù)保持一致的直立和面朝前的方向,但 Articulation-XL 中的 3D 模型展示了不同的方向。我們已驗證 Articulation-XL 和 ModelsResource 之間沒有重復。
訓練細節(jié)。 訓練過程包括兩個階段。對于骨架生成,在 8 個 NVIDIA A100 GPU 上訓練自回歸 Transformer 大約兩天。對于蒙皮權重預測,模型在相同的硬件配置上訓練約一天。為了增強模型的魯棒性,我們應用了數(shù)據(jù)增強,包括縮放、平移和旋轉(zhuǎn)變換。
骨架生成結果
指標。 采用 [43] 中的三個標準指標來評估骨架質(zhì)量:CD-J2J、CD-J2B 和 CD-B2B。這些基于 Chamfer 距離的指標通過計算關節(jié)到關節(jié)、關節(jié)到骨骼和骨骼到骨骼之間的距離來測量生成和真實骨架之間的空間對齊。較低的值表示更好的骨架質(zhì)量。
基準方法。 將我們的方法與兩個具有代表性的方法進行比較:Pinocchio [3],一種傳統(tǒng)的模板擬合方法,以及 RigNet,一種使用圖卷積的基于學習的方法。所有方法都在 Articulation-XL 和 ModelsResource 數(shù)據(jù)集上進行評估。
比較結果。 定性比較如下圖 6 所示,我們在各種對象類別中比較了不同的方法。
Pinocchio 在與其預定義模板不同的對象上表現(xiàn)不佳,特別是在非人形對象中(如右側第 2 行和第 3 行所示)。RigNet 在 ModelsResource 上測試時表現(xiàn)有所改善,該數(shù)據(jù)保持一致的直立和面朝前的方向。然而,它在處理復雜拓撲時仍然困難(如左側第 1 行和第 2 行所示)。此外,RigNet 在 Articulation-XL 上表現(xiàn)較差,其中數(shù)據(jù)展示了不同的方向。相比之下,我們的方法生成的高質(zhì)量骨架在各種對象類別中與藝術家創(chuàng)建的參考非常匹配。
定量結果如下表 1 所示。我們的方法在所有指標上在兩個數(shù)據(jù)集上均優(yōu)于基準方法。此外,比較了使用空間和層次順序策略的方法??臻g順序始終表現(xiàn)更好,這可能是因為層次順序要求模型分配部分能力來學習骨架的層次結構和識別根關節(jié)。使用空間順序獲得的結果非常適合骨架驅(qū)動的姿態(tài)轉(zhuǎn)移應用,而從層次順序中獲得的結果更容易與 3D 模型集成用于動畫。
泛化分析。 為了評估泛化能力,通過在 Articulation-XL 上訓練 RigNet 和我們的 MagicArticulate 并在 ModelsResource 上測試來進行跨數(shù)據(jù)集評估。如上表 1 所示(標記為 *),本文方法在與直接在 ModelsResource 上訓練的 RigNet 相比保持競爭力,而 RigNet 在測試未見過的數(shù)據(jù)分布時性能顯著下降,甚至比基于模板的方法 Pinocchio 更差。
為了進一步評估在真實世界中的適用性,在Tripo 2.0 [1]生成的AI 3D網(wǎng)格上評估所有方法(下圖7)。本方法成功為多種對象類別生成了合理的骨架,而RigNet盡管在我們的大規(guī)模數(shù)據(jù)集上進行了訓練,卻未能產(chǎn)生有效結果。尤其是,即使是Pinocchio的基于模板的方法也難以為基本類別(如人類和四足動物)生成準確的骨架,這突顯了我們的方法在處理新穎對象結構方面的優(yōu)勢。
視頻結果
蒙皮權重預測結果
基線。 將我們的方法與Geodesic Voxel Binding (GVB)、Autodesk Maya 中的一種幾何方法和RigNet進行比較。在Articulation-XL上進行訓練時,我們過濾出一個包含28k訓練樣本和1.2k測試樣本的子集,排除關節(jié)數(shù)超過55的樣本(這些樣本在真實世界案例和Articulation-XL中都只占小部分)。
比較結果。 下圖8中的定性比較展示了預測的蒙皮權重及其L1誤差圖,與藝術家創(chuàng)建的參考進行對比。我們的方法預測的蒙皮權重更準確,在多種對象類別中誤差顯著更低。相比之下,GVB和RigNet在關節(jié)邊界附近區(qū)域顯示出較大偏差。
定量結果如下表2所示,支持了定性觀察,表明我們的方法在大多數(shù)指標上持續(xù)優(yōu)于基線,在兩個數(shù)據(jù)集上均表現(xiàn)出色。
消融實驗
骨架生成的消融實驗
進行了消融實驗,以評估基于VLM的數(shù)據(jù)過濾和采樣網(wǎng)格點數(shù)量對骨架生成的影響。結果如下表3所示,去掉數(shù)據(jù)過濾后性能顯著下降,突顯了高質(zhì)量訓練數(shù)據(jù)的重要性。我們還改變了輸入到預訓練形狀編碼器 [52] 的采樣點數(shù)量。正如下表3所示,采樣8192個點可以獲得最佳性能。
蒙皮權重預測的消融實驗
對蒙皮權重預測框架的三個關鍵組件進行了消融實驗。ModelsResource上的定量結果如下表4所示。首先,移除體積測地距離初始化會導致精度下降0.6%和召回率下降3.9%,這表明該組件在引導權重分布的準確性方面起到了關鍵作用。其次,去掉我們的歸一化策略(即在添加噪聲之前將蒙皮權重和測地距離都縮放到-1,1)會導致L1誤差增加8.7%。最后,排除預訓練編碼器 [52] 的全局形狀特征會導致預測結果不夠準確。這些結果驗證了我們設計選擇的合理性,并表明每個組件對最終性能都做出了重要貢獻。
結論
本項工作提出了 MagicArticulate,用于將靜態(tài)3D模型轉(zhuǎn)換為支持真實動畫的可關節(jié)化資產(chǎn)。首先引入了一個大規(guī)模的數(shù)據(jù)集 Articulation-XL,包含高質(zhì)量的關節(jié)標注數(shù)據(jù),該數(shù)據(jù)集從 Objaverse-XL 精心篩選而來。在此數(shù)據(jù)集的基礎上,我們開發(fā)了一種新穎的兩階段pipeline:第一階段通過自回歸序列建模生成骨架,自然地處理不同3D模型中骨骼或關節(jié)數(shù)量的變化;第二階段通過功能性擴散過程預測蒙皮權重,該過程結合了頂點與關節(jié)之間的體積測地距離先驗。大量實驗表明,本文方法在各種對象類別上表現(xiàn)出卓越的性能和泛化能力。
本文轉(zhuǎn)自 AI生成未來 ,作者:AI生成未來
