1. 概要:Segment Anything Modelの進化
**Segment Anything Model(SAM)**は、Meta AI Researchが発表した画像・動画セグメンテーション分野のFoundation Modelシリーズである。NLP分野でGPTが「プロンプト」パラダイムを確立したように、SAMはComputer Visionセグメンテーションに**Promptable Segmentation**という新たなパラダイムを導入した。
| バージョン | 発表 | 核心能力 | 論文 |
| ---------- | ------------------- | ------------------------------------------- | -------------------------------------------------------------------------------- |
| **SAM 1** | 2023.04 (ICCV 2023) | 画像プロンプタブルセグメンテーション | [Segment Anything](https://arxiv.org/abs/2304.02643) |
| **SAM 2** | 2024.08 | 画像+動画リアルタイムセグメンテーション | [SAM 2: Segment Anything in Images and Videos](https://arxiv.org/abs/2408.00714) |
| **SAM 3** | 2025.11 (ICLR 2026) | 概念認識(Concept-Aware)セグメンテーション | [SAM 3: Segment Anything with Concepts](https://arxiv.org/abs/2511.16719) |
3つのモデルの核心的な進化方向を一言でまとめると以下の通りである。
> **SAM 1**: 「どこ(Where)をセグメンテーションするか?」 → **SAM 2**: 「動画でもどこを?」 → **SAM 3**: 「何(What)をセグメンテーションするか?」
2. SAM 1: Segment Anything (2023)
2.1 論文情報
- **タイトル**: Segment Anything
- **著者**: Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao 他 (Meta AI Research)
- **発表**: 2023年4月 (arXiv)、ICCV 2023 採択
- **論文**: [arxiv.org/abs/2304.02643](https://arxiv.org/abs/2304.02643)
- **GitHub**: [github.com/facebookresearch/segment-anything](https://github.com/facebookresearch/segment-anything)
- **ライセンス**: Apache 2.0
2.2 核心的貢献3つ
SAM 1は3つを同時に提案した。
1. **新しいタスク — Promptable Segmentation**: ポイント、ボックス、マスク、テキストなど任意のプロンプトが与えられると、有効なセグメンテーションマスクを返す
2. **新しいモデル — SAM**: プロンプトベースのセグメンテーションを実行するFoundation Model
3. **新しいデータセット — SA-1B**: 1,100万枚の画像から**11億個**のマスクを含む史上最大のセグメンテーションデータセット
2.3 アーキテクチャ詳細
SAMのアーキテクチャは3つのコンポーネントに分離される。核心的な設計原則は、**重い画像エンコーダは一度だけ実行**し、軽量なプロンプトエンコーダとマスクデコーダをリアルタイムで繰り返し呼び出すことである。
┌─────────────────────────────────────────────────────────┐
│ SAM Architecture │
│ │
│ ┌──────────────┐ ┌────────────────┐ │
│ │ Image Encoder │ │ Prompt Encoder │ │
│ │ (ViT-H/L/B) │ │ (Point/Box/ │ │
│ │ MAE事前学習 │ │ Mask/Text) │ │
│ └──────┬───────┘ └───────┬────────┘ │
│ │ │ │
│ └─────────┬─────────┘ │
│ ▼ │
│ ┌────────────────┐ │
│ │ Mask Decoder │ │
│ │ (Transformer │ │
│ │ 2-layer) │──→ 3つのマスク + IoUスコア │
│ └────────────────┘ │
└─────────────────────────────────────────────────────────┘
Image Encoder(画像エンコーダ)
| バリアント | パラメータ | チェックポイントサイズ |
| ----------------- | ---------- | ---------------------- |
| ViT-B | 91M | 約375 MB |
| ViT-L | 308M | 約1.25 GB |
| **ViT-H(既定)** | **636M** | **約2.56 GB** |
- MAE(Masked Autoencoder)で事前学習されたVision Transformer
- 入力解像度:1024×1024
- 出力:64×64画像埋め込み(256次元)
- 画像ごとに**一度だけ実行** → 以降プロンプトごとに再利用
Prompt Encoder(プロンプトエンコーダ)
**Sparseプロンプト**(ポイント、ボックス、テキスト):
- ポイント/ボックス → Positional Encoding+学習済みタイプ埋め込み(前景ポイント vs 背景ポイント)
- テキスト → CLIPテキストエンコーダで処理
**Denseプロンプト**(マスク):
- Convolutionレイヤで埋め込み後、画像埋め込みとElement-wise加算
Mask Decoder(マスクデコーダ)
- 修正されたTransformer Decoder(2レイヤ)
- 埋め込み次元:256、MLP内部次元:2048
- **Ambiguity-Aware出力**:1つのプロンプトに対して**3つの候補マスク**を同時に予測
- Whole(全体)、Part(部分)、Sub-part(下位部分)レベル
- 各マスクにIoU信頼度スコアを付与
- GPUでプロンプトあたり**約50ms**の推論 → リアルタイムインタラクション可能
2.4 SA-1Bデータセット
| 項目 | 数値 |
| ------------------ | --------------------------------------- |
| 画像数 | 1,100万枚 |
| マスク数 | **11億個**(画像あたり平均約100個) |
| 自動生成比率 | 99.1% |
| 元の解像度 | 約3300×4950 |
| データセットサイズ | 約5TB(画像)+約20GB(アノテーション) |
Data Engine — 3段階の構築プロセス
Phase 1: Assisted-Manual Phase 2: Semi-Automatic Phase 3: Fully Automatic
───────────────────── ────────────────────── ──────────────────────
• SAM+人間アノテーター • SAMが自動マスク提案 • 32×32グリッドポイント自動生成
• ブラウザベースツール • 人間が欠落オブジェクト追加 • NMS+信頼度フィルタリング
• 12万画像 / 430万マスク • 18万画像 / 590万マスク • 11億マスクの大部分
品質検証:500枚の画像(約50,000マスク)の人間監査の結果、**94%**がIoU 0.90超を達成
2.5 核心的イノベーション
**Zero-Shot Transfer**:Fine-tuningなしで新しいドメインに即座に適用
- エッジ検出(BSDS500 ODS: 0.768)
- Object Proposal生成(LVIS AR@1000: 59.3)
- 医療画像、衛星画像、水中写真、顕微鏡画像など
**ベンチマーク性能**:
- 23データセットのZero-Shot評価で**16個**で既存SOTA(RITM)を超過
- Oracle選択時**23個すべて**でRITMを超過
- 人種/性別等の人口統計グループ間での性能偏差なし(公正性検証)
2.6 インストールと実行
インストール
pip install git+https://github.com/facebookresearch/segment-anything.git
オプション依存関係
pip install opencv-python pycocotools matplotlib onnxruntime onnx
**チェックポイントのダウンロード:**
| モデル | ファイル |
| ------------- | ---------------------- |
| ViT-H(既定) | `sam_vit_h_4b8939.pth` |
| ViT-L | `sam_vit_l_0b3195.pth` |
| ViT-B | `sam_vit_b_01ec64.pth` |
**プロンプトベースのセグメンテーション:**
from segment_anything import SamPredictor, sam_model_registry
モデルの読み込み
sam = sam_model_registry["vit_h"](checkpoint="sam_vit_h_4b8939.pth")
sam.to(device="cuda")
予測器の作成
predictor = SamPredictor(sam)
画像の設定(画像埋め込みを1回計算)
predictor.set_image(image) # numpy array (H, W, 3) RGB
ポイントプロンプトで予測
masks, scores, logits = predictor.predict(
point_coords=np.array([[500, 375]]), # (N, 2) 座標
point_labels=np.array([1]), # 1=前景, 0=背景
multimask_output=True, # 3つの候補マスクを返す
)
**自動マスク生成(Segment Everything):**
from segment_anything import SamAutomaticMaskGenerator, sam_model_registry
sam = sam_model_registry["vit_h"](checkpoint="sam_vit_h_4b8939.pth")
sam.to(device="cuda")
mask_generator = SamAutomaticMaskGenerator(sam)
masks = mask_generator.generate(image)
各マスク: segmentation, area, bbox, predicted_iou, stability_score
3. SAM 2: Segment Anything in Images and Videos (2024)
3.1 論文情報
- **タイトル**: SAM 2: Segment Anything in Images and Videos
- **著者**: Nikhila Ravi, Valentin Gabeur, Yuan-Ting Hu 他15名 (Meta AI Research)
- **発表**: 2024年8月 (arXiv)、2024年10月改訂
- **論文**: [arxiv.org/abs/2408.00714](https://arxiv.org/abs/2408.00714)
- **GitHub**: [github.com/facebookresearch/sam2](https://github.com/facebookresearch/sam2)
- **プロジェクトページ**: [ai.meta.com/sam2](https://ai.meta.com/sam2/)
- **ライセンス**: Apache 2.0
3.2 SAM 1から何が変わったか
SAM 2の核心的な問い:**「画像だけで行うセグメンテーションを動画に拡張できるか?」**
| 比較項目 | SAM 1 | SAM 2 |
| ---------------- | ---------------------- | ---------------------------------- |
| 入力 | 単一画像 | 画像+動画 |
| 画像エンコーダ | ViT(MAE事前学習) | **Hiera**(階層的、MAE事前学習) |
| 時間モデリング | なし | **Memory Attentionメカニズム** |
| 推論速度 | プロンプトあたり約50ms | 画像で**6倍高速** |
| Occlusion処理 | 不可 | **Occlusion Head** |
| インタラクション | 画像でプロンプト | 動画の**任意フレーム**でプロンプト |
3.3 アーキテクチャ詳細
┌────────────────────────────────────────────────────────────────────┐
│ SAM 2 Streaming Architecture │
│ │
│ フレームt-2 フレームt-1 フレームt(現在) │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────┐ ┌──────┐ ┌──────────────┐ │
│ │Hiera │ │Hiera │ │ Hiera Image │ │
│ │Enc. │ │Enc. │ │ Encoder │ │
│ └──┬───┘ └──┬───┘ └──────┬───────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────┐ │
│ │ Memory Bank │ │
│ │ ┌──────────────┐ ┌───────────────────┐ │ │
│ │ │ FIFO Queue │ │ Prompted Frames │ │ │
│ │ │ (N個の最近 │ │ (M個のプロンプト │ │ │
│ │ │ フレーム) │ │ フレーム) │ │ │
│ │ └──────────────┘ └───────────────────┘ │ │
│ │ ┌──────────────────────────────────────┐│ │
│ │ │ Object Pointers (256-dim) ││ │
│ │ └──────────────────────────────────────┘│ │
│ └──────────────────┬───────────────────────┘ │
│ ▼ │
│ ┌──────────────────────────────┐ ┌───────────────┐ │
│ │ Memory Attention Module │←──│Prompt Encoder │ │
│ │ (L Transformer Blocks: │ │(Point/Box/ │ │
│ │ Self-Attn + Cross-Attn) │ │ Mask) │ │
│ └──────────────┬───────────────┘ └───────────────┘ │
│ ▼ │
│ ┌──────────────────────────┐ │
│ │ Mask Decoder │──→ マスク + IoU + Occlusion Score │
│ │ (+ Skip Connections) │ │
│ └──────────────────────────┘ │
└────────────────────────────────────────────────────────────────────┘
Hiera画像エンコーダ
SAM 1のViTを**Hiera(階層的ViT)**に置き換えた。
- Stage 3+4(stride 16, 32) → FPNで融合 → 画像埋め込み(Memory Attention入力)
- Stage 1+2(stride 4, 8) → マスクデコーダのアップサンプリングレイヤにSkip Connection
- Windowed Absolute Positional Embeddingを使用
Memoryメカニズム(核心的イノベーション)
**Memory Encoder**:各フレーム処理後、フレーム特徴と予測マスクをMemory Bankに保存(64次元に投影)
**Memory Bank**の構造:
- **FIFO Queue**:最近N個の非プロンプトフレーム → 時間的コンテキストの維持
- **Prompted Frames**:最大M個のプロンプトフレーム → ユーザーガイダンスの保存
- **Object Pointers**:256次元ベクトル → 追跡オブジェクトの高水準意味情報
**Memory Attention Module**:L個のTransformerブロック
- Self-Attention:現在のフレーム特徴内部
- Cross-Attention:Memory Bankの過去フレーム+Object Pointerとのインタラクション
Occlusion Prediction Head
動画でオブジェクトが遮蔽されたり画面外に出る状況の処理:
- フレームごとに**可視性スコア**を出力
- 遮蔽されたオブジェクト → ノイズ予測の抑制
- 再出現時 → Memory Bankを通じて**即座に再識別**
3.4 SA-Vデータセット
| 項目 | 数値 |
| ----------------------- | --------------------------------- |
| 動画数 | 50,900本 |
| 総時間 | 約196時間 |
| 総フレーム | 約420万 |
| Spatio-temporal Masklet | 642,600個 |
| 総マスク数 | **3,550万個** |
| 解像度 | 240p~4K(平均1,401×1,037) |
| 平均長さ | 約14秒 |
| シーン分布 | 屋内54%、屋外46% |
| 地理的多様性 | 47カ国 |
| 既存比の規模 | 動画4.5倍、アノテーション**53倍** |
**Data Engine 3段階:**
| 段階 | 方法 | 速度 | 生産量 |
| ------- | ---------------- | --------------------------- | ------------- |
| Phase 1 | SAM per Frame | 37.8秒/フレーム | 16K masklet |
| Phase 2 | SAM + SAM 2 Mask | 7.4秒/フレーム(5.1倍向上) | 63.5K masklet |
| Phase 3 | Full SAM 2 | 最速 | 残り全部 |
3.5 モデルバリアントと性能
**SAM 2.1**(2024年9月リリース、最新推奨バージョン):
| モデル | パラメータ | FPS (A100) | SA-V Test (J&F) | MOSE Val (J&F) |
| ---------------------- | ---------- | ---------- | --------------- | -------------- |
| sam2.1_hiera_tiny | 38.9M | **91.2** | 76.5 | 71.8 |
| sam2.1_hiera_small | 46.0M | 84.8 | 76.6 | 73.5 |
| sam2.1_hiera_base_plus | 80.8M | 64.1 | 78.2 | 73.7 |
| sam2.1_hiera_large | 224.4M | 39.5 | **79.5** | **74.6** |
**主要ベンチマーク:**
| ベンチマーク | SAM 2 (J&F) | 既存SOTA比 |
| -------------- | ----------- | ---------- |
| MOSE val | 77.9% | **+6.2%** |
| DAVIS 2017 val | 90.7% | **+2.6%** |
- 画像セグメンテーション:SAM 1比**6倍高速**でありながら精度も向上
- インタラクション効率:同品質達成に**3倍少ないユーザー介入**
3.6 インストールと実行
インストール
git clone https://github.com/facebookresearch/sam2.git && cd sam2
pip install -e .
チェックポイントのダウンロード
cd checkpoints && ./download_ckpts.sh && cd ..
**画像セグメンテーション:**
from sam2.build_sam import build_sam2
from sam2.sam2_image_predictor import SAM2ImagePredictor
checkpoint = "./checkpoints/sam2.1_hiera_large.pt"
model_cfg = "configs/sam2.1/sam2.1_hiera_l.yaml"
predictor = SAM2ImagePredictor(build_sam2(model_cfg, checkpoint))
with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
predictor.set_image(image)
masks, _, _ = predictor.predict(
point_coords=np.array([[500, 375]]),
point_labels=np.array([1]),
)
**動画セグメンテーション:**
from sam2.build_sam import build_sam2_video_predictor
checkpoint = "./checkpoints/sam2.1_hiera_large.pt"
model_cfg = "configs/sam2.1/sam2.1_hiera_l.yaml"
predictor = build_sam2_video_predictor(model_cfg, checkpoint)
with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
state = predictor.init_state(video_path)
特定フレームにプロンプトを追加
frame_idx, object_ids, masks = predictor.add_new_points_or_box(
state, frame_idx=0, obj_id=1,
points=np.array([[500, 375]]),
labels=np.array([1]),
)
動画全体に伝播
for frame_idx, object_ids, masks in predictor.propagate_in_video(state):
各フレームのマスクを処理
process_masks(frame_idx, masks)
**Hugging Face統合:**
from sam2.sam2_image_predictor import SAM2ImagePredictor
predictor = SAM2ImagePredictor.from_pretrained("facebook/sam2-hiera-large")
from sam2.sam2_video_predictor import SAM2VideoPredictor
predictor = SAM2VideoPredictor.from_pretrained("facebook/sam2-hiera-large")
4. SAM 3: Segment Anything with Concepts (2025)
4.1 論文情報
- **タイトル**: SAM 3: Segment Anything with Concepts
- **著者**: Nicolas Carion, Laura Gustafson, Yuan-Ting Hu 他35名 (Meta AI Research)
- **発表**: 2025年11月20日 (arXiv)、**ICLR 2026 採択**
- **論文**: [arxiv.org/abs/2511.16719](https://arxiv.org/abs/2511.16719)
- **GitHub**: [github.com/facebookresearch/sam3](https://github.com/facebookresearch/sam3)
- **プロジェクトページ**: [ai.meta.com/sam3](https://ai.meta.com/sam3/)
- **ライセンス**: Apache 2.0
4.2 パラダイムシフト:Where → What
SAM 1とSAM 2は**「どこを」**セグメンテーションするかを指示する幾何学的プロンプト(ポイント、ボックス)に依存していた。SAM 3は根本的に異なる問いを投げかける:**「何を」**セグメンテーションするか?
SAM 1: ポイント/ボックス → 「この位置のオブジェクトを分離して」
SAM 2: ポイント/ボックス + 動画追跡 → 「このオブジェクトを動画で追いかけて」
SAM 3: テキスト/画像例示 → 「この概念に該当するすべてを見つけて」
**Promptable Concept Segmentation(PCS)** — SAM 3が提案した新しいタスク:
- **テキストプロンプト**:自然言語の名詞句(例:"yellow school bus")
- **画像例示(Exemplar)**:視覚的な例示画像
- **結合プロンプト**:テキスト+Exemplarの同時使用
- **従来のプロンプト**:ポイント、ボックス、マスク(SAM 2との後方互換性)
4.3 アーキテクチャ詳細
**総パラメータ:848M(約3.4 GB)**
┌───────────────────────────────────────────────────────────────────────┐
│ SAM 3 Architecture │
│ │
│ ┌────────────┐ ┌────────────┐ ┌──────────────────┐ │
│ │ Text │ │ Exemplar │ │ Visual Prompts │ │
│ │ Encoder │ │ Encoder │ │ (Point/Box/Mask) │ │
│ │ "school │ │ [画像] │ │ │ │
│ │ bus" │ │ │ │ │ │
│ └─────┬──────┘ └─────┬──────┘ └────────┬─────────┘ │
│ └────────────┬───┘ │ │
│ ▼ │ │
│ ┌──────────────────────────────┐ │ │
│ │ Meta Perception Encoder │ │ │
│ │ (Vision-Language共同空間) │ │ │
│ └──────────────┬───────────────┘ │ │
│ │ │ │
│ ┌────────┴────────┐ │ │
│ ▼ ▼ │ │
│ ┌───────────┐ ┌─────────────────┐ │ │
│ │ Presence │ │ Fusion Encoder │ │ │
│ │ Head │ │ (条件付き特徴) │ │ │
│ │ "有/無" │ └────────┬────────┘ │ │
│ └───────────┘ │ │ │
│ ▼ │ │
│ ┌──────────────────┐ │ │
│ │ DETR Detector │←────────┘ │
│ │ (Transformer │ │
│ │ ベース検出) │ │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────┐ │
│ │ SAM 2-inspired Tracker │ │
│ │ (Memory Bank+時間的一貫性) │ │
│ └──────────────────┬───────────────────┘ │
│ ▼ │
│ マスク+ボックス+スコア │
└───────────────────────────────────────────────────────────────────────┘
核心的イノベーション:Presence Head
**Presence Head**はSAM 3の最も重要なアーキテクチャ上のイノベーションである。**認識(Recognition)**と**位置特定(Localization)**を分離する。
従来方式: 検出器が「探す」と「存在判断」を同時に実行 → 最適化の衝突
SAM 3: Presence Headが「存在するか」をまず判断 → 検出器は「探す」ことだけに集中
**効果:**
| 構成 | CGF1 |
| --------------------- | ----------------------- |
| Presence Headなし | 57.6 |
| **Presence Headあり** | **63.3(+5.7, +9.9%)** |
Decoupled Detector-Tracker設計
SAM 2のモノリシック構造とは異なり、SAM 3はDetectionとTrackingを**独立モジュール**として分離:
- 共有:バックボーン(Perception Encoder)
- 分離:デコーダヘッド(検出 vs 追跡)
- 利点:タスク間の干渉減少、独立したスケーリングが可能
学習パイプライン(4段階)
| 段階 | 内容 |
| ---- | --------------------------------------- |
| 1 | Perception Encoderの事前学習 |
| 2 | Detectorの事前学習 |
| 3 | SA-CoデータでDetectorのFine-tuning |
| 4 | バックボーン固定(frozen)後Tracker学習 |
4.4 SA-Coデータセット
SAM 3は**SA-Co(Segment Anything with Concepts)**という史上最大・最多様なセグメンテーションデータセットで学習した。
学習データ
| サブセット | 内容 |
| --------------- | ------------------------------------------------------- |
| **SA-Co/HQ** | 520万枚の高品質画像、400万固有名詞句、5,200万マスク |
| **SA-Co/SYN** | 3,800万の合成フレーズ、**14億マスク**(大規模事前学習) |
| **SA-Co/VIDEO** | 52,500本の動画、24,800の固有概念、467,000以上のmasklet |
**総オントロジー:2,200万エンティティ**(17の上位カテゴリ、72の下位カテゴリ)
評価ベンチマーク
| ベンチマーク | 説明 |
| ------------ | ------------------------------------------- |
| SA-Co/Gold | 7つの多重レビュー画像サブセット(最高品質) |
| SA-Co/Silver | 10のドメイン特化画像サブセット |
| SA-Co/VEval | 3つの動画評価サブセット |
- **214,000の固有フレーズ**、**126,000の画像/動画** → 既存のCOCO/LVIS比**50倍以上多様な概念**
追加公開データセット
- **SA-FARI**:10,000本以上の野生動物カメラトラップ動画(100種以上のアノテーション)
- **FathomNet**:海洋画像の水中セグメンテーションベンチマーク
4.5 性能ベンチマーク
画像セグメンテーション(Zero-Shot)
| ベンチマーク | メトリック | SAM 3 | 既存最高 | 向上 |
| -------------- | ---------- | -------- | ------------- | ------------------- |
| **LVIS** | Mask AP | **47.0** | 38.5 (T-Rex2) | +22.1% |
| **COCO** | Box AP | **53.5** | 52.2 | +2.5% |
| **SA-Co/Gold** | CGF1 | **65.0** | 34.3 | **+89.5%(約2倍)** |
| ODinW | vs T-Rex2 | - | - | **+20.1 AP** |
動画セグメンテーション
| ベンチマーク | SAM 3 (J&F) | SAM 2.1 Large | 向上 |
| -------------- | ----------- | ------------- | ---------- |
| **MOSEv2** | **60.1** | 47.9 | **+25.5%** |
| **DAVIS 2017** | **92.0** | 90.7 | +1.4% |
| **LVOSv2** | **88.2** | 79.6 | **+10.8%** |
Exemplar活用効果
| プロンプト構成 | CGF1 | テキスト比の向上 |
| ------------------------ | -------- | ---------------- |
| テキストのみ | 46.4 | - |
| テキスト+1 Exemplar | 57.6 | +11.2 |
| **テキスト+3 Exemplar** | **65.0** | **+18.6** |
速度と効率
- 推論速度:H200 GPUで画像あたり**約30ms**(100以上のオブジェクト検出を含む)
- モデルサイズ:848Mパラメータ(約3.4 GB)
- **16GB GPUで実行可能**
- 人間の性能比:SA-Co/Goldで人間の下限の**88%**を達成
4.6 インストールと実行
公式リポジトリ
環境の作成
conda create -n sam3 python=3.12
conda activate sam3
PyTorchのインストール
pip install torch==2.7.0 torchvision torchaudio \
--index-url https://download.pytorch.org/whl/cu126
SAM 3のインストール
git clone https://github.com/facebookresearch/sam3.git
cd sam3
pip install -e .
オプション:ノートブックまたは開発用
pip install -e ".[notebooks]"
pip install -e ".[train,dev]"
**画像セグメンテーション(テキストプロンプト):**
from PIL import Image
from sam3.model_builder import build_sam3_image_model
from sam3.model.sam3_image_processor import Sam3Processor
model = build_sam3_image_model()
processor = Sam3Processor(model)
image = Image.open("path/to/image.jpg")
テキストプロンプトで概念セグメンテーション
inference_state = processor.set_image(image)
output = processor.set_text_prompt(
state=inference_state,
prompt="yellow school bus"
)
masks, boxes, scores = output["masks"], output["boxes"], output["scores"]
**動画追跡:**
from sam3.model_builder import build_sam3_video_predictor
video_predictor = build_sam3_video_predictor()
response = video_predictor.handle_request(
request=dict(
type="start_session",
resource_path="path/to/video.mp4"
)
)
Ultralytics統合
pip install -U ultralytics
from ultralytics.models.sam import SAM3SemanticPredictor
overrides = dict(
conf=0.25, task="segment", mode="predict",
model="sam3.pt", half=True
)
predictor = SAM3SemanticPredictor(overrides=overrides)
predictor.set_image("path/to/image.jpg")
複数の概念を同時にセグメンテーション
results = predictor(text=["person", "bus", "glasses"])
5. 3つのモデルの総合比較
5.1 アーキテクチャ比較
| 項目 | SAM 1 | SAM 2 | SAM 3 |
| -------------- | ------------------------------------ | -------------------------- | -------------------------------------------------- |
| 画像エンコーダ | ViT (MAE) | Hiera (MAE) | Meta Perception Encoder |
| パラメータ | 636M (ViT-H) | 224.4M (Hiera-L) | 848M |
| プロンプト | ポイント、ボックス、マスク、テキスト | ポイント、ボックス、マスク | **テキスト、Exemplar**、ポイント、ボックス、マスク |
| 時間モデリング | なし | Memory Attention | Memory + Tracker |
| 検出器 | なし | なし | **DETRベース** |
| Occlusion | 未対応 | Occlusion Head | Occlusion + Presence Head |
| 出力 | マスク+IoU | マスク+IoU+Occlusion | マスク+ボックス+スコア+概念 |
5.2 データセット比較
| 項目 | SA-1B (SAM 1) | SA-V (SAM 2) | SA-Co (SAM 3) |
| ------------ | ---------------------- | ------------ | ----------------------- |
| 画像 | 1,100万 | - | 520万(HQ) |
| 動画 | - | 50,900 | 52,500 |
| マスク | 11億 | 3,550万 | **14億以上(SYN含む)** |
| 概念/ラベル | なし(Class-Agnostic) | なし | **2,200万エンティティ** |
| 固有フレーズ | - | - | 400万 |
5.3 性能の進化
| ベンチマーク | SAM 1 | SAM 2/2.1 | SAM 3 |
| ---------------- | -------- | ---------------- | ---------------------------------- |
| DAVIS 2017 (J&F) | N/A | 90.7 | **92.0** |
| MOSE val (J&F) | N/A | 74.6 | **60.1**(MOSEv2、別ベンチマーク) |
| 画像速度比 | 基準 | **6倍高速** | 約30ms/画像 |
| Zero-Shot能力 | 幾何学的 | 幾何学的+時間的 | **概念レベル** |
6. 実践的な活用シナリオ
6.1 SAM 1が適している場合
- 単一画像で**高速なセグメンテーション**が必要なとき
- インタラクティブなアノテーションツールの構築
- **既存パイプラインに簡単に統合**したいとき(最も成熟したエコシステム)
6.2 SAM 2が適している場合
- **動画オブジェクト追跡**が必要なとき
- リアルタイム動画ストリーミング分析
- 遮蔽(Occlusion)処理が重要なシナリオ
- 画像でもSAM 1より高速な速度が必要なとき
6.3 SAM 3が適している場合
- **自然言語で検索**しながらセグメンテーションしたいとき(「すべての自動車を見つけて」)
- Open-Vocabularyオブジェクト検出+セグメンテーション
- 視覚的例示に基づく**Few-Shotセグメンテーション**
- 大規模な画像/動画の自動ラベリング
6.4 実際の導入事例(SAM 3)
- **Instagram Editsアプリ**:動画内の特定の人物/オブジェクトにダイナミックエフェクトを適用
- **Facebook Marketplace「View in Room」**:AR家具配置(SAM 3 + SAM 3D)
- **野生動物保全**:SA-FARIデータセットに基づくカメラトラップモニタリング
7. 学習ロードマップ
SAMシリーズを深く理解し活用するための段階的な学習ガイド。
7.1 前提知識
| 順序 | テーマ | 推奨資料 |
| ---- | ---------------------------- | ----------------------------------------------------------------------------------------------------------- |
| 1 | **Vision Transformer (ViT)** | [An Image is Worth 16x16 Words](https://arxiv.org/abs/2010.11929) |
| 2 | **MAE (Masked Autoencoder)** | [Masked Autoencoders Are Scalable Vision Learners](https://arxiv.org/abs/2111.06377) |
| 3 | **DETR** | [End-to-End Object Detection with Transformers](https://arxiv.org/abs/2005.12872) |
| 4 | **CLIP** | [Learning Transferable Visual Models](https://arxiv.org/abs/2103.00020) |
| 5 | **Hiera** | [Hiera: A Hierarchical Vision Transformer without the Bells-and-Whistles](https://arxiv.org/abs/2306.00989) |
7.2 核心論文の読む順序
1. SAM 1論文 (2023) → 基礎概念の確立
↓
2. SAM 2論文 (2024) → 動画拡張の理解
↓
3. SAM 3論文 (2025) → 概念認識の理解
↓
4. 各GitHubリポジトリのノートブック実習
7.3 実習の推奨
| 段階 | 実習内容 | 難易度 |
| ---- | ------------------------------------------ | ------ |
| 1 | SAM 1 自動マスク生成(Colabノートブック) | 易 |
| 2 | SAM 2 動画追跡実習 | 中 |
| 3 | SAM 3 テキストプロンプトセグメンテーション | 中 |
| 4 | SAM + Grounding DINOパイプライン構築 | 難 |
| 5 | カスタムデータセットのFine-tuning | 難 |
| 6 | ONNX/TensorRT変換およびEdge展開 | 上級 |
7.4 関連する後続研究
| モデル | 特徴 | 論文 |
| ---------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **EfficientSAM** | 軽量化SAM(SAMI蒸留) | [arxiv.org/abs/2312.00863](https://arxiv.org/abs/2312.00863) |
| **FastSAM** | CNNベースのリアルタイムSAM | [arxiv.org/abs/2306.12156](https://arxiv.org/abs/2306.12156) |
| **MobileSAM** | モバイル最適化SAM | [arxiv.org/abs/2306.14289](https://arxiv.org/abs/2306.14289) |
| **Grounded SAM** | Grounding DINO + SAM | [github.com/IDEA-Research/Grounded-Segment-Anything](https://github.com/IDEA-Research/Grounded-Segment-Anything) |
| **SAM-HQ** | 高品質マスクSAM | [arxiv.org/abs/2306.01567](https://arxiv.org/abs/2306.01567) |
| **SAM 3D** | 3Dオブジェクト/人体復元(Meta) | [ai.meta.com/sam3](https://ai.meta.com/sam3/) |
8. References
核心論文
1. Kirillov, A., Mintun, E., Ravi, N., et al. (2023). **"Segment Anything"**. ICCV 2023. [arxiv.org/abs/2304.02643](https://arxiv.org/abs/2304.02643)
2. Ravi, N., Gabeur, V., Hu, Y.-T., et al. (2024). **"SAM 2: Segment Anything in Images and Videos"**. [arxiv.org/abs/2408.00714](https://arxiv.org/abs/2408.00714)
3. Carion, N., Gustafson, L., Hu, Y.-T., et al. (2025). **"SAM 3: Segment Anything with Concepts"**. ICLR 2026. [arxiv.org/abs/2511.16719](https://arxiv.org/abs/2511.16719)
前提知識論文
4. Dosovitskiy, A., et al. (2021). **"An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale"**. ICLR 2021. [arxiv.org/abs/2010.11929](https://arxiv.org/abs/2010.11929)
5. He, K., et al. (2022). **"Masked Autoencoders Are Scalable Vision Learners"**. CVPR 2022. [arxiv.org/abs/2111.06377](https://arxiv.org/abs/2111.06377)
6. Carion, N., et al. (2020). **"End-to-End Object Detection with Transformers (DETR)"**. ECCV 2020. [arxiv.org/abs/2005.12872](https://arxiv.org/abs/2005.12872)
7. Radford, A., et al. (2021). **"Learning Transferable Visual Models From Natural Language Supervision (CLIP)"**. ICML 2021. [arxiv.org/abs/2103.00020](https://arxiv.org/abs/2103.00020)
8. Ryali, C., et al. (2023). **"Hiera: A Hierarchical Vision Transformer without the Bells-and-Whistles"**. ICML 2023. [arxiv.org/abs/2306.00989](https://arxiv.org/abs/2306.00989)
GitHubリポジトリ
9. [github.com/facebookresearch/segment-anything](https://github.com/facebookresearch/segment-anything) — SAM 1
10. [github.com/facebookresearch/sam2](https://github.com/facebookresearch/sam2) — SAM 2
11. [github.com/facebookresearch/sam3](https://github.com/facebookresearch/sam3) — SAM 3
解説およびチュートリアル
12. Ultralytics SAM Documentation — [docs.ultralytics.com/models/sam](https://docs.ultralytics.com/models/sam/)
13. Ultralytics SAM 2 Documentation — [docs.ultralytics.com/models/sam-2](https://docs.ultralytics.com/models/sam-2/)
14. Ultralytics SAM 3 Documentation — [docs.ultralytics.com/models/sam-3](https://docs.ultralytics.com/models/sam-3/)
15. Encord Blog: Segment Anything Model Explained — [encord.com/blog/segment-anything-model-explained](https://encord.com/blog/segment-anything-model-explained/)
16. Roboflow: What is SAM 3 — [blog.roboflow.com/what-is-sam3](https://blog.roboflow.com/what-is-sam3/)
17. Meta AI Blog: Introducing SAM 3 — [ai.meta.com/blog/segment-anything-model-3](https://ai.meta.com/blog/segment-anything-model-3/)
プロジェクトページおよびデータセット
18. Meta AI SAM 2 Project — [ai.meta.com/sam2](https://ai.meta.com/sam2/)
19. Meta AI SAM 3 Project — [ai.meta.com/sam3](https://ai.meta.com/sam3/)
20. SA-1B Dataset — [ai.meta.com/datasets/segment-anything](https://ai.meta.com/datasets/segment-anything/)
21. SA-V Dataset — [ai.meta.com/datasets/segment-anything-video](https://ai.meta.com/datasets/segment-anything-video/)
クイズ
Q1: 「Segment Anything Model 完全攻略:SAM 1 → SAM 2 → SAM 3
論文分析と実践ガイド」の主なトピックは何ですか?
Meta AIのSegment Anything Model(SAM)シリーズを完全攻略する。SAM
1(画像プロンプタブルセグメンテーション)、SAM 2(動画リアルタイムセグメンテーション)、SAM
3(概念認識セグメンテーション)まで、アーキテクチャ、データセット、核心的イノベーション、性能ベンチマーク、そしてインストール・実行方法を総まとめする。
2.1 論文情報 タイトル: Segment Anything 著者: Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi
Mao 他 (Meta AI Research) 発表: 2023年4月 (arXiv)、ICCV 2023 採択 論文: arxiv.org/abs/2304.02643
GitHub: github.com/facebookresearch/segment-anything ライセンス: Apache 2.0 2.2 核心的貢献3つ SAM
1は3つを同時に提案した。
Q3: SAM 2: Segment Anything in Images and Videos (2024)の核心的な概念を説明してください。
3.1 論文情報 タイトル: SAM 2: Segment Anything in Images and Videos 著者: Nikhila Ravi, Valentin
Gabeur, Yuan-Ting Hu 他15名 (Meta AI Research) 発表: 2024年8月 (arXiv)、2024年10月改訂 論文:
arxiv.org/abs/2408.00714 GitHub: github.com/facebookresearch/sam2 プロジェクトページ:
ai.meta.com/sam2 ライセンス: Apache 2.0 3...
4.1 論文情報 タイトル: SAM 3: Segment Anything with Concepts 著者: Nicolas Carion, Laura
Gustafson, Yuan-Ting Hu 他35名 (Meta AI Research) 発表: 2025年11月20日 (arXiv)、ICLR 2026 採択
論文: arxiv.org/abs/2511.16719 GitHub: github.com/facebookresearch/sam3 プロジェクトページ:
ai.meta.com/sam3 ライセンス: Apache 2.0...
5.1 アーキテクチャ比較 5.2 データセット比較 5.3 性能の進化
현재 단락 (1/489)
**Segment Anything Model(SAM)**は、Meta AI Researchが発表した画像・動画セグメンテーション分野のFoundation Modelシリーズである。NLP分野...