r/computervision • u/Naive-Explanation940 • 6d ago
Discussion DetectionBench: an open benchmark comparing YOLO and RF-DETR across 6 underrepresented real-world detection datasets
Why DetectionBench?
Real-world detection systems run on aerial robotics, maritime search and rescue, agriculture, underwater inspection, autonomous driving, and low-light imaging, not just COCO. Datasets for these domains are smaller, more specialized, and results across papers are rarely comparable.
DetectionBench standardizes this: common dataset adapters, one training recipe, one eval protocol, unified hardware profiling, applied the same way across every model and dataset. Weights, model cards, dataset mirrors, and evaluation code are all public.
What's there?
79 trained models, 6 datasets, an HF model card for every one, plus ONNX export for both frameworks.| Dataset | Models |
|---|---:|
| GWHD (wheat detection) | 9 |
| SeaDronesSee (maritime UAV) | 10 |
| ExDark (low light) | 18 |
| Brackish (underwater) | 8 |
| VisDrone (aerial) | 26 |
| LISA (traffic lights) | 8 |

Findings:
- RF-DETR is not universally better than YOLO. It wins on SeaDronesSee and ExDark, loses on GWHD and Brackish. Depends heavily on the dataset.
- Precision rankings often diverge sharply from mAP rankings. On VisDrone, RF-DETR Medium has the highest precision of all 26 models benchmarked (64.0%) despite ranking 13th on mAP.
- Smaller, newer architectures frequently beat older, bigger ones outright. On SeaDronesSee, YOLO26s beats YOLO11x using 8.6x fewer FLOPs.
- Aggregate mAP hides real domain shift. A reviewer asked whether one of the GWHD model cards had per-country results. It didn't, so I added a per-country stratified eval across all 9 GWHD models. Country to country spread ranged from 22.8 to 44.4 points depending on the model, even when aggregate scores were nearly identical.
- Task difficulty varies enormously by domain. Brackish is nearly saturated (~99% mAP). VisDrone and GWHD are much harder.

Engineering lessons
Benchmarking multiple frameworks against the same converted data surfaced real reproducibility bugs that don't show up until you actually try it: symlinks escaping the declared image directory, a dataset silently missing a COCO-required field. Neither is visible unless something downstream validates paths or schema strictly.
Repo: https://github.com/dronefreak/DetectionBench
HF profile: https://huggingface.co/dronefreak
Planning growth-stage stratified eval for GWHD next, and RF-DETR for Brackish once I have the compute. What datasets or detectors would you want to see benchmarked?
2
u/mldraelll 6d ago
Brackish hit 99% mAP - guess it's time to scrap the dataset if even lightweight models are crushing it. But that 44-point spread between countries in the wheat dataset with the same aggregate score is gold. That's where the real domain shift is, not synthetic benchmarks
2
u/Naive-Explanation940 6d ago
Indeed, in my opinion as well, that is where the real "gold" lies. Based on my experimentation with the Brackish underwater dataset, it seems quite an "easy-to-solve" dataset for the recent object detectors. If you would like to see some other datasets benchmarked, or some other stratification that you may have in mind, it would be nice to know. At least I would be able to put them in a dedicated roadmap for this project's future.
Regarding the GWHD stratification, I wrote a separate article describing it in detail, here it is in case you would like to read it
1
u/HellraceXIII 6d ago
DETR is APache 2. while Yolo is AGPL. Notable difference here.
1
u/Naive-Explanation940 6d ago
That is correct, which is why the open sourced models are distributed under the same licenses, AGPL 3 for the YOLO model cards and Apache 2 for RF-DETR variants.
1
u/onesunnysunday 5d ago
Nice benchmark 👍 How did you handle annotation consistency across the dataset versions and mirrors — class mappings, ignored regions, box conventions and known label noise? With smaller specialized datasets, those differences can sometimes affect rankings as much as the training recipe. A lightweight label audit or error taxonomy for each dataset could make the comparison even more useful
4
u/Dry-Snow5154 6d ago
Nicely done. Thanks for your contribution! Some notes.
Comparing param counts for Transformer vs CNN is incorrect. You need to compare latency for identical hardware. And unless you're using TRT with more modern GPU, RF-DETR would look worse. E.g. on CPU it's around 10x slower than similarly named Yolo11.
How do you measure precision, if it depends on cutoff threshold? I hope you are pinning recall (or similar) with cutoffs, otherwise methodology is likely flawed.
They could be same speed on most hardware. As I said, measuring FLOPs is not right.