PIDNet
Jaringan segmentasi semantik tiga cabang yang menambahkan cabang batas khusus pada desain yang terinspirasi proportional-integral-derivative, dengan sasaran inferensi real-time. LibreYOLO menyediakannya hanya untuk segmentasi semantik.
- Task
- semantic
- Ukuran
- s, m, 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
PIDNet tidak memerlukan komponen tambahan opsional. Semua impornya tersedia dalam instalasi dasar.
pip install libreyoloPrediksi
Bobot diunduh dari Hugging Face saat pertama kali digunakan dan disimpan dalam cache lokal.
Sufiks nama berkas -sem wajib digunakan untuk family ini.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePIDNets-sem.pt")result = model(SAMPLE_IMAGE, save=True) mask = result.semantic_maskprint(mask.data.shape) # (H, W) id kelasprint(mask.classes) # id kelas terurut yang ada dalam gambarlibreyolo predict model=LibrePIDNets-sem.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TrueSegmentasi semantik mengembalikan satu id kelas per piksel, bukan kotak, sehingga
result.semantic_mask menyimpan array (H, W) pada .data dan daftar id kelas
yang ada dalam gambar pada .classes. conf, iou, dan max_det diterima
demi kesetaraan API tetapi tidak berpengaruh: model menetapkan kelas untuk setiap
piksel dengan argmax, tanpa ambang confidence atau tahap NMS. Lihat
prediksi untuk sumber, streaming, dan penanganan hasil.
Varian
Tiga ukuran, semuanya dengan input tetap 1024 px. Checkpoint yang dipublikasikan merupakan hasil konversi bobot Cityscapes PIDNet resmi, dengan 19 kelas.
LibreYOLO tidak melatih PIDNet: train() memunculkan NotImplementedError untuk
family ini, yang ditandai sebagai khusus inferensi pada tier dukungan di atas.
Validasi
val() mengembalikan metrics/mIoU dan metrics/pixel_accuracy, yang diukur terhadap
dataset apa pun dalam format yang digunakan untuk pelatihan.
from libreyolo import LibreYOLO model = LibreYOLO("LibrePIDNets-sem.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mIoU"])print(metrics["metrics/pixel_accuracy"])libreyolo val model=LibrePIDNets-sem.pt data=my-dataset.yamlEkspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| semantic | semantic to ONNX: didukung | semantic to TorchScript: didukung | semantic to ExecuTorch: didukung | semantic to TensorRT: didukung | semantic to OpenVINO: didukung | semantic to Paddle: tidak didukung | semantic to MNN: tidak didukung | semantic to RKNN: tidak didukung | semantic to ncnn: didukung | semantic to TFLite: didukung | semantic to CoreML: tidak didukung | semantic to Core AI: didukung |
Artefak hasil ekspor dimuat kembali melalui LibreYOLO() berdasarkan sufiks berkasnya,
sehingga berkas .onnx atau .engine berperilaku seperti checkpoint dan mengembalikan
Results yang sama. Ekspor mencantumkan argumen yang diterima setiap format.
from libreyolo import LibreYOLO model = LibreYOLO("LibrePIDNets-sem.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibrePIDNets-sem.pt format=onnxlibreyolo export model=LibrePIDNets-sem.pt format=tensorrt half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory merutekan berdasarkan sufiks berkas, sehingga artefak hasil ekspor# dimuat seperti checkpoint lain dan mengembalikan objek Results yang sama.model = LibreYOLO("LibrePIDNets-sem.onnx")result = model(SAMPLE_IMAGE) print(result.semantic_mask.data.shape)Checkpoint
Setiap berkas bobot yang dipublikasikan untuk family ini.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| semantic | ||
| LibrePIDNets-sem.pt | 1024 | mit |
| LibrePIDNetm-sem.pt | 1024 | mit |
| LibrePIDNetl-sem.pt | 1024 | 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
- PIDNet, Jiacong Xu
- Lisensi upstream
- MIT
- Sumber upstream
- github.com/XuJiacong/PIDNet
- Kode LibreYOLO
- MIT
- Bobot
- MIT, dipublikasikan ulang di huggingface.co/LibreYOLO
- Interpretasi
- MIT is a permissive license, so this code and these weights can be used in commercial and closed-source products. It asks only that you keep the copyright and license notice with any copy you redistribute. LibreYOLO's checkpoints are conversions of the official PIDNet Cityscapes weights, which upstream licenses as MIT. The Cityscapes dataset itself carries separate research-oriented terms and is not redistributed by LibreYOLO.
Sitasi
@misc{xu2022pidnet,
title={PIDNet: A Real-time Semantic Segmentation Network Inspired from PID Controller},
author={Jiacong Xu and Zixiang Xiong and Shankar P. Bhattacharyya},
year={2022},
eprint={2206.02066},
archivePrefix={arXiv},
primaryClass={cs.CV}
}Disalin dari blok sitasi penulis di github.com/XuJiacong/PIDNet#bibtex-citation.