EdgeTAM
EdgeTAM adalah varian on-device dari SAM 2, dibuat untuk kecepatan inferensi di perangkat mobile sambil mempertahankan alur kerja promptable berbasis titik dan box yang sama. LibreYOLO mendukung jalur segmentasi gambarnya lewat factory LibreSAM khusus, terpisah dari factory detektor LibreYOLO().
- Task
- instance segmentation
- Ukuran
- Instalasi
pip install libreyolo- Tier dukungan
- Tier sejajar, sejak v. Permukaan produk terpisah dengan factory dan kontraknya sendiri.
- Lisensi
- Kode MIT, bobot Apache-2.0. Penggunaan komersial
Instalasi
EdgeTAM membutuhkan extra sam, yang menarik transformers dan timm.
pip install "libreyolo[sam]"Prediksi
LibreSAM(...) (atau LibreEdgeTAM(...) yang khusus untuk family ini) adalah
entry point terpisah dari LibreYOLO(...): ia mengembalikan segmenter
promptable, bukan detektor, karena satu forward pass di sini tidak berarti
apa-apa tanpa prompt spasial. Tidak ada perintah CLI libreyolo predict untuk
family ini; pakai API Python. Hanya segmentasi gambar yang didukung; pelacakan
video EdgeTAM berada di luar cakupan halaman ini.
from libreyolo import LibreSAM, SAMPLE_IMAGE # EdgeTAM hanya punya satu ukuran, "edge". Alias: "edgetam", "edge-tam",# "edgetam-edge".model = LibreSAM("edgetam") # Prompt titik: [x, y] dalam koordinat piksel, label 1 = foreground.result = model.predict(SAMPLE_IMAGE, points=[640, 420], labels=[1])print(result.masks.xy) # poligon per maskprint(result.boxes.xyxy) # box ketat yang diturunkan dari mask # Prompt box sebagai ganti titik.result = model.predict(SAMPLE_IMAGE, bboxes=[300, 200, 900, 700]) # Tanpa prompt sama sekali, seluruh gambar disegmentasi (generator# mask otomatis yang disederhanakan, bukan versi referensi yang# menyeluruh).result = model.predict(SAMPLE_IMAGE)from libreyolo import LibreEdgeTAM, SAMPLE_IMAGE model = LibreEdgeTAM() # Encoder gambar adalah bagian yang mahal. set_image() menjalankannya# sekali; setiap panggilan predict() sesudahnya memakai ulang embedding# yang tersimpan di 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()Prompt titik menerima [x, y] untuk satu objek, [[x, y], ...] untuk beberapa
objek, atau array numpy; labels menandai setiap titik dengan 1 (foreground)
atau 0 (background) dan secara default menganggap semuanya foreground. Prompt
box menerima [x1, y1, x2, y2] atau sebuah daftar box, satu mask per box. Bila
kedua prompt dihilangkan, seluruh gambar disegmentasi dengan memberi prompt
berupa grid rapat lalu menyimpan mask yang meyakinkan dan tidak saling tumpang
tindih; mode "segment everything" ini disederhanakan dibandingkan generator mask
otomatis versi referensi dan bisa kurang memisahkan objek pada adegan yang
padat, jadi prompt titik atau box yang sebenarnya adalah jalur yang presisi.
conf menyaring berdasarkan kualitas mask yang diprediksi (IoU), bukan skor
keyakinan (confidence) deteksi: berikan 0.0 untuk menyimpan semua kandidat.
multimask=True mengembalikan ketiga mask ambiguitas keseluruhan-versus-bagian
milik SAM untuk setiap prompt, bukan hanya satu yang terbaik. device=
memindahkan model dan, bila sesi set_image() sedang aktif, embedding miliknya
yang tersimpan di cache. Setiap mask membawa id kelas 0 dengan nama
"object", karena mask promptable tidak punya himpunan kelas yang tetap.
train(), val(), export() dan track() semuanya memunculkan
NotImplementedError untuk family ini: inferensi gambar adalah yang didukung
LibreYOLO di sini. Lihat prediksi untuk jenis sumber.
Varian
Satu ukuran, edge, pada resolusi input tetap, jadi memilih family ini ketimbang sisa tier SAM adalah keputusan perangkat keras, bukan keputusan ukuran: EdgeTAM ada khusus untuk inferensi on-device pada perangkat terbatas.
Checkpoint
Semua berkas bobot yang dipublikasikan untuk family ini.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| Instance segmentation | ||
| LibreEdgeTAM.pt | apache-2.0 | |
Setiap berkas di atas saat ini tersedia di organisasi LibreYOLO dan diunduh saat pertama kali digunakan.
Lisensi
Periksa lisensi di repositori Hugging Face untuk bobot tertentu yang diunduh. Setiap checkpoint di organisasi LibreYOLO memiliki lisensi, dan lisensinya tidak selalu sama dalam satu family. Repositori tersebut adalah sumber resmi. Ringkasan di bawah menjelaskan ketentuan yang berlaku saat halaman ini terakhir diverifikasi.
Ini adalah deskripsi lisensi yang terlibat, bukan nasihat hukum. Jika jawabannya penting secara komersial, baca sendiri lisensinya dan mintalah nasihat dari penasihat hukum Anda.
- Karya asli
- EdgeTAM, Meta Reality Labs
- Lisensi upstream
- Apache-2.0
- Sumber upstream
- github.com/facebookresearch/EdgeTAM
- Kode LibreYOLO
- MIT
- Bobot
- Apache-2.0, dipublikasikan ulang di huggingface.co/LibreYOLO
- Interpretasi
- 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.
Sitasi
@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}
}Disalin dari blok sitasi penulis di github.com/facebookresearch/EdgeTAM#citing-edgetam.