Lot outline
Trace the paved area around a tapped point, islands cut out. Mean IoU with a hand trace; an invalid polygon scores 0.

Trace the paved area around a tapped point, islands cut out. Mean IoU with a hand trace; an invalid polygon scores 0.
Count the marked stalls. Mean error against a hand count. Setups that put stalls in the wrong spots are left off the charts.
git clone https://github.com/DrillerDB/pave-bench
cd pave-bench && pip install -e .{"caseId": "pb_us_il_justice_testa_001",
"task": "click_connected_polygon", "track": "vlm_polygon",
"boundary": [[412, 210], ...], "cutouts": [...],
"latencyMs": 8200, "costUsd": 0.04,
"metadata": {"model": "your-model"}}python -m pavebench.cli score-manifest \
--manifest dataset/v0/manifest.jsonl \
--predictions predictions.jsonl --out score.jsonAdd your row to results/runs.jsonl. Maintainers rerun the hidden cases before a result is official.
Full-takeoff score. 23 setups from OpenAI, Google, Anthropic and Meta. Judged striping.
Imagery importer fix: pixel-aligned Web Mercator. Justice case regenerated.
Invalid polygons now score 0.
First real-imagery case: Justice, Illinois.
@misc{pavebench2026,
title = {PaveBench: Accuracy, Cost and Speed of AI Pavement Takeoff},
author = {ProPaving},
year = {2026},
url = {https://pavebench.org}
}