OpenSource-Hub

TRELLIS.2

データセット・モデル

microsoft/TRELLIS.2

最先端の画像から3Dへの生成モデル。4Bパラメータを備え、O-Voxel表現を採用。

概要

TRELLIS.2 は、ハイファイな画像から3Dへの生成のための大規模3D生成モデルであり、O-Voxel と呼ばれるフィールドフリーなスパースボクセル構造を導入し、任意のトポロジーと完全な PBR マテリアルモデリングをサポートし、16倍の空間ダウンサンプリングを備えています。

README プレビュー

\n\n# Native and Compact Structured Latents for 3D Generation\n\n\n\n\n\n\n\nhttps://github.com/user-attachments/assets/63b43a7e-acc7-4c81-a900-6da450527d8f\n\n*(Compressed version due to GitHub size limits. See the full-quality video on our project page!)*\n\n**TRELLIS.2** is a state-of-the-art large 3D generative model (4B parameters) designed for high-fidelity **image-to-3D** generation. It leverages a novel "field-free" sparse voxel structure termed **O-Voxel** to reconstruct and generate arbitrary 3D assets with complex topologies, sharp features, and full PBR materials.\n\n\n## ✨ Features\n\n### 1. High Quality, Resolution & Efficiency\nOur 4B-parameter model generates high-resolution fully textured assets with exceptional fidelity and efficiency using vanilla DiTs. It utilizes a Sparse 3D VAE with 16× spatial downsampling to encode assets into a compact latent space.\n\n| Resolution | Total Time* | Breakdown (Shape + Mat) |\n| :--- | :--- | :--- |\n| **512³** | **~3s** | 2s + 1s |\n| **1024³** | **~17s** | 10s + 7s |\n| **1536³** | **~60s** | 35s + 25s |\n\n*Tested on NVIDIA H100 GPU.\n\n### 2. Arbitrary Topology Handling\nThe **O-Voxel** representation breaks the limits of iso-surface fields. It robustly handles complex structures without lossy conversion:\n*   ✅ **Open Surfaces** (e.g., clothing, leaves)\n*   ✅ **Non-manifold Geometry**\n*   ✅ **Internal Enclosed Structures**\n\n### 3. Rich Texture Modeling\nBeyond basic colors, TRELLIS.2 models arbitrary surface attributes including **Base Color, Roughness, Metallic, and Opacity**, enabling photorealistic rendering and transparency support.\n\n### 4. Minimalist Processing\nData processing is streamlined for instant conversions that are fully **rendering-free** and **optimization-free**.\n*   ** 📂 **Please refer to [data_toolkit/README.md](data_toolkit/README.md) for detailed instructions on data preprocessing and dataset organization.**\n\n### 2. Running Training\n\nTraining is managed through the `train.

FAQ (5)

トラブル対応
TRELLISでアルファチャンネルが無視され、エクスポートされたGLBが完全に不透明に表示される問題を修正するにはどうすればよいですか?

GLB は alphaMode='OPAQUE' でエクスポートされるため、glTF ビューアはテクスチャのアルファチャンネルを無視してしまいます。o-voxel/o_voxel/postprocess.py で、PBR マテリアルの設定を変更し、アルファブレンディングと float 型の baseColorFactor を使用するようにしてください。

alpha_mode = 'BLEND'

material = trimesh.visual.material.PBRMaterial(
    baseColorTexture=Image.fromarray(np.concatenate([base_color, alpha], axis=-1)),
    baseColorFactor=np.array([1.0, 1.0, 1.0, 1.0], dtype=np.float32),
    metallicRoughnessTexture=Image.fromarray(
        np.concatenate([np.zeros_like(metallic), roughness, metallic], axis=-1)
    ),
    metallicFactor=1.0,
    roughnessFactor=1.0,
    alphaMode=alpha_mode,
    doubleSided=True if not remesh else False,
)

滑らかな透過ではなく、はっきりとしたアルファカットアウトにしたい場合は、'BLEND' の代わりに 'MASK' を使用してください。変更後、GLB を再エクスポートしてください。

手動での回避策として、既存の GLB を Blender または他の 3D ツールにインポートし、ベースカラーテクスチャのアルファ出力をマテリアルの Alpha/Opacity 入力に接続してください。アルファデータはすでにテクスチャに含まれていますが、OPAQUE モードでは使用されません。

参照 Issue #91
トラブル対応
V100 GPUで「LLVM ERROR: Failed to compute parent layout for slice layout」エラーを修正するにはどうすればよいですか?

このエラーは、V100 (sm_70) などの Ampere 以前の GPU で、デフォルトのスパース畳み込み GEMM アルゴリズムを使用した場合に発生します。trellis2/modules/sparse/conv/config.py を編集し、次の行を:

FLEX_GEMM_ALGO = 'masked_implicit_gemm_splitk'

以下のように変更してください:

FLEX_GEMM_ALGO = 'explicit_gemm'

その後、パイプラインを再実行してください。SPARSE_CONV_BACKEND=spconv を設定してクラッシュを回避しないでください。エラーは収まるかもしれませんが、生成される出力が警告なく破損する可能性があります。

参照 Issue #89
トラブル対応
Texture Flow Modelのトレーニングが開始されるまで数十分かかり、その間CPU使用率が高いのはなぜですか?

遅延が発生するのは、basic.py の run メソッドがトレーニング開始前にトレーニングデータセットをサンプリングするためです。このCPUバウンドの前処理は、トレーニングサンプルが100個しかない場合でも、長い時間がかかることがあります。トレーニングをより速く開始するには、起動時のサンプリングプロセスで使用される num_samples 設定を小さくしてください。

参照 Issue #87
トラブル対応
なぜO-Voxelは、1つのボクセル内にある近接した、または分離した2つのコンポーネントをマージしてしまうのですか?また、このアーティファクトを低減するにはどうすればよいですか?

O-Voxel はプライマルボクセルごとに 1 つのデュアル頂点のみを推定します。2 つの表面コンポーネントが同じセルを占有する場合、QEF の解はそれらを平均化する傾向があるため、コンポーネントがマージされる可能性があります。これは既知のエイリアシング/トポロジーの制限であり、極端なケースへの堅牢な対処ではありません。回避策: 1024³ 以上など、より高い解像度で抽出またはボクセル化を行い、別々のコンポーネントが同じボクセルに入りにくくします。現在の実装では体系的な修正はありません。

参照 Issue #42
トラブル対応
WindowsでTRELLIS 2を実行するにはどうすればよいですか?

この issue では Windows ネイティブでの動作が確認されたセットアップ方法はありませんが、ユーザーから以下の回避策が報告されています:

1. **Vision of Chaos(フリーウェア)**: 動作する Windows 実装を使用してください。RTX 4090/5090 での報告があります。https://github.com/microsoft/TRELLIS.2/issues/4#issuecomment-3706875330 で参照されているセットアップを参照してください。
2. **ComfyUI 統合**: RTX 3090 の場合は、https://github.com/visualbruno/ComfyUI-Trellis2 を使用してください。
3. **Windows 上の Docker**: https://github.com/camenduru/tostui?tab=readme-ov-file#-tostui---trellis-2 のコンテナ化されたセットアップを実行してください。

お使いの GPU に合ったオプションを選択してください。ネイティブまたは ComfyUI のワークフローが失敗する場合は、Docker が最も移植性の高い選択肢です。

参照 Issue #75