Mask R-CNN

Mask R-CNN menambahkan cabang mask per region ke Faster R-CNN, dengan memprediksi mask segmentasi bersama setiap box yang dideteksi. LibreYOLO menyediakan port implementasi torchvision untuk deteksi dan segmentasi instance.

Task
detection, instance segmentation
Ukuran
r50 at 800 px
Instalasi
pip install libreyolo
Tier dukungan
Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
Proyek upstream
Mask R-CNN oleh PyTorch, BSD-3-Clause. Makalah, sumber
Lisensi
Kode BSD-3-Clause, bobot BSD-3-Clause. Penggunaan komersial

Instalasi

Mask R-CNN tidak memerlukan extra opsional. Semua yang diimpornya tersedia dalam instalasi dasar.

bash
pip install libreyolo

Prediksi

Bobot diunduh dari Hugging Face saat pertama kali digunakan dan disimpan dalam cache lokal.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreMaskRCNNr50.pt")result = model(SAMPLE_IMAGE, save=True) print(result.masks.data.shape)for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreMaskRCNNr50.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
Hanya box
from libreyolo import LibreYOLO, SAMPLE_IMAGE # task="detect" melewati head mask dan mengembalikan box dari checkpoint yang sama,# tanpa mask dalam hasil.model = LibreYOLO("LibreMaskRCNNr50.pt", task="detect")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Objek Results yang dikembalikan sama seperti yang dikembalikan setiap family, sehingga mengganti detector hanya memerlukan perubahan satu baris. Memuat checkpoint tanpa argumen task mengembalikan mask instance karena segmentasi adalah task default family ini. result.masks kemudian memuat mask tersebut bersama box. Meneruskan task="detect" memuat bobot yang sama tanpa head mask dan hanya mengembalikan box. conf dan iou menetapkan ambang batas confidence dan NMS. Mask R-CNN mempertahankan langkah NMS upstream, tidak seperti detector berbasis query. Lihat prediksi untuk sumber, streaming, dan penanganan hasil.

Varian

Ada satu backbone, ResNet-50 dengan feature pyramid, yang memakai builder Mask R-CNN v2 dari torchvision. Checkpoint yang dipublikasikan berlisensi BSD-3-Clause dan melayani kedua task dalam family ini, sehingga tidak ada ukuran yang perlu dipilih.

Validasi

val() mengembalikan dictionary berisi key metrics/. Untuk task segmentasi default checkpoint ini, key polos metrics/mAP50-95 memuat skor mask, sedangkan run yang sama melaporkan box dengan akhiran (B) sehingga keduanya tersedia dalam satu pass.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreMaskRCNNr50.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])      # maskprint(metrics["metrics/mAP50-95(B)"])   # box
CLI
libreyolo val model=LibreMaskRCNNr50.pt data=my-dataset.yaml

Ekspor

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX: didukungDetection to TorchScript: tidak didukungDetection to ExecuTorch: tidak didukungDetection to TensorRT: tidak didukungDetection to OpenVINO: tidak didukungDetection to Paddle: tidak didukungDetection to MNN: tidak didukungDetection to RKNN: tidak didukungDetection to ncnn: tidak didukungDetection to TFLite: tidak didukungDetection to CoreML: tidak didukungDetection to Core AI: tidak didukung
Instance segmentationInstance segmentation to ONNX: didukungInstance segmentation to TorchScript: tidak didukungInstance segmentation to ExecuTorch: tidak didukungInstance segmentation to TensorRT: tidak didukungInstance segmentation to OpenVINO: tidak didukungInstance segmentation to Paddle: tidak didukungInstance segmentation to MNN: tidak didukungInstance segmentation to RKNN: tidak didukungInstance segmentation to ncnn: tidak didukungInstance segmentation to TFLite: tidak didukungInstance segmentation to CoreML: tidak didukungInstance segmentation to Core AI: tidak didukung

Mask R-CNN hanya dapat diekspor ke ONNX dengan ukuran batch 1. Graph hasil ekspor mempertahankan langkah resize dan penempelan mask upstream di dalamnya, sehingga LibreYOLO memaksa dynamic=True apa pun nilai yang diteruskan agar graph tetap valid untuk sumber yang tidak berbentuk persegi. Berkas .onnx hasil ekspor dapat dimuat kembali melalui LibreYOLO() berdasarkan akhiran berkasnya dan mengembalikan Results yang sama.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreMaskRCNNr50.pt")model.export(format="onnx", imgsz=800)
CLI
libreyolo export model=LibreMaskRCNNr50.pt format=onnx imgsz=800
Gunakan berkas hasil ekspor
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory merutekan berdasarkan akhiran berkas, sehingga artefak hasil ekspor dimuat# seperti checkpoint lain dan mengembalikan objek Results yang sama.model = LibreYOLO("LibreMaskRCNNr50.onnx")result = model(SAMPLE_IMAGE) print(result.masks.data.shape)

Checkpoint

Semua berkas bobot yang dipublikasikan untuk family ini. Satu checkpoint di bawah tercantum pada deteksi, tetapi berkas yang sama juga dimuat untuk segmentasi. Jangan teruskan argumen task agar mask dikembalikan secara default.

BerkasInput (piksel)Lisensi bobot
Detection
LibreMaskRCNNr50.pt800bsd-3-clause

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
Mask R-CNN, PyTorch
Lisensi upstream
BSD-3-Clause
Kode LibreYOLO
MIT
Bobot
BSD-3-Clause, dipublikasikan ulang di huggingface.co/LibreYOLO
Interpretasi
BSD-3-Clause is a permissive license, so this code can be used in commercial and closed-source products with no obligation on your own application code. It asks only that you keep the copyright notice and disclaimer with any copy you redistribute, and it carries no patent grant. The published checkpoint used for parity testing is not distributed in the LibreYOLO source tree: torchvision's own documentation notes that a pretrained model's terms may depend on its training data, so the Hugging Face mirror ships the BSD text on that implied basis and repeats the caveat rather than issuing an explicit checkpoint-specific grant.

Mask R-CNN dibangun sebagai subclass wrapper Faster R-CNN milik LibreYOLO. Model ini memakai sumber torchvision dan lisensi BSD-3-Clause yang sama, serta menambahkan predictor mask dan head RoI mask dari commit yang di-port yang sama.

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.