
SAM 3Dの紹介~2Dから3Dデータへ
1.概要
Metaが2025年11月19日に発表したSAM 3D(Segment Anything Model)を紹介します。
1-1.SAM 3Dとは
Metaが2025年11月19日に発表したSAM 3Dは、静止画(2D)を詳細な3Dモデルに変換する技術です。
Segment Anything Model(SAM)の「プロンプトによるセグメンテーション」という哲学を3次元空間へと拡張したものであり、SAM 3D ObjectsとSAM 3D Bodyという2つの主要な基盤モデルによって構成されています。
SAM 3D Objects: 物体やシーン向け
SAM 3D Body: 人体形状とポーズの推定向け
1-2.各モデルの詳細
SAM 3D Objects:物体・シーン向け
日常の風景写真から特定のオブジェクトをクリックするだけで、その形状を理解し、ポーズ(向きや位置)情報を持った3Dモデルとして再構成
SAM 3D Body:人体・形状推定向け
単一の画像から人物を特定し、正確な3D形状とポーズを瞬時に推定します。モーションキャプチャのようなスーツは不要
1-3.他ツールの比較
類似ツールとして下記があります。
Copilot 3D:Copilot Labs 専用の AI 搭載ツールで、ユーザーは 1 枚の画像を完全にレンダリングされた 3D モデルに変換
NVIDIA’s GET3D :NVIDIAが発表した研究モデル(Generate Explicit Textured 3D)。
Luma AI(GENIE):コンシューマー向け3D生成AIのトップランナーの一つ。有償
Tripo AI:Stability AIとも連携し、高速生成モデル「TripoSR」を公開
Alpha3D:特定の用途に特化したモデル
Rodin:「アバター(人物)」の生成に特化した拡散モデル
Meshy:ゲーム開発者や3Dアーティストに愛用者が多い

参考1:3Dアニメーションソフト
デジタルコンテンツ制作(DCC)の領域、とりわけ3Dアニメーション向けのツールは以下の通りです。
Cascadeur:物理演算AIが動きの不自然さを自動修正し、手付けやキャプチャデータをプロ品質に仕上げる物理ベースのアニメーション編集ツール
Unity Muse Animate:テキストで指示するだけでUnityエディタ内にアニメーションを即座に生成し、効率的なプロトタイピングを実現するAIツール
Motorica:移動パスやスタイル指定に合わせて、無限のバリエーションを持つ高品質な移動モーションを生成できるロコモーション特化型AI
Move AI:専用スーツやスタジオを使わず、複数のスマホカメラだけで高精度な3Dモーションデータを抽出できるビデオモーションキャプチャツール
参考2:特殊ツール
2021年4月にPlantStream(千代田との合弁)から、空間自動設計システム『PlantStream®』をリリースされてます。
2.環境構築
Metaが提供するブラウザベースの「Playground」を利用すれば、メタアカウントの準備のみで体験できます。
Playgroundへアクセスは下記リンクとなります。
下記のような画面が確認できればOKです。

3.QuickStart
まずは手持ちの「猫の画像」から3Dモデル作成、ダウンロード、別ソフトで編集までのフローを開設します。

3-1.3Dをつくる
下記手順で猫の3Dを作ってみます。
デモページ(Gallery)へ移動し、「Create 3D scenes」を選択
「Upload」ボタンから画像を選択
3D化したいオブジェクト(猫)をクリック
SAMの技術により、一瞬で対象がマスク(選択)される
「Generate 3D」ボタンを押す

これだけで3Dデータが作成できました。

3-2.3Dデータで出力
生成された3Dモデルは、その場で確認するだけでなく、PLY(Polygon File Format)としてエクスポート可能です。
※現状では恐らく3D bodiesのみ
画面内の「Add effects」メニューを開く
「Share」ボタンをクリック
Video, Image, 3D Modelから「3D Model」を選択してダウンロードを押す

ダウンロードデータは以下の通りです。


3-3.3Dデータを触る
ダウンロードした .ply ファイルを、3Dソフトウェアで触ってみます。
Open3D(Pythonライブラリ)
PythonライブラリのOpen3Dでデータを可視化しました。同様の内容をtrimeshでもできるはずです。
PLYファイルを同じ作業ディレクトリに入れて下記実行すれば、データを確認できました。
import open3d as o3d
import numpy as np
# PLYファイルから点群を読み込み
pcd = o3d.io.read_point_cloud("sam3d-splat.ply")
# 点群の情報を表示
print(pcd)
print(np.asarray(pcd.points))
# 点群を可視化
o3d.visualization.draw_geometries([pcd])
Blender
Blender(v4.0以降)の機能「Geometry Nodes」を使って点群をボリューム化してメッシュに変換してみます。
Blenderを起動し、初期キューブを削除
メニューバーから [ファイル (File)] > [インポート (Import)] > [Stanford (.ply)] を選択
ファイルを選び、「PLYをインポート」ボタンを押す

真っ黒い猫がでました。おそらく点群のみのため調整します。
画面上のタブメニュー上でスクロールし、 [Geometry Nodes]を探す
[Geometry Nodes] をクリックして画面を切り替え
画面中央上の [新規 (New)] ボタンを押す
「グループ入力」と「グループ出力」という2つの板(ノード)が表示
「ポイントのボリューム化」を追加
Shift + A キーを押して追加メニューを出す
上部の検索バー(虫眼鏡)にポイントと入力し、選択
ノードを「グループ入力」と「グループ出力」の間に配置
「ボリュームのメッシュ化」を追加
Shift + A キーを押して追加メニューを出す
上部の検索バー(虫眼鏡)にボリュームと入力し、選択
ノードが[グループ入力]> [ポイントのボリューム化] > [ボリュームのメッシュ化] > [グループ出力]になるように配置
数値を調整:よくわからんので適当に
半径 (Radius): 0.05 m くらい
ボクセル量 (Voxel Amount): 必要なら増やす
ボクセルサイズ (Voxel Size): 初期値だと粗すぎるかもしれません。少しずつ小さくする
適応力 (Adaptivity): 0 のまま

調整した結果は以下の通りです。

MeshLab
オープンソースのMeshLabではSTLファイルとして扱えるため、3Dプリント用に厳密なメッシュが欲しい場合は便利です。
メニューバーの [File] > [Import Mesh...] から.ply ファイルを選択

ちょこっと触ってSTLファイルで保存してみました。
法線(向き)を計算
メニュー [Filters] > [Normals, Curvatures and Orientation] > [Compute normals for point sets] を選択
Neighbor num を 20 くらいにして [Apply] または [OK]
面を張る
メニュー [Filters] > [Remeshing, Simplification...] > [Surface Reconstruction: Screened Poisson] を選択
Reconstruction Depth)を 8 〜 10 に設定
[Apply] または [OK] をクリック
保存
[File] > [Export Mesh As...]
ファイル形式を STL (*.stl) にして保存

4.たくさんの画像で試そう
色々なデータでどこまでできるか試してみます。
3D Scenes
対象:車、モデル:3D Scenes
後ろも補正してくれており、サンルーフもつけてくれました。


対象:ラーメン、モデル:3D Scenes
中身、器、レンゲを個別でオブジェクトすることで情報取れました。ただし平面図の写真だったため器の深さまでは表現できていません。


対象:定食、モデル:3D Scenes
対象数が増えると選択したと思っていたオブジェクトにも抜けが発生しました。またとんかつの数も減ってます。


対象:ジム、モデル:3D Scenes
一発で選択できないため、オブジェクト選択をたくさんつけてみました。
結構綺麗に取れた気がします。


対象:金属ダクト、モデル:3D Scenes
適当に切り取った画像から丁寧にオブジェクト選択をしたらそれっぽいのできた。

しかも裏側の指示まで推測してくれてる。


対象:制御盤、モデル:3D Scenes
表の穴は上手く取れなかったけど、箱の中の空洞や側面の穴は取れてる


端子台も綺麗に取れそうですが、重ねる方法は追って確認します。

対象:ベンチプラント、モデル:3D Scenes
「液体合成燃料の低コストな製造技術への挑戦」から綺麗にオブジェクト選択をしました。

箱だけなら綺麗に取れそうです。


さすがに合成装置までは完璧に取るのは無理そうでした。

3D bodies
対象:人、モデル:3D bodies
人間の形状やOpenboseでの姿勢推定ができました。

3D Scenes/3D bodies
対象:建物+人、モデル:3D Scenes/3D bodies
建物は全景がないと立体感は出なさそうです。人は立体感も作れてるのは凄い



5.応用事例
5-1.NanoBanana🍌との連携
前回の記事で画像生成のNanoBanana Proを紹介しました。これと組み合わせてText2Image2Dataにしてみます。
下図画像+プロンプトを投げ画像を作成しました。

Top-down, fully 3D Isometric render of the entire floor plan. Create a clean, highly detailed miniature architectural maquette with accurate room proportions and layout, matching the reference exactly. Remove all text labels.
High-resolution, photorealistic materials (wood floors, tiles, fabrics, glass). Soft global lighting, subtle shadows, crisp edges. Professional polished, high-quality output.
3Dにした結果は以下の通りです。工夫は必要ですが画像生成から3Dデータ作成までを一貫してできそうです。

6.ローカル環境
SAM 3D(BodyおよびObjects)はローカル環境で使用できます。
6-1.環境構築
追って
6-2.モデルの重み取得
追って
6-3.推論コード実装
追って
あとがき
これは楽しいし、かなり実用的
参考資料
SAM3D関係
競合ツール(im-to-3D)
事例
🏀 Object Tracking Made Easy with SAM 3!
— Qiusheng Wu (@giswqs) December 5, 2025
With just a simple text prompt like “player”, you can now segment and track objects throughout an entire video using SAM 3.
Easily customize object names, isolate specific players, or remove unwanted objects.
GitHub:… pic.twitter.com/xUmr8pRJIj
改正履歴
2025年11月25日:初版発行