Link to this sectionSAM 3: Segment Anything with Concepts#
SAM 3 è completamente integrato nel pacchetto Ultralytics a partire dalla versione 8.3.237 (PR #22897). Installa o aggiorna con pip install -U ultralytics per accedere a tutte le funzionalità di SAM 3, inclusa la segmentazione di concetti basata su testo, i prompt con esempi di immagini e il tracciamento video.

SAM 3 (Segment Anything Model 3) è il modello di base rilasciato da Meta per la Segmentazione di Concetti basata su 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, esempi 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 agli obiettivi del vocabolario aperto nella moderna instance segmentation.
Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos
SAM 3 è ora completamente integrato nel pacchetto ultralytics, fornendo supporto nativo per la segmentazione di concetti con prompt testuali, prompt con esempi di immagini e funzionalità di tracciamento video.
Link to this sectionPanoramica#
SAM 3 ottiene un guadagno di prestazioni 2× rispetto ai sistemi esistenti nella Segmentazione di Concetti basata su Prompt, mantenendo e migliorando le capacità di SAM 2 per la visual segmentation interattiva. Il modello eccelle nella segmentazione a vocabolario aperto, consentendo agli utenti di specificare concetti usando 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.

Link to this sectionChe cos'è la Segmentazione di Concetti basata su Prompt (PCS)?#
Il task PCS accetta 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: Semplici sintagmi nominali come "mela rossa" o "persona che indossa un cappello", simili allo zero-shot learning
- Esempi di immagini: Bounding box attorno a oggetti di esempio (positivi o negativi) per una rapida generalizzazione
- Combinati: Sia testo che esempi di immagini insieme per un controllo preciso
Questo differisce dai tradizionali prompt visivi (punti, box, maschere) che segmentano solo una singola istanza specifica di un oggetto, come reso popolare dall'originale famiglia SAM.
Link to this sectionMetriche chiave di prestazione#
| Metrica | Risultato SAM 3 |
|---|---|
| LVIS Zero-Shot Mask AP | 47.0 (contro il precedente migliore di 38.5, +22% di miglioramento) |
| 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 circa 5 oggetti simultanei |
| Benchmark MOSEv2 VOS | 60.1 J&F (+25.5% rispetto a SAM 2.1, +17% rispetto al precedente SOTA) |
| Raffinamento interattivo | +18.6 CGF1 di miglioramento dopo 3 prompt di esempio |
| Divario dalle prestazioni umane | Raggiunge l'88% del limite inferiore stimato su SA-Co/Gold |
Per il contesto sulle metriche del modello e i compromessi in produzione, vedi approfondimenti sulla valutazione del modello e metriche di prestazione YOLO.
Link to this sectionArchitettura#
SAM 3 consiste in un rilevatore e un tracciatore che condividono una backbone di visione Perception Encoder (PE). Questo design disaccoppiato evita conflitti tra i task consentendo sia il rilevamento a livello di immagine che il tracciamento a livello video, con un'interfaccia compatibile con l'utilizzo di Ultralytics tramite Python e CLI.
Link to this sectionComponenti principali#
-
Rilevatore: architettura basata su DETR per il rilevamento di concetti a livello di immagine
- Encoder di testo per prompt basati su sintagmi nominali
- Encoder di esempi per 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
-
Tracciatore: Segmentazione video basata su memoria ereditata da SAM 2
- Prompt encoder, mask decoder, memory encoder
- Banca di memoria per archiviare l'aspetto dell'oggetto tra i frame
- Disambiguazione temporale aiutata da tecniche come un filtro di Kalman in contesti multi-oggetto
-
Presence Token: Un token globale appreso che prevede se il concetto target è presente nell'immagine/frame, migliorando il rilevamento separando il riconoscimento dalla localizzazione.

Link to this sectionInnovazioni chiave#
- Riconoscimento e localizzazione disaccoppiati: La presence head prevede la presenza del concetto a livello globale, mentre le proposal query si concentrano solo sulla localizzazione, evitando obiettivi contrastanti.
- Prompt concettuali e visivi unificati: Supporta sia PCS (prompt concettuali) che PVS (prompt visivi come i clic/box di SAM 2) in un unico modello.
- Raffinamento interattivo degli esempi: Gli utenti possono aggiungere esempi di immagini positivi o negativi per raffinare iterativamente i risultati, con il modello che generalizza su oggetti simili anziché limitarsi a correggere le singole istanze.
- Disambiguazione temporale: Utilizza punteggi di rilevamento delle masklet e ri-promp periodici per gestire occlusioni, scene affollate e fallimenti nel tracciamento video, allineandosi alle migliori pratiche di segmentazione e tracciamento delle istanze.
Link to this sectionDataset SA-Co#
SAM 3 è addestrato su Segment Anything with Concepts (SA-Co), il dataset di segmentazione più ampio e diversificato di Meta fino ad oggi, che si estende oltre i benchmark comuni come COCO e LVIS.
Link to this sectionDati di addestramento#
| Componente del dataset | Descrizione | Scala |
|---|---|---|
| SA-Co/HQ | Dati immagine di alta qualità annotati da esseri umani tramite un motore di dati a 4 fasi | 5.2M di immagini, 4M di sintagmi nominali univoci |
| SA-Co/SYN | Dataset sintetico etichettato dall'IA senza coinvolgimento 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 tracciamento temporale | 52.5K di video, 24.8K di sintagmi nominali univoci |
Link to this sectionDati di benchmark#
Il benchmark di valutazione SA-Co contiene 214K di frasi univoche su 126K immagini e video, fornendo oltre 50× più concetti rispetto ai benchmark esistenti. Include:
- SA-Co/Gold: 7 domini, 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 di concetti
- SA-Co/VEval: Benchmark video con 3 domini (SA-V, YT-Temporal-1B, SmartGlasses)
Link to this sectionInnovazioni del Data Engine#
Il motore di dati scalabile di SAM 3, basato su collaborazione umana e modelli, raggiunge un throughput di annotazione 2× grazie a:
- Annotatori IA: Modelli basati su Llama propongono diversi sintagmi nominali, inclusi negativi difficili
- Verificatori IA: multimodal LLMs ottimizzati verificano la qualità e l'esaustività delle maschere con prestazioni vicine a quelle umane
- Active Mining: Focalizza lo sforzo umano sui casi di fallimento critici in cui l'IA ha difficoltà
- Ontology-Driven: Sfrutta una vasta ontologia basata su Wikidata per la copertura dei concetti
Link to this sectionInstallazione#
SAM 3 è disponibile nella versione 8.3.237 di Ultralytics e successive. Installa o aggiorna con:
pip install -U ultralyticsA differenza di altri modelli Ultralytics, i pesi di SAM 3 (sam3.pt) non vengono scaricati automaticamente. Devi prima richiedere l'accesso ai pesi del modello sulla pagina del modello SAM 3 su Hugging Face e poi, una volta approvato, scaricare sam3.pt da quella pagina. Posiziona il file sam3.pt scaricato nella tua directory di lavoro o specifica il percorso completo quando carichi il modello.
Se ricevi l'errore sopra durante la previsione, significa che hai installato il pacchetto clip errato. Installa il pacchetto clip corretto eseguendo quanto segue:
pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.gitLink to this sectionCome usare SAM 3: Versatilità nella segmentazione di concetti#
SAM 3 supporta sia i task di Segmentazione di Concetti basata su Prompt (PCS) che di Segmentazione Visiva basata su Prompt (PVS) tramite diverse interfacce del predittore:
Link to this sectionTask e modelli supportati#
| Tipo di task | Tipi di prompt | Output |
|---|---|---|
| Segmentazione di concetti (PCS) | Testo (sintagmi nominali), esempi di immagini | Tutte le istanze corrispondenti al concetto |
| Segmentazione visiva (PVS) | Punti, box, maschere | Singola istanza di oggetto (stile SAM 2) |
| Raffinamento interattivo | Aggiungi/rimuovi esempi o clic in modo iterativo | Segmentazione raffinata con precisione migliorata |
Link to this sectionEsempi di segmentazione di concetti#
Link to this sectionSegmenta con prompt testuali#
Trova e segmenta tutte le istanze di un concetto utilizzando una descrizione testuale. I prompt di testo richiedono l'interfaccia SAM3SemanticPredictor.
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor with configuration
overrides = dict(
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"])Link to this sectionSegmentazione con esemplari di immagine#
Utilizza i bounding box come prompt visivi per trovare tutte le istanze simili. Anche questo richiede SAM3SemanticPredictor per la corrispondenza basata su concetti.
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor
overrides = dict(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]])Link to this sectionInferenza basata sulle caratteristiche per l'efficienza#
Estrai le caratteristiche dell'immagine una volta e riutilizzale per query di segmentazione multiple per migliorare l'efficienza.
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)Link to this sectionSegmentazione di concetti nei video#
Link to this sectionTraccia i concetti attraverso il video con i bounding box#
Rileva e traccia le istanze degli oggetti attraverso i frame video utilizzando prompt a bounding box.
from ultralytics.models.sam import SAM3VideoPredictor
# Create video predictor
overrides = dict(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 masksLink to this sectionTraccia i concetti con prompt testuali#
Traccia tutte le istanze dei concetti specificati dal testo attraverso i frame 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", 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,
)Link to this sectionPrompt visivi (compatibilità SAM 2)#
SAM 3 mantiene la piena compatibilità con i prompt visivi di SAM 2 per la segmentazione di oggetti singoli:
L'interfaccia base SAM si comporta esattamente come SAM 2, segmentando solo l'area specifica indicata dai prompt visivi (punti, box 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()Utilizzare SAM("sam3.pt") con prompt visivi (punti/box/maschere) segmenterà solo lo specifico oggetto in quella posizione, proprio come SAM 2. Per segmentare tutte le istanze di un concetto, usa SAM3SemanticPredictor con prompt testuali o di esemplari come mostrato sopra.
Link to this sectionBenchmark delle prestazioni#
Link to this sectionSegmentazione di immagini#
SAM 3 ottiene risultati all'avanguardia su diversi benchmark, inclusi dataset reali come LVIS e COCO per la segmentazione:
| Benchmark | Metrica | SAM 3 | Migliore precedente | Miglioramento |
|---|---|---|---|---|
| LVIS (zero-shot) | Mask AP | 47.0 | 38.5 | +22.1% |
| SA-Co/Gold | CGF1 | 65.0 | 34.3 (OWLv2) | +89.5% |
| COCO (zero-shot) | Box AP | 53.5 | 52.2 (T-Rex2) | +2.5% |
| ADE-847 (seg semantica) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58.5 (APE-D) | +1.5% |
| Cityscapes (seg semantica) | mIoU | 65.1 | 44.2 (APE-D) | +47.3% |
Esplora le opzioni di dataset per una rapida sperimentazione in Ultralytics datasets.
Link to this sectionPrestazioni di segmentazione video#
SAM 3 mostra miglioramenti significativi rispetto a SAM 2 e ai precedenti stati dell'arte 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% |
Link to this sectionAdattamento Few-Shot#
SAM 3 eccelle nell'adattarsi a nuovi domini con esempi minimi, rilevante per i flussi di lavoro di data-centric AI:
| Benchmark | 0-shot AP | 10-shot AP | Migliore precedente (10-shot) |
|---|---|---|---|
| ODinW13 | 59.9 | 71.6 | 67.9 (gDino1.5-Pro) |
| RF100-VL | 14.3 | 35.7 | 33.7 (gDino-T) |
Link to this sectionEfficacia del perfezionamento interattivo#
Il prompting basato sui concetti di SAM 3 con esemplari converge molto più velocemente del prompting visivo:
| Prompt aggiunti | Punteggio CGF1 | Guadagno vs solo testo | Guadagno vs base PVS |
|---|---|---|---|
| Solo testo | 46.4 | base | base |
| +1 esemplare | 57.6 | +11.2 | +6.7 |
| +2 esemplari | 62.2 | +15.8 | +9.7 |
| +3 esemplari | 65.0 | +18.6 | +11.2 |
| +4 esemplari | 65.7 | +19.3 | +11.5 (plateau) |
Link to this sectionPrecisione nel conteggio degli oggetti#
SAM 3 fornisce un conteggio accurato segmentando tutte le istanze, un requisito comune nel conteggio oggetti:
| Benchmark | Precisione | MAE | vs miglior MLLM |
|---|---|---|---|
| CountBench | 95.6% | 0.11 | 92.4% (Gemini 2.5) |
| PixMo-Count | 87.3% | 0.22 | 88.8% (Molmo-72B) |
Link to this sectionConfronto SAM 3 vs SAM 2 vs YOLO#
Qui confrontiamo le capacità di SAM 3 con i modelli SAM 2 e YOLO26:
| Capacità | SAM 3 | SAM 2 | YOLO26n-seg |
|---|---|---|---|
| Segmentazione dei concetti | ✅ Tutte le istanze da testo/esemplari | ❌ Non supportato | ❌ Non supportato |
| Segmentazione visiva | ✅ Istanza singola (compatibile con SAM 2) | ✅ Istanza singola | ✅ Tutte le istanze |
| Capacità zero-shot | ✅ Vocabolario aperto | ✅ Prompt geometrici | ❌ Set chiuso |
| Raffinamento interattivo | ✅ Esemplari + clic | ✅ Solo clic | ❌ Non supportato |
| Tracciamento video | ✅ Multi-oggetto con identità | ✅ Multi-oggetto | ✅ Multi-oggetto |
| LVIS Mask AP (zero-shot) | 47.0 | N/D | N/D |
| MOSEv2 J&F | 60.1 | 47.9 | N/D |
| Velocità (GPU, ms/im) | 2921 | 857 | 8.4 |
| Dimensione del Modello | 3,45 GB | 162 MB (base) | 6.4 MB |
Velocità testata su NVIDIA RTX PRO 6000 con torch==2.9.1 e ultralytics==8.4.19.
Punti chiave:
- SAM 3: Ottimo per la segmentazione di concetti a vocabolario aperto, trovando tutte le istanze di un concetto con prompt di testo o esemplari
- SAM 2: Ottimo per la segmentazione interattiva di singoli oggetti in immagini e video con prompt geometrici
- YOLO26: Ottimo per la segmentazione ad alta velocità in tempo reale con inferenza end-to-end senza NMS, esportabile in molti formati per il deployment su GPU, CPU e dispositivi edge
Link to this sectionConfronto SAM rispetto a YOLO#
Confronto tra SAM 3, SAM 2, SAM, MobileSAM, e FastSAM rispetto ai 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/im) |
|---|---|---|---|
| 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 YOLOv8 backbone | 23.7 | 11.8 | 55.9 |
| Ultralytics YOLOv8n-seg | 6.7 (515x più piccolo) | 3.4 (139.1x di meno) | 17.4 (167x più veloce) |
| Ultralytics YOLO11n-seg | 5.9 (585x più piccolo) | 2.9 (163.1x di meno) | 12.6 (231x più veloce) |
| Ultralytics YOLO26n-seg | 6.4 (539x più piccolo) | 2.7 (175.2x di meno) | 8.4 (347x più veloce) |
Questo confronto dimostra le sostanziali differenze nelle dimensioni e nelle velocità dei modelli tra le varianti SAM e i modelli di segmentazione YOLO. Mentre SAM fornisce capacità di segmentazione automatica uniche, i modelli YOLO, in particolare YOLOv8n-seg, YOLO11n-seg e YOLO26n-seg, sono significativamente più piccoli, più veloci e più efficienti dal punto di vista computazionale.
Test eseguiti su una NVIDIA RTX PRO 6000 con 96GB 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)Link to this sectionMetriche di valutazione#
SAM 3 introduce nuove metriche progettate per il task PCS, a completamento di misure note come F1 score, precision e recall.
Link to this sectionClassification-Gated F1 (CGF1)#
La metrica primaria che combina localizzazione e classificazione:
CGF1 = 100 × pmF1 × IL_MCC
Dove:
- pmF1 (Positive Macro F1): Misura la qualità della localizzazione su esempi positivi
- IL_MCC (Image-Level Matthews Correlation Coefficient): Misura la precisione della classificazione binaria ("il concetto è presente?")
Link to this sectionPerché queste metriche?#
Le metriche AP tradizionali non tengono conto della calibrazione, rendendo i modelli difficili da usare nella pratica. Valutando solo le previsioni con una confidenza superiore a 0.5, le metriche di SAM 3 impongono una buona calibrazione e imitano i modelli di utilizzo nel mondo reale nei cicli interattivi di predict e track.
Link to this sectionAblazioni chiave e approfondimenti#
Link to this sectionImpatto della Presence Head#
La presence head disaccoppia il riconoscimento dalla localizzazione, fornendo miglioramenti significativi:
| Configurazione | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Senza presence | 57.6 | 0.77 | 74.7 |
| Con presence | 63.3 | 0.82 | 77.1 |
La presence head fornisce un boost del +5.7 CGF1 (+9.9%), migliorando principalmente la capacità di riconoscimento (IL_MCC +6.5%).
Link to this sectionEffetto degli esempi negativi difficili#
| Esempi negativi difficili/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 a vocabolario aperto, migliorando l'IL_MCC del 54.5% (0.44 → 0.68).
Link to this sectionScaling dei dati di addestramento#
| Fonti 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 grandi vantaggi rispetto ai soli dati sintetici o esterni. Per informazioni sulle pratiche di qualità dei dati, consulta data collection and annotation.
Link to this sectionApplicazioni#
La capacità di segmentazione dei concetti di SAM 3 abilita nuovi casi d'uso:
- Moderazione dei contenuti: trova tutte le istanze di tipi di contenuto specifici nelle librerie multimediali
- E-commerce: Segmenta tutti i prodotti di un certo tipo nelle immagini del catalogo, supportando la 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 abiti specifici o eseguono azioni
- Dataset Annotation: annota rapidamente tutte le istanze di categorie di oggetti rare
- Ricerca scientifica: quantifica e analizza tutti i campioni che corrispondono a criteri specifici
Link to this sectionAgente SAM 3: Ragionamento linguistico esteso#
SAM 3 può essere combinato con modelli multimodali di grandi dimensioni (MLLM) per gestire query complesse che richiedono ragionamento, in uno spirito simile ai sistemi a vocabolario aperto come OWLv2 e T-Rex.
Link to this sectionPrestazioni sui task di ragionamento#
| Benchmark | Metrica | Agente SAM 3 (Gemini 2.5 Pro) | Migliore 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) |
Link to this sectionEsempi di query complesse#
L'Agente SAM 3 può gestire query che richiedono ragionamento:
- "Persone sedute ma che non tengono una scatola 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 di sintagmi nominali a SAM 3, analizza le maschere restituite e itera fino al soddisfacimento.
Link to this sectionLimitazioni#
Sebbene SAM 3 rappresenti un progresso importante, presenta alcune limitazioni:
- Complessità delle frasi: più adatto a semplici sintagmi nominali; espressioni di riferimento lunghe o ragionamenti complessi potrebbero richiedere l'integrazione con MLLM
- Gestione dell'ambiguità: alcuni concetti rimangono intrinsecamente ambigui (ad esempio, "piccola finestra", "stanza accogliente")
- Requisiti computazionali: più grande e lento rispetto a modelli di rilevamento specializzati come YOLO
- Ambito del vocabolario: focalizzato su concetti visivi atomici; il ragionamento compositivo è limitato senza l'assistenza di un MLLM
- Concetti rari: le prestazioni potrebbero degradare su concetti estremamente rari o granulari non ben rappresentati nei dati di addestramento
Link to this sectionCitazione#
@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}
}Link to this sectionFAQ#
Link to this sectionQuando è stato rilasciato SAM 3?#
SAM 3 è stato rilasciato da Meta il 20 novembre 2025 ed è completamente integrato in Ultralytics a partire dalla versione 8.3.237 (PR #22897). Il supporto completo è disponibile per le modalità predict mode e track mode.
Link to this sectionSAM 3 è integrato in Ultralytics?#
Sì! SAM 3 è completamente integrato nel pacchetto Python di Ultralytics, inclusa la segmentazione dei concetti, i prompt visivi in stile SAM 2 e il tracciamento video multi-oggetto. SAM 3 alimenta anche la funzionalità di smart annotation su Ultralytics Platform, dove puoi annotare le immagini con pochi clic.
Link to this sectionCos'è la Promptable Concept Segmentation (PCS)?#
PCS è un nuovo task introdotto 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 punta a una specifica istanza di oggetto, PCS trova ogni occorrenza di una categoria. Per esempio:
- Prompt testuale: "scuolabus giallo" → segmenta tutti gli scuolabus gialli nella scena
- Esemplare di immagine: riquadro attorno a un cane → segmenta tutti i cani nell'immagine
- Combinato: "gatto striato" + riquadro esemplificativo → segmenta tutti i gatti striati che corrispondono all'esempio
Vedi lo sfondo correlato su object detection e instance segmentation.
Link to this sectionIn che modo SAM 3 differisce da SAM 2?#
| Funzionalità | SAM 2 | SAM 3 |
|---|---|---|
| Task | Oggetto singolo per prompt | Tutte le istanze di un concetto |
| Tipi di prompt | Punti, box, maschere | + Frasi testuali, esempi di immagini |
| Capacità di rilevamento | Richiede un rilevatore esterno | Rilevatore a vocabolario aperto 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× migliore su SA-Co |
| Raffinamento interattivo | Solo clic | Clic + generalizzazione di esemplari |
SAM 3 mantiene la retrocompatibilità con i prompt visivi di SAM 2 aggiungendo funzionalità basate sui concetti.
Link to this sectionQuali dataset vengono usati per addestrare SAM 3?#
SAM 3 è addestrato sul dataset Segment Anything with Concepts (SA-Co):
Dati di addestramento:
- 5,2 milioni di immagini con 4 milioni di frasi nominali uniche (SA-Co/HQ) - annotazioni umane di alta qualità
- 52,5 mila video con 24,8 mila frasi nominali uniche (SA-Co/VIDEO)
- 1,4 miliardi di maschere sintetiche su 38 milioni di frasi nominali (SA-Co/SYN)
- 15 dataset esterni arricchiti con hard negative (SA-Co/EXT)
Dati di Benchmark:
- 214 mila concetti unici su 126 mila immagini/video
- 50 volte più concetti rispetto ai benchmark esistenti (ad esempio, LVIS ha ~4 mila concetti)
- Tripla annotazione su SA-Co/Gold per misurare i limiti delle prestazioni umane
Questa scala e diversità massicce consentono la superiore generalizzazione zero-shot di SAM 3 su concetti a vocabolario aperto.
Link to this sectionCome si confronta SAM 3 con YOLO26 per la segmentazione?#
SAM 3 e YOLO26 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: il perfezionamento basato su esempi si generalizza a oggetti simili
- Basato su concetti: trova automaticamente tutte le istanze di una categoria
- Accuratezza: 47,0 AP sulla segmentazione di istanze LVIS zero-shot
Vantaggi di YOLO26:
- Velocità: inferenza ordini di grandezza più veloce con un design end-to-end senza NMS
- Efficienza: modelli 539 volte più piccoli (6,4 MB contro 3,45 GB)
- Adatto alle risorse: funziona su dispositivi edge e mobile
- Tempo reale: ottimizzato per implementazioni in produzione
Raccomandazione:
- Usa SAM 3 per una segmentazione flessibile a vocabolario aperto dove devi trovare tutte le istanze di concetti descritti da testo o esempi
- Usa YOLO26 per implementazioni in produzione ad alta velocità dove le categorie sono note in anticipo
- Usa SAM 2 per la segmentazione interattiva di singoli oggetti con prompt geometrici
Link to this sectionSAM 3 può gestire query linguistiche complesse?#
SAM 3 è progettato per semplici frasi 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 striato"
- "persona che indossa un cappello rosso"
Query complesse (SAM 3 Agent con MLLM):
- "Persone sedute ma che non tengono in mano un pacco regalo"
- "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 (contro 65,0 precedente miglior risultato, +16,9% di miglioramento) combinando la segmentazione di SAM 3 con le capacità di ragionamento di un MLLM.
Link to this sectionQuanto è accurato 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 raggiunge prestazioni solide avvicinandosi all'accuratezza umana nella segmentazione di concetti a vocabolario aperto, con il divario dovuto principalmente a concetti ambigui o soggettivi (ad esempio, "piccola finestra", "stanza accogliente").