2025年1月8日、Stability AIは革新的な3D生成モデル「Stable Point Aware 3D (SPAR3D)」をリリースしました。 SPAR3Dは、単一の画像から、わずか数秒で3Dオブジェクトの完全な構造を生成し、リアルタイム編集を可能にする最先端のオープンソースモデルです。
https://stability.ai/news/stable-point-aware-3d
論文やGitHubとHuggingFaceで公開されたオープンモデル、Google Colab のサンプルコードから、その使い方や内部について簡単に解説してきます。
SPAR3Dの特徴
SPAR3Dは、従来のモデルと比較して、以下のような優れた特長を備えています。
-
高速生成: 単一画像から詳細な3Dメッシュを、わずか0.7秒で生成。点群編集後のメッシュ生成も、たった0.3秒という驚異的な速度を実現しています。
-
完全な構造予測: オブジェクトの見えない背面部分も含め、正確なジオメトリと詳細なテクスチャで、360度全方位の完全な3Dモデルを生成します。
-
容易な編集: 生成された点群を直接編集することで、オブジェクトの形状や色を自由自在に変更できます。削除、複製、拡大縮小、フィーチャの追加など、直感的な操作が可能です。
-
画期的なアーキテクチャ: 点群拡散(確率的)とメッシュ回帰(決定的)の長所を組み合わせた独自のアーキテクチャにより、高精度かつ柔軟な3Dモデル生成を実現しました。特に、従来のモデルと比較して、背面予測の精度と詳細度が大幅に向上しています。
これらの特長により、SPAR3Dはゲーム開発者、プロダクトデザイナー、環境構築者など、3Dコンテンツ制作に携わる全ての人々に革新的なワークフローをもたらす、というコンセプトです。
SPAR3Dの動作原理
SPAR3Dは、2段階のプロセスで3Dモデルを生成します。
-
点群生成: まず、特殊な点群拡散モデルを用いて、入力画像からオブジェクトの基本的な構造を捉えた詳細な点群を生成します。
-
メッシュ生成: 次に、トライプレーン・トランスフォーマー( triplane transformer )が、生成された点群と元の画像の特徴を処理し、高解像度のトライプレーン(三角形平面)データを生成します。このデータに基づき、最終的なメッシュが構築され、元の画像のジオメトリ、テクスチャ、照明が正確に再現されます。
この2段階のアプローチは、回帰ベースのモデリングの正確さと生成技術の柔軟性を独自に組み合わせ、正確な再構築と創造的な制御の両立を実現しています。
以下は、Stability AIより提供された API のGoogle Colabのサンプルコードによる、より詳細な利用の流れです。
# サンプル画像
image = "/content/cat_statue.jpg"
# テクスチャ解像度
texture_resolution = "1024"
# 前景比率
foreground_ratio = 0.85
# リメッシュオプション
remesh = 'none'
# 目標頂点数 (remesh='none' の場合は無視される)
vertex_count = -1
# APIを呼び出し、画像から3Dモデルを生成
response = image_to_3d(
host=host,
image_path=image,
texture_resolution=texture_resolution,
foreground_ratio=foreground_ratio,
remesh=remesh,
vertex_count=vertex_count
)
# 生成されたモデルをglbファイルとして保存
filename = f"model.glb"
with open(filename, "wb") as f:
f.write(response.content)
print(f"Saved 3D model {filename}")
このコードでは、image_to_3d 関数でStability AIのAPIにリクエストを送信しています。その際、画像ファイルのパスと各種パラメータ(テクスチャ解像度、前景比率、リメッシュオプションなど)を指定します。APIはリクエストを受け取ると、指定されたパラメータに基づいて3Dモデルを生成し、glTF形式のバイナリデータとして返します。
実際にやってみた!
Google Colab上でこのコードを実行するには、まず、Stability AIのAPIキーを取得し、STABILITY_KEY 変数に設定する必要があります。 また、image 変数には、3Dモデルを生成したい画像のパスを設定します。
まずは Stable Fast 3Dでガンマミィを3D化
まずは Stable Fast 3Dを試してみます。
ガンマミィジェネレーターによる生成画像です。
え…速い!!本当に1秒かかってません
生成された3Dモデル
Windowsの3DビューワーでGLBファイルを開いてみました。
元の画像に存在しない背面の情報も、自動的に予測し生成します。
さらに詳細に確認すると、以下のようになります。
メッシュデータです。25,184ポリゴンで構成されています。
SPAR3Dによる生成
6秒でした。明らかに違う雰囲気の3Dモデルになります。
裏側です。足の部分は点群としては消えてしまったようです。
Windows 3Dビューアーでのメッシュです。21756ポリゴンで構成されています。
NTTのメタバースプラットフォーム XR Space WEB「DOOR」にドロップしてみました。GLBファイルなのですぐに読み込める利点がありますね。
https://door.ntt/juhNAAi/upbeat-luxurious-exploration
他の実写系生成画像でも試してみましょう。
うーん、思ったようにはいかないですね。
参考まで、こちらは Fast 3Dです。
あまりうまく行ってない例ばかりだと残念な感じになってしまいますので、うまく行った例も紹介します。、
DOORに配置して裏側をみてみます。
とりあえず置いてみる、という使い方だとFast 3Dのほうがいいかもしれませんね…。「僕はもっと上手に使える!」という例があれば X@AICUai までお伝え下さい!
公式サンプル画像です。
SPAR3Dは、イラストや実写系よりは、写真的な印影がしっかり存在している3D画像のほうが良いことがわかります。論文によると三角形平面からジオメトリ、アルベド、照明、法線マップを推定し、画像からメタリック/粗さの値を推定しているそうです。シェーダーは Disney BRDFを使用し、モンテカルロ積分を実行し、さらに可視性テストを実行して、影のモデリングを改善しています。最後に、レンダリングされた画像を実際の画像と比較し、レンダリングの損失を最小限に抑えているようです。これをこの数秒の間で実施しているのは驚きです。
論文によると点群の生成によりメッシュ内の見えない領域のインタラクティブ編集を自然にできる機能もあるそうです。点群を編集することで、メッシュの見えない表面を編集、削除、複製、ストレッチ、または色変更することができるという操作性を有しているモデルだそうです。
SPAR3Dは、以下の方法で利用できます。
-
Hugging Face: モデルの重みはHugging Faceからダウンロードできます。
-
GitHub: ソースコードはGitHubで公開されています。
-
API: Stability AI Developer Platform API を通じて、SPAR3Dの機能を手軽に利用できます。成功生成1回あたりAPIを4クレジット消費、10円以下で利用できるのは魅力的ですね。
ライセンス
SPAR3Dは、Stability AI コミュニティライセンス に基づき、商用・非商用を問わず、無料で使用できます。年間収益が100万ドルを超える組織の場合は、エンタープライズライセンスについてお問い合わせください。
まとめ
SPAR3DやFast 3Dは、3Dコンテンツ制作の未来を切り拓く革新的な技術です。高速、高精度、そして点群での編集性を兼ね備えたこの強力なツールを活用して、あなたの創造性を解き放ちましょう!
詳細情報:
📝noteでのフォローよろしくお願いいたします!
https://note.com/aicu
📩メールマガジン「週刊AICU通信」購読 https://corp.aicu.ai/ja
📚️Kindle「月刊AICUマガジン」 https://j.aicu.ai/kindle
noteタグ: #生成AI #3Dモデル #SPAR3D #StabilityAI #画像生成 #AI #機械学習 #深層学習 #点群 #メッシュ #HuggingFace #GitHub #API #3D #NVIDIA
Originally published at https://aicu.jp on Jan 9, 2025.
Comments