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.
Proyek upstream
Deformable DETR oleh SenseTime, Apache-2.0. Makalah, sumber
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.

bash
pip install libreyolo

Memasang 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.

Python
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)
CLI
libreyolo predict model=LibreDeformableDETRr50.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

Objek 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.

Python
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"])
CLI
libreyolo val model=LibreDeformableDETRr50.pt data=my-dataset.yaml

Ekspor

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX: didukungDetection to TorchScript: didukungDetection to ExecuTorch: didukungDetection to TensorRT: didukungDetection to OpenVINO: 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

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.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeformableDETRr50.pt")model.export(format="onnx", imgsz=800)model.export(format="tensorrt", imgsz=800, half=True)
CLI
libreyolo export model=LibreDeformableDETRr50.pt format=onnx imgsz=800libreyolo export model=LibreDeformableDETRr50.pt format=tensorrt imgsz=800 half=True
Memakai berkas hasil ekspor
from 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.

BerkasInput (piksel)Lisensi bobot
Detection
LibreDeformableDETRr50ss.pt800apache-2.0
LibreDeformableDETRr50ssdc5.pt800apache-2.0
LibreDeformableDETRr50.pt800apache-2.0
LibreDeformableDETRr50twostage.pt800apache-2.0
LibreDeformableDETRr50refine.pt800apache-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
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.

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.