Hi3D v1.0: 粗い3Dメッシュを1536³ジオメトリへ精細化
2026年10月23日公開のHi3D v1.0は、1枚の参照画像を条件に、粗いメッシュを3パスのスパースパイプラインで高解像度ジオメトリへ精細化します。
プロジェクトリポジトリのシステム概要。画像特徴が、粗いジオメトリから取得した座標上のスパースフローを条件付けし、抽出された各メッシュは再ボクセル化されて次のパスのシードになります。
もう1つの生成器ではなく、第2段階として
ComfyUIのImage-to-3Dパイプライン(TRELLIS.2やPixal3Dノードを含む)は、単一のカスケードで生成された1つのメッシュで終わります。そのカスケードが捉え損ねたディテールは失われます。薄いレリーフは平坦になり、モールディングや歯はにじみ、結果のシャープさは形状段階の性能を超えません。
Hi3D v1.0はその後に行うステップのために作られています。単独で画像からメッシュを生成するものではありません。粗いメッシュがすでに存在することを前提とし、同じ参照画像を再構成ターゲットではなく条件付けシグナルとして使い、ジオメトリをより高密度で忠実にするために能力を集中させます。粗いメッシュは任意の生成器からでも、アーティストからでも構いません。
本プロジェクトはSparc3Dを基盤としており、Pythonパッケージと公開APIは互換性のため元の名前を維持しています。精細化パイプラインのインポートは今も from sparc3d import Sparc3DPipeline の形式です。
3パスのラダー
各パスは、占有されたすべてのボクセル座標で潜在変数をサンプリングし、それを符号付き距離場へデコードし、メッシュを抽出します。その後、そのメッシュを再ボクセル化して、次のパスのスパースサポートを提供します。より高い解像度を要求すると、前のメッシュに対してさらに多くのパスを実行するだけです。
| パス | 公称構造グリッド | ボクセル予算 | Transformer | 抽出グリッド |
|---|---|---|---|---|
| 1 | 64³ | 80,000 | transformer_512 | 512³ |
| 2 | 128³ | 90,000 | transformer_1024 | 1024³ |
| 3 | 192³ | 110,000 | transformer_1024 | 1536³ |
512³の要求では最初のパス、1024³では2パス、1536³では3パスすべてを実行します。プロジェクトは、これらの数値がスパース座標と抽出グリッドを表すものであり、密な1536³の潜在テンソルや保証された三角形数を意味するものではないと明言しています。したがって、1536³の実行は固定の1536³ボクセルボリュームを意味しません。
作業を担うのは2つのTransformerです。それぞれ24ブロック、22個のアテンションヘッドにわたる2,112チャネルの幅、約18億パラメータを持ちます。各ブロックは、ボクセルに対するスパース自己アテンション、画像トークンへのクロスアテンション、MLPを適用し、自己アテンションのクエリとキーには回転位置埋め込みとRMS正規化を用います。サンプリングはデフォルトで1パスあたり25回のスケジューラ更新を使用し、2次サンプラーを用います。
画像の条件付けは2つの凍結エンコーダから得られます。DINOv2-largeは756×756で、1,024チャネルの2,917個の画像トークンを生成します。CLIP ViT-L/14は224×224で、それらの位置にブロードキャストされるプール済み埋め込みを生成します。連結結果は一度だけ計算され、すべてのパスで再利用されます。
表面で何が変わるか
公開内容で最も明確な証拠はクローズアップ比較です。各手法は同じ参照領域を描写するよう求められており、層状のレリーフ、建築モールディング、曲線状の境界、鱗や歯、同心円状の溝が含まれます。Hi3D v1.0は右端の列です。
参照領域は赤い枠で示され、行ごとに拡大表示されています。シェーディングされたジオメトリと色付きのサーフェス法線として示されています。
より広範なテストは4つのオブジェクト(乗り物、装甲キャラクター、アームチェア、ハンドバッグ)を前面、背面、底面から見たものです。ここでは、精細化段階が一貫したシルエットを保つか、参照から離れてしまうかが問われます。
シェーディングされたジオメトリとサーフェス法線のレンダリングを並べています。隠れたビューは、見えていない表面の正確な再構成ではなく、もっともらしい補完を示しています。
公開の背景にあるレポートでは、約200万点のキュレーション済み3Dアセットでトレーニングしたと説明されています。トレーニングコード、評価ハーネス、比較用メッシュは公開物に含まれていないため、公開された表をリポジトリだけで再現することはできません。上記の数値はプロジェクト自身によるものです。
精細化段階が行わないこと
モデルカードのスコープ記述は異例なほど率直で、期待値を正しく設定しています。
- ジオメトリのみ。 テクスチャ、マテリアル、頂点色はありません。Hi3Dは
trimeshメッシュを返し、出力は再中心化されて最大半径1に正規化されるため、ワールド座標と絶対スケールは保持されません。 - 粗い段階が多くのことを決定します。 入力メッシュの深刻な構造エラーは精細化後も残ることがあり、参照画像に決して映っていないジオメトリは再構成ではなく、もっともらしい補完になります。
- 解像度は要求であり、保証ではありません。 要求された解像度に到達できない実行は、黙って粗いメッシュを返すのではなく、エラーを発生させます。
提供状況
Hi3D v1.0は、Hugging Faceに重みを置いたPython推論パッケージとして提供されます。リポジトリルートには8つのランタイムファイルが配置され、2つのTransformerは別々のコンポーネントとして読み込まれます。オプションの粗い段階はHunyuan3D-2 mini用のアダプターであり、明示的に依存関係ではありません。demo/refine_mesh.pyとSparc3DPipelineは任意の三角形メッシュを直接受け付けます。ホスト型デモがオンラインで公開されており、インストールなしで精細化を試せます。
まだComfyUI統合はありません。リポジトリにはカスタムノード、ワークフローテンプレート、ComfyUIへの言及が一切含まれていないため、Hi3Dは現在、独自のパイプラインを通じてComfyUIの外で動作します。10月27日にリリースが共有されたBanodocoの3Dチャンネルでは、ネイティブノードが続くのかがすぐに話題になりました。そこでは、このモデルは人々がすでに実行しているTRELLIS.2やPixal3Dのワークフローの前段にある精細化段階として使われています。
コメント
GitHubでサインインしてディスカッションに参加しましょう。