--- license: apache-2.0 pipeline_tag: object-detection library_name: rfdetr datasets: - Voxel51/VisDrone2019-DET tags: - object-detection - detectionbench - rfdetr - pytorch - computer-vision - aerial-imagery - drone - visdrone - detr - roboflow - transformer metrics: - map50 - map50-95 - precision - recall - f1 base_model: "Roboflow/rf-detr-medium" model-index: - name: RF-DETR Medium Finetuned on VisDrone-DET results: - task: type: object-detection name: Object Detection dataset: name: VisDrone-DET type: visdrone metrics: - type: mAP50 value: 36.82 name: mAP@50 (test split) - type: mAP50-95 value: 20.14 name: mAP@50-95 (test split) - type: precision value: 64.0 name: Precision (test split) - type: recall value: 47.05 name: Recall (test split) source: url: https://github.com/dronefreak/DetectionBench name: DetectionBench --- # RF-DETR Medium Finetuned on VisDrone-DET Fine-tuned RF-DETR Medium object detector on the **VisDrone-DET** benchmark dataset, trained and evaluated as part of [DetectionBench](https://github.com/dronefreak/DetectionBench) -- a framework for reproducibly benchmarking modern object detectors with identical training recipes and evaluation metrics across multiple real-world datasets.
Task Framework Base Model
mAP@50 mAP@50:95 Params
License Source
--- ## Detection Showcase

VisDrone-DET Detection Demo

--- ## Performance | Metric | Score (%) | | ---------- | --------------- | | mAP@50 | 36.82 | | mAP@50-95 | 20.14 | | Precision | 64.0 | | Recall | 47.05 | | F1 Score | 54.24 | | Parameters | 33.7M | | FLOPs | N/A (not published upstream) | --- ## Evaluation Protocol Metrics reported in this model card are computed on the VisDrone-DET **test** split, using DetectionBench's standard evaluation pipeline (`detectionbench-evaluate`). --- ## VisDrone-DET Model Zoo Every model DetectionBench has trained and evaluated on VisDrone-DET so far, for full transparency -- see [DetectionBench](https://github.com/dronefreak/DetectionBench) for the smaller, curated comparison set used on the project README. | Model | mAP@50 | mAP@50-95 | Precision | Recall | | --------------------- | ------------- | --------------- | ----------------- | -------------- | | RF-DETR Medium | 36.82 | 20.14 | 64.0 | 47.05 | | RF-DETR Small | 33.25 | 17.88 | 62.62 | 43.51 | | RF-DETR Nano | 25.15 | 12.77 | 58.99 | 35.0 | --- ## External VisDrone-DET Comparison The YOLO/RT-DETR rows below were trained and evaluated on VisDrone2019-DET's test split via a separate companion codebase ([VisDrone-dataset-python-toolkit](https://github.com/dronefreak/VisDrone-dataset-python-toolkit)), not reproduced inside DetectionBench -- included here purely for context. The RF-DETR rows are this repository's own DetectionBench-trained runs (see the Model Zoo table above). | Model | mAP@50 | mAP@50-95 | Precision | Recall | | ----- | ------ | --------- | --------- | ------ | | YOLOv9e | 40.02 | 23.73 | 54.78 | 42.42 | | YOLOv11x | 38.44 | 22.6 | 52.41 | 41.43 | | YOLOv26x | 38.33 | 22.48 | 52.91 | 41.06 | | YOLOv11l | 37.14 | 21.85 | 51.87 | 40.33 | | YOLOv10x | 37.24 | 21.81 | 52.59 | 39.84 | | YOLOv26l | 37.65 | 21.75 | 51.6 | 40.42 | | YOLOv9c | 37.22 | 21.73 | 51.99 | 39.77 | | YOLOv8x | 36.81 | 21.52 | 51.91 | 39.78 | | YOLOv26m | 36.67 | 21.22 | 51.03 | 39.79 | | YOLOv10l | 35.95 | 21.09 | 52.13 | 38.48 | | YOLOv11m | 36.35 | 21.02 | 50.24 | 39.46 | | YOLOv9m | 36.19 | 20.95 | 51.05 | 39.12 | | RF-DETR-Medium | 36.82 | 20.14 | 64.0 | 47.05 | | YOLOv8m | 34.39 | 19.95 | 48.18 | 38.2 | | YOLOv9s | 33.52 | 19.26 | 46.16 | 37.43 | | YOLOv11s | 32.3 | 18.47 | 45.49 | 35.31 | | YOLOv8s | 31.95 | 18.24 | 45.99 | 35.49 | | YOLOv26s | 32.1 | 18.06 | 45.75 | 35.05 | | RF-DETR-Small | 33.25 | 17.88 | 62.62 | 43.51 | | YOLOv9t | 29.09 | 16.22 | 42.57 | 32.66 | | YOLOv8n | 28.18 | 15.77 | 40.86 | 31.81 | | YOLOv11n | 27.59 | 15.46 | 39.58 | 31.74 | | YOLOv10n | 27.65 | 15.32 | 41.02 | 31.68 | | YOLOv26n | 26.73 | 14.64 | 38.6 | 31.14 | | RF-DETR-Nano | 25.15 | 12.77 | 58.99 | 35.0 | | rt_detr_l | 21.68 | 9.34 | 35.76 | 26.3 | Source: https://huggingface.co/collections/dronefreak/visdrone-detection-model-zoo --- ## Per-Class Performance | Class | mAP@50 | mAP@50-95 | | -------------------------- | --------------- | ----------------- | | pedestrian | 28.15 | 11.15 | | people | 23.02 | 8.2 | | bicycle | 16.46 | 6.71 | | car | 73.13 | 44.06 | | van | 39.72 | 24.55 | | truck | 46.54 | 29.03 | | tricycle | 24.14 | 12.39 | | awning-tricycle | 20.15 | 10.71 | | bus | 62.35 | 41.68 | | motor | 34.53 | 12.93 | | others | 0.0 | 0.0 | --- ## Evaluation Visualizations This model was evaluated with [Supervision](https://github.com/roboflow/supervision)'s detection metrics, which report mAP/Precision/Recall directly but don't produce PR-curve, F1-curve, or confusion-matrix plot images the way Ultralytics' validator does. See the Performance table above for Precision/Recall/F1 and the per-class table above for the full per-class mAP breakdown. --- ## Dataset This model was trained on **VisDrone-DET**. For the full dataset description, provenance, license, and citation, see the dataset card: https://huggingface.co/datasets/Voxel51/VisDrone2019-DET ### Classes * pedestrian * people * bicycle * car * van * truck * tricycle * awning-tricycle * bus * motor * others --- ## Usage ### Install Dependencies ```bash pip install rfdetr huggingface_hub ``` ### Load Model from Hugging Face ```python from huggingface_hub import hf_hub_download import rfdetr weights = hf_hub_download( repo_id="dronefreak/visdrone-rfdetr-medium", filename="checkpoint_best_total.pth" ) model = rfdetr.RFDETRMedium(pretrain_weights=weights) ``` ### Run Inference ```python detections = model.predict("image.jpg", threshold=0.25) ``` --- ## Training Configuration | Setting | Value | | ---------------- | -------------------------------- | | Dataset | VisDrone-DET | | Framework | RF-DETR | | Training Toolkit | DetectionBench | | Epochs (configured max) | 500 | | Epochs (actually trained) | 141 | | Early Stopping Patience | 100 | | Batch Size | 10 | | Resolution | 576 | | Optimizer | adamw | | Learning Rate | 0.0001 | | Seed | 42 | --- ## Repository Contents ```text checkpoint_best_total.pth metrics.csv config.json visdrone_rfdetr-medium_showcase.jpg README.md ``` --- ## Related Resources * [VisDrone-DET dataset card](https://huggingface.co/datasets/Voxel51/VisDrone2019-DET) on Hugging Face * [DetectionBench](https://github.com/dronefreak/DetectionBench) -- reproducible benchmarks for modern object detectors on real-world datasets --- ## Training Framework This model was trained using [DetectionBench](https://github.com/dronefreak/DetectionBench), an open-source framework for benchmarking object detectors across multiple real-world datasets with a common pipeline. Features include: * A dataset-adapter registry for converting real-world datasets into a canonical format * Identical training/evaluation recipes across model families (Ultralytics YOLO/RT-DETR, RF-DETR) * Hardware profiling (latency, FPS, VRAM, parameters, FLOPs) * One-command reproducibility via versioned Hydra configs If you find this model useful, please consider starring the repository. --- ## Known Limitations * Severe class imbalance: `car` (42.21%) and `pedestrian` (23.12%) account for two-thirds of all annotated boxes in the training set, while `awning-tricycle` (0.95%) and `tricycle` (1.40%) are rare -- the `others` class has zero annotated instances in the training set entirely and is effectively unusable (always 0 AP). * Extreme small-object density: ~53 annotated boxes per image on average, with roughly 69% of boxes covering under 0.1% of the image area -- consistent with VisDrone's aerial small-object detection challenge (objects captured from significant altitude). * The original authors license VisDrone under CC BY-NC-SA 3.0 -- non-commercial research use only (see the dataset's homepage); this applies to any model trained on it, not only the raw images. * These RF-DETR checkpoints were trained/evaluated directly through DetectionBench. The YOLO/RT-DETR rows in the External VisDrone Model Zoo comparison below were trained via a separate companion codebase, not reproduced inside DetectionBench -- see that collection for their own training details and caveats. --- ## Citation If you use this model in your research, please consider citing: 1. The VisDrone-DET dataset (see below) 2. The original RF-DETR Medium architecture (see below) 3. DetectionBench, the training/evaluation framework used to produce this checkpoint ``` @article{zhu2018vision, title={Vision meets drones: A challenge}, author={Zhu, Pengfei and Wen, Longyin and Bian, Xiao and Ling, Haibin and Hu, Qinghua}, journal={arXiv preprint arXiv:1804.07437}, year={2018} } ``` ```bibtex @inproceedings{robinson2026rfdetr, title = {RF-DETR: Real-Time Detection Transformer}, author = {Robinson, Isaac and Robicheaux, Peter and Popov, Matvei and Ramanan, Deva and Peri, Neehar}, booktitle = {International Conference on Learning Representations (ICLR)}, year = {2026}, url = {https://arxiv.org/abs/2511.09554} } @article{oquab2023dinov2, title={DINOv2: Learning Robust Visual Features without Supervision}, author={Oquab, Maxime and Darcet, Timoth{\'e}e and Moutakanni, Theo and Vo, Huy and Szafraniec, Marc and Khalidov, Vasil and Fernandez, Pierre and Haziza, Daniel and Massa, Francisco and El-Nouby, Alaaeldin and others}, journal={arXiv preprint arXiv:2304.07193}, year={2023} } ``` ```bibtex @software{Saksena_DetectionBench_2026, author = {Saksena, Saumya Kumaar}, title = {DetectionBench: Reproducible Benchmarks for Modern Object Detectors on Real-World Datasets}, url = {https://github.com/dronefreak/DetectionBench}, year = {2026} } ```