Verdict

D-FINE-L is the more accurate detector: 60.0 vs 55.4 mAP@50-95 against YOLOX-L on an RTX 5070 Ti, a 4.6 point lead, and it does it with fewer parameters (31.24M vs 54.21M) and less VRAM (245 vs 307 MB). YOLOX-L wins raw PyTorch speed, 42.8 vs 21.9 FPS. That speed edge does not hold everywhere: on TensorRT FP32 the order flips and D-FINE-L pulls ahead at 72.3 vs 61.8 FPS.

D-FINE-L and YOLOX-L are both large detectors evaluated at 640 px on COCO val2017. D-FINE-L (31.24M parameters, Apache-2.0) is the smaller model here; YOLOX-L (54.21M, Apache-2.0) is the older one. Both have verified rows on desktop GPU, Jetson Orin, and Raspberry Pi 5, so this comparison covers the targets where the answer changes.

MetricD-FINE-LYOLOX-L
mAP@50-955996.05542.0
mAP@507707.07302.0
mAP small4594.03904.0
FPS (mean)21.942.8
Total ms/image45.7723.34
Inference ms38.6513.91
Peak VRAM (MB)245307
Params (M)31.254.2
GFLOPs91.078.0
Input size640640
LicenseApache-2.0Apache-2.0
D-FINE-L vs YOLOX-L on NVIDIA RTX 5070 Ti, PyTorch FP32, batch 1. mAP shown in percent form.
Live chartverified data
Accuracy vs parameters on COCO val2017. D-FINE-L and YOLOX-L highlighted against the full field.

Accuracy

mAP is shown in percent form. D-FINE-L measures 60.0 mAP@50-95 to YOLOX-L's 55.4, and the gap holds across every runtime measured. The difference is widest on small objects: 45.9 vs 39.0 mAP_small, a 17.7% relative gap. If your scenes are dominated by small instances, that row decides the comparison.

Speed

On the RTX 5070 Ti in PyTorch, YOLOX-L runs 42.8 FPS to D-FINE-L's 21.9, so it is 49% faster there. The two converge under conversion: on ONNX Runtime they are level at 50.9 vs 50.6 FPS. On Jetson Orin YOLOX-L keeps the edge, 5.8 vs 4.7 FPS.

The speed verdict does not survive TensorRT FP32. There D-FINE-L runs 72.3 FPS to YOLOX-L's 61.8, reversing the PyTorch result. Pick your speed number from the runtime you will actually deploy.

License and provenance
D-FINE-L license
Apache-2.0
YOLOX-L license
Apache-2.0
D-FINE-L release
2024-10-18
YOLOX-L release
2021-07-18
Evaluated weights
LibreYOLO retrained checkpoints

When to pick which

Pick D-FINE-L when accuracy or memory is the constraint: it leads at every object size, uses less VRAM, and overtakes on TensorRT FP32. Pick YOLOX-L for PyTorch or Jetson serving where its raw throughput lead is what you ship. Both are Apache-2.0, so licensing does not force the choice.

Try both with LibreYOLO

# pip install libreyolo
from libreyolo import LibreYOLO

dfine = LibreYOLO("LibreDFINEl.pt")   # 31.24M params, 60.0 mAP@50-95
yolox = LibreYOLO("LibreYOLOXl.pt")   # 54.21M params, 55.4 mAP@50-95

results = dfine("image.jpg")

Every number on this page comes from the verified dataset: same 500-image COCO val2017 slice, conf 0.001, IoU 0.6, max 300 detections, pycocotools mAP, identical protocol across all hardware and runtimes. The full protocol is on the methodology page. To rerun this comparison with your own filters, open compare. Accuracy is measured on LibreYOLO retrained checkpoints; other weight sources can yield different values.