Deformable DETR
Deformable DETR mengganti cross-attention padat milik DETR dengan sampling multi-skala yang sparse di sekitar setiap titik referensi, dan itulah yang membuat detektor transformer praktis untuk dilatih. LibreYOLO menyediakan lima ukuran untuk deteksi, hanya untuk inferensi.
- Task
- detection
- Ukuran
- r50ss, r50ssdc5, r50, r50refine, r50twostage at 800 px
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Lisensi
- Kode Apache-2.0, bobot Apache-2.0. Penggunaan komersial
Instalasi
Deformable DETR tidak memerlukan extra opsional. Semua yang diimpornya sudah tersedia di instalasi dasar, memakai inti multi-scale deformable attention berbasis PyTorch murni.
pip install libreyoloMemasang libreyolo[hub-kernels] bersifat opsional. Begitu paket kernels
tersedia, LibreYOLO mengambil kernel multi-scale deformable attention yang sudah
dikompilasi dari Hugging Face Hub saat runtime dan memakainya sebagai pengganti
inti PyTorch murni; LIBREYOLO_HUB_KERNELS=0 mematikannya kembali.
Prediksi
Bobot diunduh dari Hugging Face saat pertama kali dipakai lalu disimpan di cache lokal.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDeformableDETRr50.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)libreyolo predict model=LibreDeformableDETRr50.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TrueObjek Results yang dikembalikan sama dengan yang dikembalikan setiap family,
jadi mengganti detektor dengan yang lain hanya butuh perubahan satu baris.
conf dan max_det menyaring seleksi query; iou tetap diterima demi
keseragaman API tetapi tidak berpengaruh, karena decoder-nya adalah set
predictor tanpa langkah NMS. Lihat prediksi untuk sumber,
streaming dan penanganan hasil.
Deformable DETR hanya tersedia untuk inferensi di LibreYOLO. Upstream melatihnya
dengan Hungarian matching dan focal classification loss; resep itu tidak
diimplementasikan di sini, jadi train() memunculkan NotImplementedError.
Varian
Lima checkpoint mencakup seluruh konfigurasi yang dirilis, semuanya pada
resolusi input yang sama. r50ss membatasi attention pada satu skala feature
saja; r50ssdc5 menambahkan tahap backbone C5 berdilatasi di atasnya. r50
adalah konfigurasi multi-skala default, dengan sampling di empat level feature
map. r50refine menambahkan penghalusan bounding box iteratif di seluruh
lapisan decoder, dan r50twostage menghasilkan region proposal awalnya dari
keluaran encoder, bukan dari query yang dipelajari.
Validasi
val() mengembalikan dictionary berisi key metrics/ yang mencakup presisi,
recall, mAP 50 dan mAP 50-95, diukur terhadap dataset apa pun dalam format yang
dipakai saat pelatihan.
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeformableDETRr50.pt") # val() mengembalikan dict biasa, bukan objekmetrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])print(metrics["metrics/precision"], metrics["metrics/recall"])libreyolo val model=LibreDeformableDETRr50.pt data=my-dataset.yamlEkspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection to ONNX: didukung | Detection to TorchScript: didukung | Detection to ExecuTorch: didukung | Detection to TensorRT: didukung | Detection to OpenVINO: didukung | Detection to Paddle: tidak didukung | Detection to MNN: tidak didukung | Detection to RKNN: tidak didukung | Detection to ncnn: tidak didukung | Detection to TFLite: tidak didukung | Detection to CoreML: tidak didukung | Detection to Core AI: tidak didukung |
Artefak hasil ekspor dimuat kembali lewat LibreYOLO() berdasarkan sufiks
berkasnya, jadi berkas .onnx atau .engine berperilaku seperti checkpoint dan
mengembalikan Results yang sama. Ekspor memuat daftar argumen
yang diterima setiap format.
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeformableDETRr50.pt")model.export(format="onnx", imgsz=800)model.export(format="tensorrt", imgsz=800, half=True)libreyolo export model=LibreDeformableDETRr50.pt format=onnx imgsz=800libreyolo export model=LibreDeformableDETRr50.pt format=tensorrt imgsz=800 half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory-nya memilih berdasarkan sufiks berkas, jadi artefak hasil ekspor# dimuat seperti checkpoint biasa dan mengembalikan objek Results yang sama.model = LibreYOLO("LibreDeformableDETRr50.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)Checkpoint
Semua berkas bobot yang dipublikasikan untuk family ini.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| Detection | ||
| LibreDeformableDETRr50ss.pt | 800 | apache-2.0 |
| LibreDeformableDETRr50ssdc5.pt | 800 | apache-2.0 |
| LibreDeformableDETRr50.pt | 800 | apache-2.0 |
| LibreDeformableDETRr50twostage.pt | 800 | apache-2.0 |
| LibreDeformableDETRr50refine.pt | 800 | 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
- Deformable DETR, SenseTime
- Lisensi upstream
- Apache-2.0
- Sumber upstream
- github.com/fundamentalvision/Deformable-DETR
- Kode LibreYOLO
- MIT
- Bobot
- Apache-2.0, dipublikasikan ulang di huggingface.co/LibreYOLO
- Interpretasi
- Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. It places no obligation on your own application code, and weights you train yourself on your own data are yours. The five checkpoints are converted from SenseTime's own Hugging Face mirrors, each of which declares apache-2.0 in its model card; that declaration, not the original repository's Google Drive release links, is the redistribution basis.
Sitasi
@article{zhu2020deformable,
title={Deformable DETR: Deformable Transformers for End-to-End Object Detection},
author={Zhu, Xizhou and Su, Weijie and Lu, Lewei and Li, Bin and Wang, Xiaogang and Dai, Jifeng},
journal={arXiv preprint arXiv:2010.04159},
year={2020}
}Disalin dari blok sitasi penulis di github.com/fundamentalvision/Deformable-DETR#citing-deformable-detr.