Proposal preview. The layout and voice are the proposed final form; the chart below is live, verified data. In production the prose figures are pulled from the same dataset through the article fact-sheet, so nothing here is hand-typed.
Take YOLOv9-S when accuracy per parameter matters and you ship to GPU or CPU. Take YOLOX-S when you want the widest runtime and edge-NPU support behind an Apache-2.0 license. Both sit near 13.5 GFLOPs, so the choice is about deployment target, not compute budget.
YOLOv9-S and YOLOX-S are close on paper. YOLOv9-S is 7.2M parameters and 13.5 GFLOPs. YOLOX-S is 9.0M parameters and 13.5 GFLOPs. Same input size, same compute, both anchor-free. The differences show up in accuracy per parameter and in which runtimes you can ship.
What the data shows
The chart below is the same component the leaderboard uses, scoped to these two models. It reads from the verified dataset, so it stays in sync with every new run. Drag, hover, and read the exact coordinates.
Accuracy
All numbers here come from LibreYOLO retrained checkpoints on the frozen 500-image COCO val2017 slice. Other weight sources can yield different values. For the measured mAP at this size class, read the highlighted points above and the per-model pages.
Speed and edge support
Both are single-stage convolutional detectors, so both export cleanly to ONNX, TensorRT, and the edge runtimes. YOLOX-S ships under Apache-2.0, which is the looser license if you embed it in a commercial product. For Raspberry Pi and NPU targets, check the hardware pages for the runtimes that have verified rows.
How we measured
Every model runs through the same protocol: conf 0.001, IoU 0.6, max 300 detections, pycocotools mAP, on the same 500-image slice across all hardware and runtimes. The full protocol is on the methodology page. To compare these two on your own target, open compare.
