AI

SPAR3Dとは?Stability AIの画像から3Dメッシュを作るモデルの仕組み・使い方・商用条件

SPAR3Dとは?Stability AIの画像から3Dメッシュを作るモデルの仕組み・使い方・商用条件

SPAR3D(Stable Point Aware 3D)は、Stability AIが2025年1月8日に公開した、1枚の画像からテクスチャ付きの3Dメッシュを生成するモデルです。公称の生成時間は1オブジェクトあたり0.7秒。途中で作る点群を編集すると、画像に写っていない背面の形を直せる点が、先行モデルとの違いです。

この記事では、論文・公式リポジトリ・API仕様をもとに、2段階構成の仕組み、ローカルでの導入と実行、点群編集の手順、APIの料金、商用利用のライセンス条件、向かない用途までを順に整理します。

まとめ:SPAR3Dの要点

  • 正式名は「SPAR3D: Stable Point-Aware Reconstruction of 3D Objects from Single Images」(arXiv:2501.04689)。Stable Fast 3D(SF3D)を土台に、背面の予測を点群で補うモデルです。
  • 処理は2段階です。点群拡散モデルが512点の点群を作り、その点群と入力画像からメッシュとPBRマテリアルを推定します。
  • ローカル実行は既定で10.5GB、低VRAMモードで約7GBのVRAMを使います。モデルはHugging Faceのアクセス申請が必要です。
  • 出力はGLB(メッシュ)とPLY(点群)。PLYをBlenderやMeshLabで直して読み込ませると、背面を作り直せます。
  • APIは v2beta/3d/stable-point-aware-3d で、成功1回4クレジット。ただし点群のアップロードには対応していません。
  • Stability AI Community Licenseにより、年商100万米ドル未満なら商用でも無償です。商用利用には登録が必要で、超えた時点でエンタープライズ契約に切り替えます。

以下、仕組みから順に根拠を示します。

SPAR3Dの正体:公開経緯とStability AIの3Dモデル系譜

SPAR3Dは、Stability AIがCESでNVIDIAとの提携の一環として発表したモデルです。論文の著者はZixuan Huang、Mark Boss、Aaryaman Vasishta、James M. Rehg、Varun Jampaniの5名で、Rehg氏以外はStability AIの所属です。名前は論文題の「Stable Point-Aware Reconstruction」から来ており、ほかの意味の略語ではありません。

位置づけは、同社の単一画像→3D再構成モデルの第3世代にあたります。

モデル 論文公開 公称速度 主な追加点
TripoSR 2024年3月4日 – Tripo AIとの共同開発
Stable Fast 3D(SF3D) 2024年8月1日 0.5秒 UV展開・照明の分離
SPAR3D 2025年1月8日 0.7秒 点群による背面予測と編集

速度はStability AIの3Dモデル紹介ページの公称値です。SPAR3DはSF3Dより0.2秒遅い代わりに、SF3Dが苦手だった「画像に写らない側」の形を良くしています。2026年9月30日時点でも、同社の3Dモデル一覧の先頭はSPAR3Dで、後継モデルは出ていません。

2段階アーキテクチャ:点群拡散とメッシュ化の役割分担

単一画像からの3D再構成には2つの流派があります。回帰型(TripoSR、SF3D)は速く、見えている面に忠実ですが、隠れた面が平らに潰れがちです。生成型(拡散モデル)は隠れた面をもっともらしく補えますが、計算が重く、見えている面からずれることがあります。SPAR3Dは、不確かな部分だけを拡散モデルに任せる設計で両者を組み合わせました。

点群サンプリング段:拡散モデルによる512点の生成

第1段は、DDPMベースの点群拡散モデルです。入力画像をDINOv2で符号化し、Point-Eに近いTransformerのデノイザー(16ブロック・特徴次元1024)が、XYZ座標とRGB色を持つ512点の点群を作ります。点の色は入力画像の見た目そのままではありません。論文の実装では、アルベドそのものの代わりに、白色照明下の点群を代理の学習目標にしています。照明と色の組み合わせの曖昧さをこの段で減らしておくと、次の段のマテリアル推定が安定する、と論文は説明しています。

メッシュ化段:トライプレーンからPBRメッシュへ

第2段は回帰型です。点群エンコーダー(12層)と画像エンコーダー(DINOv2-large)の出力をトライプレーンTransformerが受け取り、高解像度のトライプレーンを作ります。形状はDMTet(四面体解像度160)で抽出し、アルベド・法線・照明はトライプレーンから、metallicとroughnessは画像から推定します。出力はUV展開済みのテクスチャ付きメッシュで、入力画像の照明を落とす処理(delighting)も入っているため、ゲームエンジンで照明を当て直せます。

論文の検証では、リスの画像と馬の点群をわざと組み合わせて入力すると、見えている面はリスの画像に従い、背面は馬の点群に従いました。背面は点群が決めているので、点群を直せば背面を直せる、というのが後述する編集機能の根拠です。

ベンチマーク:GSO・OmniObject3Dでの精度と速度

論文は、GSOとOmniObject3Dからそれぞれ約250物体(単純な箱や円柱は除外)を使い、他の手法と同じ条件で比べています。形状の指標はChamfer Distance(CD、小さいほど良い)とF-score(FS、大きいほど良い)です。GSOの結果から主要な手法を抜き出すと次のとおりです。

手法 CD↓ [email protected]↑ PSNR↑ 時間(秒)
LGM 0.196 0.356 17.0 41.0
InstantMesh 0.135 0.545 18.1 36.1
TripoSR 0.145 0.501 18.5 0.2
SF3D 0.137 0.540 18.0 0.3
SPAR3D 0.120 0.584 18.6 0.7

CDとFSはSPAR3Dが最良で、OmniObject3DでもCD 0.122・[email protected] 0.587とSF3D(0.138・0.554)を上回りました。一方、画像の類似度SSIMはGSOでSF3Dが0.839、SPAR3Dが0.836と、わずかにSF3Dが上です。多視点拡散を挟むLGMやInstantMeshが30〜40秒かかるのに対し、1秒未満で形状精度が最も高いことが、この表から読み取れる実質的な差です。なお論文本文には、時間の計測に使ったGPUの記載が見当たりません。自分のGPUで同じ秒数が出るとは限らない前提で見てください。

ローカル環境でのSPAR3Dの導入と実行手順

公式リポジトリ(Stability-AI/stable-point-aware-3d)のREADMEに沿った手順です。Linux+NVIDIA GPUが本命の環境で、WindowsとMacは「experimental(実験的)」と明記されています。

動作要件と必要なVRAM

項目 公式の記載
Python 3.8以上(PyTorchの版により3.9超)
VRAM(既定) 10.5GB
VRAM(低VRAMモード) 約7GB(代わりに遅くなる)
Windows Visual Studio 2022が必要・実験的
Mac(MPS) macOS 15.2以降・実験的
AMD GPU 2025年1月にHIP対応を追加
CPU GPUが無ければ自動で使用・非常に遅い

READMEは、既定で10.5GB消費すると書く一方、run.pyの既定設定で1枚処理する場合は約6GBとも書いており、記述が揃っていません。run.pyは処理後に「Peak Memory」を表示するので、実行後のその値で判断するのが確実です。12GB級のGPUなら既定モードで動く見込みがあり、8GB級なら --low-vram-mode を付けます。Macは PYTORCH_ENABLE_MPS_FALLBACK=1 が必要で、統合メモリ32GB未満ならCPU版を使うよう推奨されています。GPUを持っていない場合は、RunpodのようなGPUクラウドで12GB以上のインスタンスを借りるのが早道です。

Hugging Faceでのアクセス申請とインストール

モデルの重みはHugging Faceでgated(利用申請制)になっています。モデルページで氏名・メール・国・所属・用途を入力して同意し、読み取り権限のアクセストークンを作っておきます。トークンの作り方はHugging Faceの使い方で解説しています。PyTorchは、システムのCUDAの版に合うものを先に入れてください。

git clone https://github.com/Stability-AI/stable-point-aware-3d
cd stable-point-aware-3d
pip install -U setuptools==69.5.1
pip install wheel
pip install -r requirements.txt
# 現行run.pyでは通常実行でもリメッシュ依存を導入する
pip install -r requirements-remesh.txt
# Gradioデモ(点群エディター)を使う場合
pip install -r requirements-demo.txt
huggingface-cli login

requirements.txtは同梱のtexture_bakerとuv_unwrapperをその場でビルドするため、C++コンパイラーとPyTorchが先に入っていないと失敗します。README上はリメッシュ用の依存は任意ですが、現行のrun.pyはリメッシュ機能が無い環境で --reduction_count_type を定義しないまま参照するため、通常の生成でも止まるおそれがあります。requirements-remesh.txtも入れておくのが無難です。transformers 4.42.3、numpy 1.26.4、huggingface-hub 0.23.4と版が固定されているので、既存の環境に混ぜず、専用の仮想環境を作るのが安全です。

run.pyでGLBを出力する際のオプション

python run.py demo_files/examples/fish.png --output-dir output/

# 2048pxテクスチャ・quadリメッシュ・目標面数5000の例
# GLBへの書き出し時には三角形に分割される
python run.py chair.png --output-dir out/ \
  --texture-resolution 2048 \
  --remesh_option quad \
  --reduction_count_type faces \
  --target_count 5000

画像は複数指定でき、フォルダを渡すと中の.png・.jpg・.jpegをまとめて処理します。背景はtransparent-backgroundで自動除去されます。結果は output/0/ のように画像ごとの連番フォルダに mesh.glb と points.ply で保存されます。

オプション 既定値 役割
--texture-resolution 1024 テクスチャの解像度(px)
--remesh_option none none/triangle/quad
--reduction_count_type keep keep/vertex/faces
--target_count 2000 目標の頂点数・面数
--foreground-ratio 1.3 物体周りの余白の比率
--low-vram-mode 無効 VRAMを約7GBに抑える
--device 自動判定 cuda/mps/cpu

引数名はハイフン区切り(--texture-resolution)とアンダースコア区切り(--remesh_option)が混在しているので、打ち間違えるとエラーになります。--foreground-ratio はヘルプに「Default: 0.85」と出ますが、コード上の既定値は1.3です。triangleとquadはCPUで処理するため時間が増え、目標数はあくまで目安で厳密には守られません。ポリゴンの三角形・四角形の違いはトポロジーの解説も参考になります。

点群編集で背面の形を直す手順

SPAR3Dを他の高速モデルと分ける最大の機能が、中間の点群を編集してメッシュを作り直せることです。背面がつぶれた、取っ手が欠けた、といった失敗を、生成し直す運任せでなく手で直せます。

  1. python gradio_app.py でローカルのデモを起動し、画像から一度生成します。
  2. 画面の点群エディターで点をドラッグ・再着色・拡大縮小します。Shiftキーで複数選択できます。
  3. 範囲選択・複製・部分的な引き伸ばしが必要なら、点群をPLYでダウンロードしてBlenderやMeshLabで編集します。
  4. 「Point cloud upload」にチェックを入れ、編集したPLYを読み込ませて再生成します。

論文では、マグカップへの取っ手の追加や象の人形への尻尾の追加を、既存の点を複製して行い、どの編集もBlenderで1分以内に終わったと報告しています。点群から最終メッシュへの変換は公称0.3秒なので、直して確かめる往復が速く回ります。

注意点が3つあります。読み込ませる点群は512点以上が推奨されます。512点未満でも既存点を複製して処理されますが、警告が表示され、品質が低下する可能性があります。点群をアップロードした場合、Guidance Scale(1〜10、既定3)とSeed(0〜10000)は効きません。また、Hugging Face上の公式デモSpaceは2026年9月30日時点でビルドエラーの状態で、編集機能を試すにはローカルで起動する必要があります。

ComfyUIとStability AI APIでのSPAR3Dの利用

ComfyUIでは、リポジトリを ComfyUI/custom_nodes にcloneして依存を入れ、再起動するとカスタムノードとして使えます。サンプルのワークフローは demo_files/workflows/spar3d_example.json に同梱されています。

GPUを用意しない場合は、Stability AIのAPIを使えます。エンドポイントは POST https://api.stability.ai/v2beta/3d/stable-point-aware-3d で、2026年9月時点でもpreview(試験提供)扱いです。料金は成功した生成1回につき一律4クレジットで、失敗した生成は課金されません。前世代のStable Fast 3Dは10クレジットなので、APIではSPAR3Dのほうが安くなっています。

curl -f -sS https://api.stability.ai/v2beta/3d/stable-point-aware-3d \
  -H "authorization: Bearer $STABILITY_API_KEY" \
  -F [email protected] \
  -F texture_resolution=1024 \
  -F remesh=quad \
  -F target_type=face \
  -F target_count=5000 \
  -o chair.glb

入力はJPEG・PNG・WebPで、各辺64px以上、総画素数4,096〜4,194,304の範囲に収める必要があります。任意パラメータは texture_resolution(512/1024/2048)、foreground_ratio(1〜2)、remesh、target_type、target_count(100〜20,000、既定1,000)、guidance_scale、seed で、返り値はGLBのバイナリです。一方、点群を渡すパラメータが無いため、APIでは点群編集ができません。背面を直す運用を考えているなら、最初からローカル実行を選んでください。

SPAR3Dの商用利用とライセンス条件

SPAR3DはStability AI Community License(2024年7月5日版)で配布されています。研究・非商用に加え、条件付きで商用にも無償で使えます。ライセンス本文の要点は次のとおりです。

  • 商用利用する場合は、Stability AIのサイトで登録が必要です。
  • 本人と関連会社(議決権の50%超を支配する関係)の年間売上が合算で100万米ドルを超えた時点でライセンスは終了し、エンタープライズライセンスを申請します。売上がSPAR3D由来かどうかは問いません。
  • モデル・派生物、またはそれらを利用する製品・サービスを第三者に提供する場合は、ライセンスの写しを渡し、Noticeファイルに所定の帰属表示を残し、関連するWebサイトやドキュメントに「Powered by Stability AI」を目立つように表示します。
  • 生成した3Dデータの権利は、法の許す範囲で利用者に帰属します。
  • モデルの出力を使って基盤となる生成AIモデルを作成・改良することは原則禁止ですが、対象モデル自身とその派生モデルは例外です。

判断を誤りやすいのは売上基準です。受託開発会社が顧客向けの3D素材をSPAR3Dで作る場合、会社全体の年商が100万米ドル(1ドル150円換算で約1億5,000万円)を超えていれば、その用途の売上がゼロでもエンタープライズ契約が必要です。なお、Hugging FaceのモデルカードのLicense欄には「100万米ドル以上の組織・個人は無償」と読める誤記があり、ライセンス本文と逆になっています。判断はLICENSE.mdの本文で行ってください。同じライセンス体系の製品として、Stable Audio 3.0の商用利用条件も参考になります。

SPAR3Dが向かない用途と既知の制限

SPAR3Dは、1物体の画像から素早く叩き台のメッシュを得る用途に強いモデルです。逆に、次の用途では採用を見送るべきです。

最終納品のメインアセット。論文の形状抽出ではDMTetの四面体解像度を160に設定しており、細部の形状表現には制約があります。論文自身も制限として、点群に小さなトゲや浮いた破片が混じることと、単一画像からのマテリアル分解が不正確になりうることを挙げています。モデリングの下絵として使い、ゲームの背景小物やECの3Dプレビューに採用する際は、形状・色・細部が用途の品質基準を満たすかを確認してください。

部屋や街並みなどのシーン全体。学習データはObjaverseの物体レンダリングで、入力も512×512pxの1物体を想定しています。空間ごと3D化したいなら、複数枚の写真から作る3D Gaussian Splattingのほうが適しています。

寸法が意味を持つ設計データ。出力は大きさを正規化したメッシュで、実寸も公差も持ちません。機械部品や建築の形状は、CADのAI機能やCADそのもので扱う領域です。

長期保守が前提の社内基盤。リポジトリの最終コミットは2025年5月5日で、GitHub Releasesに公開版は1つもありません。依存の版も2024年時点で固定されたままです。社内のパイプラインに組み込むなら、依存を固めたコンテナで隔離し、APIへの切り替えも選べる設計にしておくと、壊れたときの逃げ道になります。作ったGLBをDCCツール間で受け渡すなら、OpenUSDへの変換も検討対象です。

よくある質問

SPAR3Dは何の略ですか?

論文題の「Stable Point-Aware Reconstruction of 3D Objects from Single Images」に由来し、製品名はStable Point Aware 3Dです。点群(Point)を使って背面を推定する再構成モデル、という意味の名前です。

SPAR3Dは無料で使えますか?

ローカル実行は、年商100万米ドル未満の個人・組織なら商用を含めて無償です(商用は登録が必要)。APIは成功1回あたり4クレジットの従量課金です。

SPAR3Dに必要なGPUのVRAMはどれくらいですか?

公式READMEでは既定で10.5GB、低VRAMモードで約7GBです。run.pyの既定設定で1枚処理する場合は約6GBとも書かれており、実際の消費は実行後に表示されるPeak Memoryで確認できます。

SPAR3DはMacで動きますか?

macOS 15.2以降のApple SiliconでMPSバックエンドが使えますが、実験的な対応です。PYTORCH_ENABLE_MPS_FALLBACK=1 が必要で、統合メモリ32GB未満ならCPU実行が推奨されています。

SPAR3DとStable Fast 3Dの違いは何ですか?

SPAR3DはSF3Dを土台に、点群拡散の段を追加して背面の予測を改善したモデルです。点群を編集して背面を直せる点と、アルベドに照明が焼き込まれにくい点が違いで、代わりに生成時間は0.5秒から0.7秒に延びています。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.23 テックブログ Renta!不正アクセスでサービス停止:再開未定の現状と運営側の停止判断・証拠保全・段階的再開
  2. 2025.01.09 コラム アドレサブルCM(Addressable CM)とは?フジテレビで出る表示の意味・仕組みと視聴データの扱い
  3. 2026.07.09 テックブログ Muse Imageとは?Metaの画像生成AIの使い方・API料金(1枚0.01ドル)と日本での提供状況【2026年10月】
  4. 2026.10.21 テックブログ ふるさとチョイス不正アクセスで445万件流出:対象確認・パスワード変更と再開時期
  5. 2025.12.10 コラム 今の50代は何世代?バブル世代・団塊ジュニア・氷河期の境目と特徴

RELATED POSTS 関連記事

目次