跳至主要內容

工具與應用

Speridlabs Idol 開源模型解析:單張圖片生成百萬級 3D Gaussian Splatting 物件

Speridlabs 開源單圖轉 3D 模型 Idol,基於 DiT 與八叉樹/高斯解碼器架構,峰值顯示記憶體僅需 7.2GB 即可在本地生成高達 100 萬個 3D Gaussian Splatting 物件,輸出標準 PLY 格式,支援消費級顯卡快速推論。

Speridlabs Idol 開源模型解析:單張圖片生成百萬級 3D Gaussian Splatting 物件

由空間智慧實驗室 Speridlabs 推出的開源模型 Idol (speridlabs/idol),能夠將單張物件照片、3D 渲染圖或 AI 生成圖像,直接轉換為可 360 度旋轉檢視的 3D Gaussian Splatting(3DGS)模型。該專案以 Apache 2.0 授權釋出模型權重與推論程式碼,在峰值顯示記憶體(VRAM)控制在 7.2 GB 的條件下,最高可輸出 1,048,576 個高斯點(Gaussians),讓消費級顯示卡也能在本地端執行單圖轉 3D 任務。

為什麼單張圖片轉 3D 需要 Idol?

傳統 3D 重建流程通常依賴多視角拍攝(Photogrammetry)或耗時的逐場景最佳化,若手上只有一張正面照片,往往難以直接還原出物件的側面與背面。

Speridlabs Idol 研究專案針對「單一視角輸入」進行設計。當使用者輸入一張圖片後,系統會依序執行自動去背、主體裁切對齊、視覺特徵編碼,並透過擴散轉換器(Diffusion Transformer, DiT)直接取樣出完整的 3D 高斯點雲。對於原始圖片未拍到的背面與死角,模型會根據訓練過程學到的三維幾何與外觀先驗知識進行推估補全,最終輸出標準 .ply 格式檔案,可直接載入各類支援 3D Gaussian Splatting 的檢視器中互動瀏覽。

根据 LHC Media 的技術報導,Idol 支援從 32,768 到 1,048,576 個高斯點的多段細節層級(須為 32 的倍數,預設為 262,144)。不同細節層級對應的 .ply 檔案大小差異如下:

  • 32,768 Gaussians:檔案大小約 0.4 MB,適合輕量化快速預覽。
  • 262,144 Gaussians(預設值):檔案大小約 3.2 MB,兼顧生成速度與幾何細節。
  • 1,048,576 Gaussians(最高細節):檔案大小約 12.2 MB,保留更豐富的表面紋理與邊緣銳利度。

核心架構與硬體需求:0.66B 生成核心與 1.80B 完整管線

在官方說明中,Speridlabs Idol 模型卡將核心生成模型標示為約 6.6 億(0.66B)參數,而包含前置影像處理與視覺編碼器的完整推論管線則約為 18 億(1.80B)參數。

核心生成部分採用基於 Rectified-Flow 的擴散轉換器(DiT),搭配八叉樹解碼器(Octree Decoder)與高斯解碼器(Gaussian Decoder)將潛在表徵(Latent)轉換為 3D 高斯屬性。前置處理則整合了 BiRefNet 進行自動去背,並藉由 DINOv3 與 FLUX.2 VAE 擷取高維度語意與像素特徵。

以下為 Idol 官方 GitHub 儲存庫 (speridlabs/idol-sdk)公布的各組件參數規模與記憶體佔用明細:

模型組件參數規模GPU 運算精度權重 VRAM 佔用功能角色
DiT (Denoiser)370.6MFP16 區塊 / FP32 嵌入與正規化~0.8–1.0 GB核心 3D 擴散去噪生成
Octree Decoder50.8MFP16 區塊 / FP32 嵌入與正規化~0.1–0.2 GB空間八叉樹結構解碼
Gaussian Decoder237.3MFP16 區塊 / FP32 嵌入與正規化~0.5–0.9 GB輸出 3D 高斯點位置與外觀屬性
BiRefNet220.7MFP16~0.44 GB自動移除輸入影像背景
DINOv3 ViT-H+/16840.6Mbf16(可切換 fp32)~1.68 GB擷取高階視覺語意特徵
FLUX.2 VAE84.1Mbf16(由 FP32 權重載入轉換)~0.17 GB影像潛在空間編碼
完整推論管線總計~1.80B混合 FP16 / bf16 / FP32權重 ~3.7–4.4 GB(峰值 7.2 GB)單圖端到端轉 3DGS .ply

由於完整推論的峰值 VRAM 僅需 7.2 GB,具備 8 GB 以上顯示記憶體的消費級 NVIDIA 顯示卡即可在本地執行,無須依賴雲端伺服器叢集。此外,SDK 預設開啟 GPU 加速取樣(透過 torch.compile 編譯去噪器、將有無條件引導合併為單一批次,以及在取樣時使用 cuDNN 與 TF32 矩陣運算),官方測試指出可在維持相同輸出品質的前提下帶來約 1.7 倍的速度提升。

官方基準測試與跨 GPU 推論速度

根據 Hugging Face 模型頁面公布的內部基準測試,研究團隊在單張 NVIDIA H100 GPU 上,將 Idol 與 TripoSplat、TRELLIS 及 LGM 三款同類模型進行對比,分別評估輸入視角重建品質(PSNR、SSIM、LPIPS、IoU)以及 7 個新視角的一致性指標(DINOv2、CLIP、銳利度距離 Sharpness distance):

模型名稱測試設定PSNR ↑SSIM ↑LPIPS ↓IoU ↑DINOv2 ↑CLIP ↑銳利度距離 ↓單次耗時 ↓
Idol50 步, 262,144 Gaussians12.250.7260.2130.8620.7810.8850.816.8 s
TripoSplat50 步, 262,144 Gaussians11.760.7120.2250.8600.7430.8681.039.9 s
TRELLIS論文預設, 50 + 50 步11.890.7160.2350.8450.7540.8680.977.1 s
LGM預設, 65,536 Gaussians12.460.7220.2370.8340.5750.7841.221.1 s

從官方資料來看,LGM 雖然在生成速度(1.1 秒)與 PSNR 指標最高,但官方備註指出 PSNR 計算的是像素平方誤差平均值,視覺上較模糊的結果反而容易獲得高分。而在感知相似度(LPIPS)、輪廓交集比(IoU)以及新視角的語意與結構一致性(DINOv2、CLIP、銳利度距離)上,Idol 均取得該測試表中的最佳成績。

針對不同硬體環境,Speridlabs 官方測試資料也列出了在相同設定下(50 步取樣、輸出 262,144 個高斯點、取 8 張測試影像之中位數)各款 NVIDIA GPU 的單次生成時間:

GPU 型號顯示記憶體 (VRAM)單次請求耗時(262,144 Gaussians, 50 步)
NVIDIA B300269 GB3.4 秒
NVIDIA B200179 GB3.6 秒
NVIDIA H200140 GB6.6 秒
NVIDIA H10080 GB6.7 秒
NVIDIA RTX 509032 GB14.1 秒
NVIDIA A10080 GB16.3 秒
NVIDIA L40S45 GB16.6 秒
NVIDIA RTX 409024 GB19.1 秒
NVIDIA RTX 308010 GB46.2 秒
NVIDIA L422 GB54.6 秒

線上體驗與本地部署教學

若想直接測試模型效果,使用者不一定要先配置本地環境,可以透過官方提供的雲端互動介面或下載 SDK 進行部署。

1. 透過 Hugging Face Spaces 線上試玩

官方在 Idol Hugging Face Space 架設了基於 ZeroGPU 的 Gradio 互動式網頁應用。頁面內建超過 90 組預先準備好的範例圖片,涵蓋家具、鞋子、機器人、食物與角色模型,使用者也可以直接上傳自己的圖片,調整高斯點數量(Detail)與隨機種子(Seed),並在瀏覽器內即時旋轉檢視生成的 3D 模型。

2. 本地端安裝 Idol SDK

若需整合至開發流程或進行批次處理,可從 GitHub (speridlabs/idol-sdk) 安裝推論工具包。系統環境需具備 Python 3.10 以上、PyTorch 2.5 以上,以及支援 CUDA 的 NVIDIA 顯示卡。

  1. 申請前置視覺編碼器權限:由於 Idol 依賴兩個受管控(Gated)的 Hugging Face 模型讀取影像特徵,安裝前需先登入 Hugging Face 帳號並同意 facebook/dinov3-vith16plus-pretrain-lvd1689m 與 black-forest-labs/FLUX.2-dev(僅下載其 VAE 組件)的使用條款,接著在終端機執行 hf auth login 或設定 HF_TOKEN 環境變數。
  2. 下載並安裝套件:
    git clone https://github.com/speridlabs/idol-sdk.git
    cd idol-sdk
    pip install -e .
    # 若需在本地啟動 Gradio 網頁介面,可改用:
    pip install -e ".[demo]"
    
    首次執行時,程式會自動將約 3 GB 的 Idol 模型權重與編碼器下載至 Hugging Face 快取目錄。
  3. 執行指令列推論或 Python API: 針對輸入圖片類型,Idol 提供兩種裁切模式(--mode):real 適用於真實世界拍攝的照片(物件約佔畫面 1/1.7),synthetic(預設)則適用於 3D 渲染圖或 AI 生成圖(物件約佔畫面 1/1.2)。
    # 處理真實照片
    python -m idol.sample --image photo.jpg --mode real
    
    # 批次處理渲染圖或 AI 生成圖資料夾
    python -m idol.sample --image renders/ --mode synthetic --out outputs
    
    每次推論會同時輸出三個檔案:標準 3DGS 點雲檔 <name>.ply、去背裁切後的模型實際輸入圖 <name>_input.png,以及預測的相機參數檔 <name>_camera.json。若在 Python 專案中呼叫,僅需數行程式碼即可完成:
    from idol import IdolPipeline
    
    pipeline = IdolPipeline.from_pretrained("speridlabs/idol")
    output = pipeline("photo.jpg", mode="real", seed=42, num_gaussians=1_048_576)
    output.gaussian.save_ply("photo.ply")
    

常見問題與應用限制(Q&A)

Idol 輸出的 .ply 檔案可以直接拿去 3D 列印或綁定骨架嗎?

不行直接使用。根據 Medium 技術評測與官方文件說明,Idol 生成的是 3D Gaussian Splatting(由大量半透明三維橢球體組成的輻射場表徵),而非傳統由頂點與多邊形面構成的網格(Polygon Mesh)。雖然檔案副檔名為 .ply,但內部並不包含拓撲網格、UV 貼圖座標或碰撞體結構。若要用於遊戲引擎碰撞偵測、角色骨架綁定(Rigging)或 3D 列印,必須另外透過高斯轉網格工具進行轉換與後製修整。

照片沒拍到的背面,Idol 是如何生成的?

單張照片無法提供物件背面的物理量測資料。Idol 的做法是結合影像前端特徵與訓練階段習得的 3D 先驗分布,推估出合理的背面形狀、厚度與色彩。這讓生成的物件非常適合用於電商產品 360 度環物展示、概念設計預覽或搭配 Speridlabs Iris-3B 等文生圖模型快速建立虛擬場景道具,但若應用場景要求背面具備精確的工業尺寸或特定背面文字細節,單圖推估仍存在物理上的限制。

社群是否已有 ComfyUI 整合支援?

根據 ComfyUI Wiki 的報導,隨著 Idol 以 Apache 2.0 授權開源釋出權重與 SDK,社群已同步推出對應的 ComfyUI 節點,方便創作者將「文生圖」與「單圖轉 3D 高斯點雲」串聯在同一個視覺化工作流中執行。

相關連結彙整

謝謝你,讀到這裡。

保持好奇,明天繼續探索。

© 2026 Communeify. All rights reserved.