YOLO Vision 2026:

SAM 3: コンセプトによるセグメンテーション#

Ultralyticsで利用可能になりました

SAM 3は、バージョン8.3.237PR #22897)以降、Ultralyticsパッケージに完全に統合されています。テキストベースのコンセプトセグメンテーション、画像実例プロンプト、動画トラッキングなど、すべてのSAM 3機能を利用するには、pip install -U ultralyticsでインストールまたはアップグレードしてください。

SAM 3 promptable concept segmentation overview

SAM 3(Segment Anything Model 3)は、Promptable Concept Segmentation(PCS)のためにMetaがリリースした基盤モデルです。SAM 2を基盤とするSAM 3は、テキストプロンプト、画像実例、またはその両方で指定された視覚的コンセプトのすべてのインスタンスを検出し、セグメント化し、トラッキングするという根本的に新しい機能を提供します。プロンプトごとに単一のオブジェクトをセグメント化していた従来のSAMバージョンとは異なり、SAM 3は画像や動画内のどこに現れるコンセプトのすべての出現箇所を見つけてセグメント化することができ、現代のインスタンスセグメンテーションにおけるオープンボキャブラリーの目標と一致しています。



Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos

SAM 3は現在、ultralyticsパッケージに完全に統合されており、テキストプロンプト、画像実例プロンプト、および動画トラッキング機能を使用したコンセプトセグメンテーションのネイティブサポートを提供します。

概要#

SAM 3は、対話型の視覚セグメンテーションに対するSAM 2の機能を維持・向上させつつ、Promptable Concept Segmentationにおいて既存システムを上回る2倍のパフォーマンス向上を達成しています。このモデルはオープンボキャブラリーセグメンテーションに優れており、ユーザーはシンプルな名詞句(例:「黄色いスクールバス」、「縞模様の猫」など)を使用するか、ターゲットオブジェクトのサンプル画像を提供することでコンセプトを指定できます。これらの機能は、効率化された予測(predict)およびトラッキング(track)ワークフローに依存する本番環境向けのパイプラインを補完します。

SAM 3 text-prompt segmentation examples

プロンプト可能なコンセプト・セグメンテーション (PCS) とは?#

PCSタスクは、入力としてコンセプトプロンプトを受け取り、すべての一致するオブジェクトインスタンスに対して固有のIDを持つセグメンテーションマスクを返します。コンセプトプロンプトには以下のようなものがあります:

  • テキストゼロショット学習と同様に、「赤いリンゴ」や「帽子をかぶった人」のようなシンプルな名詞句
  • 画像例示: 高速な汎化のための(ポジティブまたはネガティブな)ターゲットオブジェクト周辺のバウンディングボックス
  • 組み合わせ: 精密な制御のためのテキストと画像例示の両方

これは、オリジナルのSAMファミリーによって普及した、単一の特定のオブジェクトインスタンスのみをセグメント化する従来の視覚的プロンプト(ポイント、ボックス、マスク)とは異なります。

主要なパフォーマンス指標#

メトリクスSAM 3の達成度
LVIS ゼロショット Mask AP47.0 (従来最高38.5に対し、22%向上)
SA-Co ベンチマーク既存システムより2倍優れている
推論速度 (H200 GPU)100個以上のオブジェクトを検出して画像あたり30 ms
ビデオパフォーマンス約5個の同時オブジェクトに対してほぼリアルタイム
MOSEv2 VOS ベンチマーク60.1 J&F (SAM 2.1より25.5%向上、従来のSOTAより17%向上)
インタラクティブな洗練3つの例示プロンプト後に**+18.6 CGF1**向上
人間のパフォーマンスとの差SA-Co/Goldにおける推定下限の**88%**を達成

本番環境におけるモデルのメトリクスとトレードオフのコンテキストについては、モデル評価のインサイトおよびYOLOパフォーマンスメトリクスを参照してください。

アーキテクチャ#

SAM 3は、Perception Encoder(PE)ビジョンバックボーンを共有するdetectortrackerで構成されています。この分離された設計により、タスクの競合を防ぎながら、画像レベルの検出と動画レベルのトラッキングの両方が可能になり、UltralyticsのPythonでの使用方法およびCLIでの使用方法と互換性のあるインターフェースが提供されます。

コアコンポーネント#

  • Detector:画像レベルのコンセプト検出のためのDETRベースのアーキテクチャ

    • 名詞句プロンプトのためのテキストエンコーダー
    • 画像ベースのプロンプトのための例示エンコーダー
    • プロンプトに基づいて画像特徴量を条件付ける融合エンコーダー
    • 認識(「何」)をローカライゼーション(「どこ」)から切り離す新規のプレゼンスヘッド
    • インスタンス・セグメンテーションマスクを生成するためのマスクヘッド
  • TrackerSAM 2から継承されたメモリベースの動画セグメンテーション

    • プロンプトエンコーダー、マスクデコーダー、メモリエンコーダー
    • フレーム間でオブジェクトの外観を保存するためのメモリバンク
    • マルチオブジェクト環境においてカルマンフィルターなどの技術によって支援される時間的曖昧さの解消
  • プレゼンス・トークン: ターゲットコンセプトが画像/フレーム内に存在するかどうかを予測し、認識とローカライゼーションを分離することで検出を改善する学習済みグローバルトークン。

SAM 3 model architecture diagram

主要なイノベーション#

  1. 認識とローカライゼーションの分離: プレゼンスヘッドがコンセプトの存在をグローバルに予測し、提案クエリはローカライゼーションのみに焦点を当てることで、競合する目的を回避します。
  2. コンセプトプロンプトと視覚的プロンプトの統合: PCS(コンセプトプロンプト)とPVS(SAM 2のようなクリック/ボックスなどの視覚的プロンプト)の両方を単一のモデルでサポートします。
  3. インタラクティブな例示の洗練: ユーザーはポジティブまたはネガティブな画像例示を追加して結果を反復的に改善でき、モデルは個々のインスタンスを修正するだけでなく、類似のオブジェクトに対しても汎化します。
  4. 時間的曖昧さの解消(Temporal Disambiguation):マスクレット検出スコアと定期的な再プロンプティングを使用して、動画内のオクルージョン、混雑したシーン、およびトラッキングの失敗に対処し、インスタンスセグメンテーションとトラッキングのベストプラクティスに準拠します。

SA-Co データセット#

SAM 3は、COCOLVISのような一般的なベンチマークを超えて拡張された、Meta最大かつ最も多様なセグメンテーションデータセットである**Segment Anything with Concepts(SA-Co)**でトレーニングされています。

トレーニングデータ#

データセットコンポーネント説明規模
SA-Co/HQ4フェーズのデータエンジンによる高品質な人間による注釈付き画像データ520万枚の画像、400万個の固有名詞句
SA-Co/SYN人間の関与なしにAIによってラベル付けされた合成データセット3800万個の名詞句、14億個のマスク
SA-Co/EXTハードネガティブで強化された15個の外部データセットソースにより異なる
SA-Co/VIDEO時間的追跡を含むビデオ注釈52.5Kのビデオ、24.8Kの固有名詞句

ベンチマークデータ#

SA-Co評価ベンチマークには、126Kの画像とビデオにわたる214Kの固有フレーズが含まれており、既存のベンチマークよりも50倍以上多いコンセプトを提供します。これには以下が含まれます:

  • SA-Co/Gold: 7つのドメイン、人間のパフォーマンス境界を測定するための3重注釈
  • SA-Co/Silver: 10のドメイン、単一の人間による注釈
  • SA-Co/BronzeおよびSA-Co/Bio: コンセプト・セグメンテーションに適応された9つの既存データセット
  • SA-Co/VEval: 3つのドメイン(SA-V、YT-Temporal-1B、SmartGlasses)を備えたビデオベンチマーク

データエンジンのイノベーション#

SAM 3のスケーラブルな人間とモデルのループによるデータエンジンは、以下を通じて2倍の注釈スループットを達成しています:

  1. AIアノテーターLlamaベースのモデルが、ハードネガティブを含む多様な名詞句を提案します。
  2. AI検証ツール(AI Verifiers):微調整されたマルチモーダルLLMが、人間と同等のパフォーマンスでマスクの品質と網羅性を検証します。
  3. アクティブマイニング: AIが苦戦する困難な失敗ケースに人間の努力を集中
  4. オントロジー駆動:コンセプトのカバレッジのためにWikidataに基盤を持つ大規模なオントロジーを活用します。

インストール#

SAM 3は、Ultralytics version 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の使用方法:コンセプト・セグメンテーションにおける汎用性#

SAM 3は、異なる予測インターフェースを通じて、プロンプト可能なコンセプト・セグメンテーション (PCS) とプロンプト可能な視覚的セグメンテーション (PVS) の両方のタスクをサポートします:

サポートされるタスクとモデル#

タスクタイププロンプトタイプ出力
コンセプト・セグメンテーション (PCS)テキスト(名詞句)、画像例示コンセプトに一致するすべてのインスタンス
視覚的セグメンテーション (PVS)ポイント、ボックス、マスク単一のオブジェクトインスタンス (SAM 2スタイル)
インタラクティブな洗練例示やクリックを反復的に追加/削除精度が向上した洗練されたセグメンテーション

コンセプト・セグメンテーションの例#

テキストプロンプトによるセグメンテーション#

テキストベースのコンセプト・セグメンテーション

テキスト説明を使用して、コンセプトのすべてのインスタンスを見つけてセグメント化します。テキストプロンプトにはSAM3SemanticPredictorインターフェースが必要です。

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = {
    "conf": 0.25,
    "task": "segment",
    "mode": "predict",
    "model": "sam3.pt",
    "quantize": 16,  # 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"])

画像例を用いたセグメンテーション#

画像例ベースのセグメンテーション

バウンディングボックスを視覚的プロンプトとして使用して、類似したすべてのインスタンスを見つけます。これにも、コンセプトベースのマッチングのためにSAM3SemanticPredictorが必要です。

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor
overrides = {"conf": 0.25, "task": "segment", "mode": "predict", "model": "sam3.pt", "quantize": 16, "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 as exemplars of the same visual concept
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 = {"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)

動画コンセプトセグメンテーション#

バウンディングボックスを使用して動画全体でコンセプトを追跡#

視覚的プロンプトを使用した動画トラッキング

バウンディングボックスプロンプトを使用して、動画フレーム全体でオブジェクトインスタンスを検出および追跡します。

from ultralytics.models.sam import SAM3VideoPredictor

# Create video predictor
overrides = {"conf": 0.25, "task": "segment", "mode": "predict", "model": "sam3.pt", "quantize": 16}
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

テキストプロンプトによるコンセプトの追跡#

セマンティッククエリを使用した動画トラッキング

テキストで指定されたコンセプトのすべてのインスタンスを、動画フレーム全体で追跡します。

from ultralytics.models.sam import SAM3VideoSemanticPredictor

# Initialize semantic video predictor
overrides = {
    "conf": 0.25,
    "task": "segment",
    "mode": "predict",
    "imgsz": 640,
    "model": "sam3.pt",
    "quantize": 16,
    "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 は、単一オブジェクトセグメンテーションのための SAM 2 の視覚的プロンプトとの完全な下位互換性を維持しています。

SAM 2 スタイルの視覚的プロンプト

基本的なSAMインターフェースはSAM 2とまったく同様に動作し、視覚的プロンプト(ポイント、ボックス、またはマスク)によって示された特定の領域のみをセグメント化します。

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()
視覚的プロンプトとコンセプトセグメンテーションの比較

SAM("sam3.pt")を視覚的プロンプト(ポイント/ボックス/マスク)とともに使用すると、SAM 2と同様に、その場所にある特定のオブジェクトのみがセグメント化されます。コンセプトのすべてのインスタンスをセグメント化するには、上記のように、テキストまたは実例プロンプトを指定してSAM3SemanticPredictorを使用してください。

パフォーマンスベンチマーク#

画像セグメンテーション#

SAM 3は、LVISセグメンテーション用COCOなどの現実世界のデータセットを含む複数のベンチマークで、最先端の結果を達成しています。

ベンチマークメトリクスSAM 3従来のベスト改善率
LVIS (ゼロショット)Mask AP47.038.5+22.1%
SA-Co/GoldCGF165.034.3 (OWLv2)+89.5%
COCO (ゼロショット)Box AP53.552.2 (T-Rex2)+2.5%
ADE-847 (セマンティックセグメンテーション)mIoU14.79.2 (APE-D)+59.8%
PascalConcept-59mIoU59.458.5 (APE-D)+1.5%
Cityscapes (セマンティックセグメンテーション)mIoU65.144.2 (APE-D)+47.3%

Ultralyticsデータセットで、迅速な実験のためのデータセットオプションを探索してください。

動画セグメンテーションのパフォーマンス#

SAM 3は、DAVIS 2017YouTube-VOSなどの動画ベンチマークにおいて、SAM 2および従来の最先端技術と比較して大幅な改善を示しています。

ベンチマークメトリクスSAM 3SAM 2.1 L改善率
MOSEv2J&F60.147.9+25.5%
DAVIS 2017J&F92.090.7+1.4%
LVOSv2J&F88.279.6+10.8%
SA-VJ&F84.678.4+7.9%
YTVOS19J&F89.689.3+0.3%

フューショット適応#

SAM 3は、最小限の例で新しいドメインに適応することに優れており、データ中心型AIのワークフローに関連しています。

ベンチマーク0-shot AP10-shot AP従来のベスト (10-shot)
ODinW1359.971.667.9 (gDino1.5-Pro)
RF100-VL14.335.733.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は、すべてのインスタンスをセグメント化することで正確なカウントを提供します。これは、オブジェクトカウントにおける一般的な要件です。

ベンチマーク精度MAE対 最良のMLLM
CountBench95.6%0.1192.4% (Gemini 2.5)
PixMo-Count87.3%0.2288.8% (Molmo-72B)

SAM 3、SAM 2、およびYOLOの比較#

ここでは、SAM 3の機能をSAM 2およびYOLO26モデルと比較しています。

機能SAM 3SAM 2YOLO26n-seg
コンセプトセグメンテーション✅ テキスト/例示からのすべてのインスタンス❌ 非対応❌ 非対応
視覚的セグメンテーション✅ 単一インスタンス (SAM 2互換)✅ 単一インスタンス✅ すべてのインスタンス
ゼロショット機能✅ オープンボキャブラリー✅ 幾何学的プロンプト❌ クローズドセット
インタラクティブな洗練✅ 例示 + クリック✅ クリックのみ❌ 非対応
ビデオトラッキング✅ 識別子付きマルチオブジェクト✅ マルチオブジェクト✅ マルチオブジェクト
LVISマスク AP (ゼロショット)47.0N/AN/A
MOSEv2 J&F60.147.9N/A
速度 (GPU, ms/im)29218578.4
モデルサイズ3.45 GB162 MB (ベース)6.4 MB

速度は、NVIDIA RTX PRO 6000上でtorch==2.9.1ultralytics==8.4.19を使用してベンチマークされました。

重要なポイント:

  • SAM 3: オープンボキャブラリーのコンセプトセグメンテーションに最適。テキストまたは例示プロンプトを使用してコンセプトのすべてのインスタンスを検出します。
  • SAM 2: 幾何学的プロンプトを使用した画像およびビデオ内の対話型単一オブジェクトセグメンテーションに最適です。
  • YOLO26:NMS不要のエンドツーエンド推論によるリアルタイムで高速なセグメンテーションに最適であり、GPU、CPU、およびエッジデバイスへのデプロイに向けて多くのフォーマットにエクスポート可能です。

SAMとYOLOの比較#

SAM 3、SAM 2、SAM、MobileSAM、FastSAMを、Ultralytics YOLOセグメンテーションモデル(YOLOv8、YOLO11、YOLO26)とサイズ、パラメータ、GPU推論速度で比較します。

モデルサイズ
(MB)
パラメータ
(M)
速度 (GPU)
(ms/im)
Meta SAM-b37593.71306
Meta SAM2-b16280.8857
Meta SAM2-t78.138.9668
Meta SAM33450473.62921
MobileSAM40.710.1605
YOLOv8 backboneを使用したFastSAM-s23.711.855.9
Ultralytics YOLOv8n-seg6.7 (515倍小型)3.4 (139.1倍削減)17.4 (167倍高速)
Ultralytics YOLO11n-seg5.9 (585倍小型)2.9 (163.1倍削減)12.6 (231倍高速)
Ultralytics YOLO26n-seg6.4 (539倍小型)2.7 (175.2倍削減)8.4 (347倍高速)

この比較は、SAMバリアントとYOLOセグメンテーションモデル間のモデルサイズと速度における大きな違いを示しています。SAMは独自の自動セグメンテーション機能を提供しますが、YOLOモデル、特にYOLOv8n-seg、YOLO11n-seg、およびYOLO26n-segは、大幅に小さく、高速で、計算効率に優れています。

テストは、96GBのVRAMを搭載したNVIDIA RTX PRO 6000上で、torch==2.9.1ultralytics==8.4.19を使用して実行されました。このテストを再現するには:

from ultralytics import ASSETS, SAM, YOLO, FastSAM

# Profile SAM3, SAM2-t, SAM2-b, SAM-b, MobileSAM
for file in ["sam_b.pt", "sam2_b.pt", "sam2_t.pt", "mobile_sam.pt", "sam3.pt"]:
    model = SAM(file)
    model.info()
    model(ASSETS)

# Profile FastSAM-s
model = FastSAM("FastSAM-s.pt")
model.info()
model(ASSETS)

# Profile YOLO models
for file_name in ["yolov8n-seg.pt", "yolo11n-seg.pt", "yolo26n-seg.pt"]:
    model = YOLO(file_name)
    model.info()
    model(ASSETS)

評価メトリクス#

SAM 3は、F1スコア適合率(precision)再現率(recall)などの馴染みのある測定基準を補完する、PCSタスク向けに設計された新しいメトリクスを導入しています。

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)ループにおける実際の使用パターンを模倣します。

主なアブレーションと知見#

存在ヘッドの影響#

存在ヘッドは認識をローカリゼーションから分離し、大幅な改善をもたらします:

設定CGF1IL_MCCpmF1
存在ヘッドなし57.60.7774.7
存在ヘッドあり63.30.8277.1

存在ヘッドは**+5.7 CGF1の向上**(+9.9%)をもたらし、主に認識能力(IL_MCC +6.5%)を改善します。

ハードネガティブの影響#

ハードネガティブ/画像CGF1IL_MCCpmF1
031.80.4470.2
544.80.6271.9
3049.20.6872.3

ハードネガティブはオープンボキャブラリー認識において極めて重要であり、IL_MCCを54.5% (0.44 → 0.68) 改善します。

学習データのスケーリング#

データソースCGF1IL_MCCpmF1
外部のみ30.90.4666.3
外部 + 合成39.70.5770.6
外部 + HQ51.80.7173.2
すべて54.30.7473.5

高品質な人間のアノテーションは、合成データや外部データ単体と比較して大きな向上をもたらします。データ品質のプラクティスに関する背景については、データ収集とアノテーションを参照してください。

アプリケーション#

SAM 3のコンセプトセグメンテーション機能は、新しいユースケースを可能にします。

  • コンテンツモデレーション: メディアライブラリ全体から特定のコンテンツタイプのすべてのインスタンスを検索
  • Eコマース:カタログ画像内の特定のタイプのすべての製品をセグメント化し、自動アノテーションをサポートします。
  • 医療画像: 特定の組織タイプや異常のすべての発生箇所を特定
  • 自律システム: カテゴリ別に交通標識、歩行者、または車両のすべてのインスタンスを追跡
  • ビデオ分析: 特定の衣服を着用している、または特定の行動を行っているすべての人をカウントおよび追跡
  • データセットアノテーション:まれなオブジェクトカテゴリのすべてのインスタンスを迅速にアノテーションします。
  • 科学研究: 特定の基準に一致するすべての標本を定量化および分析

SAM 3 Agent: 拡張された言語推論#

SAM 3は、マルチモーダル大規模言語モデル(MLLM)と組み合わせることで、推論を必要とする複雑なクエリを処理でき、OWLv2T-Rexのようなオープンボキャブラリーシステムと精神的に類似しています。

推論タスクにおけるパフォーマンス#

ベンチマークメトリクスSAM 3 Agent (Gemini 2.5 Pro)従来のベスト
ReasonSeg (検証)gIoU76.065.0 (SoTA)
ReasonSeg (テスト)gIoU73.861.3 (SoTA)
OmniLabel (検証)アジア太平洋46.736.5 (REAL)
RefCOCO+Acc91.289.3 (LISA)

複雑なクエリの例#

SAM 3 Agentは推論を必要とするクエリを処理できます。

  • 「座っているが、手にギフトボックスを持っていない人々」
  • 「首輪をしていない、カメラに最も近い犬」
  • 「人の手よりも大きい赤いオブジェクト」

MLLMはSAM 3に対して単純な名詞句クエリを提案し、返されたマスクを分析し、満足するまで繰り返します。

制限事項#

SAM 3は大きな進歩を遂げましたが、いくつかの制限があります。

  • フレーズの複雑さ: 単純な名詞句に最適です。長い参照表現や複雑な推論にはMLLMの統合が必要な場合があります。
  • 曖昧さの処理: 一部のコンセプトは本質的に曖昧なままです(例:「小さな窓」、「居心地の良い部屋」)。
  • 計算要件YOLOなどの特殊な検出モデルと比較して、より大きく低速です。
  • 語彙の範囲: 原子的な視覚コンセプトに焦点を当てており、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}
}

よくある質問 (FAQ)#

SAM 3はいつリリースされましたか?#

SAM 3はMetaによって2025年11月20日にリリースされ、バージョン8.3.237PR #22897)以降、Ultralyticsに完全に統合されています。予測モード(predict mode)およびトラッキングモード(track mode)の完全なサポートが利用可能です。

SAM 3はUltralyticsに統合されていますか?#

はい!SAM 3は、コンセプトセグメンテーション、SAM 2スタイルのビジュアルプロンプト、マルチオブジェクトのビデオトラッキングなどを含め、UltralyticsのPythonパッケージに完全に統合されています。また、SAM 3はUltralytics Platformsmart annotation機能も提供しており、わずか数回のクリックで画像にアノテーションを付与できます。

プロンプト可能なコンセプトセグメンテーション(PCS)とは何ですか?#

PCSはSAM 3で導入された新しいタスクであり、画像またはビデオ内のすべてのインスタンスの視覚コンセプトをセグメント化します。特定のオブジェクトインスタンスをターゲットにする従来のセグメンテーションとは異なり、PCSはカテゴリのすべての出現箇所を見つけます。例:

  • テキストプロンプト: 「黄色いスクールバス」 → シーン内のすべての黄色いスクールバスをセグメント化
  • 画像エグザンプラ: 1匹の犬を囲むボックス → 画像内のすべての犬をセグメント化
  • 組み合わせ: 「縞模様の猫」 + エグザンプラボックス → サンプルと一致するすべての縞模様の猫をセグメント化

オブジェクト検出インスタンスセグメンテーションに関する関連の背景を参照してください。

SAM 3はSAM 2とどう違いますか?#

機能SAM 2SAM 3
タスクプロンプトごとに単一のオブジェクトコンセプトのすべてのインスタンス
プロンプトタイプポイント、ボックス、マスク+ テキストフレーズ、画像エグザンプラ
検出能力外部検出器が必要組み込みのオープンボキャブラリー検出器
認識幾何学ベースのみテキストおよび視覚認識
アーキテクチャトラッカーのみ存在ヘッドを備えた検出器 + トラッカー
ゼロショットパフォーマンスN/A(視覚プロンプトが必要)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) - 高品質な人間によるアノテーション
  • 5万2500本の動画2万4800件のユニークな名詞句 (SA-Co/VIDEO)
  • 3800万件の名詞句にわたる14億件の合成マスク (SA-Co/SYN)
  • ハードネガティブで強化された15件の外部データセット (SA-Co/EXT)

ベンチマークデータ:

  • 12万6000件の画像/動画にわたる21万4000件のユニークなコンセプト
  • 既存のベンチマークより50倍多くのコンセプト (例: LVISは約4000コンセプト)
  • 人間のパフォーマンス限界を測定するためのSA-Co/Goldにおけるトリプルアノテーション

この膨大なスケールと多様性により、SAM 3はオープンボキャブラリーのコンセプト全体で優れたゼロショット汎化を実現します。

セグメンテーションにおいて、SAM 3とYOLO26はどのように比較されますか?#

SAM 3とYOLO26はそれぞれ異なるユースケースに対応しています。

SAM 3の利点:

  • オープンボキャブラリー: トレーニングなしでテキストプロンプトを介してあらゆるコンセプトをセグメント化します
  • ゼロショット: 新しいカテゴリに対して即座に機能します
  • インタラクティブ: 実例に基づくリファインメントが類似のオブジェクトへ汎化されます
  • コンセプトベース: カテゴリのすべてのインスタンスを自動的に検出します
  • 精度: LVISゼロショットインスタンスセグメンテーションで47.0 AP

YOLO26の利点:

  • 速度: NMS不要のエンドツーエンド設計により桁違いに高速な推論
  • 効率: 539倍の軽量モデル (6.4MB vs 3.45GB)
  • リソースフレンドリー: エッジデバイスやモバイルで動作
  • リアルタイム: 本番環境での展開に最適化

推奨:

  • テキストや実例で記述されたコンセプトのすべてのインスタンスを見つける必要がある、柔軟なオープンボキャブラリーセグメンテーションにはSAM 3を使用してください
  • カテゴリが事前に判明している高速な本番環境での展開にはYOLO26を使用してください
  • 幾何学的プロンプトを用いたインタラクティブな単一オブジェクトセグメンテーションにはSAM 2を使用してください

SAM 3は複雑な言語クエリを処理できますか?#

SAM 3は単純な名詞句(例:「赤いリンゴ」、「帽子をかぶった人」)を対象として設計されています。推論を必要とする複雑なクエリには、SAM 3とMLLMを組み合わせたSAM 3 Agentを使用してください。

単純なクエリ(ネイティブのSAM 3):

  • 「黄色いスクールバス」
  • 「縞模様の猫」
  • 「赤い帽子をかぶった人」

複雑なクエリ(MLLMを使用したSAM 3 Agent):

  • 「座っているがギフトボックスを持っていない人々」
  • 「首輪をしていないカメラに最も近い犬」
  • 「人の手よりも大きい赤いオブジェクト」

SAM 3 Agentは、SAM 3のセグメンテーションとMLLMの推論能力を組み合わせることで、ReasonSegの検証で76.0 gIoUを達成しました(従来の最高値は65.0、16.9%の改善)。

SAM 3の精度は人間のパフォーマンスと比較してどの程度ですか?#

トリプル人間アノテーションを用いたSA-Co/Goldベンチマークにおいて:

  • 人間の下限: 74.2 CGF1(最も保守的なアノテーター)
  • SAM 3のパフォーマンス: 65.0 CGF1
  • 達成値: 推定された人間の下限の88%
  • 人間の上限: 81.4 CGF1(最も自由なアノテーター)

SAM 3はオープンボキャブラリーのコンセプトセグメンテーションにおいて、人間レベルの精度に迫る強力なパフォーマンスを達成しています。その差は主に、曖昧または主観的なコンセプト(例:「小さな窓」、「居心地の良い部屋」)に見られます。

コメント