DINO-DETR

DINO-DETR, yang dipublikasikan IDEA Research dengan nama DINO, memadukan pelatihan contrastive denoising dengan mixed query selection di atas sparse attention milik Deformable DETR. LibreYOLO menyediakan tiga ukuran untuk deteksi, khusus inferensi.

Task
detection
Ukuran
r50, r50s5, swinl at 800 px
Instalasi
pip install libreyolo
Tier dukungan
Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
Proyek upstream
DINO-DETR oleh IDEA Research, Apache-2.0. Makalah, sumber
Lisensi
Kode Apache-2.0, bobot Apache-2.0. Penggunaan komersial

Instalasi

DINO-DETR tidak memerlukan extra opsional. Semua yang diimpornya sudah tersedia di instalasi dasar, memakai core multi-scale deformable attention pure-PyTorch yang sama dengan family Deformable DETR di LibreYOLO.

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 core pure-PyTorch; 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("LibreDINODETRr50.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreDINODETRr50.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 query selection; iou tetap diterima demi keseragaman API tetapi tidak berpengaruh, karena decoder-nya adalah set predictor tanpa langkah NMS. Lihat prediksi untuk source, streaming dan penanganan hasil.

Di LibreYOLO, DINO-DETR hanya untuk inferensi. Upstream melatihnya dengan contrastive denoising dan Hungarian matching; resep itu tidak diimplementasikan di sini, jadi train() memunculkan NotImplementedError.

Varian

Tiga checkpoint, semuanya pada resolusi input yang sama. r50 dan r50s5 memakai backbone ResNet-50 yang sama dan berbeda pada jumlah skala feature map yang masuk ke decoder, empat berbanding lima. swinl mengganti backbone-nya dengan Swin-L dan juga mengambil lima skala.

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("LibreDINODETRr50.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=LibreDINODETRr50.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 mencantumkan argumen yang diterima setiap format.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDINODETRr50.pt")model.export(format="onnx", imgsz=800)model.export(format="tensorrt", imgsz=800, half=True)
CLI
libreyolo export model=LibreDINODETRr50.pt format=onnx imgsz=800libreyolo export model=LibreDINODETRr50.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("LibreDINODETRr50.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Checkpoint

Semua berkas bobot yang dipublikasikan untuk family ini.

BerkasInput (piksel)Lisensi bobot
Detection
LibreDINODETRr50.pt800apache-2.0
LibreDINODETRr50s5.pt800apache-2.0
LibreDINODETRswinl.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
DINO-DETR, IDEA Research
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 three checkpoints come from the authors' Google Drive release rather than a Hugging Face model card, and the upstream repository does not attach a license to the checkpoint files individually, so the redistribution basis is the repository-level Apache-2.0 declaration rather than a checkpoint-specific grant.

Ketiga checkpoint resminya berasal dari folder rilis Google Drive milik para penulis, bukan dari model card Hugging Face. Repositori upstream mendeklarasikan Apache-2.0 di tingkat repositori tetapi tidak melampirkan berkas lisensi maupun metadata lisensi pada checkpoint itu sendiri, jadi dasar redistribusinya adalah deklarasi tingkat repositori tersebut, bukan pemberian lisensi khusus per checkpoint. Setiap mirror LibreYOLO menyertakan teks lisensi Apache-2.0 upstream secara verbatim beserta catatan yang menjelaskan hal ini.

Sitasi

@misc{zhang2022dino,
      title={DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection}, 
      author={Hao Zhang and Feng Li and Shilong Liu and Lei Zhang and Hang Su and Jun Zhu and Lionel M. Ni and Heung-Yeung Shum},
      year={2022},
      eprint={2203.03605},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

@inproceedings{li2022dn,
      title={Dn-detr: Accelerate detr training by introducing query denoising},
      author={Li, Feng and Zhang, Hao and Liu, Shilong and Guo, Jian and Ni, Lionel M and Zhang, Lei},
      booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
      pages={13619--13627},
      year={2022}
}

@inproceedings{
      liu2022dabdetr,
      title={{DAB}-{DETR}: Dynamic Anchor Boxes are Better Queries for {DETR}},
      author={Shilong Liu and Feng Li and Hao Zhang and Xiao Yang and Xianbiao Qi and Hang Su and Jun Zhu and Lei Zhang},
      booktitle={International Conference on Learning Representations},
      year={2022},
      url={https://openreview.net/forum?id=oMI9PjOb9Jl}
}

Disalin dari blok sitasi penulis di github.com/IDEA-Research/DINO#bibtex.

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.