File size: 11,821 Bytes
f14e460
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2470634
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f14e460
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d547c66
 
 
 
 
f14e460
 
 
 
 
 
d547c66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fd03792
f14e460
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
---
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.

<br>

<!-- ROW 1: Identity & Tech Stack -->
<div style="display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap;">
  <img src="https://img.shields.io/badge/Task-Object_Detection-blue?style=flat-square" alt="Task">
  <img src="https://img.shields.io/badge/Framework-RF--DETR-0aa1a7?style=flat-square" alt="Framework">
  <img src="https://img.shields.io/badge/Base_Model-RF--DETR_Medium-purple?style=flat-square" alt="Base Model">
</div>

<!-- ROW 2: Performance Metrics -->
<div style="display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap;">
  <img src="https://img.shields.io/badge/mAP@50-36.82%25-success?style=flat-square" alt="mAP@50">
  <img src="https://img.shields.io/badge/mAP@50:95-20.14%25-orange?style=flat-square" alt="mAP@50:95">
  <img src="https://img.shields.io/badge/Params-33.7M-lightgrey?style=flat-square" alt="Params">
</div>

<!-- ROW 3: Metadata -->
<div style="display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 24px; flex-wrap: wrap;">
  <img src="https://img.shields.io/badge/License-Apache--2.0-lightgrey?style=flat-square" alt="License">
  <a href="https://github.com/dronefreak/DetectionBench"><img src="https://img.shields.io/badge/Source-DetectionBench-black?style=flat-square" alt="Source"></a>
</div>

---

## Detection Showcase

<p align="center">
  <img src="visdrone_rfdetr-medium_showcase.jpg" alt="VisDrone-DET Detection Demo" width="900">
</p>

---

## 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-object-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}
}
```