SAM 3
SAM 3 estende SAM con un prompt di concetto testuale oltre ai soliti punti e box, così una frase come "yellow school bus" restituisce tutte le istanze corrispondenti. LibreYOLO supporta il suo percorso su immagini tramite una factory LibreSAM dedicata, separata dalla factory di detector LibreYOLO().
- Task
- instance segmentation
- Dimensioni
- large at 1008 px
- Installa
pip install libreyolo- Livello di supporto
- Livello parallelo, dalla v. Un'interfaccia di prodotto separata, con una propria factory e un proprio contratto.
- Licenze
- Codice MIT, pesi SAM License (Meta custom, gated). Uso commerciale
Installazione
SAM 3 richiede l'extra sam, che porta con sé transformers e timm.
pip install "libreyolo[sam]"I pesi sono ad accesso limitato: visita
huggingface.co/facebook/sam3, accetta
la SAM License di Meta, poi esegui hf auth login (oppure imposta HF_TOKEN)
prima del primo download. LibreYOLO registra un avviso di licenza la prima
volta che scarica questa famiglia.
Predizione
LibreSAM(...) (oppure il LibreSAM3(...) specifico della famiglia) è un
punto di ingresso separato da LibreYOLO(...): restituisce un segmentatore
guidato da prompt invece di un detector, perché qui un forward pass non ha
senso senza un prompt. Non esiste un comando CLI libreyolo predict per questa
famiglia; usa l'API Python. È supportata solo l'inferenza su immagini; i
modelli video di SAM 3 restano fuori dall'ambito di questa pagina.
from libreyolo import LibreSAM, SAMPLE_IMAGE # "sam3" è l'unica taglia ("large"); alias: "sam3", "sam-3", "sam3-large".model = LibreSAM("sam3") # Un prompt di punto: [x, y] in coordinate in pixel, label 1 = primo piano.result = model.predict(SAMPLE_IMAGE, points=[640, 420], labels=[1])print(result.masks.xy) # un poligono per mascheraprint(result.boxes.xyxy) # box aderente derivato dalla maschera # Un prompt di box invece di un punto.result = model.predict(SAMPLE_IMAGE, bboxes=[300, 200, 900, 700])from libreyolo import LibreSAM3, SAMPLE_IMAGE model = LibreSAM3("large") # Trova tutte le istanze che corrispondono alla frase, non un solo oggetto.# text= è mutuamente esclusivo con points, bboxes, labels e masks.result = model.predict(SAMPLE_IMAGE, text="a person")print(result.names) # {0: "a person"}print(result.boxes.conf) # il punteggio di rilevamento PCS per istanzafrom libreyolo import LibreSAM3, SAMPLE_IMAGE model = LibreSAM3("large") # L'encoder di immagini è la parte costosa. set_image() lo esegue una# volta; ogni chiamata a predict() successiva riusa l'embedding in cache.# Una chiamata con text= ricodifica internamente, dato che il tracker e# l'encoder di segmentazione per concetto non condividono la cache.model.set_image(SAMPLE_IMAGE)a = model.predict(points=[640, 420], labels=[1])b = model.predict(bboxes=[300, 200, 900, 700])model.reset_image()Il percorso di punto e box coincide con il resto della famiglia SAM: un prompt
di punto accetta [x, y] per un oggetto o [[x, y], ...] per più oggetti,
labels marca ogni punto con 1 (primo piano) o 0 (sfondo) e un prompt di
box prende [x1, y1, x2, y2] o una lista di box. Su questo percorso conf
filtra in base alla qualità predetta della maschera (IoU), non a una confidenza
di rilevamento.
Il percorso text= è ciò che SAM 3 aggiunge: una stringa di concetto
restituisce tutte le istanze corrispondenti nell'immagine tramite la Promptable
Concept Segmentation, e non può essere combinata con punti, box, labels o
maschere. Lì conf è il punteggio di rilevamento PCS invece dell'IoU della
maschera; lasciarlo al valore predefinito applica la soglia di 0.3 propria del
modello, e conf=0.0 tiene tutti i candidati. Il names restituito associa
l'id di classe 0 alla stringa di concetto richiesta, dato che altrimenti una
maschera guidata da prompt non ha un insieme fisso di classi. device= sposta
il modello e, se è attiva una sessione set_image(), il suo embedding in cache.
train(), val(), export() e track() sollevano tutti
NotImplementedError per questa famiglia: in LibreYOLO SAM 3 è solo di
predizione, e il tracking video resta fuori ambito. Vedi
predizione per i tipi di sorgente.
Varianti
Un'unica taglia, large, con input fisso a 1008 px. SAM 3.1 non è supportato: la sua implementazione porta con sé una licenza personalizzata che non può essere inclusa in questo repository MIT, e la versione di Transformers da cui dipende LibreYOLO non carica ancora il formato del suo checkpoint.
Licenza
Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.
Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.
- Lavoro originale
- SAM 3, Meta FAIR
- Licenza upstream
- SAM License (Meta custom, gated)
- Sorgente upstream
- github.com/facebookresearch/sam3
- Codice LibreYOLO
- MIT
- Pesi
- SAM License (Meta custom, gated), distribuiti dai rispettivi autori. LibreYOLO non li ospita né ne mantiene una copia.
- Interpretazione
- The SAM License is Meta's own agreement, not an OSI-approved license like MIT or Apache-2.0. It grants a worldwide, royalty-free license to use, reproduce, distribute and create derivative works, and does not itself say the weights are non-commercial. It does add terms Apache and MIT do not: publications that use the results must acknowledge SAM Materials, reverse engineering is prohibited, use is subject to export-control and sanctions compliance, filing IP litigation against Meta over the materials terminates your license, and Meta may amend the agreement. Weights are gated on facebook/sam3 on Hugging Face: you must accept the terms there and authenticate before downloading. LibreYOLO calls SAM 3 through the Apache-2.0 Transformers implementation and vendors none of Meta's model source, but does not redistribute the weights themselves; read the license yourself before relying on it commercially.
LibreYOLO non ospita una propria copia dei pesi di SAM 3 e non li
ridistribuisce. LibreSAM("sam3") scarica direttamente dal repository
facebook/sam3 di Meta ad accesso limitato su Hugging Face, che richiede di
accettare la SAM License di Meta e di autenticarsi prima del primo download.
Citazione
@misc{carion2025sam3segmentconcepts,
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ä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á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},
}Copiato dal blocco di citazione degli autori disponibile su github.com/facebookresearch/sam3#citing-sam-3.