Vai al contenuto

SAM 3: Segmenta qualsiasi cosa con i concetti

Ora disponibile in Ultralytics

SAM è completamente integrato nel Ultralytics a partire da versione 8.3.237 (PR n. 22897). Installa o aggiorna con pip install -U ultralytics per accedere a tutte le funzionalità SAM , tra cui la segmentazione concettuale basata sul testo, i suggerimenti con immagini esemplificative e il tracciamento video.

Panoramica di SAM 3

SAM 3 (Segment Anything Model 3) è il modello di base rilasciato da Meta per la Promptable Concept Segmentation (PCS). Basato su SAM 2, SAM 3 introduce una funzionalità fondamentalmente nuova: il detect, la segmentazione e il track di tutte le istanze di un concetto visivo specificato da prompt testuali, esemplari di immagini o entrambi. A differenza delle versioni precedenti di SAM che segmentano singoli oggetti per prompt, SAM 3 può trovare e segmentare ogni occorrenza di un concetto che appare ovunque in immagini o video, allineandosi con gli obiettivi di open-vocabulary nella moderna instance segmentation.

SAM è ora completamente integrato nel ultralytics pacchetto che fornisce supporto nativo per la segmentazione concettuale con prompt di testo, prompt di immagini esemplificative e funzionalità di tracciamento video.

Panoramica

SAM 3 ottiene un guadagno di prestazioni di 2× rispetto ai sistemi esistenti nella Promptable Concept Segmentation, mantenendo e migliorando le capacità di SAM 2 per la segmentazione visuale interattiva. Il modello eccelle nella segmentazione a vocabolario aperto, consentendo agli utenti di specificare i concetti utilizzando semplici sintagmi nominali (ad esempio, "scuolabus giallo", "gatto a strisce") o fornendo immagini di esempio dell'oggetto target. Queste funzionalità completano le pipeline pronte per la produzione che si basano su flussi di lavoro semplificati di predict e track.

Segmentazione SAM 3

Cos'è la Segmentazione Concettuale Richiedibile (Promptable Concept Segmentation, PCS)?

L'attività PCS prende un concept prompt come input e restituisce maschere di segmentazione con identità univoche per tutte le istanze di oggetti corrispondenti. I concept prompt possono essere:

  • Testo: Sintagmi nominali semplici come "mela rossa" o "persona che indossa un cappello", simile all'apprendimento zero-shot
  • Esemplari di immagine: Riquadri di delimitazione attorno a oggetti di esempio (positivi o negativi) per una rapida generalizzazione
  • Combinato: Sia testo che immagini esemplari insieme per un controllo preciso

Questo si differenzia dai tradizionali prompt visivi (punti, riquadri, maschere) che segmentano solo una singola istanza specifica di un oggetto, come reso popolare dalla famiglia SAM originale.

Principali Metriche di Performance

MetricaRisultati di SAM 3
AP Maschera Zero-Shot LVIS47.0 (vs il precedente miglior risultato di 38.5, +22% di miglioramento)
Benchmark SA-Co2 volte meglio dei sistemi esistenti
Velocità di Inference (GPU H200)30 ms per immagine con oltre 100 oggetti detect
Prestazioni videoQuasi in tempo reale per ~5 oggetti concorrenti
MOSEv2 VOS Benchmark60.1 J&F (+25.5% rispetto a SAM 2.1, +17% rispetto al precedente SOTA)
Rifinitura interattivaMiglioramento di +18.6 CGF1 dopo 3 prompt esemplari
Divario nelle prestazioni umaneRaggiunge l' 88% del limite inferiore stimato su SA-Co/Gold

Per il contesto sulle metriche del modello e i compromessi nella produzione, consulta approfondimenti sulla valutazione del modello e metriche di performance YOLO.

Architettura

SAM 3 è composto da un detector e un tracker che condividono un backbone di visione Perception Encoder (PE). Questo design disaccoppiato evita conflitti tra compiti, consentendo sia il detection a livello di immagine che il track a livello di video, con un'interfaccia compatibile con l'utilizzo di Ultralytics Python e l'CLI.

Componenti Principali

  • Detector: Architettura basata su DETR per la concept detection a livello di immagine

    • Codificatore di testo per prompt di sintagmi nominali
    • Encoder esemplare per prompt basati su immagini
    • Codificatore di fusione per condizionare le caratteristiche dell'immagine sui prompt
    • Nuovo presence head che disaccoppia il riconoscimento ("cosa") dalla localizzazione ("dove")
    • Head maschera per generare maschere di segmentazione dell'istanza
  • Tracker: Segmentazione video basata sulla memoria ereditata da SAM 2

    • Codificatore di prompt, decodificatore di maschere, codificatore di memoria
    • Banca di memoria per memorizzare l'aspetto degli oggetti tra i frame
    • Disambiguazione temporale supportata da tecniche come un filtro di Kalman in contesti multi-oggetto
  • Token di Presenza: Un token globale appreso che prevede se il concetto target è presente nell'immagine/frame, migliorando la detection separando il riconoscimento dalla localizzazione.

Architettura di SAM 3

Innovazioni Chiave

  1. Riconoscimento e localizzazione disaccoppiati: L'head di presenza prevede la presenza del concetto a livello globale, mentre le query di proposta si concentrano solo sulla localizzazione, evitando obiettivi contrastanti.
  2. Concetti unificati e prompt visivi: Supporta sia PCS (prompt concettuali) che PVS (prompt visivi come i clic/riquadri di SAM 2) in un singolo modello.
  3. Rifinitura interattiva basata su esemplari: Gli utenti possono aggiungere esemplari di immagini positivi o negativi per affinare iterativamente i risultati, con il modello che generalizza a oggetti simili piuttosto che correggere solo singole istanze.
  4. Disambiguazione temporale: utilizza i punteggi di rilevamento masklet e il re-prompting periodico per gestire occlusioni, scene affollate e fallimenti di tracking nei video, in linea con le best practice di segmentazione e tracking di istanze.

Dataset SA-Co

SAM 3 è addestrato su Segment Anything with Concepts (SA-Co), il set di dati di segmentazione più grande e diversificato di Meta fino ad oggi, che si espande oltre i benchmark comuni come COCO e LVIS.

Dati di addestramento

Componente del DatasetDescrizioneScala
SA-Co/HQDati di immagini annotati da umani di alta qualità dal motore di dati a 4 fasi5.2M immagini, 4M sintagmi nominali unici
SA-Co/SYNSet di dati sintetici etichettato dall'IA senza coinvolgimento umano38M sintagmi nominali, 1.4B maschere
SA-Co/EXT15 dataset esterni arricchiti con negativi difficiliVaria in base alla fonte
SA-Co/VIDEOAnnotazioni video con temporal track52.5K video, 24.8K sintagmi nominali unici

Dati di benchmark

Il benchmark di valutazione SA-Co contiene 214.000 frasi uniche in 126.000 immagini e video, fornendo oltre 50 volte più concetti rispetto ai benchmark esistenti. Include:

  • SA-Co/Gold: 7 domini, con tripla annotazione per misurare i limiti delle prestazioni umane
  • SA-Co/Silver: 10 domini, singola annotazione umana
  • SA-Co/Bronze e SA-Co/Bio: 9 dataset esistenti adattati per la segmentazione concettuale
  • SA-Co/VEval: Benchmark video con 3 domini (SA-V, YT-Temporal-1B, SmartGlasses)

Innovazioni del Motore di Dati

Il motore dati scalabile human- and model-in-the-loop di SAM 3 raggiunge una produttività di annotazione 2× tramite:

  1. Annotatori AI: I modelli basati su Llama propongono diverse frasi nominali, inclusi i negativi difficili
  2. Verificatori AI: I LLM multimodali ottimizzati verificano la qualità e l'esaustività della maschera con prestazioni quasi umane
  3. Active Mining: Concentra lo sforzo umano sui casi di errore impegnativi in cui l'IA fatica
  4. Basato Sull'Ontologia: Sfrutta una vasta ontologia basata su Wikidata per la copertura dei concetti

Installazione

SAM è disponibile nellaversione 8.3.237 e successive Ultralytics . Installare o aggiornare con:

pip install -U ultralytics

Pesi richiesti per il modello SAM

A differenza di altri Ultralytics , SAM pondera (sam3.pt) sono non scaricato automaticamente. È necessario scaricare manualmente i pesi del modello dal repository ufficiale SAM prima di utilizzare SAM . Posizionare il file scaricato sam3.pt file nella directory di lavoro o specificare il percorso completo durante il caricamento del modello.

Vocabolario BPE per suggerimenti di testo

Se prevedi di utilizzare la segmentazione concettuale basata sul testo con SAM3SemanticPredictor, è necessario scaricare anche il file del vocabolario BPE. bpe_simple_vocab_16e6.txt.gz da Risorse SAM.

Come utilizzare SAM 3: Versatilità nella segmentazione concettuale

SAM supporta sia le attività di segmentazione concettuale promptabile (PCS) che quelle di segmentazione visiva promptabile (PVS) attraverso diverse interfacce predittive.

Modelli e attività supportati

SAM 3 supporta sia le attività di Promptable Concept Segmentation (PCS) che di Promptable Visual Segmentation (PVS):

Tipo di attivitàTipi di promptOutput
Segmentazione concettuale (PCS)Testo (sintagmi nominali), esempi di immaginiTutte le istanze corrispondenti al concetto
Segmentazione visiva (PVS)Punti, box, maschereIstanza di singolo oggetto (stile SAM 2)
Rifinitura interattivaAggiungi/rimuovi esemplari o clic in modo iterativoSegmentazione raffinata con maggiore accuratezza

Esempi di segmentazione concettuale

Segmenta con prompt di testo

Segmentazione concettuale basata su testo

Trova e segment le occorrenze di un concetto utilizzando una descrizione testuale. I prompt di testo richiedono il SAM3SemanticPredictor interfaccia.

from ultralytics.models.sam.predict 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
)
predictor = SAM3SemanticPredictor(
    overrides=overrides,
    bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz",  # Required for text encoding
)

# Set image once for multiple queries
predictor.set_image("path/to/image.jpg")

# Query with multiple text prompts
results = predictor(text=["person", "bus", "glasses"], save=True)

# Works with descriptive phrases
results = predictor(text=["person with red cloth", "person with blue cloth"], save=True)

# Query with a single concept
results = predictor(text=["a person"], save=True)

Requisiti di codifica del testo

Il bpe_path Il parametro è necessario per la codifica del prompt di testo. Scarica il file del vocabolario BPE dal sito bpe_vocabolario_semplice_16e6.txt.gz.

Segmenta con esemplari di immagini

Segmentazione basata su esemplari di immagini

Utilizza i riquadri di delimitazione come indicatori visivi per trovare tutte le istanze simili. Ciò richiede anche SAM3SemanticPredictor per l'abbinamento basato sul concetto.

from ultralytics.models.sam.predict import SAM3SemanticPredictor

# Initialize predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True)
predictor = SAM3SemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")

# 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]], save=True)

# Multiple bounding boxes for different concepts
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]], save=True)

Inferenza basata sulle caratteristiche per l'efficienza

Riutilizzo delle caratteristiche delle immagini per query multiple

Estrai le caratteristiche dell'immagine una sola volta e riutilizzale per più query di segmentazione per migliorare l'efficienza.

import cv2

from ultralytics.models.sam.predict 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, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")
predictor2 = SAM3SemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")

# 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
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)

Segmentazione concettuale video

Traccia i concetti nei video con i riquadri di delimitazione

Tracciamento video con indicazioni visive

Rileva e track le istanze track nei fotogrammi video utilizzando i suggerimenti dei riquadri di delimitazione.

from ultralytics.models.sam.predict 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

Traccia concetti con suggerimenti di testo

Tracciamento video con query semantiche

Traccia tutte le occorrenze dei concetti specificati dal testo nei fotogrammi video.

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)
predictor = SAM3VideoSemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")

# Track concepts using text prompts
results = predictor(source="path/to/video.mp4", text=["person", "bicycle"], stream=True, save=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,
    save=True,
)

Prompt visivi (Compatibilità SAM 2)

SAM mantiene la piena retrocompatibilità con i prompt visivi SAM per la segmentazione di singoli oggetti:

Prompt visivi di stile SAM 2

Il fondamentale SAM L'interfaccia si comporta esattamente come SAM , segmentando solo l'area specifica indicata dai suggerimenti visivi (punti, riquadri o maschere).

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()

Suggerimenti visivi vs segmentazione concettuale

L'utilizzo di SAM("sam3.pt") con indicazioni visive (punti/riquadri/maschere) segment solo l'oggetto specifico in quella posizione, proprio come SAM . Per segment tutte le istanze di un concetto, usa SAM3SemanticPredictor with text or exemplar prompts as shown above.

Benchmark delle prestazioni

Segmentazione delle immagini

SAM 3 ottiene risultati all'avanguardia in diversi benchmark, inclusi set di dati del mondo reale come LVIS e COCO per la segmentazione:

BenchmarkMetricaSAM 3Migliore precedenteMiglioramento
LVIS (zero-shot)AP maschera47.038.5+22.1%
SA-Co/GoldCGF165.034.3 (OWLv2)+89.5%
COCO (zero-shot)AP Box53.552.2 (T-Rex2)+2.5%
ADE-847 (segmentazione semantica)mIoU14.79.2 (APE-D)+59.8%
PascalConcept-59mIoU59.458.5 (APE-D)+1.5%
Cityscapes (segmentazione semantica)mIoU65.144.2 (APE-D)+47.3%

Esplora le opzioni di dataset per una rapida sperimentazione nei dataset Ultralytics.

Prestazioni di segmentazione video

SAM 3 mostra miglioramenti significativi rispetto a SAM 2 e allo stato dell'arte precedente nei benchmark video come DAVIS 2017 e YouTube-VOS:

BenchmarkMetricaSAM 3SAM 2.1 LMiglioramento
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%

Adattamento Few-Shot

SAM 3 eccelle nell'adattarsi a nuovi domini con esempi minimi, rilevante per i flussi di lavoro di AI incentrata sui dati:

BenchmarkAP 0-shotAP 10-shotMigliore precedente (10-shot)
ODinW1359.971.667.9 (gDino1.5-Pro)
RF100-VL14.335.733.7 (gDino-T)

Efficacia della rifinitura interattiva

Il prompting basato su concetti di SAM 3 con esemplari converge molto più velocemente del prompting visivo:

Prompt aggiuntiPunteggio CGF1Guadagno rispetto al solo testoGuadagno rispetto alla baseline PVS
Solo testo46.4baselinebaseline
+1 esemplare57.6+11.2+6.7
+2 esemplari62.2+15.8+9.7
+3 esemplari65.0+18.6+11.2
+4 esemplari65.7+19.3+11.5 (plateau)

Precisione nel conteggio degli oggetti

SAM 3 fornisce un conteggio accurato segmentando tutte le istanze, un requisito comune nel conteggio degli oggetti:

BenchmarkAccuratezzaMAEvs Miglior MLLM
CountBench95.6%0.1192.4% (Gemini 2.5)
PixMo-Count87.3%0.2288.8% (Molmo-72B)

Confronto tra SAM 3, SAM 2 e YOLO

Qui confrontiamo le capacità di SAM 3 con i modelli SAM 2 e YOLO11:

CapacitàSAM 3SAM 2YOLO11n-seg
Segmentazione concettuale✅ Tutte le istanze da testo/esemplari❌ Non supportato❌ Non supportato
Segmentazione visiva✅ Singola istanza (compatibile con SAM 2)✅ Singola istanza✅ Tutte le istanze
Capacità Zero-shot✅ Vocabolario aperto✅ Prompt geometrici❌ Set chiuso
Rifinitura interattiva✅ Esemplari + clic✅ Solo clic❌ Non supportato
Video track✅ Multi-oggetto con identità✅ Multi-oggetto✅ Multi-oggetto
AP Maschera LVIS (zero-shot)47.0N/AN/A
MOSEv2 J&F60.147.9N/A
Velocità di Inference (H200)30 ms (oltre 100 oggetti)~23 ms (per oggetto)2-3 ms (immagine)
Dimensione del modelloGrandi (~400+ MB previsti)162 MB (base)5.9 MB

Punti chiave:

  • SAM 3: Ottimale per la segmentazione di concetti open-vocabulary, trovando tutte le istanze di un concetto con prompt testuali o esemplari
  • SAM 2: Ottimale per la segmentazione interattiva di singoli oggetti in immagini e video con prompt geometrici
  • YOLO11: Ideale per la segmentation in tempo reale ad alta velocità in implementazioni con risorse limitate utilizzando efficienti pipeline di esportazione come ONNX e TensorRT.

Metriche di valutazione

SAM 3 introduce nuove metriche progettate per il compito PCS, che completano le misure familiari come il punteggio F1, la precisione e il richiamo.

F1 con gate di classificazione (CGF1)

La metrica principale che combina localizzazione e classificazione:

CGF1 = 100 × pmF1 × IL_MCC

Dove:

  • pmF1 (Macro F1 Positivo): Misura la qualità della localizzazione su esempi positivi
  • IL_MCC (Coefficiente di correlazione di Matthews a livello di immagine): Misura l'accuratezza della classificazione binaria ("il concetto è presente?")

Perché queste metriche?

Le metriche AP tradizionali non tengono conto della calibrazione, rendendo i modelli difficili da usare nella pratica. Valutando solo le predizioni con un livello di confidenza superiore a 0.5, le metriche di SAM 3 impongono una buona calibrazione e simulano i modelli di utilizzo nel mondo reale nei loop interattivi di predict e track.

Ablazioni e approfondimenti chiave

Impatto dell'Head di Presenza

L'head di presenza disaccoppia il riconoscimento dalla localizzazione, fornendo miglioramenti significativi:

ConfigurazioneCGF1IL_MCCpmF1
Senza presenza57.60.7774.7
Con presenza63.30.8277.1

L'head di presenza fornisce un aumento di +5,7 CGF1 (+9,9%), migliorando principalmente la capacità di riconoscimento (IL_MCC +6,5%).

Effetto dei negativi difficili

Negativi Difficili/ImmagineCGF1IL_MCCpmF1
031.80.4470.2
544.80.6271.9
3049.20.6872.3

I negativi difficili sono fondamentali per il riconoscimento a vocabolario aperto, migliorando IL_MCC del 54,5% (0,44 → 0,68).

Ridimensionamento dei dati di addestramento

Fonti di DatiCGF1IL_MCCpmF1
Solo esterno30.90.4666.3
Esterno + Sintetico39.70.5770.6
Esterno + HQ51.80.7173.2
Tutti e tre54.30.7473.5

Annotazioni umane di alta qualità forniscono grandi vantaggi rispetto ai soli dati sintetici o esterni. Per informazioni di base sulle pratiche di qualità dei dati, consultare raccolta e annotazione dei dati.

Applicazioni

La capacità di segmentazione concettuale di SAM 3 abilita nuovi casi d'uso:

  • Moderazione dei contenuti: Trova tutte le istanze di specifici tipi di contenuto nelle librerie multimediali
  • E-commerce: segment tutti i prodotti di un certo tipo nelle immagini del catalogo, supportando l'auto-annotazione.
  • Imaging medicale: Identifica tutte le occorrenze di specifici tipi di tessuto o anomalie
  • Sistemi autonomi: Esegui il track di tutte le istanze di segnali stradali, pedoni o veicoli per categoria
  • Analisi video: Contare e tracciare tutte le persone che indossano abiti specifici o che eseguono determinate azioni
  • Annotazione del dataset: Annota rapidamente tutte le istanze di categorie di oggetti rari
  • Ricerca scientifica: Quantificare e analizzare tutti i campioni che corrispondono a criteri specifici

SAM 3 Agent: Ragionamento linguistico esteso

SAM 3 può essere combinato con modelli linguistici di grandi dimensioni multimodali (MLLM) per gestire query complesse che richiedono ragionamento, in modo simile ai sistemi a vocabolario aperto come OWLv2 e T-Rex.

Performance su attività di ragionamento

BenchmarkMetricaSAM 3 Agent (Gemini 2.5 Pro)Migliore precedente
ReasonSeg (convalida)gIoU76.065.0 (SoTA)
ReasonSeg (test)gIoU73.861.3 (SoTA)
OmniLabel (convalida)AP46.736.5 (REAL)
RefCOCO+Acc91.289.3 (LISA)

Esempio di query complesse

SAM 3 Agent è in grado di gestire query che richiedono ragionamento:

  • "Persone sedute che non tengono in mano una confezione regalo"
  • "Il cane più vicino alla telecamera che non indossa un collare"
  • "Oggetti rossi più grandi della mano della persona"

L'MLLM propone semplici query di sintagmi nominali a SAM 3, analizza le maschere restituite e itera fino a quando non è soddisfatto.

Limitazioni

Sebbene SAM 3 rappresenti un importante progresso, presenta alcune limitazioni:

  • Complessità delle Frasi: Più adatto per semplici sintagmi nominali; espressioni referenziali lunghe o ragionamenti complessi potrebbero richiedere l'integrazione di MLLM.
  • Gestione dell'ambiguità: Alcuni concetti rimangono intrinsecamente ambigui (ad esempio, "finestra piccola", "stanza accogliente")
  • Requisiti computazionali: Più grande e più lento dei modelli di detect specializzati come YOLO
  • Ambito del vocabolario: Focalizzato su concetti visivi atomici; il ragionamento compositivo è limitato senza l'assistenza di MLLM.
  • Concetti Rari: Le prestazioni possono peggiorare su concetti estremamente rari o granulari non ben rappresentati nei dati di addestramento

Citazione

@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

Quando è stato rilasciato SAM ?

SAM è stato rilasciato da Meta il 20 novembre 2025 ed è completamente integrato in Ultralytics dalla versione 8.3.237 (PR #22897). È disponibile il supporto completo per la modalità di previsione e track .

SAM è integrato in Ultralytics?

Sì! SAM è completamente integrato nelPython Ultralytics , inclusi la segmentazione concettuale, i prompt visivi SAM e il tracciamento video multi-oggetto. È possibile esportare in formati come ONNX e TensorRT per l'implementazione, con Python e CLI .

Cos'è la Segmentazione Concettuale Richiedibile (Promptable Concept Segmentation, PCS)?

PCS è una nuova attività introdotta in SAM 3 che segmenta tutte le istanze di un concetto visivo in un'immagine o in un video. A differenza della segmentazione tradizionale che mira a una specifica istanza di oggetto, PCS trova ogni occorrenza di una categoria. Per esempio:

  • Testo prompt: "scuolabus giallo" → segmenta tutti gli scuolabus gialli nella scena
  • Esemplare di immagine: Riquadro attorno a un cane → segment tutti i cani nell'immagine
  • Combinato: "gatto tigrato" + box esemplare → segment tutti i gatti tigrati corrispondenti all'esempio

Vedi informazioni di background correlate su object detection e instance segmentation.

In cosa si differenzia SAM 3 da SAM 2?

FunzionalitàSAM 2SAM 3
TaskSingolo oggetto per promptTutte le istanze di un concetto
Tipi di promptPunti, box, maschere+ Frasi di testo, esemplari di immagini
Capacità di detectionRichiede un detector esternoDetector open-vocabulary integrato
RiconoscimentoSolo basato sulla geometriaRiconoscimento testuale e visivo
ArchitetturaSolo trackerDetector + Tracker con presence head
Prestazioni Zero-ShotN/D (richiede prompt visivi)47.0 AP su LVIS, 2× migliore su SA-Co
Rifinitura interattivaSolo clicClic + generalizzazione esemplare

SAM 3 mantiene la compatibilità con le versioni precedenti con il prompting visivo di SAM 2 aggiungendo al contempo funzionalità basate su concetti.

Quali dataset vengono utilizzati per addestrare SAM 3?

SAM 3 è addestrato sul set di dati Segment Anything with Concepts (SA-Co):

Dati di addestramento:

  • 5,2 milioni di immagini con 4 milioni di sintagmi nominali unici (SA-Co/HQ) - annotazioni umane di alta qualità
  • 52.500 video con 24.800 sintagmi nominali unici (SA-Co/VIDEO)
  • 1.4B di maschere sintetiche attraverso 38M di sintagmi nominali (SA-Co/SYN)
  • 15 dataset esterni arricchiti con negativi difficili (SA-Co/EXT)

Dati di benchmark:

  • 214K concetti unici attraverso 126K immagini/video
  • 50 volte più concetti rispetto ai benchmark esistenti (ad esempio, LVIS ha circa 4.000 concetti)
  • Annotazione tripla su SA-Co/Gold per misurare i limiti delle prestazioni umane

Questa massiccia scala e diversità consente la generalizzazione zero-shot superiore di SAM 3 attraverso concetti di vocabolario aperto.

Come si confronta SAM 3 con YOLO11 per la segmentazione?

SAM 3 e YOLO11 servono casi d'uso diversi:

Vantaggi di SAM 3:

  • Vocabolario aperto: Segmenta qualsiasi concetto tramite prompt testuali senza addestramento
  • Zero-shot: Funziona immediatamente su nuove categorie
  • Interattivo: La rifinitura basata su esemplari si generalizza a oggetti simili
  • Basato su concetti: Trova automaticamente tutte le istanze di una categoria
  • Accuratezza: 47.0 AP sulla segmentazione di istanze zero-shot LVIS

Vantaggi di YOLO11:

  • Velocità: Inferenza 10-15× più veloce (2-3ms vs 30ms per immagine)
  • Efficienza: modelli 70 volte più piccoli (5,9 MB contro i ~400 MB previsti)
  • A basso consumo di risorse: Funziona su dispositivi edge e dispositivi mobili
  • Tempo reale: Ottimizzato per implementazioni di produzione

Raccomandazione:

  • Usa SAM 3 per una segmentazione flessibile e a vocabolario aperto, dove è necessario trovare tutte le istanze di concetti descritti da testo o esempi
  • Usa YOLO11 per implementazioni di produzione ad alta velocità dove le categorie sono note in anticipo
  • Usa SAM 2 per la segmentazione interattiva di singoli oggetti con prompt geometrici

SAM 3 è in grado di gestire query linguistiche complesse?

SAM 3 è progettato per semplici sintagmi nominali (ad esempio, "mela rossa", "persona che indossa un cappello"). Per query complesse che richiedono ragionamento, combina SAM 3 con un MLLM come SAM 3 Agent:

Query semplici (SAM 3 nativo):

  • "Scuolabus giallo"
  • "Gatto tigrato"
  • "Persona che indossa un cappello rosso"

Query complesse (SAM 3 Agent con MLLM):

  • "Persone sedute che non tengono in mano una confezione regalo"
  • "Il cane più vicino alla telecamera senza collare"
  • "Oggetti rossi più grandi della mano della persona"

SAM 3 Agent ottiene 76.0 gIoU sulla convalida ReasonSeg (vs 65.0 il miglior risultato precedente, +16.9% di miglioramento) combinando la segmentazione di SAM 3 con le capacità di ragionamento MLLM.

Quanto è preciso SAM 3 rispetto alle prestazioni umane?

Sul benchmark SA-Co/Gold con tripla annotazione umana:

  • Limite inferiore umano: 74.2 CGF1 (annotatore più conservativo)
  • Prestazioni di SAM 3: 65.0 CGF1
  • Risultato: 88% del limite inferiore umano stimato
  • Limite superiore umano: 81.4 CGF1 (annotatore più liberale)

SAM 3 ottiene prestazioni elevate, avvicinandosi all'accuratezza del livello umano nella segmentazione di concetti a vocabolario aperto, con il divario principalmente su concetti ambigui o soggettivi (ad esempio, "finestra piccola", "stanza accogliente").



📅 Creato 2 mesi fa ✏️ Aggiornato 0 giorni fa
glenn-jocherRizwanMunawarLaughing-qY-T-G

Commenti