EdgeTAM
EdgeTAM è una variante on-device di SAM 2, costruita per la velocità di inferenza su mobile mantenendo lo stesso flusso di lavoro con prompt a punti e box. LibreYOLO supporta il suo percorso di segmentazione di immagini attraverso una factory LibreSAM dedicata, separata dalla factory del detector LibreYOLO().
- Task
- instance segmentation
- Dimensioni
- 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 Apache-2.0. Uso commerciale
Installazione
EdgeTAM richiede l'extra sam, che porta con sé transformers e timm.
pip install "libreyolo[sam]"Predizione
LibreSAM(...) (o il LibreEdgeTAM(...) specifico della famiglia) è un entry
point separato da LibreYOLO(...): restituisce un segmentatore guidato da
prompt invece di un detector, perché qui un forward pass non ha senso senza un
prompt spaziale. Per questa famiglia non esiste un comando CLI
libreyolo predict; usa l'API Python. È supportata solo la segmentazione di
immagini; il tracking video di EdgeTAM è fuori dallo scopo di questa pagina.
from libreyolo import LibreSAM, SAMPLE_IMAGE # EdgeTAM ha una sola taglia, "edge". Alias: "edgetam", "edge-tam",# "edgetam-edge".model = LibreSAM("edgetam") # Un prompt a punto: [x, y] in coordinate pixel, etichetta 1 = primo piano.result = model.predict(SAMPLE_IMAGE, points=[640, 420], labels=[1])print(result.masks.xy) # poligono per mascheraprint(result.boxes.xyxy) # box aderente derivato dalla maschera # Un prompt a box invece di un punto.result = model.predict(SAMPLE_IMAGE, bboxes=[300, 200, 900, 700]) # Nessun prompt segmenta l'intera immagine (un generatore automatico# di maschere semplificato, non quello esaustivo di riferimento).result = model.predict(SAMPLE_IMAGE)from libreyolo import LibreEdgeTAM, SAMPLE_IMAGE model = LibreEdgeTAM() # L'encoder dell'immagine è la parte costosa. set_image() lo esegue una# volta; ogni predict() successiva riusa l'embedding in 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()Un prompt a punto accetta [x, y] per un solo oggetto, [[x, y], ...] per più
oggetti, oppure array numpy; labels marca ogni punto con 1 (primo piano) o
0 (sfondo) e per default li considera tutti primo piano. Un prompt a box
prende [x1, y1, x2, y2] oppure una lista di box, una maschera per box.
Omettere entrambi i prompt segmenta l'intera immagine interrogando una griglia
densa e tenendo le maschere sicure e non sovrapposte; questa modalità "segmenta
tutto" è semplificata rispetto al generatore automatico di maschere di
riferimento e può sotto-segmentare le scene affollate, quindi un vero prompt a
punto o a box è la strada precisa. conf filtra in base alla qualità predetta
della maschera (IoU), non a una confidenza di rilevamento: passa 0.0 per
tenere ogni candidato. multimask=True restituisce per ogni prompt tutte e tre
le maschere di ambiguità intero-contro-parte di SAM invece della sola migliore.
device= sposta il modello e, se è attiva una sessione set_image(), anche il
suo embedding in cache. Ogni maschera porta l'id di classe 0, di nome
"object", perché una maschera guidata da prompt non ha un insieme di classi
fisso. train(), val(), export() e track() sollevano tutti
NotImplementedError per questa famiglia: qui LibreYOLO supporta l'inferenza
su immagini. Vedi predizione per i tipi di sorgente.
Varianti
Una sola taglia, edge, a risoluzione di input fissa, quindi scegliere questa famiglia al posto del resto del livello SAM è una decisione hardware più che di dimensionamento: EdgeTAM esiste proprio per l'inferenza on-device su risorse limitate.
Checkpoint
Tutti i file di pesi pubblicati per questa famiglia.
| File | Ingresso (px) | Licenza dei pesi |
|---|---|---|
| Instance segmentation | ||
| LibreEdgeTAM.pt | apache-2.0 | |
Oggi tutti i file elencati sopra sono presenti nell<link>organizzazione LibreYOLO</link> e vengono scaricati al primo utilizzo.
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
- EdgeTAM, Meta Reality Labs
- Licenza upstream
- Apache-2.0
- Sorgente upstream
- github.com/facebookresearch/EdgeTAM
- Codice LibreYOLO
- MIT
- Pesi
- Apache-2.0, ripubblicati su huggingface.co/LibreYOLO
- Interpretazione
- Apache-2.0 is a permissive license, so this code and these weights can be used in commercial and closed-source products. It asks you to keep the license text and attribution notices with any copy you redistribute, and it grants a patent license. LibreYOLO does not vendor EdgeTAM's model source: it calls the Apache-2.0 Transformers adapter and reproduces the pinned upstream image and prompt-coordinate transforms from facebookresearch/EdgeTAM commit 7711e012a30a2402c4eaab637bdb00a521302c91. The republished LibreYOLO/LibreEdgeTAM snapshot is converted from facebook/EdgeTAM revision 14d7ecc48c656b94e5184519f698cd5386c5a2bf, checked tensor-by-tensor against a Transformers-format reference before publication, and tagged Apache-2.0 on the LibreYOLO Hugging Face org. LibreYOLO ships image inference only; EdgeTAM's video tracking is out of scope for this family.
Citazione
@article{zhou2025edgetam,
title={EdgeTAM: On-Device Track Anything Model},
author={Zhou, Chong and Zhu, Chenchen and Xiong, Yunyang and Suri, Saksham and Xiao, Fanyi and Wu, Lemeng and Krishnamoorthi, Raghuraman and Dai, Bo and Loy, Chen Change and Chandra, Vikas and Soran, Bilge},
journal={arXiv preprint arXiv:2501.07256},
year={2025}
}Copiato dal blocco di citazione degli autori disponibile su github.com/facebookresearch/EdgeTAM#citing-edgetam.