BiRefNet
Jaringan bilateral-reference yang memprediksi alpha matte lembut untuk memisahkan subjek dari background-nya. LibreYOLO menyediakan inferensi dan validasi untuk task matte BiRefNet.
- Task
- matte
- Ukuran
- t, l at 1024 px
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Lisensi
- Kode MIT, bobot MIT. Penggunaan komersial
Instalasi
BiRefNet tidak membutuhkan extra opsional. Semua yang diimpornya sudah ada di instalasi dasar.
pip install libreyoloPrediksi
Bobot diunduh dari Hugging Face saat pertama kali dipakai dan disimpan di cache lokal.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreBiRefNetl-matte.pt")result = model(SAMPLE_IMAGE, save=True) matte = result.matteprint(matte.array.shape, matte.array.dtype)libreyolo predict model=LibreBiRefNetl-matte.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreBiRefNetl-matte.pt")result = model(SAMPLE_IMAGE) # RGBA (H, W, 4) uint8: RGB sumber plus matte sebagai kanal alpha.rgba = result.cutout()result.save("subject.png")Hasil matte tidak membawa box; result.matte adalah array float32 padat
berbentuk (H, W) dengan nilai di [0, 1], 1 berarti sepenuhnya foreground dan
0 sepenuhnya background. Berbeda dengan mask biner, matte lembut mempertahankan
detail tepi anti-aliased seperti rambut dan bulu. result.cutout() menggabungkan
gambar sumber dengan kanal alpha itu menjadi array RGBA, dan result.save(path)
(atau save=True pada panggilan predict) langsung menulisnya ke PNG berlatar
transparan. Model berjalan pada kanvas native tetap 1024x1024; resolusi lain
tidak didukung, karena tabel posisi relatif milik backbone Swin terikat pada
ukuran itu, dan ketidakcocokan akan menginterpolasinya dengan buruk alih-alih
memunculkan error. Lihat prediksi untuk sumber, streaming dan
penanganan hasil.
Varian
Satu checkpoint yang dipublikasikan, l, yaitu model BiRefNet-general tier
Swin-L sekaligus default kualitas di upstream. Kode family ini juga mendukung
tier lite Swin-T, t, tetapi konversi LibreYOLO untuknya belum dipublikasikan.
Validasi
val() melaporkan dua metrik atas folder berisi pasangan gambar/matte, keduanya
berada di [0, 1] dan tidak bergantung pada resolusi: MAE, yaitu mean absolute
error terhadap alpha ground truth (makin rendah makin baik), dan S-measure (Fan
et al., ICCV 2017), sebuah kemiripan struktural yang menghargai terjaganya bentuk
dan lubang pada subjek, hal yang luput bila hanya mengandalkan MAE per piksel
(makin tinggi makin baik). Validasi menjalankan predict milik model itu
sendiri, jadi preprocessing yang dipakai persis sama dengan milik family ini.
from libreyolo import LibreYOLO model = LibreYOLO("LibreBiRefNetl-matte.pt") # Sebuah direktori berisi images/ dan direktori matte yang terdeteksi# otomatis (mattes/, matte/, gt/, masks/, mask/ atau alpha/) juga bisa# dipakai sebagai ganti YAML dataset.metrics = model.val(data="my-matte-dataset/") print(metrics["metrics/MAE"])print(metrics["metrics/Smeasure"])Validasi hanya melakukan inferensi; fine-tuning adalah kelanjutan yang terdokumentasi, bukan fitur yang sudah tersedia (lihat Prediksi untuk batasan resolusi persis yang akan diwarisi trainer mana pun di masa depan).
Ekspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| matte | matte to ONNX: didukung | matte to TorchScript: didukung | matte to ExecuTorch: tidak didukung | matte to TensorRT: tidak didukung | matte to OpenVINO: tidak didukung | matte to Paddle: tidak didukung | matte to MNN: tidak didukung | matte to RKNN: tidak didukung | matte to ncnn: tidak didukung | matte to TFLite: tidak didukung | matte to CoreML: tidak didukung | matte to Core AI: tidak didukung |
Artefak hasil ekspor dimuat kembali lewat LibreYOLO() berdasarkan sufiks
berkasnya, jadi berkas .onnx berperilaku seperti checkpoint dan mengembalikan
Results yang sama. TorchScript adalah jalur yang sudah tervalidasi; konversi
ONNX berjalan tetapi belum melewati standar paritas yang sama.
Ekspor memuat daftar argumen yang diterima setiap format serta
tambahan yang dibawa beberapa di antaranya.
from libreyolo import LibreYOLO model = LibreYOLO("LibreBiRefNetl-matte.pt")model.export(format="onnx")libreyolo export model=LibreBiRefNetl-matte.pt format=onnxfrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory memilih rute berdasarkan sufiks berkas, jadi artefak hasil# ekspor dimuat seperti checkpoint biasa dan mengembalikan objek# Results yang sama.model = LibreYOLO("LibreBiRefNetl-matte.onnx")result = model(SAMPLE_IMAGE) print(result.matte.array.shape)Checkpoint
Semua berkas bobot yang dipublikasikan untuk family ini.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| matte | ||
| LibreBiRefNetl-matte.pt | mit | |
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
- BiRefNet, Nankai University
- Lisensi upstream
- MIT
- Sumber upstream
- github.com/ZhengPeng7/BiRefNet
- Kode LibreYOLO
- MIT
- Bobot
- MIT, dipublikasikan ulang di huggingface.co/LibreYOLO
- Interpretasi
- MIT is a permissive license, so these weights can be used in commercial and closed-source products. The one standing obligation is to keep the license text and copyright notice with any copy you redistribute. It places no condition on your own application code. LibreYOLO's checkpoint is a format conversion of the official pretrained BiRefNet-general weights (the Swin-L, quality-default tier), with the learned parameters unchanged; fine-tuning is not wired into this library in v1, so there is no LibreYOLO-trained variant to license separately.
Sitasi
@article{zheng2024birefnet,
title={Bilateral Reference for High-Resolution Dichotomous Image Segmentation},
author={Zheng, Peng and Gao, Dehong and Fan, Deng-Ping and Liu, Li and Laaksonen, Jorma and Ouyang, Wanli and Sebe, Nicu},
journal={CAAI Artificial Intelligence Research},
volume = {3},
pages = {9150038},
year={2024}
}Disalin dari blok sitasi penulis di github.com/ZhengPeng7/BiRefNet#citation.