SAM 3: segmenta qualsiasi cosa con i concetti#

SAM 3 (Modello Segment Anything 3) è il modello di base rilasciato da Meta per la segmentazione di concetti con prompt (PCS). Basandosi su SAM 2, SAM 3 introduce una capacità fondamentalmente nuova: rilevare, segmentare e tracciare tutte le istanze di un concetto visivo specificato tramite prompt testuali, immagini di esempio o entrambi. A differenza delle versioni precedenti di SAM, che segmentano singoli oggetti per ogni prompt, SAM 3 può trovare e segmentare ogni occorrenza di un concetto presente nelle immagini o nei video, in linea con gli obiettivi a vocabolario aperto della moderna segmentazione delle istanze.
Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos
SAM 3 è completamente integrato nel pacchetto ultralytics, offrendo supporto nativo per la segmentazione dei concetti con prompt di testo, prompt di esempi di immagini e tracciamento video. Il nuovo checkpoint SAM 3.1 è supportato per la previsione delle immagini.
Panoramica#
SAM 3 raggiunge un guadagno prestazionale di 2× rispetto ai sistemi esistenti nella segmentazione di concetti con prompt, mantenendo e migliorando le capacità di SAM 2 per la segmentazione visiva interattiva. Il modello eccelle nella segmentazione a vocabolario aperto, consentendo di specificare concetti usando semplici sintagmi nominali (ad esempio, "autobus scolastico giallo", "gatto a strisce") oppure fornendo immagini di esempio dell'oggetto target. Queste capacità completano pipeline pronte per la produzione che si basano su workflow semplificati di predict e track.

Che cos'è la segmentazione di concetti con prompt (PCS)?#
Il task PCS prende in input un prompt concettuale e restituisce maschere di segmentazione con identità univoche per tutte le istanze di oggetti corrispondenti. I prompt concettuali possono essere:
- Testo: semplici sintagmi nominali come "mela rossa" o "persona con un cappello", simili allo zero-shot learning
- Immagini di esempio: BBox intorno a oggetti di esempio (positivi o negativi) per una generalizzazione rapida
- Combinati: testo e immagini di esempio insieme per un controllo preciso
Questo differisce dai prompt visivi tradizionali (punti, riquadri, maschere), che segmentano una sola istanza di oggetto specifica, come reso popolare dalla famiglia originale SAM.
Metriche prestazionali principali#
| Metrica | Risultato di SAM 3 |
|---|---|
| AP delle maschere zero-shot su LVIS | 47,0 (rispetto al precedente record di 38,5, miglioramento del +22%) |
| Benchmark SA-Co | 2× migliore rispetto ai sistemi esistenti |
| Velocità di inferenza (GPU H200) | 30 ms per immagine con oltre 100 oggetti rilevati |
| Prestazioni video | Quasi in tempo reale per ~5 oggetti simultanei |
| Benchmark VOS MOSEv2 | 60,1 J&F (+25,5% rispetto a SAM 2.1, +17% rispetto al precedente SOTA) |
| Raffinamento interattivo | Miglioramento di +18,6 CGF1 dopo 3 prompt con immagini di esempio |
| Divario rispetto alle prestazioni umane | Raggiunge l'88% del limite inferiore stimato su SA-Co/Gold |
Per informazioni sul contesto delle metriche dei modelli e sui compromessi in produzione, consulta approfondimenti sulla valutazione dei modelli e metriche delle prestazioni di YOLO.
SAM 3.1#
SAM 3.1, rilasciato da Meta il 27 marzo 2026, è un nuovo checkpoint di SAM 3 che aggiunge Object Multiplex, un approccio di memoria condivisa per il tracciamento video multi-oggetto. Invece di elaborare ogni oggetto tracciato in modo indipendente, SAM 3.1 raggruppa gli oggetti in bucket a capacità fissa e li elabora congiuntamente, il che secondo Meta garantisce un accelerazione di ~7× su 128 oggetti con una singola GPU H100. Il rilevatore di immagini e la testa interattiva dei prompt a punti mantengono l'architettura di SAM 3.
| Benchmark | Metrica | SAM 3 | SAM 3.1 |
|---|---|---|---|
| SA-Co/VEval SA-V (test) | cgF1 | 30.3 | 30.5 |
| SA-Co/VEval YT-Temporal-1B (test) | cgF1 | 50.8 | 52.9 |
| SA-Co/VEval SmartGlasses (test) | cgF1 | 36.4 | 36.3 |
| MOSEv1 (val) | J&F | 78.4 | 79.6 |
| DAVIS17 (val) | J&F | 92.2 | 92.7 |
| SA-V (test) | J&F | 84.4 | 85.1 |
| YTVOS19 (val) | G | 89.7 | 89.3 |
| MOSEv2 (val) | J&Ḟ | 60.3 | 62.3 |
Ultralytics carica il checkpoint di SAM 3.1 (sam3.1_multiplex.pt) nei predittori di immagini di SAM 3: SAM("sam3.1_multiplex.pt") per i prompt di punti e riquadri e SAM3SemanticPredictor per i prompt di testo ed esemplari. Il tracciamento video Object Multiplex non è ancora supportato, quindi continua a usare sam3.pt con SAM3VideoPredictor e SAM3VideoSemanticPredictor.
Architettura#
SAM 3 è composto da un rilevatore e un tracker che condividono un backbone visivo Perception Encoder (PE). Questo design disaccoppiato evita conflitti tra i task e abilita sia il rilevamento a livello di immagine sia il tracking a livello di video, con un'interfaccia compatibile con l'utilizzo di Python e l'utilizzo della CLI di Ultralytics.
Componenti principali#
-
Rilevatore: architettura basata su DETR per il rilevamento di concetti a livello di immagine
- Encoder testuale per i prompt con sintagmi nominali
- Encoder degli esempi per i prompt basati su immagini
- Encoder di fusione per condizionare le caratteristiche dell'immagine in base ai prompt
- Nuova presence head che disaccoppia il riconoscimento ("cosa") dalla localizzazione ("dove")
- Mask head per generare maschere di segmentazione delle istanze
-
Tracker: segmentazione video basata sulla memoria, ereditata da SAM 2
- Encoder dei prompt, decoder delle maschere, encoder della memoria
- Memory bank per memorizzare l'aspetto degli oggetti tra i frame
- Disambiguazione temporale supportata da tecniche come un filtro di Kalman in scenari multi-oggetto
-
Presence Token: token globale appreso che prevede se il concetto target è presente nell'immagine/frame, migliorando il rilevamento separando il riconoscimento dalla localizzazione.

Innovazioni principali#
- Riconoscimento e localizzazione disaccoppiati: la presence head prevede globalmente la presenza del concetto, mentre le query delle proposte si concentrano solo sulla localizzazione, evitando obiettivi in conflitto.
- Prompt concettuali e visivi unificati: supporta sia i task PCS (prompt concettuali) sia i task PVS (prompt visivi come clic/riquadri di SAM 2) in un unico modello.
- Raffinamento interattivo con immagini di esempio: puoi aggiungere immagini di esempio positive o negative per raffinare iterativamente i risultati; il modello si generalizza a oggetti simili invece di correggere soltanto singole istanze.
- Disambiguazione temporale: usa i punteggi di rilevamento dei masklet e il re-prompting periodico per gestire occlusioni, scene affollate e problemi di tracking nei video, in linea con le best practice per la segmentazione e il tracking delle istanze.
Dataset SA-Co#
SAM 3 è addestrato su Segment Anything with Concepts (SA-Co), il dataset di segmentazione più grande e diversificato mai realizzato da Meta, che va oltre benchmark comuni come COCO e LVIS.
Dati di addestramento#
| Componente del dataset | Descrizione | Dimensioni |
|---|---|---|
| SA-Co/HQ | Dati di immagini di alta qualità annotati da esseri umani, provenienti da un data engine in 4 fasi | 5,2M di immagini, 4M di sintagmi nominali univoci |
| SA-Co/SYN | Dataset sintetico etichettato dall'AI senza intervento umano | 38M di sintagmi nominali, 1,4B di maschere |
| SA-Co/EXT | 15 dataset esterni arricchiti con negativi difficili | Varia in base alla fonte |
| SA-Co/VIDEO | Annotazioni video con tracking temporale | 52,5K di video, 24,8K di sintagmi nominali univoci |
Dati di benchmark#
Il benchmark di valutazione SA-Co contiene 214K frasi univoche distribuite su 126K immagini e video, offrendo oltre 50× 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, con una singola annotazione umana
- SA-Co/Bronze e SA-Co/Bio: 9 dataset esistenti adattati alla segmentazione di concetti
- SA-Co/VEval: benchmark video con 3 domini (SA-V, YT-Temporal-1B, SmartGlasses)
Innovazioni del data engine#
Il data engine di SAM 3, scalabile e con esseri umani e modelli nel ciclo, raggiunge un throughput di annotazione 2× superiore attraverso:
- Annotatori AI: i modelli basati su Llama propongono sintagmi nominali diversificati, inclusi negativi difficili
- Verificatori AI: gli LLM multimodali ottimizzati verificano la qualità e l'esaustività delle maschere con prestazioni quasi umane
- Active Mining: concentra l'impegno umano sui casi di errore complessi in cui l'AI incontra difficoltà
- Guidato dall'ontologia: sfrutta un'ontologia ampia basata su Wikidata per garantire la copertura dei concetti
Installazione#
Installa o aggiorna il pacchetto ultralytics:
pip install -U ultralyticsA differenza degli altri modelli Ultralytics, i pesi di SAM 3 (sam3.pt) non vengono scaricati automaticamente. Devi prima richiedere l'accesso ai pesi del modello nella pagina del modello SAM 3 su Hugging Face e, dopo l'approvazione, scaricare sam3.pt da quella pagina. Inserisci il file sam3.pt scaricato nella directory di lavoro oppure specifica il percorso completo durante il caricamento del modello.
I pesi di SAM 3.1 (sam3.1_multiplex.pt) sono soggetti a restrizioni analoghe sulla pagina del modello SAM 3.1. Passa sam3.1_multiplex.pt ovunque gli esempi di immagini sottostanti utilizzino sam3.pt.
Se ricevi l'errore precedente durante la predizione, significa che hai installato il pacchetto clip errato. Installa il pacchetto corretto clip eseguendo quanto segue:
pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.gitCome usare SAM 3: versatilità nella segmentazione di concetti#
SAM 3 supporta sia i task di segmentazione di concetti con prompt (PCS) sia quelli di segmentazione visiva con prompt (PVS) tramite diverse interfacce dei predictor:
Task e modelli supportati#
| Tipo di task | Tipi di prompt | Output |
|---|---|---|
| Segmentazione di concetti (PCS) | Testo (sintagmi nominali), immagini di esempio | Tutte le istanze corrispondenti al concetto |
| Segmentazione visiva (PVS) | Punti, riquadri, maschere | Singola istanza di oggetto (stile SAM 2) |
| Raffinamento interattivo | Aggiunta/rimozione iterativa di immagini di esempio o clic | Segmentazione raffinata con accuratezza migliorata |
Esempi di segmentazione dei concetti#
Segmentazione con prompt testuali#
Trova e segmenta tutte le istanze di un concetto usando una descrizione testuale. I prompt testuali richiedono l'interfaccia 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"])Segmentazione con immagini di esempio#
Usa i riquadri di delimitazione come prompt visivi per trovare tutte le istanze simili. Anche questa operazione richiede SAM3SemanticPredictor per la corrispondenza basata sui concetti.
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]])Inferenza basata sulle caratteristiche per una maggiore efficienza#
Estrai le caratteristiche dell'immagine una sola volta e riutilizzale per più query di segmentazione, così da migliorare l'efficienza.
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)Segmentazione dei concetti nei video#
Tracciamento dei concetti nei video con riquadri di delimitazione#
Rileva e traccia le istanze degli oggetti tra i fotogrammi del video usando prompt costituiti da riquadri di delimitazione.
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 masksTracciamento dei concetti con prompt testuali#
Traccia tutte le istanze dei concetti specificati dal testo tra i fotogrammi del video.
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,
)Prompt visivi (compatibilità con SAM 2)#
SAM 3 mantiene la piena compatibilità retroattiva con il prompting visivo di SAM 2 per la segmentazione di singoli oggetti:
L'interfaccia di base SAM si comporta esattamente come SAM 2 e segmenta solo l'area specifica indicata dai prompt 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()L'uso di SAM("sam3.pt") con prompt visivi (punti/riquadri/maschere) segmenta solo l'oggetto specifico presente in quella posizione, proprio come SAM 2. Per segmentare tutte le istanze di un concetto, usa SAM3SemanticPredictor con prompt testuali o prompt basati su immagini di esempio, come illustrato sopra.
Benchmark delle prestazioni#
Segmentazione delle immagini#
SAM 3 raggiunge risultati all'avanguardia su diversi benchmark, inclusi dataset del mondo reale come LVIS e COCO per la segmentazione:
| Benchmark | Metrica | SAM 3 | Migliore risultato precedente | Miglioramento |
|---|---|---|---|---|
| LVIS (zero-shot) | AP delle maschere | 47.0 | 38.5 | +22.1% |
| SA-Co/Gold | CGF1 | 65.0 | 34.3 (OWLv2) | +89.5% |
| COCO (zero-shot) | AP dei riquadri | 53.5 | 52.2 (T-Rex2) | +2.5% |
| ADE-847 (segmentazione semantica) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58.5 (APE-D) | +1.5% |
| Cityscapes (segmentazione semantica) | mIoU | 65.1 | 44.2 (APE-D) | +47.3% |
Esplora le opzioni dei dataset per sperimentare rapidamente nei dataset Ultralytics.
Prestazioni della segmentazione video#
SAM 3 mostra miglioramenti significativi rispetto a SAM 2 e ai precedenti risultati all'avanguardia su benchmark video come DAVIS 2017 e YouTube-VOS:
| Benchmark | Metrica | SAM 3 | SAM 2.1 L | Miglioramento |
|---|---|---|---|---|
| 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% |
Adattamento few-shot#
SAM 3 eccelle nell'adattarsi a nuovi domini con un numero minimo di esempi, una caratteristica rilevante per i flussi di lavoro di IA incentrata sui dati:
| Benchmark | AP con 0 esempi | AP con 10 esempi | Migliore risultato precedente (10 esempi) |
|---|---|---|---|
| ODinW13 | 59.9 | 71.6 | 67.9 (gDino1.5-Pro) |
| RF100-VL | 14.3 | 35.7 | 33.7 (gDino-T) |
Efficacia del perfezionamento interattivo#
Il prompting basato sui concetti di SAM 3 con immagini di esempio converge molto più rapidamente del prompting visivo:
| Prompt aggiunti | Punteggio CGF1 | Incremento rispetto al solo testo | Incremento rispetto alla baseline PVS |
|---|---|---|---|
| Solo testo | 46.4 | baseline | baseline |
| +1 immagine di esempio | 57.6 | +11.2 | +6.7 |
| +2 immagini di esempio | 62.2 | +15.8 | +9.7 |
| +3 immagini di esempio | 65.0 | +18.6 | +11.2 |
| +4 immagini di esempio | 65.7 | +19.3 | +11,5 (plateau) |
Precisione del conteggio degli oggetti#
SAM 3 offre un conteggio accurato segmentando tutte le istanze, un requisito comune nel conteggio degli oggetti:
| Benchmark | Precisione | MAE | rispetto al miglior MLLM |
|---|---|---|---|
| CountBench | 95.6% | 0.11 | 92.4% (Gemini 2.5) |
| PixMo-Count | 87.3% | 0.22 | 88,8% (Molmo-72B) |
Confronto tra SAM 3, SAM 2 e YOLO#
Qui confrontiamo le funzionalità dei modelli SAM 2 e YOLO26 con quelle di SAM 3. Per il rilevamento e la segmentazione open-vocabulary in tempo reale a partire dallo stesso tipo di prompt, consulta YOLOE:
| Funzionalità | SAM 3 | SAM 2 | YOLO26n-seg |
|---|---|---|---|
| Segmentazione dei concetti | ✅ Tutte le istanze da testo/immagini di esempio | ❌ Non supportata | ❌ Non supportata |
| Segmentazione visiva | ✅ Singola istanza (compatibile con SAM 2) | ✅ Singola istanza | ✅ Tutte le istanze |
| Capacità zero-shot | ✅ Vocabolario aperto | ✅ Prompt geometrici | ❌ Insieme chiuso |
| Raffinamento interattivo | ✅ Esemplari + clic | ✅ Solo clic | ❌ Non supportata |
| Tracciamento video | ✅ Multi-oggetto con identità | ✅ Multi-oggetto | ✅ Multi-oggetto |
| Mask AP su LVIS (zero-shot) | 47.0 | N/D | N/D |
| MOSEv2 J&F | 60.1 | 47.9 | N/D |
| Velocità (GPU, ms/imm.) | 2921 | 857 | 8.4 |
| Dimensioni del modello | 3.45 GB | 162 MB (base) | 6.4 MB |
Velocità misurata su NVIDIA RTX PRO 6000 con torch==2.9.1 e ultralytics==8.4.19.
Punti chiave:
- SAM 3: ideale per la segmentazione di concetti con vocabolario aperto e per trovare tutte le istanze di un concetto tramite prompt testuali o basati su esemplari
- SAM 2: ideale per la segmentazione interattiva di singoli oggetti in immagini e video con prompt geometrici
- YOLO26: Ideale per la segmentazione in tempo reale e ad alta velocità con inferenza end-to-end opzionale senza NMS, esportabile in molti formati per il deployment su GPU, CPU e dispositivi edge
Confronto tra SAM e YOLO#
Confronto tra SAM 3, SAM 2, SAM, MobileSAM e FastSAM e i modelli di segmentazione Ultralytics YOLO (YOLOv8, YOLO11, YOLO26) in termini di dimensioni, parametri e velocità di inferenza su GPU:
| Modello | Dimensioni (MB) | Parametri (M) | Velocità (GPU) (ms/imm.) |
|---|---|---|---|
| Meta SAM-b | 375 | 93.7 | 1306 |
| Meta SAM2-b | 162 | 80.8 | 857 |
| Meta SAM2-t | 78.1 | 38.9 | 668 |
| Meta SAM3 | 3450 | 473.6 | 2921 |
| MobileSAM | 40.7 | 10.1 | 605 |
| FastSAM-s con backbone YOLOv8 | 23.7 | 11.8 | 55.9 |
| Ultralytics YOLOv8n-seg | 6,7 (515 volte più piccolo) | 3,4 (139,1 volte inferiore) | 17,4 (167 volte più veloce) |
| Ultralytics YOLO11n-seg | 5.9 (585 volte più piccolo) | 2,9 (163,1 volte inferiore) | 12,6 (231 volte più veloce) |
| Ultralytics YOLO26n-seg | 6,4 (539 volte più piccolo) | 2.7 (175.2 volte in meno) | 8.4 (347 volte più veloce) |
Questo confronto evidenzia le notevoli differenze nelle dimensioni e nelle velocità dei modelli tra le varianti di SAM e i modelli di segmentazione YOLO. Sebbene SAM offra capacità di segmentazione automatica uniche, i modelli YOLO, in particolare YOLOv8n-seg, YOLO11n-seg e YOLO26n-seg, sono significativamente più piccoli, veloci ed efficienti dal punto di vista computazionale.
I test sono stati eseguiti su una NVIDIA RTX PRO 6000 con 96 GB di VRAM utilizzando torch==2.9.1 e ultralytics==8.4.19. Per riprodurre questo test:
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, nms=False) # YOLO26 NMS-free head; no-op for YOLOv8/YOLO11Metriche di valutazione#
SAM 3 introduce nuove metriche progettate per il task PCS, che completano misure note come punteggio F1, precisione e recall.
F1 con classificazione condizionata (CGF1)#
La metrica principale che combina localizzazione e classificazione:
CGF1 = 100 × pmF1 × IL_MCC
Dove:
- pmF1 (F1 macro positivo): misura la qualità della localizzazione sugli 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 confidenza superiore a 0.5, le metriche di SAM 3 impongono una buona calibrazione e riproducono i modelli di utilizzo del mondo reale nei cicli interattivi di predizione e tracking.
Principali ablazioni e risultati#
Impatto della head di presenza#
La head di presenza separa il riconoscimento dalla localizzazione, offrendo miglioramenti significativi:
| Configurazione | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Senza presenza | 57.6 | 0.77 | 74.7 |
| Con presenza | 63.3 | 0.82 | 77.1 |
La head di presenza offre un incremento di 5.7 CGF1 (+9.9%), migliorando principalmente la capacità di riconoscimento (IL_MCC +6.5%).
Effetto degli hard negative#
| Hard negative/immagine | 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 |
Gli hard negative sono fondamentali per il riconoscimento con vocabolario aperto e migliorano IL_MCC del 54.5% (0.44 → 0.68).
Scalabilità dei dati di addestramento#
| Fonti dei dati | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Solo esterni | 30.9 | 0.46 | 66.3 |
| Esterni + sintetici | 39.7 | 0.57 | 70.6 |
| Esterni + HQ | 51.8 | 0.71 | 73.2 |
| Tutti e tre | 54.3 | 0.74 | 73.5 |
Le annotazioni umane di alta qualità offrono miglioramenti significativi rispetto ai soli dati sintetici o esterni. Per informazioni di base sulle pratiche di qualità dei dati, consulta raccolta e annotazione dei dati.
Applicazioni#
La capacità di segmentazione dei concetti 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: segmenta tutti i prodotti di un determinato tipo nelle immagini dei cataloghi, supportando l'auto-annotazione
- Imaging medico: identifica tutte le occorrenze di specifici tipi di tessuto o anomalie
- Sistemi autonomi: traccia tutte le istanze di segnali stradali, pedoni o veicoli per categoria
- Analisi video: conta e traccia tutte le persone che indossano determinati capi di abbigliamento o compiono determinate azioni
- Annotazione dei dataset: annota rapidamente tutte le istanze di categorie rare di oggetti
- Ricerca scientifica: quantifica e analizza tutti i campioni che corrispondono a criteri specifici
Agente SAM 3: ragionamento linguistico esteso#
SAM 3 può essere combinato con Modelli linguistici di grandi dimensioni multimodali (MLLMs) per gestire query complesse che richiedono ragionamento, in modo simile ai sistemi a vocabolario aperto come OWLv2 e T-Rex.
Prestazioni nei task di ragionamento#
| Benchmark | Metrica | Agente SAM 3 (Gemini 2.5 Pro) | Migliore risultato precedente |
|---|---|---|---|
| ReasonSeg (validazione) | gIoU | 76.0 | 65.0 (SoTA) |
| ReasonSeg (test) | gIoU | 73.8 | 61.3 (SoTA) |
| OmniLabel (validazione) | AP | 46.7 | 36.5 (REAL) |
| RefCOCO+ | Acc | 91.2 | 89.3 (LISA) |
Esempi di query complesse#
L'agente SAM 3 può gestire query che richiedono ragionamento:
- "Persone sedute, ma che non tengono una confezione regalo tra le mani"
- "Il cane più vicino alla fotocamera che non indossa un collare"
- "Oggetti rossi più grandi della mano della persona"
L'MLLM propone semplici query costituite da sintagmi nominali a SAM 3, analizza le maschere restituite e ripete il processo finché non è soddisfatto.
Limitazioni#
Sebbene SAM 3 rappresenti un importante progresso, presenta alcune limitazioni:
- Complessità delle frasi: è più adatto a semplici sintagmi nominali; le espressioni referenziali lunghe o il ragionamento complesso possono richiedere l'integrazione con un MLLM
- Gestione dell'ambiguità: alcuni concetti rimangono intrinsecamente ambigui (ad esempio, "finestra piccola", "stanza accogliente")
- Requisiti computazionali: più grande e lento rispetto a modelli di rilevamento specializzati come YOLO
- Ampiezza del vocabolario: si concentra su concetti visivi atomici; il ragionamento composizionale è limitato senza l'assistenza di un MLLM
- Concetti rari: le prestazioni possono peggiorare su concetti estremamente rari o molto specifici non adeguatamente rappresentati nei dati di addestramento
Citazione#
@misc{carion2025sam3,
title = {SAM 3: Segment Anything with Concepts},
author = {Nicolas Carion and Laura Gustafson and Yuan-Ting Hu and Shoubhik Debnath and Ronghang Hu and Didac Suris and Chaitanya Ryali and Kalyan Vasudev Alwala and Haitham Khedr and Andrew Huang and Jie Lei and Tengyu Ma and Baishan Guo and Arpit Kalla and Markus Marks and Joseph Greer and Meng Wang and Peize Sun and Roman R{\"a}dle and Triantafyllos Afouras and Effrosyni Mavroudi and Katherine Xu and Tsung-Han Wu and Yu Zhou and Liliane Momeni and Rishi Hazra and Shuangrui Ding and Sagar Vaze and Francois Porcher and Feng Li and Siyuan Li and Aishwarya Kamath and Ho Kei Cheng and Piotr Doll{\'a}r and Nikhila Ravi and Kate Saenko and Pengchuan Zhang and Christoph Feichtenhofer},
year = {2025},
eprint = {2511.16719},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2511.16719}
}FAQ#
SAM 3 è stato rilasciato da Meta il 19 novembre 2025 ed è completamente integrato nel pacchetto
ultralytics, con supporto per la modalità di previsione e la modalità di tracciamento.Sì! SAM 3 è completamente integrato nel pacchetto Python di Ultralytics, inclusi la segmentazione dei concetti, i prompt visivi in stile SAM 2 e il tracciamento video multi-oggetto. SAM 3 e SAM 3.1 alimentano anche la funzione di annotazione intelligente su Ultralytics Platform, dove SAM 3.1 è il modello predefinito e puoi annotare immagini con pochi clic.
Sì, per la previsione di immagini. Carica
sam3.1_multiplex.ptovunque gli esempi di immagini in questa pagina usinosam3.pt:SAM("sam3.1_multiplex.pt")per i prompt con punti e riquadri, eSAM3SemanticPredictorper i prompt di testo ed esemplari. Il tracciamento video Object Multiplex non è ancora supportato, quindi continua a usaresam3.ptcon i predittori video. Consulta SAM 3.1 per i benchmark di Meta.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 individua una specifica istanza di oggetto, PCS trova ogni occorrenza di una categoria. Ad esempio:
- Prompt testuale: "scuolabus giallo" → segmenta tutti gli scuolabus gialli nella scena
- Esempio visivo: riquadro attorno a un cane → segmenta tutti i cani nell'immagine
- Combinato: "gatto tigrato" + riquadro di esempio → segmenta tutti i gatti tigrati che corrispondono all'esempio
Consulta le informazioni correlate su rilevamento degli oggetti e segmentazione delle istanze.
Caratteristica SAM 2 SAM 3 Attività Un singolo oggetto per prompt Tutte le istanze di un concetto Tipi di prompt Punti, riquadri, maschere + Frasi testuali, esempi visivi Capacità di rilevamento Richiede un rilevatore esterno Rilevatore open-vocabulary integrato Riconoscimento Solo basato sulla geometria Riconoscimento testuale e visivo Architettura Solo tracker Rilevatore + tracker con head di presenza Prestazioni zero-shot N/D (richiede prompt visivi) 47.0 AP su LVIS, 2× migliori su SA-Co Raffinamento interattivo Solo clic Clic + generalizzazione basata sull'esempio SAM 3 mantiene la compatibilità retroattiva con i prompt visivi di SAM 2, aggiungendo al contempo funzionalità basate sui concetti.
SAM 3 viene addestrato sul dataset Segment Anything with Concepts (SA-Co):
Dati di addestramento:
- 5.2M immagini con 4M sintagmi nominali unici (SA-Co/HQ) - annotazioni umane di alta qualità
- 52.5K video con 24.8K sintagmi nominali unici (SA-Co/VIDEO)
- 1.4B maschere sintetiche su 38M sintagmi nominali (SA-Co/SYN)
- 15 dataset esterni arricchiti con negativi difficili (SA-Co/EXT)
Dati di benchmark:
- 214K concetti unici su 126K immagini/video
- 50× più concetti rispetto ai benchmark esistenti (ad esempio, LVIS ne contiene ~4K)
- Tripla annotazione su SA-Co/Gold per misurare i limiti delle prestazioni umane
Questa enorme scala e diversità consentono a SAM 3 di ottenere una generalizzazione zero-shot superiore tra concetti open-vocabulary.
SAM 3 e YOLO26 sono destinati a casi d'uso diversi:
Vantaggi di SAM 3:
- Open-vocabulary: segmenta qualsiasi concetto tramite prompt testuali senza addestramento
- Zero-shot: funziona immediatamente su nuove categorie
- Interattivo: il perfezionamento basato su esempi si generalizza a oggetti simili
- Basato sui concetti: trova automaticamente tutte le istanze di una categoria
- Accuratezza: 47.0 AP nella segmentazione zero-shot delle istanze su LVIS
Vantaggi di YOLO26:
- Velocità: inferenza più veloce di ordini di grandezza, con una testa end-to-end opzionale senza NMS
- Efficienza: modelli 539× più piccoli (6.4MB contro 3.45GB)
- Risparmio di risorse: funziona su dispositivi edge e mobili
- Tempo reale: ottimizzato per le implementazioni in produzione
Raccomandazione:
- Usa SAM 3 per una segmentazione open-vocabulary flessibile quando devi trovare tutte le istanze di concetti descritti tramite testo o esempi
- Usa YOLO26 per implementazioni in produzione ad alta velocità quando le categorie sono note in anticipo
- Usa SAM 2 per la segmentazione interattiva di un singolo oggetto con prompt geometrici
SAM 3 è progettato per semplici sintagmi nominali (ad esempio, "mela rossa", "persona con 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 con un cappello rosso"
Query complesse (SAM 3 Agent con MLLM):
- "Persone sedute, ma senza un pacco regalo in mano"
- "Il cane più vicino alla fotocamera senza collare"
- "Oggetti rossi più grandi della mano della persona"
SAM 3 Agent raggiunge 76.0 gIoU sulla validazione di ReasonSeg (rispetto al precedente valore migliore di 65.0, con un miglioramento del +16.9%) combinando la segmentazione di SAM 3 con le capacità di ragionamento degli MLLM.
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ù permissivo)
SAM 3 ottiene prestazioni elevate, avvicinandosi all'accuratezza umana nella segmentazione di concetti open-vocabulary, con un divario concentrato principalmente sui concetti ambigui o soggettivi (ad esempio, "finestra piccola", "stanza accogliente").