EdgeTAM
EdgeTAM은 같은 프롬프트 기반 포인트 및 바운딩 박스 워크플로를 유지하면서 모바일 추론 속도를 위해 설계된 SAM 2의 온디바이스 변형입니다. LibreYOLO는 LibreYOLO() 탐지기 팩토리와 별도의 전용 LibreSAM 팩토리를 통해 이미지 분할 경로를 지원합니다.
- 작업
- instance segmentation
- 크기
- 설치
pip install libreyolo- 지원 티어
- 별도 티어, v부터 지원. 자체 팩토리와 계약을 갖춘 별도의 제품 영역입니다.
- 라이선스
- 코드 MIT, 가중치 Apache-2.0. 상업적 사용
설치
EdgeTAM에는 transformers와 timm을 가져오는 sam extra가 필요합니다.
pip install "libreyolo[sam]"예측
LibreSAM(...) 또는 계열별 LibreEdgeTAM(...)은 LibreYOLO(...)와 별도의
진입점입니다. 여기서는 공간 프롬프트 없이는 순전파가 의미 없으므로 탐지기가 아니라
프롬프트 가능 분할기를 반환합니다. 이 계열에는 libreyolo predict CLI 명령이
없으므로 Python API를 사용합니다. 이미지 분할만 지원하며 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의 전체 객체와 부분 객체
모호성 마스크 3개를 모두 반환합니다. device=는 모델을 이동하며 set_image()
세션이 활성 상태이면 캐시된 임베딩도 이동합니다. 프롬프트 가능 마스크에는 고정
클래스 집합이 없으므로 모든 마스크에는 이름이 "object"인 클래스 ID 0이
지정됩니다. 이 계열에서 train(), val(), export(), track()은 모두
NotImplementedError를 일으킵니다. LibreYOLO는 여기서 이미지 추론을 지원합니다.
소스 유형은 예측을 참조합니다.
변형
고정 입력 해상도를 사용하는 edge 한 크기만 있으므로, 다른 SAM 계층 대신 이 계열을 선택하는 것은 크기 선택이 아니라 하드웨어 선택입니다. EdgeTAM은 특히 제한된 온디바이스 추론을 위해 존재합니다.
체크포인트
이 계열에서 공개된 모든 가중치 파일입니다.
| 파일 | 입력(px) | 가중치 라이선스 |
|---|---|---|
| Instance segmentation | ||
| LibreEdgeTAM.pt | apache-2.0 | |
위의 모든 파일은 현재 LibreYOLO 조직에 있으며 처음 사용할 때 내려받습니다.
라이선스
내려받는 특정 가중치의 Hugging Face 저장소에서 라이선스를 확인하십시오. LibreYOLO 조직의 모든 체크포인트에는 라이선스가 있으며 한 계열 안에서도 항상 같지는 않습니다. 해당 저장소가 신뢰할 수 있는 기준입니다. 아래 요약은 이 페이지를 마지막으로 검증했을 때 적용된 내용을 설명합니다.
관련 라이선스에 관한 설명이며 법률 자문이 아닙니다. 상업적으로 중요한 사안이라면 라이선스를 직접 읽고 별도의 법률 자문을 받으십시오.
- 원작
- EdgeTAM, Meta Reality Labs
- 업스트림 라이선스
- Apache-2.0
- 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에 있는 저자의 인용 블록에서 복사했습니다.