![]()
![]()
圖 1:同一文本描述下,AnimateAnyMesh(上)與 BiMotion(下)的生成結果對比。離散幀采樣導致動作語義中途斷裂,而連續 B 樣條曲線則將完整動作保留至序列末尾。
![]()
- 論文標題:BiMotion: B-spline Motion for Text-guided Dynamic 3D Character Generation
- 論文:https://arxiv.org/abs/2602.18873
- 項目主頁:https://wangmiaowei.github.io/BiMotion.github.io/
- 代碼:https://github.com/wangmiaowei/BiMotion
- 數據集(Hugging Face):https://huggingface.co/datasets/miaoweiwang/BiMotion
- 第一作者主頁:https://wangmiaowei.github.io/
當你希望 AI 將 "士兵舉起手臂,向后傾身,然后身體向前撲倒" 這段文字轉化為一段 3D 角色動畫,現有大多數方法給出的答案是:一段搖搖晃晃、語義殘缺的短片段。這并非模型能力不足,問題的根源在于將運動表達為逐幀離散序列這一根本性的設計決策。
來自愛丁堡大學、康奈爾大學和密歇根大學的研究團隊提出了 BiMotion:一種基于 B 樣條曲線的文本驅動 3D 角色運動生成框架,即將在 CVPR 2026 正式發表,三位審稿人均給出 5/6 的高分評價。其核心主張只有一句話:運動是連續的,就應該用連續的方式來表達。
離散幀的困境:
為什么現有方法總在 "丟情節"
目前主流 3D 運動生成方法大多采用 VAE–潛在擴散模型架構,該架構具有固定的輸入窗口,每次只能處理固定幀數的運動序列。面對長度各異的真實運動數據,現有方法只有兩條路:
- 裁剪(Cropping):將長序列切割為短片段,模型僅能學到局部子動作,而非完整語義。如文本描述 "轉圈后停步",模型最終只能生成 "向右轉"。
- 均勻降采樣(Downsampling):將 200 幀壓縮至 16 幀再復原,導致動作卡頓抖動,如同一份低幀率的 GIF。
問題的本質在于:幀數僅代表時間采樣密度,與動作語義本身無關。一只龍扇翅膀的動作,用 24 幀記錄還是 120 幀記錄,語義始終是 "扇翅膀"。逐幀離散表示,是這一領域長期忽視的根本性瓶頸。
B 樣條:用少數控制點,刻畫完整軌跡
BiMotion 的核心思路是將每個頂點隨時間的運動軌跡,用一條連續可微的 B 樣條曲線來表達。B 樣條是計算機圖形學中的經典參數曲線,僅用少量 "控制點" 便可描述一條光滑連續的軌跡;修改其中一個控制點只影響局部區域,不會破壞整體形狀。
具體實現上,BiMotion 將任意長度 T 的頂點位移序列,通過帶 Laplacian 正則化的最小二乘擬合,壓縮為固定數量(默認 16 個)控制點。該壓縮具有閉合解,在普通消費級 CPU 上,對 5 萬頂點、200 幀的網格,不到一秒即可完成。Laplacian 正則專門處理序列極短時的欠定義問題,相比 Ridge 正則,其生成的插值更自然、過渡更流暢,消融實驗對此給出了明確驗證。
模型架構:從控制點到可生成的運動潛空間
![]()
圖 2:BiMotion 整體架構。訓練時(紅色箭頭)頂點差異轉化為 B 樣條控制點后編碼為運動潛碼;推理時(黑色箭頭)從噪聲采樣得到控制點,經 B 樣條重投影還原為任意長度的動畫序列。
BiMotion 整體采用 VAE 加 Rectified Flow Matching 的兩階段架構。
B 樣條 VAE
編碼器將初始網格形狀與控制點一并壓縮為緊湊的運動潛碼,其中包含兩項關鍵設計:
- 法線融合(Normal Fusion):將頂點法線信息以余弦相似度加權的方式融入點特征,有效解決網格上空間相近但內在結構屬于不同部位(如手指關節)難以區分的問題,且無需依賴網格特定的拓撲結構,對任意拓撲均表現穩健。
- 多層級控制點嵌入(Multi-level Control Point Embedding):受小波包分解啟發,將控制點逐層分解為從粗到細的多級殘差并分別編碼。相比標準頻率位置編碼,這種方式能同時捕捉運動的全局節奏與局部細節(如獅子尾巴的微小擺動),重建誤差大幅降低。
![]()
圖 3:B 樣條 VAE 架構。編碼器(橙色區域)將初始形狀與控制點壓縮為潛碼;解碼器(綠色區域)重建控制點后通過 B 樣條重投影得到頂點差異序列。
損失函數設計
VAE 訓練采用三項聯合損失:擬合損失(直接對齊控制點)、對應損失(通過 B 樣條重投影對齊原始軌跡,早期訓練收斂更快)、局部剛性損失(約束相鄰頂點間距在各幀保持一致,防止形變時產生表面 "融化" 的視覺偽影)。三項損失各司其職、互為補充,共同保證運動的精度、連續性與形狀一致性。
運動生成(Flow Matching DiT)
生成階段基于 Rectified Flow 與 Diffusion Transformer(DiT),以初始網格的潛碼和 CLIP 文本嵌入為條件,從高斯噪聲中逐步去噪并采樣出運動潛碼,再經 VAE 解碼器還原為完整動畫序列。由于 B 樣條重投影對幀數完全自由,推理時可按需輸出任意長度的動畫,如慢動作或子彈時間鏡頭。單張 A100 上平均推理時間僅為 4.4 秒。
BIMO 數據集:約 3.9 萬條帶文本標注的動態網格序列
為訓練 BiMotion,團隊整理并將開放 BIMO 數據集,包含約 39,000 條動態網格運動序列、總計逾 368 萬幀,涵蓋動物、機器人、人體、道具等多種類別。每條序列配有 3 條高質量文本描述,全部展開為 16 個 B 樣條控制點存儲,便于直接使用。
DeformingThings4D 部分來自 OmniMotionGPT 的人工標注;Objaverse 部分則通過基于 GPT-5 的自動標注流水線生成,配備生成器與質檢器兩個環節,確保描述的準確性和風格一致性。
實驗結果:全面領先,效率顯著提升
![]()
圖 4:定性對比。左列:機器人與鹿的動作對比;右列:老虎與行走機器人的動作對比。紅圈標注基線方法產生的形變偽影,BiMotion 均表現清晰自然。
團隊在 20 個靜態網格上與三類代表性方法展開全面對比:前饋生成方法 AnimateAnyMesh、動態高斯生成方法 GVFDiffusion,以及基于視頻優化重建的 V2M4。網格來源涵蓋 Meshy 生成資產與現有 3D 內容庫,屬于所有基線中最為嚴格的評測設置之一。
在 VBench 自動評估的 5 項指標中,BiMotion 在整體一致性、時序穩定性、美學質量和動作豐富度四項均居最優。其主體一致性略低于 AnimateAnyMesh,但消融實驗已揭示該差距為虛高:后者生成的動作幅度極小、近乎靜止,相鄰幀高度相似,致使該指標人為偏高。
20 位參與者的用戶研究中,BiMotion 在 "文本與動作匹配度"、"動作合理性"、"動作表現力" 三個維度的平均得分均超過 4.0/5.0,遠高于所有對比方法。效率方面,網格頂點規模從 9K 增至 24K 時,BiMotion 生成時間僅從 3.7 秒微增至 4.6 秒,峰值顯存從 1.1 GB 小幅升至 1.3 GB;而 AnimateAnyMesh 在同等條件下時間與顯存均翻倍以上,充分體現 BiMotion 面向大規模網格的更強可擴展性。
局限性與未來展望
BiMotion 目前固定使用 16 個控制點,對高頻、極復雜運動細節的表達能力仍有提升空間;同時基于固定網格拓撲的假設,暫不支持拓撲變化(如角色分裂、融合)的動畫生成。當前 BIMO 數據集規模(約 3.9 萬條)相較于視頻或圖像領域仍偏小,引入更大規模數據有望進一步提升質量與泛化能力。代碼與 BIMO 數據集現已全部開源,歡迎社區共同建設。
作者簡介:
Miaowei Wang, 目前是愛丁堡大學信息學院的博士研究生(2023年10月入學),研究方向為計算機視覺與計算機圖形學中的可控運動表征(controllable motion representation)。他的博士研究由Amir Vaxman教授和Oisin Mac Aodha教授共同指導。 在此之前,他曾就讀于密歇根大學電氣工程與計算機科學系,在Jason Corso教授的指導下完成研究生學習。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.