Work / Confidential client

Argus: measuring whether on-device logo recognition is good enough to ship

A full evaluation instrument for spotting a car marque's badge in event photography: open-model pipeline, curated galleries, locked test sets, calibration tooling and reproducible reports, delivering a go/no-go with real numbers instead of a demo.

AI consultancyTechnical consultancyAgentic workflows

01 The problem

A pitch claimed near-perfect brand detection in crowd and event photos, running on a laptop with no cloud. Before committing budget, the question was whether that figure was real, at what false-positive cost, and whether it could be built without restrictive model licences.

02 What we built

We built a two-stage pipeline from permissively licensed open models: an open-vocabulary detector proposes candidate regions, a self-supervised vision model matches them against a curated gallery of the marque's badges and a second gallery of look-alike distractors. Around it we built the measurement: a provenance-tracked image bank, a locked held-out set, a separate hand-screened negative set, an annotation and benchmarking UI, a calibration tool that picks thresholds on negatives alone, and CI that gates every change against the specification.

03 The result

A calibrated go/no-go. At a five percent false-positive budget the detector reached 100 percent precision and 73 percent recall on held-out images, with ranking quality (AUC) improved from 0.81 to 0.94 across three releases. The pitch's figure was shown to be unreachable without roughly 30 percent false positives. The client got a decision, a reproducible benchmark and three costed engineering levers to move the number.

Most AI feasibility work ends with a demo that looks great on the images it was tuned on. Argus was built to answer a harder question: what are the real numbers, what do they cost, and what would change them?

The pipeline. An open-vocabulary detector proposes regions that might be a badge. A self-supervised vision model embeds each region and compares it with a gallery of verified reference crops using nearest-neighbour matching. A margin score penalises matches that are almost as close to a known distractor, which is what stopped other marques’ chrome grille badges being counted as hits. A match floor rejects headlights, stickers and reflections outright. Only permissively licensed models were allowed, so nothing in the stack carries a copyleft or commercial restriction, and the whole thing runs locally on a laptop’s GPU.

The data discipline. Every image has a licence, a source and an annotation in a provenance manifest. The evaluation set was locked before tuning began. A fresh negative set, screened by hand and checked for overlap by hash, exists only for calibration. Distractor crops come from a third, separate source. Mixing any of these would have inflated the numbers, and the tooling refuses to run a calibration against a mismatched gallery or configuration.

The tooling. A benchmarking UI lets a reviewer flip scoring modes, inspect the gallery and distractors, and annotate results. A calibration command chooses operating thresholds on the negative set alone, then reports precision and recall at each on the held-out positives, broken down by scene type. Each run writes a report with a configuration digest and gallery hash, so any number in any conversation can be reproduced to the run. Architecture decisions are recorded as immutable ADRs, each module has a specification, and CI runs a spec gate plus a test suite with a light tier that needs no model weights and a model tier that does.

What the measurement showed. The headline accuracy in the pitch required a false-positive rate no event team would accept. At an acceptable rate the system is precise but misses small or distant badges. The residual confusion is one rival marque’s emblem on a chrome grille. An ablation of neighbour count showed the apparent gain from a larger k was a score-scale shift, not better separation, which saved a week of tuning in the wrong place. That turns a vague “it mostly works” into three specific levers, each with an estimated cost: a stronger embedder, more reference crops, and a small-badge pass.

Why it matters. The same method applies to any “can AI do X for us” question: build the smallest honest instrument, keep the test data clean, measure on images the model has never seen, and report the trade-off rather than the best case.

More work

All work →

Discuss a similar project.

Tell us what you are facing. The first conversation is free.

Start a conversation