Spring Annuals Trial HarnessHabitat NZ · technical demo by EmerTech

Model registry

Sixteen ranked arms, one adjudicator. Every row carries its lane, its licence, its commercial-use status and what will actually run when you press go.

Take them to the bake-off
Live
0
provider key present and a client wired in this codebase
Simulated profile
15
runs a published-benchmark prior, labelled everywhere it appears
Needs key
5
client wired, awaiting OPENROUTER_API_KEY, REPLICATE_API_TOKEN, ROBOFLOW_API_KEY
Not pursued
1
a recorded decision, kept visible on purpose

The bench

Rank order is the research ranking, not a result. Results live on the evidence page.

#ModelProviderLicenceStatusWhy it is on the list
1
RF-DETR Small/Medium (+SAHI)
Supervisedrf-detr
Roboflow
Apache-2.0
SIMULATED PROFILE
Simulated — ROBOFLOW_API_KEY is not set.
Best domain transfer per label of any 2026 detector (DINOv2 backbone), Apache-clean, and the safest bet to win the table on 5–10 m imagery.
Roboflow serverless: 15k free inferences, then credits; US$99/mo Core needed to keep Keith's imagery private.
2
SAM 3.1 (exemplar + concept)
Exemplarsam3
Roboflow
SAM License (commercial use permitted, carve-outs + patent clause)
COMMERCIAL: CONDITIONAL
SIMULATED PROFILE
Simulated — ROBOFLOW_API_KEY is not set.
Consumes Keith's click-box directly and returns EVERY matching instance with a mask and an ID in one pass — zero training, and fine-tuning code ships.
Zero-shot/exemplar SAM 3 runs on Roboflow serverless; fine-tuned SAM 3 needs a dedicated deployment.
3
YOLO26-s/m + P2 head (1280–1536, SAHI)
Supervisedyolo26-p2
Replicate
AGPL-3.0 (or paid Enterprise)
COMMERCIAL: CONDITIONAL
SIMULATED PROFILE
Simulated — hosted on Replicate but not wired here; AGPL must be resolved before delivery.
The reference workhorse: STAL small-target label assignment plus a stride-4 P2 head is the best-understood recipe for 5–15 px objects.
⚠ AGPL: hosted delivery triggers source disclosure. Resolve the licence before this arm ships to a client.
4
GeCo2
Exemplargeco2
Local weights
Unverified — check repo LICENSE before shipping
COMMERCIAL: CONDITIONAL
SIMULATED PROFILE
Simulated — local weights only (GitHub jerpelhan/GECO2) — no hosted API in the four-key plan.
AAAI 2026 SOTA few-shot counting-by-detection, engineered for scale generalisation — the exact failure mode at 5–10 px (22–27% RMSE below GeCo).
Local weights + Detectron2; no hosted API. Free to run, costs a GPU and an afternoon.
5
CountGD
Exemplarcountgd
Hugging Face
MIT
SIMULATED PROFILE
Simulated — Hugging Face Space / local build — no hosted API in the four-key plan.
The only permissively-licensed exemplar counter with a live public demo — a real count on the first September images before any training exists.
HF Space (ZeroGPU) free; PRO US$9/mo for 8× quota. Local build is Python 3.9 / GCC 11, budget half a day.
6
T-Rex2 (interactive visual prompt)
Exemplart-rex2
DeepDataSpace
IDEA License 1.0 (API-gated)
COMMERCIAL: CONDITIONAL
SIMULATED PROFILE
Simulated — DeepDataSpace account not opened (same vendor as DINO-X, decision G3).
The model that invented the draw-one-box-find-them-all workflow Keith described; embedding reuse across a whole flight is the UX argument in one call.
~US$0.014/call on DeepDataSpace. Same account as DINO-X, which G3 did not open.
7
DINO-X Pro
Zero-shotdino-x
DeepDataSpace
Closed commercial API
COMMERCIAL: CONDITIONAL
NOT PURSUED
Not pursued (G3): DeepDataSpace account deliberately not opened — payment friction plus a data-residency question over consent imagery.
Best long-tail open-world model of 2026 (+5.8 AP on LVIS-rare) with native visual-prompt counting — the zero-training upper bound we chose not to buy.
NOT PURSUED (G3). ~0.1–0.15 CNY/call, WeChat-Pay friction, China data residency for consent imagery.
8
Gemini Flash (tiled)
VLMgemini-flash
OpenRouter
Closed commercial API
SIMULATED PROFILE
Simulated — OPENROUTER_API_KEY is not set.
Joint-top of Roboflow's counting leaderboard (82.4%) and the cheapest credible frontier arm — but ViT patches are 14–16 px, so watch it die below 8 px.
~US$0.001 per 1024 px tile via OpenRouter (+5.5% credit fee). 500 images ≈ US$3.
9
DEIM-D-FINE-L
Superviseddeim-d-fine
Local weights
Apache-2.0
SIMULATED PROFILE
Simulated — self-hosted Apache weights — no hosted endpoint.
Best Apache-licensed accuracy/speed point in 2026 (54.7 AP @ 124 FPS T4) — the drop-in if the AGPL question kills YOLO26.
Self-hosted; ~50% less training time than the comparable YOLO recipe.
10
YOLOE-26 (visual + prompt-free)
Zero-shotyoloe-26
Replicate
AGPL-3.0 (or Enterprise)
COMMERCIAL: CONDITIONAL
SIMULATED PROFILE
Simulated — Replicate hosts a YOLOE variant but it is not wired here.
Text, visual AND prompt-free inference — the only arm that can find things nobody thought to ask for. Licence is the catch.
Replicate hosts a YOLOE variant at near-zero cost per run; AGPL applies to delivery.
11
Qwen3-VL-32B-Instruct (self-hosted)
VLMqwen3-vl
Local weights
Apache-2.0
SIMULATED PROFILE
Simulated — self-hosted open weights — that IS the point of this arm.
The only frontier-class counter that runs entirely on Keith's own hardware — the direct answer to 'cloud is painful for our datasets'.
Open weights, no API bill; needs a serious GPU. Local-weights arm by design.
12
OWLv2 (image-conditioned one-shot)
Zero-shotowlv2
Replicate
Apache-2.0
SIMULATED PROFILE
Simulated — not on Roboflow serverless; Replicate route not wired here.
Permissive one-shot detection from a single crop — the licence-safe fallback for the whole exemplar UX if SAM 3 and T-Rex2 both hit legal friction.
Not on Roboflow serverless; reachable via Replicate (owl-sam / owlvit) at ~US$0.001/run.
13
LOCA + DAVE (density counting)
Exemplarloca-dave
Local weights
Unverified — check repo LICENSE before shipping
COMMERCIAL: CONDITIONAL
SIMULATED PROFILE
Simulated — local weights only (ViCoS Lab) — no hosted API.
The dense-mat insurance policy: when a good year produces mats and every box detector saturates, density regression is the only defensible number.
Local weights (ViCoS Lab). Density lane — exposed under the exemplar lane because the contract has no density lane.
14
Grounding DINO (open Swin-B)
Zero-shotgrounding-dino
Replicate
Apache-2.0
SIMULATED PROFILE
Simulated — REPLICATE_API_TOKEN is not set.
Free, self-hostable, fine-tunable, and the backbone CountGD sits on — its job here is to document the honest zero-shot text-prompt floor.
~US$0.0014/run on Replicate (adirik/grounding-dino). Prepaid credit is a hard spend cap.
15
RTMDet-s / RTMDet-tiny
Supervisedrtmdet
Local weights
MIT
SIMULATED PROFILE
Simulated — self-hosted MMDetection weights — the desktop-throughput arm.
300–1000+ FPS on one card: the arm that makes 3,000 images per hectare tractable on Keith's desktop instead of a cloud bill.
Self-hosted MMDetection. Throughput specialist — accuracy is not the reason it is here.
16
GPT-5.6 Sol (tiled)
VLMgpt-5-6
OpenRouter
Closed commercial API
SIMULATED PROFILE
Simulated — OPENROUTER_API_KEY is not set.
One more frontier arm for completeness — behind Gemini and Qwen on both detection and counting, at roughly 3× the price.
Via OpenRouter; ~3× Gemini Flash per tile. Included for coverage, not expectation.

The adjudicator lane

Deliberately excluded from the table above — filtered by lane, not by id.

Claude (crop adjudicator)AdjudicatorLIVEclaude-adjudicator

Not a counter: a second opinion on 512 px crops at 1:1 pixel mapping, and a tile-triage pass. Hidden from the leaderboard by lane.

It is a referee, not a counter: it sees 512 px crops at 1:1 pixel mapping and answers is this a plant or a stone, and it does a cheap tile-triage pass so the expensive arms only look at tiles worth looking at. It never produces a count for the leaderboard, because a model that adjudicates the evidence cannot also be scored on it.

Licence: Closed commercial API. Haiku-class per crop; Batch API halves it. Never used for whole-image counting.

Why some rows say SIMULATED PROFILE
Access is computed from the environment at request time, never asserted in a config file. An arm is LIVE only when its provider key is present and this codebase has a client wired to it. Everything else runs a deterministic error profile derived from that model’s published benchmarks — which is a defensible way to demonstrate the harness before September, and is not a measurement. Simulated results are labelled on the leaderboard, in the run manifest and in every export, and each one is replaced by a real number the moment that arm runs live. No simulated figure is ever presented as a live result.
Decision G3 — DINO-X not pursued
DINO-X is the strongest zero-shot model on this list and we are consciously not opening the account: China-hosted API plus WeChat-Pay friction, which is a data-residency question we are not willing to answer on someone else’s consent imagery. SAM 3 and CountGD carry the exemplar lane without it, and T-Rex2 sits behind the same vendor account for the same reason. The row stays visible with its reason attached — a missing row looks like an oversight, a “not pursued” row looks like a decision.
Licences travel with the model
AGPL-3.0 on the YOLO arms is a delivery problem, not a footnote: hosted delivery triggers source disclosure, so that licence must be resolved (or the arm swapped for the Apache-licensed DEIM-D-FINE) before anything ships to a client. Rows marked COMMERCIAL: CONDITIONAL have a real condition attached — read the licence column before quoting a result from one.
Model registry — SATH