EdgeTAM

EdgeTAM є варіантом SAM 2 для пристроїв, створеним для швидкого мобільного інференсу зі збереженням того самого процесу сегментації за запитами точками й рамками. LibreYOLO підтримує його шлях сегментації зображень через окрему фабрику LibreSAM, відмінну від фабрики детекторів LibreYOLO().

Задачі
instance segmentation
Розміри
Встановлення
pip install libreyolo
Рівень підтримки
Суміжний рівень, починаючи з v. Окремий інтерфейс продукту з власною фабрикою та контрактом.
Першоджерело
EdgeTAM, автори: Meta Reality Labs, ліцензія Apache-2.0. Стаття, джерело
Ліцензії
Код: MIT, ваги: Apache-2.0. Комерційне використання

Встановлення

EdgeTAM потребує додаткового набору залежностей sam, який установлює transformers і timm.

bash
pip install "libreyolo[sam]"

Передбачення

LibreSAM(...) (або фабрика конкретного сімейства LibreEdgeTAM(...)) є окремою точкою входу від LibreYOLO(...): вона повертає сегментатор за запитами, а не детектор, оскільки прямий прохід тут не має сенсу без просторового запиту. Для цього сімейства немає команди CLI libreyolo predict; використовуйте API Python. Підтримується лише сегментація зображень; відстеження у відео за допомогою EdgeTAM тут не охоплюється.

Запити точками та рамками
from libreyolo import LibreSAM, SAMPLE_IMAGE # EdgeTAM має один розмір "edge". Псевдоніми: "edgetam", "edge-tam",# "edgetam-edge".model = LibreSAM("edgetam") # Запит точкою: [x, y] у піксельних координатах, мітка 1 означає передній план.result = model.predict(SAMPLE_IMAGE, points=[640, 420], labels=[1])print(result.masks.xy)      # Полігон для кожної маскиprint(result.boxes.xyxy)    # Щільна рамка, отримана з маски # Запит рамкою замість точки.result = model.predict(SAMPLE_IMAGE, bboxes=[300, 200, 900, 700]) # Без запиту сегментується все зображення (спрощений автоматичний# генератор масок, а не вичерпна еталонна реалізація).result = model.predict(SAMPLE_IMAGE)
Одне кодування, багато запитів
from libreyolo import LibreEdgeTAM, SAMPLE_IMAGE model = LibreEdgeTAM() # Енкодер зображення є найдорожчою частиною. set_image() запускає його один раз;# кожен наступний виклик predict() повторно використовує кешований ембединг.model.set_image(SAMPLE_IMAGE)a = model.predict(points=[640, 420], labels=[1])b = model.predict(bboxes=[300, 200, 900, 700])model.reset_image()

Запит точкою приймає [x, y] для одного об'єкта, [[x, y], ...] для кількох або масиви numpy. labels позначає кожну точку як 1 (передній план) або 0 (тло), а типово всі точки належать до переднього плану. Запит рамкою приймає [x1, y1, x2, y2] або список рамок і повертає по одній масці на рамку. Якщо пропустити обидва запити, усе зображення сегментується через запити за щільною сіткою зі збереженням упевнених масок без перекриття. Цей режим «сегментувати все» спрощено порівняно з еталонним автоматичним генератором масок, і він може недостатньо сегментувати переповнені сцени. Точний результат дає справжній запит точкою або рамкою. conf фільтрує за передбаченою якістю маски (IoU), а не за впевненістю виявлення: передайте 0.0, щоб зберегти всіх кандидатів. multimask=True повертає всі три маски неоднозначності ціле-проти-частини від SAM для кожного запиту замість однієї найкращої. device= переміщує модель і, якщо активний сеанс set_image(), кешований ембединг. Кожна маска має ідентифікатор класу 0 із назвою "object", оскільки маска за запитом не має фіксованого набору класів. train(), val(), export() і track() спричиняють NotImplementedError для цього сімейства: LibreYOLO підтримує тут інференс зображень. Типи джерел описано в розділі передбачення.

Варіанти

Доступний один розмір edge із фіксованою вхідною роздільною здатністю, тому вибір цього сімейства замість інших на рівні SAM залежить від обладнання, а не розміру: EdgeTAM створено саме для обмеженого інференсу на пристрої.

Контрольні точки

Усі опубліковані файли ваг цього сімейства.

ФайлВхід (пікс.)Ліцензія ваг
Instance segmentation
LibreEdgeTAM.ptapache-2.0

Кожен наведений вище файл уже доступний у організації LibreYOLO і завантажується під час першого використання.

Ліцензування

Перевіряйте ліцензію в репозиторії Hugging Face конкретних ваг, які завантажуєте. Кожна контрольна точка в організації LibreYOLO має ліцензію, і вона не завжди однакова для всього сімейства. Цей репозиторій є авторитетним джерелом, а наведене нижче резюме описує умови на момент останньої перевірки сторінки.

Це опис відповідних ліцензій, а не юридична консультація. Якщо відповідь має комерційне значення, самостійно прочитайте ліцензії та зверніться по юридичну консультацію.

Оригінальна робота
EdgeTAM, Meta Reality Labs
Ліцензія першоджерела
Apache-2.0
Джерело першоджерела
github.com/facebookresearch/EdgeTAM
Код LibreYOLO
MIT
Ваги
Apache-2.0, повторно опубліковано на huggingface.co/LibreYOLO
Тлумачення
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.

Цитування

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

Скопійовано з блоку цитування авторів на сторінці github.com/facebookresearch/EdgeTAM#citing-edgetam.

Перевірено з LibreYOLO v1.5.0. Таблиці підтримки, контрольні точки й результати бенчмарків на цій сторінці згенеровано з випущеної бібліотеки та опублікованих ваг, а не написано вручну.