EdgeTAM

EdgeTAM est une variante de SAM 2 pensée pour tourner sur l'appareil, construite pour la vitesse d'inférence sur mobile tout en conservant le même flux de travail guidé par prompts de point et de boîte. LibreYOLO prend en charge son chemin de segmentation d'images via une factory LibreSAM dédiée, distincte de la factory de détecteurs LibreYOLO().

Tâches
instance segmentation
Tailles
Installer
pip install libreyolo
Niveau de support
Niveau parallèle, depuis v. Une interface produit distincte avec sa propre factory et son propre contrat.
Origine
EdgeTAM par Meta Reality Labs, Apache-2.0. Article, source
Licences
Code MIT, poids Apache-2.0. Usage commercial

Installation

EdgeTAM demande l'extra sam, qui installe transformers et timm.

bash
pip install "libreyolo[sam]"

Prédire

LibreSAM(...) (ou le LibreEdgeTAM(...) propre à la famille) est un point d'entrée distinct de LibreYOLO(...) : il renvoie un segmenteur guidé par prompts plutôt qu'un détecteur, parce qu'ici une passe avant n'a aucun sens sans prompt spatial. Il n'existe pas de commande CLI libreyolo predict pour cette famille ; utilisez l'API Python. Seule la segmentation d'images est prise en charge ; le suivi vidéo d'EdgeTAM sort du cadre ici.

Prompts de point et de boîte
from libreyolo import LibreSAM, SAMPLE_IMAGE # EdgeTAM a une seule taille, "edge". Alias: "edgetam", "edge-tam",# "edgetam-edge".model = LibreSAM("edgetam") # Un prompt de point: [x, y] en pixels, label 1 = premier plan.result = model.predict(SAMPLE_IMAGE, points=[640, 420], labels=[1])print(result.masks.xy)      # un polygone par masqueprint(result.boxes.xyxy)    # boîte ajustée dérivée du masque # Un prompt de boîte au lieu d'un point.result = model.predict(SAMPLE_IMAGE, bboxes=[300, 200, 900, 700]) # Sans aucun prompt, l'image entière est segmentée (un générateur# automatique de masques simplifié, pas celui de référence).result = model.predict(SAMPLE_IMAGE)
Encoder une fois, envoyer plusieurs prompts
from libreyolo import LibreEdgeTAM, SAMPLE_IMAGE model = LibreEdgeTAM() # L'encodeur d'image est la partie coûteuse. set_image() le lance une# fois; chaque predict() ensuite réutilise l'embedding mis en 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 de point accepte [x, y] pour un objet, [[x, y], ...] pour plusieurs, ou des tableaux numpy ; labels marque chaque point 1 (premier plan) ou 0 (arrière-plan) et vaut par défaut tout en premier plan. Un prompt de boîte prend [x1, y1, x2, y2] ou une liste de boîtes, un masque par boîte. Omettre les deux prompts segmente l'image entière en soumettant une grille dense de prompts et en gardant les masques confiants qui ne se recouvrent pas ; ce mode « tout segmenter » est simplifié par rapport au générateur automatique de masques de référence et peut sous-segmenter les scènes chargées, si bien qu'un vrai prompt de point ou de boîte reste le chemin précis. conf filtre sur la qualité de masque prédite (IoU), pas sur une confiance de détection : passez 0.0 pour conserver tous les candidats. multimask=True renvoie les trois masques d'ambiguïté tout-contre-partie de SAM pour chaque prompt au lieu du seul meilleur. device= déplace le modèle et, si une session set_image() est active, son embedding mis en cache. Chaque masque porte l'id de classe 0, nommé "object", puisqu'un masque guidé par prompts n'a pas d'ensemble de classes fixe. train(), val(), export() et track() lèvent tous NotImplementedError pour cette famille : l'inférence sur images est ce que LibreYOLO prend en charge ici. Voir la prédiction pour les types de sources.

Variantes

Une seule taille, edge, à une résolution d'entrée fixe, si bien que choisir cette famille plutôt que le reste du niveau SAM est une décision matérielle plus qu'une question de taille : EdgeTAM existe spécifiquement pour l'inférence sur l'appareil, sous contraintes de ressources.

Checkpoints

Tous les fichiers de poids publiés de cette famille.

FichierEntrée (px)Licence des poids
Instance segmentation
LibreEdgeTAM.ptapache-2.0

Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.

Licence

Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.

Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.

Travail d'origine
EdgeTAM, Meta Reality Labs
Licence du projet d'origine
Apache-2.0
Source du projet d'origine
github.com/facebookresearch/EdgeTAM
Code de LibreYOLO
MIT
Poids
Apache-2.0, republiés sur huggingface.co/LibreYOLO
Interprétation
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.

Citation

@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}
}

Copié depuis le bloc de citation des auteurs sur github.com/facebookresearch/EdgeTAM#citing-edgetam.

Vérifié avec LibreYOLO v1.5.0. Les tableaux de support, les checkpoints et les chiffres de benchmark de cette page sont générés à partir de la bibliothèque publiée et des poids publiés, et non rédigés à la main.