Roboflow

Object Detection Benchmark

The Object Detection task asks each model to locate and classify objects by returning a bounding box and a class label for every one, in the requested output format. Unlike counting or identification, the model must report both what each object is and precisely where it sits in the image. Each prompt restricts the model to a fixed list of class labels.

34 models evaluated

Evals updated August 27, 2026Pricing updated August 31, 2026

Score key:≥75%40–74%<40%
1
77.1%
61.4%60.3%3.2K$0.01330.49s
2
70.2%
56.4%53.7%2.8K$0.0168.17s
3
69.8%
60.0%56.5%2.2K$0.00478.68s
4
68.2%
46.6%45.2%3.2K$0.01621.44s
5
67.6%
55.8%52.4%1.9K$0.0108.76s
6
60.7%
40.4%39.6%2.9K$0.0149.86s
7
60.2%
43.5%40.7%3.8K$0.00948.52s
8
60.1%
48.4%45.1%2.2K$0.001313.21s
9
59.9%
41.4%41.1%3.0K$0.001510.29s
10
58.8%
46.4%45.1%2.6K$0.001314.71s
11
58.5%
47.0%45.0%2.5K$0.000712.87s
12
58.4%
40.7%38.6%4.1K$0.01016.39s
13
58.3%
48.4%46.4%2.1K$0.00416.33s
14
58.1%
47.0%44.9%2.0K$0.00234.09s
15
56.5%
39.9%39.2%3.3K$0.00528.59s
16
56.4%
31.0%31.4%3.2K$0.05912.78s
17
54.5%
43.2%41.2%3.8K$0.003115.64s
18
AnthropicClaude Opus 5
54.4%
30.2%30.5%3.1K$0.02711.20s
19
53.9%
44.2%41.7%3.4K$0.003917.63s
20
52.1%
42.9%40.3%3.1K$0.001418.26s
21
MoonshotAIKimi K3
51.9%
41.5%40.4%4.3K$0.02023.23s
22
DeepSeekDeepSeek V4 Flash Vision Exp
45.3%
28.8%29.9%1.1K$0.00117.05s
23
42.8%
32.9%31.1%2.2K$0.00019.54s
24
42.6%
32.4%30.9%2.0K$0.00315.86s
25
OpenAIGPT-5.5
41.7%
21.1%22.2%2.9K$0.03413.17s
26
41.0%
22.3%23.0%3.1K$0.001715.03s
27
38.6%
13.3%16.8%3.0K$0.0268.34s
28
MoonshotAIKimi K2.6
36.5%
27.3%27.3%3.5K$0.005964.70s
29
36.1%
15.8%18.1%3.1K$0.0117.19s
30
33.9%
25.2%24.8%1.4K$0.01010.06s
31
33.1%
17.9%19.0%3.9K$0.00049.10s
32
20.2%
4.6%8.0%2.3K$0.00686.47s
33
18.0%
4.6%7.5%3.0K$0.010018.73s
34
16.1%
3.5%5.9%2.5K$0.00447.69s

Score vs. cost

Object Detection score (mAP@50) against estimated cost per sample, on a log scale. Upper-left is the sweet spot: high quality at low cost.

34 models on the current benchmark · Object Detection task only

Example Object Detection benchmark tasks

Real samples from the benchmark: the image each model sees, the question it is asked, and the ground-truth answer it is scored against.

Benchmark sample: Sports (Basketball) without annotations
Benchmark sample: Sports (Basketball) with predicted boxes and labels
AnnotatedOriginal

The models are asked

Detect all objects in this image. Output a JSON list where each entry contains the 2D bounding box in the key "box_2d" and the text label in the key "label". The "box_2d" value must be [y_min, x_min, y_max, x_max]: integers between 0 and 1000, normalized to the image height and width. Return only the JSON list, with no extra text. Only use these labels: ball in basket, basket rim, basketball, jersey number, player, player doing layup dunk, referee

ball in basketbasket rimbasketballjersey numberplayerplayer doing layup dunkreferee

Ground truth

19 objects

ball in basket × 1basket rim × 1basketball × 1jersey number × 5player × 8player doing layup dunk × 1referee × 2

Benchmark sample: Aerial / Drone (Solar Hot Spots) without annotations
Benchmark sample: Aerial / Drone (Solar Hot Spots) with predicted boxes and labels
AnnotatedOriginal

The models are asked

Detect all objects in this image. Output a JSON list where each entry contains the 2D bounding box in the key "box_2d" and the text label in the key "label". The "box_2d" value must be [y_min, x_min, y_max, x_max]: integers between 0 and 1000, normalized to the image height and width. Return only the JSON list, with no extra text. Only use these labels: solar panel hot spot

solar panel hot spot

Ground truth

15 objects

solar panel hot spot × 15

Benchmark sample: Aerial / Drone (Agriculture) without annotations
Benchmark sample: Aerial / Drone (Agriculture) with predicted boxes and labels
AnnotatedOriginal

The models are asked

Detect all objects in this image. Output a JSON list where each entry contains the 2D bounding box in the key "box_2d" and the text label in the key "label". The "box_2d" value must be [y_min, x_min, y_max, x_max]: integers between 0 and 1000, normalized to the image height and width. Return only the JSON list, with no extra text. Only use these labels: banana tree

banana tree

Ground truth

43 objects

banana tree × 43

Benchmark sample: Industrial (Bottle Caps) without annotations
Benchmark sample: Industrial (Bottle Caps) with predicted boxes and labels
AnnotatedOriginal

The models are asked

Detect all objects in this image. Output a JSON list where each entry contains the 2D bounding box in the key "box_2d" and the text label in the key "label". The "box_2d" value must be [y_min, x_min, y_max, x_max]: integers between 0 and 1000, normalized to the image height and width. Return only the JSON list, with no extra text. Only use these labels: soda bottle cap

soda bottle cap

Ground truth

24 objects

soda bottle cap × 24

Benchmark sample: Pharmaceutical (Pills) without annotations
Benchmark sample: Pharmaceutical (Pills) with predicted boxes and labels
AnnotatedOriginal

The models are asked

Detect all objects in this image. Output a JSON list where each entry contains the 2D bounding box in the key "box_2d" and the text label in the key "label". The "box_2d" value must be [y_min, x_min, y_max, x_max]: integers between 0 and 1000, normalized to the image height and width. Return only the JSON list, with no extra text. Only use these labels: pill

pill

Ground truth

50 objects

pill × 50

How Object Detection is scored

Quality is scored by how well the predicted boxes overlap the ground truth, using mean Average Precision. The headline metric is mAP@50 (a prediction counts when its box overlaps the truth by at least 50%), with stricter mAP@75 and mAP@50:95 also reported.

Every model runs the same sample set in a single evaluation pass. Token usage is measured from each provider’s API response, and cost per sample is that usage multiplied by the model’s published pricing. See the full methodology.

Frequently Asked Questions

Mean Average Precision measures how well predicted boxes match ground-truth boxes. The number is the overlap (IoU) threshold a prediction must clear to count: mAP@50 requires 50% overlap, mAP@75 requires 75%, and mAP@50:95 averages across thresholds from 50% to 95%. Higher thresholds demand more precise boxes, so scores drop as the threshold rises.

These are general-purpose vision language models prompted to output boxes, with no task-specific training. Dedicated detectors trained on a specific dataset still score far higher on it. The value here is zero-shot flexibility: the same model can detect arbitrary classes described in plain text.

Most models in this leaderboard link to their Playground page. Click the model name to open it, then upload your own image and run it. A few models are benchmarked for comparison only and do not have a Playground page yet.