Block3D 把文字轉 3D 生成加速至 4.99 秒

Block3D 以區塊式擴散處理 3D shape tokens,在保留幾何質素及修正能力的同時,將生成時間大幅縮短。

Block3D conceptual comparison

由文字描述生成可用 3D 網格,往往要在幾何細節、生成速度和錯誤修正之間取捨。Block3D 是一個開源 text-to-3D 生成框架,針對離散 shape tokens 的逐個生成瓶頸,把固定長度的序列分成連續區塊,逐區塊生成並同時更新區內所有 token。

Block3D 延續自回歸模型由左至右的因果結構,但不再逐個 token 等待生成。每個 active block 會先進行 mask-to-token recovery,再以 token-to-token correction 修正低信心內容,確認後才提交並快取;凍結的 Cube shape encoder、text encoder 負責提供條件,Cube shape decoder 則把完整序列轉成輸出網格。這讓它比需要反覆處理整個 3D 表示的 diffusion 或 flow-matching 方法節省計算,也補上傳統 autoregressive decoding 難以回頭修正的限制。

在 TRELLIS-500K 留出測試集上,Block3D 的平均端到端生成時間為 4.99 秒,較微調後的 autoregressive baseline 25.71 秒快 5.15 倍,同時維持相近的幾何質素;報告指標包括 1% 閾值 F-score 0.309 和 normal consistency 0.668。結果適合需要批量產生概念模型、遊戲資產草稿或 3D 設計初稿的研究及開發團隊,但不能直接理解為所有提示詞和複雜網格都能維持同一水平。

測試需要 Linux、Python 3.10+、PyTorch 2.2+ 及 CUDA,訓練報告使用四張 NVIDIA A100 80GB GPU;TRELLIS-500K 數據不隨儲存庫提供。推理、訓練和評估程式已公開,pymeshlab 屬可選元件,Blender 只在 trimesh 無法直接讀取某些網格格式時需要,PyTorch3D 則用於 eight-view CLIPScore 評估。

  • 速度:平均 4.99 秒完成一次端到端生成。
  • 方法:區塊間保持因果生成,區塊內進行並行去噪及信心導向修正。
  • 質素:在 TRELLIS-500K 測試集維持 0.309 F-score@1% 及 0.668 normal consistency。
  • 門檻:需要 CUDA 環境;訓練成本以四張 A100 80GB GPU 為參考。

Block3D 的價值不只在於縮短等待時間,而是以區塊為單位保留部分修正空間,兼顧自回歸生成的結構控制和並行處理的效率。對需要自行研究 text-to-3D 推理流程、比較 Cube 與 TRELLIS 相關方法,或建立批量生成管線的團隊,它提供了可直接檢驗的開源基礎;對只有一般消費級 GPU 的個人使用者,則應先確認推理配置和模型資源是否足夠。

項目主頁 · GitHub

Categories: 開源, NVIDIA, 3D, Linux, Python