SAM

SAM (Segment Anything) mengubah klik titik atau kotak menjadi mask objek. LibreYOLO memuatnya melalui factory LibreSAM khusus yang terpisah dari factory detektor LibreYOLO(), karena model berbasis prompt memerlukan bentuk pemanggilan berbeda.

Task
instance segmentation
Ukuran
base, large, huge at 1024 px
Instalasi
pip install libreyolo
Tier dukungan
Tier sejajar, sejak v. Permukaan produk terpisah dengan factory dan kontraknya sendiri.
Proyek upstream
SAM (Segment Anything) oleh Meta AI Research (FAIR), Apache-2.0. Makalah, sumber
Lisensi
Kode MIT, bobot Apache-2.0. Penggunaan komersial

Instalasi

SAM memerlukan komponen tambahan sam, yang memasang transformers dan timm.

bash
pip install "libreyolo[sam]"

Prediksi

LibreSAM(...) adalah entry point terpisah dari LibreYOLO(...): hasilnya merupakan segmenter yang dapat diberi prompt, bukan detektor, karena forward pass di sini tidak bermakna tanpa prompt spasial. Tidak ada perintah CLI libreyolo predict untuk family ini; gunakan API Python.

Prompt titik dan kotak
from libreyolo import LibreSAM, SAMPLE_IMAGE # "base" mengunduh facebook/sam-vit-base secara otomatis saat penggunaan pertama.# Ukuran lain: "large", "huge" (juga "b"/"l"/"h").model = LibreSAM("base") # 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)    # kotak rapat yang diturunkan dari mask # Prompt kotak sebagai pengganti titik.result = model.predict(SAMPLE_IMAGE, bboxes=[300, 200, 900, 700]) # Tanpa prompt akan menyegmentasikan seluruh gambar (generator mask otomatis# yang disederhanakan, bukan versi referensi lengkap).result = model.predict(SAMPLE_IMAGE)
Enkode sekali, gunakan banyak prompt
from libreyolo import LibreSAM, SAMPLE_IMAGE model = LibreSAM("base") # Encoder gambar adalah bagian yang mahal. set_image() menjalankannya sekali;# setiap pemanggilan predict() setelahnya menggunakan kembali embedding dari 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 sebagai 1 (foreground) atau 0 (background), dengan default semuanya foreground. Prompt kotak menerima [x1, y1, x2, y2] atau daftar kotak, satu mask per kotak. Menghilangkan kedua prompt akan menyegmentasikan seluruh gambar dengan memberi prompt pada grid padat dan mempertahankan mask yang meyakinkan serta tidak tumpang tindih; mode "segment everything" ini disederhanakan dibandingkan generator mask otomatis referensi dan dapat kurang menyegmentasikan adegan padat, sehingga prompt titik atau kotak yang nyata menjadi jalur presisi. conf memfilter berdasarkan kualitas mask yang diprediksi (IoU), bukan confidence deteksi: berikan 0.0 untuk mempertahankan setiap kandidat. multimask=True mengembalikan ketiga mask ambiguitas keseluruhan-lawan-bagian milik SAM per prompt, bukan hanya mask terbaik. device= memindahkan model dan, jika sesi set_image() aktif, embedding dari cache. Setiap mask memiliki id kelas 0 dengan nama "object", karena mask berbasis prompt tidak memiliki kumpulan kelas tetap. train(), val(), export(), dan track() semuanya memunculkan NotImplementedError untuk family ini: SAM hanya mendukung prediksi di LibreYOLO, sedangkan pelacakan video berada di luar cakupan. Lihat prediksi untuk jenis sumber.

Varian

Tiga ukuran encoder gambar ViT: base, large, dan huge, semuanya pada input tetap 1024 px. Belum ada benchmark akurasi atau latensi yang dipublikasikan untuk family ini, sehingga pemilihan ukuran menukar bobot encoder dengan kualitas mask secara langsung: base paling cepat untuk enkode, sedangkan huge paling berat.

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
SAM (Segment Anything), Meta AI Research (FAIR)
Lisensi upstream
Apache-2.0
Kode LibreYOLO
MIT
Bobot
Apache-2.0, didistribusikan oleh penulisnya. LibreYOLO tidak menghosting atau mencerminkannya.
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 mirror SAM-1 weights on its own Hugging Face org: LibreSAM downloads the base, large and huge checkpoints directly from Meta's own facebook/sam-vit-base, facebook/sam-vit-large and facebook/sam-vit-huge repositories, each tagged Apache-2.0 there as well.

LibreYOLO tidak meng-host salinan bobot SAM-1 sendiri. LibreSAM("base"), "large", dan "huge" mengunduh langsung dari repositori facebook/sam-vit-base, facebook/sam-vit-large, dan facebook/sam-vit-huge milik Meta di Hugging Face, yang masing-masing diberi tag Apache-2.0 secara independen dari LibreYOLO.

Sitasi

@article{kirillov2023segany,
  title={Segment Anything},
  author={Kirillov, Alexander and Mintun, Eric and Ravi, Nikhila and Mao, Hanzi and Rolland, Chloe and Gustafson, Laura and Xiao, Tete and Whitehead, Spencer and Berg, Alexander C. and Lo, Wan-Yen and Doll{\'a}r, Piotr and Girshick, Ross},
  journal={arXiv:2304.02643},
  year={2023}
}

Disalin dari blok sitasi penulis di github.com/facebookresearch/segment-anything#citing-segment-anything.

Diverifikasi dengan LibreYOLO v1.5.0. Tabel dukungan, checkpoint, dan angka benchmark di halaman ini dihasilkan dari library yang telah dirilis dan bobot yang dipublikasikan, bukan ditulis manual.