SAM 3: コンセプトによるあらゆるもののsegment
Ultralyticsで利用可能になりました
SAM 3は、Ultralyticsパッケージに完全に統合されています。 バージョン8.3.237 (PR #22897)。 pip install -U ultralytics テキストベースの概念segmentation、画像例示プロンプト、ビデオtrackを含むすべてのSAM 3機能にアクセスするには、インストールまたはアップグレードしてください。

SAM 3 (Segment Anything Model 3) は、MetaがリリースしたPromptable Concept Segmentation (PCS)のための基盤モデルです。SAM 2を基盤として、SAM 3は根本的に新しい機能、すなわち、テキストプロンプト、画像例、またはその両方で指定された視覚的概念のすべてのインスタンスをdetect、segment、trackする機能をもたらします。プロンプトごとに単一のオブジェクトをsegmentする以前のSAMバージョンとは異なり、SAM 3は画像やビデオのどこに現れる概念でも、そのすべての出現を見つけてsegmentすることができ、現代のinstance segmentationにおけるオープンボキャブラリーの目標と一致します。
見る: UltralyticsでMeta Segment Anything 3を使用する方法 | 画像とビデオでのテキストプロンプトsegmentation
SAM 3は現在、 ultralytics パッケージに完全に統合されており、テキストプロンプトによる概念segmentation、画像例示プロンプト、およびビデオtrack機能のネイティブサポートを提供します。
概要
SAM 3は、Promptable Concept Segmentationにおいて既存システムに対して2倍の性能向上を達成し、インタラクティブなビジュアル segmentationにおけるSAM 2の機能を維持し、さらに向上させています。このモデルはオープンボキャブラリー segmentation に優れており、ユーザーはシンプルな名詞句(例:「黄色いスクールバス」、「縞模様の猫」)を使用するか、ターゲットオブジェクトの例となる画像を提供することで、概念を指定できます。これらの機能は、合理化されたpredictおよびtrackワークフローに依存する本番環境対応のパイプラインを補完します。

プロンプト可能なコンセプトsegmentation (PCS) とは何ですか?
PCSタスクは入力としてコンセプトプロンプトを受け取り、すべての一致するオブジェクトインスタンスに対して一意のIDを持つsegmentationマスクを返します。コンセプトプロンプトは以下のようになります。
- テキスト: 「赤いリンゴ」や「帽子をかぶった人」のような単純な名詞句で、ゼロショット学習に類似
- 画像例: 高速な汎化のために、例となるオブジェクト(肯定的または否定的)の周囲のバウンディングボックス
- 組み合わせ: 正確な制御のために、テキストと画像例の両方を組み合わせる
これは、オリジナルのSAMファミリーによって普及した、単一の特定のオブジェクトインスタンスのみをsegmentする従来の視覚プロンプト(点、ボックス、マスク)とは異なります。
主要なパフォーマンスメトリクス
| メトリック | SAM 3の成果 |
|---|---|
| LVIS Zero-Shot Mask AP | 47.0 (以前の最高38.5と比較して、+22%の改善) |
| SA-Coベンチマーク | 既存のシステムより2倍優れている |
| 推論速度 (H200 GPU) | 100個以上のdetectされたオブジェクトを含む画像あたり30 ms |
| ビデオパフォーマンス | 約5つの同時オブジェクトに対してほぼリアルタイム |
| MOSEv2 VOSベンチマーク | 60.1 J&F (SAM 2.1より+25.5%、従来のSOTAより+17%) |
| インタラクティブな改良 | +18.6 CGF1、3つの模範的なプロンプトの後に改善 |
| 人間とのパフォーマンスギャップ | SA-Co/Goldにおける推定下限の88%を達成 |
モデルのメトリクスと本番環境でのトレードオフに関する詳細については、モデル評価のインサイトおよびYOLOパフォーマンスメトリクスを参照してください。
アーキテクチャ
SAM 3は、Perception Encoder (PE) ビジョンバックボーンを共有するdetectorとtrackerで構成されています。このデカップリングされた設計により、タスクの競合を回避しつつ、画像レベルのdetectとビデオレベルのtrackの両方を可能にし、UltralyticsのPython使用法およびCLI使用法と互換性のあるインターフェースを提供します。
コアコンポーネント
detector: 画像レベルの概念detectのためのDETRベースのアーキテクチャ
- 名詞句プロンプト用テキストエンコーダ
- 画像ベースプロンプト用エグザンプラエンコーダ
- プロンプトに基づいて画像特徴を条件付けるフュージョンエンコーダ
- 認識(「何を」)と位置特定(「どこに」)をデカップリングする新しい存在ヘッド
- インスタンスsegmentationマスク生成用マスクヘッド
tracker: SAM 2から継承されたメモリベースのビデオsegmentation
- プロンプトエンコーダ、マスクデコーダ、メモリエンコーダ
- フレーム間でオブジェクトの外観を保存するためのメモリバンク
- マルチオブジェクト設定におけるカルマンフィルターなどの技術によって支援される時間的曖昧さ解消
存在トークン: ターゲットとなる概念が画像/フレーム内に存在するかどうかを予測する学習済みのグローバルトークンで、認識と位置特定を分離することでdetect性能を向上させます。

主要なイノベーション
- デカップリングされた認識と位置特定: 存在ヘッドは概念の存在をグローバルに予測し、提案クエリは位置特定のみに焦点を当てることで、目的の競合を回避します。
- 統合された概念プロンプトと視覚プロンプト: PCS(概念プロンプト)とPVS(SAM 2のクリック/ボックスのような視覚プロンプト)の両方を単一モデルでサポートします。
- インタラクティブなエグザンプラによる改善: ユーザーは肯定的または否定的な画像エグザンプラを追加して結果を繰り返し改善でき、モデルは個々のインスタンスを修正するだけでなく、類似のオブジェクトに一般化します。
- 時間的曖昧さ解消: マスクレットのdetectスコアと定期的な再プロンプトを使用して、ビデオ内のオクルージョン、混雑したシーン、およびtrackの失敗に対処し、インスタンスsegmentationとtrackのベストプラクティスに準拠します。
SA-Coデータセット
SAM 3は、Metaがこれまでにリリースした中で最大かつ最も多様なセグメンテーションデータセットであるSegment Anything with Concepts (SA-Co)でトレーニングされており、COCOやLVISのような一般的なベンチマークを超えて拡張されています。
学習データ
| データセットコンポーネント | 説明 | スケール |
|---|---|---|
| SA-Co/HQ | 4段階データエンジンからの高品質な人間アノテーション付き画像データ | 5.2M 画像、4M ユニークな名詞句 |
| SA-Co/SYN | 人間の介入なしにAIによってラベル付けされた合成データセット | 38M 名詞句, 1.4B マスク |
| SA-Co/EXT | ハードネガティブで強化された15個の外部データセット | ソースによって異なる |
| SA-Co/VIDEO | 時間的なtrackを伴う動画アノテーション | 52.5K ビデオ、24.8K ユニークな名詞句 |
ベンチマークデータ
既存のベンチマークよりも50倍以上の概念を提供するSA-Co評価ベンチマークには、126Kの画像と動画にわたる214Kのユニークなフレーズが含まれています。内訳は以下の通りです。
- SA-Co/Gold: 7つのドメイン、人間の性能限界を測定するためにトリプルアノテーション済み
- SA-Co/Silver: 10のドメイン、単一の人間によるアノテーション
- SA-Co/BronzeおよびSA-Co/Bio: 概念segmentation用に適合された9つの既存データセット
- SA-Co/VEval: 3つのドメイン(SA-V、YT-Temporal-1B、SmartGlasses)を持つ動画ベンチマーク
データエンジンイノベーション
SAM 3のスケーラブルなヒューマン・イン・ザ・ループおよびモデル・イン・ザ・ループデータエンジンは、以下の方法で2倍のアノテーションスループットを達成します。
- AIアノテーター: Llamaベースのモデルは、難しいネガティブを含む多様な名詞句を提案します
- AI検証者: ファインチューニングされたマルチモーダルLLMは、ほぼ人間のパフォーマンスでマスクの品質と網羅性を検証します
- アクティブマイニング: AIが苦戦する困難な失敗事例に人間の労力を集中させます
- オントロジー駆動: Wikidataに基づいた大規模なオントロジーを活用し、概念の網羅性を高める
インストール
SAM 3はUltralyticsのバージョン8.3.237以降で利用可能です。インストールまたはアップグレードするには:
pip install -U ultralytics
SAM 3モデルウェイトが必要
他のUltralyticsモデルとは異なり、SAM 3のウェイト(sam3.pt)は 自動的にダウンロードされません. モデルの重みへのアクセスを、まず最初に以下の場所でリクエストする必要があります。 Hugging Face上のSAM 3モデルページ そして、承認されたら、ダウンロードしてください。 sam3.pt ファイル. ダウンロードしたファイルを配置してください。 sam3.pt ファイルを作業ディレクトリに置くか、モデルをロードする際にフルパスを指定してください。
TypeError: 'SimpleTokenizer' object is not callable
予測中に上記のエラーが発生した場合、それは誤った clip パッケージがインストールされています。正しいパッケージをインストールしてください。 clip 以下のコマンドを実行してパッケージをインストールします:
pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.git
SAM 3の使用方法:コンセプトsegmentにおける汎用性
SAM 3は、異なる予測インターフェースを介して、Promptable Concept Segmentation (PCS) と Promptable Visual Segmentation (PVS) の両タスクをサポートしています。
サポートされているタスクとモデル
| タスクタイプ | プロンプトタイプ | 出力 |
|---|---|---|
| 概念segmentation (PCS) | テキスト(名詞句)、画像例 | 概念に一致するすべてのインスタンス |
| 視覚segmentation (PVS) | 点、ボックス、マスク | 単一オブジェクトインスタンス (SAM 2スタイル) |
| インタラクティブな改良 | エグゼンプラーまたはクリックを反復的に追加/削除 | 精度が向上した精緻化されたsegmentation |
コンセプトsegmentの例
テキストプロンプトによるsegment
テキストベースのコンセプトsegmentation
テキスト記述を使用して、コンセプトのすべてのインスタンスを見つけてsegmentします。テキストプロンプトには SAM3SemanticPredictor インターフェースが必要です。
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor with configuration
overrides = dict(
conf=0.25,
task="segment",
mode="predict",
model="sam3.pt",
half=True, # Use FP16 for faster inference
save=True,
)
predictor = SAM3SemanticPredictor(overrides=overrides)
# Set image once for multiple queries
predictor.set_image("path/to/image.jpg")
# Query with multiple text prompts
results = predictor(text=["person", "bus", "glasses"])
# Works with descriptive phrases
results = predictor(text=["person with red cloth", "person with blue cloth"])
# Query with a single concept
results = predictor(text=["a person"])
画像例によるsegment
画像エグゼンプラーベースのsegmentation
バウンディングボックスを視覚プロンプトとして使用し、すべての類似インスタンスを見つけます。これには、コンセプトベースのマッチングのために SAM3SemanticPredictor も必要です。
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True, save=True)
predictor = SAM3SemanticPredictor(overrides=overrides)
# Set image
predictor.set_image("path/to/image.jpg")
# Provide bounding box examples to segment similar objects
results = predictor(bboxes=[[480.0, 290.0, 590.0, 650.0]])
# Multiple bounding boxes for different concepts
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]])
効率のための特徴ベース推論
複数のクエリに対する画像特徴の再利用
画像特徴を一度抽出し、複数のセグメンテーションクエリに再利用することで効率を向上させます。
import cv2
from ultralytics.models.sam import SAM3SemanticPredictor
from ultralytics.utils.plotting import Annotator, colors
# Initialize predictors
overrides = dict(conf=0.50, task="segment", mode="predict", model="sam3.pt", verbose=False)
predictor = SAM3SemanticPredictor(overrides=overrides)
predictor2 = SAM3SemanticPredictor(overrides=overrides)
# Extract features from the first predictor
source = "path/to/image.jpg"
predictor.set_image(source)
src_shape = cv2.imread(source).shape[:2]
# Setup second predictor and reuse features
predictor2.setup_model()
# Perform inference using shared features with text prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, text=["person"])
# Perform inference using shared features with bounding box prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, bboxes=[[439, 437, 524, 709]])
# Visualize results
if masks is not None:
masks, boxes = masks.cpu().numpy(), boxes.cpu().numpy()
im = cv2.imread(source)
annotator = Annotator(im, pil=False)
annotator.masks(masks, [colors(x, True) for x in range(len(masks))])
cv2.imshow("result", annotator.result())
cv2.waitKey(0)
ビデオコンセプトsegment
バウンディングボックスでビデオ全体のコンセプトをTrackする
視覚プロンプトによるビデオトラッキング
バウンディングボックスプロンプトを使用して、ビデオフレーム全体でオブジェクトインスタンスをDetectし、trackします。
from ultralytics.models.sam import SAM3VideoPredictor
# Create video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True)
predictor = SAM3VideoPredictor(overrides=overrides)
# Track objects using bounding box prompts
results = predictor(source="path/to/video.mp4", bboxes=[[706.5, 442.5, 905.25, 555], [598, 635, 725, 750]], stream=True)
# Process and display results
for r in results:
r.show() # Display frame with segmentation masks
テキストプロンプトでコンセプトをTrackする
セマンティッククエリによるビデオトラッキング
ビデオフレーム全体で、テキストで指定されたすべての概念インスタンスをtrackします。
from ultralytics.models.sam import SAM3VideoSemanticPredictor
# Initialize semantic video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", imgsz=640, model="sam3.pt", half=True, save=True)
predictor = SAM3VideoSemanticPredictor(overrides=overrides)
# Track concepts using text prompts
results = predictor(source="path/to/video.mp4", text=["person", "bicycle"], stream=True)
# Process results
for r in results:
r.show() # Display frame with tracked objects
# Alternative: Track with bounding box prompts
results = predictor(
source="path/to/video.mp4",
bboxes=[[864, 383, 975, 620], [705, 229, 782, 402]],
labels=[1, 1], # Positive labels
stream=True,
)
ビジュアルプロンプト (SAM 2互換性)
SAM 3は、単一オブジェクトのsegmentationにおけるSAM 2のビジュアルプロンプトとの完全な後方互換性を維持しています。
SAM 2スタイル ビジュアルプロンプト
基本的な SAM インターフェースはSAM 2とまったく同じように動作し、ビジュアルプロンプト(点、ボックス、またはマスク)で示された特定の領域のみをsegmentします。
from ultralytics import SAM
model = SAM("sam3.pt")
# Single point prompt - segments object at specific location
results = model.predict(source="path/to/image.jpg", points=[900, 370], labels=[1])
results[0].show()
# Multiple points - segments single object with multiple point hints
results = model.predict(source="path/to/image.jpg", points=[[400, 370], [900, 370]], labels=[1, 1])
# Box prompt - segments object within bounding box
results = model.predict(source="path/to/image.jpg", bboxes=[100, 150, 300, 400])
results[0].show()
ビジュアルプロンプト 対 概念segmentation
使用 SAM("sam3.pt") ビジュアルプロンプト(点/ボックス/マスク)を使用するとsegmentするのは 特定のオブジェクトのみ であり、SAM 2と同様にその場所にあります。概念の すべてのインスタンスをsegmentするには、を使用します。 SAM3SemanticPredictor 上記のようにテキストまたは例示プロンプトを使用します。
パフォーマンスベンチマーク
画像segment
SAM 3は、LVISやCOCO for segmentationなどの実世界データセットを含む、複数のベンチマークで最先端の結果を達成しています。
| ベンチマーク | メトリック | SAM 3 | 以前の最高値 | 改善 |
|---|---|---|---|---|
| LVIS (ゼロショット) | Mask AP | 47.0 | 38.5 | +22.1% |
| SA-Co/Gold | CGF1 | 65.0 | 34.3 (OWLv2) | +89.5% |
| COCO(ゼロショット) | Box AP | 53.5 | 52.2 (T-Rex2) | +2.5% |
| ADE-847 (セマンティックseg) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58.5 (APE-D) | +1.5% |
| Cityscapes (セマンティックseg) | mIoU | 65.1 | 44.2 (APE-D) | +47.3% |
Ultralyticsデータセットで迅速な実験を行うためのデータセットオプションを探索してください。
ビデオsegment性能
SAM 3は、DAVIS 2017やYouTube-VOSなどのビデオベンチマーク全体で、SAM 2および以前の最先端技術と比較して大幅な改善を示しています。
| ベンチマーク | メトリック | SAM 3 | SAM 2.1 L | 改善 |
|---|---|---|---|---|
| MOSEv2 | J&F | 60.1 | 47.9 | +25.5% |
| DAVIS 2017 | J&F | 92.0 | 90.7 | +1.4% |
| LVOSv2 | J&F | 88.2 | 79.6 | +10.8% |
| SA-V | J&F | 84.6 | 78.4 | +7.9% |
| YTVOS19 | J&F | 89.6 | 89.3 | +0.3% |
Few-Shot適応
SAM 3は、最小限の例で新しいドメインへの適応に優れており、データ中心のAIワークフローに関連しています。
| ベンチマーク | 0-shot AP | 10-shot AP | 以前の最高性能 (10ショット) |
|---|---|---|---|
| ODinW13 | 59.9 | 71.6 | 67.9 (gDino1.5-Pro) |
| RF100-VL | 14.3 | 35.7 | 33.7 (gDino-T) |
対話型リファインメントの有効性
SAM 3の例を用いたコンセプトベースのプロンプティングは、ビジュアルプロンプティングよりもはるかに速く収束します。
| 追加されたプロンプト | CGF1スコア | テキストのみとの比較でのゲイン | PVSベースラインとの比較でのゲイン |
|---|---|---|---|
| テキストのみ | 46.4 | ベースライン | ベースライン |
| +1 例 | 57.6 | +11.2 | +6.7 |
| +2 例 | 62.2 | +15.8 | +9.7 |
| +3 例 | 65.0 | +18.6 | +11.2 |
| +4 例 | 65.7 | +19.3 | +11.5 (プラトー) |
オブジェクト計数精度
SAM 3は、全てのインスタンスをsegmentすることで正確なカウントを提供します。これはオブジェクトカウントにおける一般的な要件です。
| ベンチマーク | 精度 | MAE | 最良のMLLMとの比較 |
|---|---|---|---|
| CountBench | 95.6% | 0.11 | 92.4% (Gemini 2.5) |
| PixMo-Count | 87.3% | 0.22 | 88.8% (Molmo-72B) |
SAM 3 vs SAM 2 vs YOLO比較
ここでは、SAM 3の機能をSAM 2およびYOLO11モデルと比較します。
| 機能 | SAM 3 | SAM 2 | YOLO11n-seg |
|---|---|---|---|
| 概念セグメンテーション | ✅ テキスト/例示からのすべてのインスタンス | ❌ サポートされていません | ❌ サポートされていません |
| ビジュアルセグメンテーション | ✅ 単一インスタンス (SAM 2互換) | ✅ 単一インスタンス | ✅ すべてのインスタンス |
| ゼロショット機能 | ✅ オープンボキャブラリー | ✅ 幾何学的プロンプト | ❌ クローズドセット |
| インタラクティブな改良 | ✅ 例示 + クリック | ✅ クリックのみ | ❌ サポートされていません |
| ビデオトラッキング | ✅ 複数オブジェクト (ID付き) | ✅ 複数オブジェクト | ✅ 複数オブジェクト |
| LVIS Mask AP(ゼロショット) | 47.0 | N/A | N/A |
| MOSEv2 J&F | 60.1 | 47.9 | N/A |
| 推論速度 (H200) | 30 ms (100個以上のオブジェクト) | ~23ミリ秒 (オブジェクトあたり) | 2~3ミリ秒(画像) |
| モデルサイズ | 3.4GB | 162 MB(ベース) | 5.9 MB |
主なポイント:
- SAM 3: オープンボキャブラリーの概念segmentationに最適で、テキストまたは模範プロンプトを使用して概念のすべてのインスタンスを検出します。
- SAM 2: 幾何学的プロンプトを用いた画像および動画における対話型単一オブジェクトsegmentationに最適です。
- YOLO11: ONNXやTensorRTのような効率的なエクスポートパイプラインを使用し、リソースが制約されたデプロイメントにおけるリアルタイム高速segmentationに最適です。
評価メトリクス
SAM 3は、PCSタスク用に設計された新しい指標を導入しており、F1スコア、精度、再現率といったおなじみの測定基準を補完します。
Classification-Gated F1 (CGF1)
ローカライゼーションと分類を組み合わせた主要な指標:
CGF1 = 100 × pmF1 × IL_MCC
説明:
- pmF1 (Positive Macro F1): ポジティブな例におけるローカライゼーション品質を測定します。
- IL_MCC (Image-Level Matthews Correlation Coefficient): バイナリ分類の精度(「概念は存在するか?」)を測定します。
これらのメトリクスを使用する理由
従来のAP指標はキャリブレーションを考慮しないため、モデルの実用化を困難にしています。0.5以上の信頼度を持つ予測のみを評価することで、SAM 3の指標は良好なキャリブレーションを強制し、インタラクティブなpredictおよびtrackループにおける実世界の利用パターンを模倣します。
主要なアブレーションと洞察
プレゼンスヘッドの影響
プレゼンスヘッドは認識をローカライゼーションから分離し、大幅な改善をもたらします。
| 構成 | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| プレゼンスなし | 57.6 | 0.77 | 74.7 |
| プレゼンスあり | 63.3 | 0.82 | 77.1 |
プレゼンスヘッドは、主に認識能力(IL_MCC +6.5%)を向上させ、+5.7 CGF1のブースト(+9.9%)を提供します。
ハードネガティブの影響
| ハードネガティブ/画像 | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| 0 | 31.8 | 0.44 | 70.2 |
| 5 | 44.8 | 0.62 | 71.9 |
| 30 | 49.2 | 0.68 | 72.3 |
ハードネガティブはオープンボキャブラリー認識にとって極めて重要であり、IL_MCCを54.5%(0.44 → 0.68)改善します。
トレーニングデータスケーリング
| データソース | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| 外部データのみ | 30.9 | 0.46 | 66.3 |
| 外部データ + 合成データ | 39.7 | 0.57 | 70.6 |
| 外部データ + 高品質データ | 51.8 | 0.71 | 73.2 |
| 3つすべて | 54.3 | 0.74 | 73.5 |
高品質な人間によるアノテーションは、合成データや外部データ単独よりも大きな成果をもたらします。データ品質のプラクティスに関する背景情報については、データ収集とアノテーションを参照してください。
アプリケーション
SAM 3のコンセプトsegmentation機能は、新たなユースケースを可能にします。
- コンテンツモデレーション: メディアライブラリ全体で特定のコンテンツタイプのすべてのインスタンスを検出
- Eコマース: カタログ画像内で特定の種類のすべての製品をsegmentし、自動アノテーションをサポート
- 医用画像処理: 特定の組織タイプまたは異常のすべての発生を特定
- 自律システム: 交通標識、歩行者、または車両のすべてのインスタンスをカテゴリ別にtrack
- ビデオ分析:特定の衣服を着用している、または特定のアクションを実行しているすべての人をカウントし、trackする
- データセットアノテーション: 稀なオブジェクトカテゴリのすべてのインスタンスを迅速にアノテーションする
- 科学研究: 特定の基準に合致するすべての標本を定量化し、分析する
SAM 3 Agent: 拡張言語推論
SAM 3は、マルチモーダル大規模言語モデル (MLLM) と組み合わせることで、OWLv2やT-Rexのようなオープンボキャブラリーシステムと同様に、推論を必要とする複雑なクエリを処理できます。
推論タスクにおける性能
| ベンチマーク | メトリック | SAM 3 Agent (Gemini 2.5 Pro) | 以前の最高値 |
|---|---|---|---|
| ReasonSeg (検証) | gIoU | 76.0 | 65.0 (SoTA) |
| ReasonSeg (テスト) | gIoU | 73.8 | 61.3 (SoTA) |
| OmniLabel (検証) | AP | 46.7 | 36.5 (REAL) |
| RefCOCO+ | 精度 | 91.2 | 89.3 (LISA) |
複雑なクエリの例
SAM 3 Agentは、推論を必要とするクエリを処理できます:
- 「座っているが、手にプレゼントボックスを持っていない人々」
- 「首輪をつけていない、カメラに一番近い犬」
- 「人の手よりも大きい赤い物体」
MLLMはSAM 3に単純な名詞句クエリを提案し、返されたマスクを分析し、満足するまで繰り返します。
制限事項
SAM 3は大きな進歩を表していますが、いくつかの制限があります:
- フレーズの複雑さ: 単純な名詞句に最適。長い参照表現や複雑な推論にはMLLMとの統合が必要となる場合があります。
- 曖昧さの処理:一部の概念は本質的に曖昧なままです(例:「小さな窓」、「居心地の良い部屋」)
- 計算要件: YOLOのような特化されたdetectモデルよりも大きく、遅い
- 語彙範囲: 原子的な視覚概念に焦点を当てています。MLLMの支援なしでは、構成的推論は制限されます。
- 稀な概念: トレーニングデータで十分に表現されていない極めて稀な、またはきめ細かい概念ではパフォーマンスが低下する可能性があります
引用
@inproceedings{sam3_2025,
title = {SAM 3: Segment Anything with Concepts},
author = {Anonymous authors},
booktitle = {Submitted to ICLR 2026},
year = {2025},
url = {https://openreview.net/forum?id=r35clVtGzw},
note = {Paper ID: 4183, under double-blind review}
}
よくある質問
SAM 3はいつリリースされましたか?
SAM 3はMetaによって2025年11月20日にリリースされ、バージョン8.3.237(PR #22897)以降、Ultralyticsに完全に統合されています。predictモードとtrackモードで完全にサポートされています。
SAM 3はUltralyticsに統合されていますか?
はい!SAM 3は、コンセプトsegmentation、SAM 2スタイルの視覚プロンプト、および複数オブジェクトのビデオtrackを含め、Ultralytics pythonパッケージに完全に統合されています。
Promptable Concept Segmentation (PCS) とは何ですか?
PCSはSAM 3で導入された新しいタスクで、画像やビデオ内の視覚的な概念のすべてのインスタンスをsegmentします。特定のオブジェクトインスタンスを対象とする従来のセグメンテーションとは異なり、PCSはカテゴリのすべての出現を検出します。例:
- テキストプロンプト:「黄色いスクールバス」→シーン内のすべての黄色いスクールバスをsegment
- 画像例:1匹の犬の周りのボックス → 画像内のすべての犬をsegment
- 組み合わせ:「縞模様の猫」+例示ボックス → 例に一致するすべての縞模様の猫をsegment
オブジェクトdetectおよびインスタンスセグメンテーションに関する関連背景を参照してください。
SAM 3はSAM 2とどう異なりますか?
| 機能 | SAM 2 | SAM 3 |
|---|---|---|
| タスク | プロンプトごとに単一オブジェクト | 概念のすべてのインスタンス |
| プロンプトタイプ | 点、ボックス、マスク | + テキストフレーズ、画像例 |
| detect機能 | 外部detectorが必要 | 組み込みのオープンボキャブラリーdetector |
| 認識 | ジオメトリベースのみ | テキストおよび視覚認識 |
| アーキテクチャ | trackerのみ | presence head付きdetector + tracker |
| Zero-Shot性能 | 該当なし(ビジュアルプロンプトが必要) | LVISで47.0 AP、SA-Coで2×向上 |
| インタラクティブな改良 | クリックのみ | クリック + 例示の一般化 |
SAM 3は、コンセプトベースの機能を追加しつつ、SAM 2のビジュアルプロンプトとの後方互換性を維持しています。
SAM 3のトレーニングにはどのデータセットが使用されますか?
SAM 3は、Segment Anything with Concepts (SA-Co)データセットで学習されています。
トレーニングデータ:
- 520万枚の画像と400万個のユニークな名詞句 (SA-Co/HQ) - 高品質な人間によるアノテーション
- 52,500本の動画と24,800個のユニークな名詞句 (SA-Co/VIDEO)
- 14億の合成マスク(3800万の名詞句にわたる)(SA-Co/SYN)
- 15個の外部データセットを、ハードネガティブで強化(SA-Co/EXT)
ベンチマークデータ:
- 126,000枚の画像/動画にわたる214,000のユニークな概念
- 既存のベンチマーク(例えば、LVISは約4,000の概念を持つ)より50倍多い概念
- SA-Co/Goldにおける3重アノテーションにより、人間の性能限界を測定
この大規模なスケールと多様性により、SAM 3はオープンボキャブラリーの概念全体にわたって優れたゼロショット汎化を実現します。
SAM 3はsegmentationにおいてYOLO11とどのように比較されますか?
SAM 3とYOLO11は異なるユースケースに対応します:
SAM 3の利点:
- オープンボキャブラリー: トレーニングなしでテキストプロンプトを介してあらゆる概念をsegmentします
- ゼロショット: 新しいカテゴリに即座に対応します
- インタラクティブ: 事例ベースのリファインメントは類似のオブジェクトに汎化します
- コンセプトベース: カテゴリのすべてのインスタンスを自動的に検出します
- 精度:LVISゼロショットインスタンスsegmentationで47.0 AP
YOLO11の利点:
- 速度: 10~15倍高速な推論 (画像あたり2~3ms vs 30ms)
- 効率性: 576倍小さいモデル (5.9MB 対 3.4GB)
- リソースフレンドリー: エッジデバイスやモバイルで動作します
- リアルタイム: 本番環境でのデプロイメント向けに最適化されています
推奨事項:
- テキストまたは例によって記述された概念のすべてのインスタンスを見つける必要がある場合は、柔軟なオープンボキャブラリーsegmentationのためにSAM 3を使用してください。
- カテゴリが事前にわかっている高速な本番環境でのデプロイメントには、YOLO11を使用してください。
- 幾何学的プロンプトを使用したインタラクティブな単一オブジェクトsegmentationには、SAM 2を使用してください。
SAM 3は複雑な言語クエリを処理できますか?
SAM 3は単純な名詞句(例:「赤いリンゴ」、「帽子をかぶった人」)向けに設計されています。推論を必要とする複雑なクエリの場合、MLLMとSAM 3 AgentとしてSAM 3を組み合わせます:
単純なクエリ (ネイティブSAM 3):
- 「黄色いスクールバス」
- 「縞模様の猫」
- 「赤い帽子をかぶっている人」
複雑なクエリ (MLLMと連携するSAM 3 Agent):
- 「座っているが、プレゼントボックスを持っていない人々」
- 「首輪なしでカメラに一番近い犬」
- 「人の手よりも大きい赤い物体」
SAM 3 Agentは、SAM 3のsegmentationとMLLMの推論能力を組み合わせることにより、ReasonSeg検証において76.0 gIoUを達成しました (以前の最高値65.0と比較して+16.9%の改善)。
SAM 3は人間のパフォーマンスと比較してどの程度正確ですか?
3重の人間によるアノテーション付きSA-Co/Goldベンチマークにおいて:
- 人間の下限値: 74.2 CGF1 (最も保守的なアノテーター)
- SAM 3のパフォーマンス: 65.0 CGF1
- 達成:推定される人間の下限の88%
- 人間の上限: 81.4 CGF1 (最も寛容なアノテーター)
SAM 3は、オープンボキャブラリーのコンセプトsegmentationにおいて人間レベルの精度に迫る強力なパフォーマンスを達成しており、そのギャップは主に曖昧または主観的なコンセプト(例:「小さな窓」、「居心地の良い部屋」)にあります。