A survey vehicle drives the motorway with a laser scanner and cameras and returns tens of millions of 3-D measurement points per kilometre. The task of this project was to turn that raw material into a trustworthy inventory of the roadside furniture — delineator posts, traffic signs, guardrail-mounted reflectors, overhead sign structures — automatically, and to be honest about how much of it we are actually catching. This report closes the project and states the final numbers.
Two motorway corridors were inventoried. Every device added over the course of the project was image-verified from the raw scan by independent automated review panels and then ratified by a human expert. Nothing was added on the detector's own say-so.
| Corridor | Before (1 August) | Final (7 August) | Change |
|---|---|---|---|
| A1 | 75 devices | 125 devices | +50 (+67%) |
| A4_5 | 141 devices | 216 devices | +75 (+53%) |
The A1 gain is not spread evenly — it is concentrated in classes the original system was effectively blind to. Breaking the corridor down by device type shows where the inventory actually grew:
| Device type on A1 | Before | Final | Change |
|---|---|---|---|
| Delineator posts (the ~1 m verge posts) | 61 | 70 | +9 |
| Traffic signs | 12 | 19 | +7 |
| Guardrail-mounted half-posts | 0 | 34 | +34 |
| Other poles | 2 | 2 | — |
| Total | 75 | 125 | +50 |
The single largest finding of the project is the row in the middle. Where a safety barrier runs along the verge, the full-height delineator post is replaced by a short reflector stub bolted to the top of the rail. The original system reported none of these on A1 — they are half the height of a normal post and mounted on a large metal structure that dominates the scan around them. Thirty-four of them are now in the inventory, each one confirmed from the imagery.
A detector that reports more objects is not automatically better — it may simply be wrong more often. The rule enforced throughout the project was that a larger count is not a gain until the evidence has been examined, one candidate at a time.
For each proposed device the raw scan is rendered into a standard evidence package: a wide view showing where the object stands relative to the road, and a to-scale close-up of the object itself. The decision is made from those pictures. The detection pipeline never gets to vouch for its own output.
Each candidate is assessed by two independent automated review panels, each explicitly instructed to build the case against the candidate. Where they disagree, a third, more capable reviewer looks at the imagery and breaks the tie. Agreement between reviewers who are designed to disagree is worth far more than one confident opinion.
The obvious question about an automated judge is how often it is wrong. We can answer it with a number. A human expert re-reviewed the full set of tie-broken decisions: 83 cases, of which he overturned 1 — an error rate of 1.2%, against an acceptance threshold of 30%. On the cases where both automated panels already agreed, he overturned none out of 27. The judging instrument is not a black box we are asking anyone to take on faith; it is calibrated, and the calibration is published.
The human's verdicts are authoritative wherever the two disagree. He struck five candidates from the final count — three confirmed as vegetation, one as part of the barrier structure rather than a device in its own right, and one left deliberately unresolved — and corrected the recorded type on 22 more. Every one of those corrections is reflected in the 125 and the 216 above.
From the very start of the project, 40 road segments were frozen and never looked at. No rule was ever tuned on them, no candidate from them was ever reviewed, nobody involved saw a single image from them. The success criteria and the judging rules were written down and locked before the test was opened. It was opened exactly once, at the end, and the result is the result.
This is the only part of the project that measures what the system does on road it has never seen — which is the only question that matters for deploying it anywhere else. Four changes went into the test:
| Change under test | Real devices found | False alarms | Outcome |
|---|---|---|---|
| Aggressive barrier-post search | 19 | 85 | not shipped |
| Aggressive recovery of discarded candidates | 10 | 40 | not shipped |
| Conservative bug fix — measurement error in the shape test | 2 | 0 | shipped |
| Conservative bug fix — more robust object sizing | 4 | 0 | shipped |
The two aggressive rules found plenty of genuinely real devices — and buried them in false alarms. Roughly four out of five things they flagged were not devices (18–20% precision). On the road they had been developed against, those same rules had run at 40–96% precision. They were not shipped.
The two conservative changes were not clever new search rules at all — they were straightforward defect fixes in existing measurements. Between them they found 6 real devices and produced 0 false alarms. Those two are now live in production.
It is tempting to read "two out of four changes rejected" as a disappointing result. It is the opposite. Both rejected rules looked excellent right up until the moment they met unfamiliar road; had we shipped on development-set evidence, we would have put a pipeline into production that generates four false entries for every real one, and we would not have found out until somebody tried to use the inventory. The held-back test caught it before a single wrong record reached anyone. That is what the test is for, and it paid for itself the one time it was used.
The pattern is also informative rather than random. Bug fixes transferred perfectly; tuned rules did not. A defect in our own measurement code is wrong on every road, so fixing it helps on every road. A threshold tuned on one corridor's geometry encodes that corridor — and quietly stops working on the next one. This is the central technical lesson of the project and it is written into the handover.
The programme finished by systematically sweeping every remaining place a device could be hiding, so that nothing is left merely assumed. Each of these is now closed with an answer rather than an open question.
| Search | Outcome |
|---|---|
| Barrier-mounted posts | Swept across both corridors. 34 added on A1, 71 now on A4_5. The largest single class of previously missed devices, and the reason A1 grew 67%. |
| Reflectors in road troughs | Suspected as a further hidden class. Eighty candidate positions examined; the class is simply not present on these corridors. Closed as absent rather than left as a nagging doubt. |
| The rejected-detection archive | Tens of thousands of candidates the pipeline had discarded over its lifetime were re-examined. 23 real devices recovered and returned to the inventory, and the underlying defect that discarded them was identified and fixed. |
| Overhead sign gantries | The last unverified class. A corridor-wide sweep found 9 gantries on A1, confirmed by the automated judges from colour imagery. These await final human sign-off and are not yet counted in the 125. |
| Trees | Formally removed from scope, 4–0. Tree classification had never had human-verified examples to learn from, so its apparently strong accuracy measured agreement with machine guesses, not with reality. Reinstatable only if genuine human-annotated tree data becomes available. |
The project was governed by a standing rule: it continues until a panel of four independent reviewers agrees that a defined stopping condition has been met. That panel has now returned a unanimous 4–0 decision to stop, each seat reaching it independently, and each having committed in advance to the criteria that would trigger it.
The reasoning is the held-back test. The approach used throughout this project was deliberately label-free: no human ever drew a training example; the system worked from geometry and reflectivity, using hand-designed rules. That approach has now been driven to its limit. It has extracted what it can, and the held-back test shows precisely why it cannot extract more: hand-tuned rules that are selective enough to be useful on the road they were built for are not selective enough on any other road.
The stopping condition the panel invoked was written at the outset and says, in effect: stop when further progress requires supervised machine learning trained on real labels. That condition is now met — and the striking thing is that the project has manufactured exactly those labels as a by-product of verifying its own numbers:
The project began with zero labelled examples. It ends with a labelled dataset, and the two rejected aggressive rules are retained not as detectors but as candidate generators for that next phase: they find nearly everything that is there, they simply cannot tell the real ones apart. Deciding which is which is exactly what a trained model does well and a hand-written threshold does badly.
Reopen conditions, agreed in advance and recorded: this programme restarts only if new corridor data with camera coverage arrives, if a trained scorer clears the fresh-road false-alarm bar, if a review ruling removes devices already counted, or if the detection code is changed at all — in which case the change requires its own regression suite and its own pre-registered fresh-road test.
| Figure | Standing |
|---|---|
| 125 devices on A1 · 216 on A4_5 | Ratified counts. Every device backed by reviewed point-cloud evidence and confirmed by a human expert. Reproducible: the inventory rebuilds byte-for-byte from the recorded decisions. |
| 1.2% judge error rate | Measured, not estimated — 1 overturn in 83 human-reviewed decisions. |
| 6 real devices found by the shipped fixes | Measured on road never used for development, with zero false alarms. |
| Completeness of the inventory | Bounded, and knowingly incomplete. The held-back test found roughly 1.3 real, previously unrecorded devices per road segment on fresh road. Real devices remain undetected on both corridors; we can say so with evidence, which is better than not knowing. Closing that gap is the job of the machine-learning phase. |
| 9 overhead gantries on A1 | Awaiting final human sign-off. Deliberately excluded from the 125 until signed off. We would rather under-report than report an unverified class. |
| One disputed A1 candidate | Flagged for a second look. The expert's verdict was "probably vegetation, but not sure", so it is excluded. If it later resolves as real, A1 becomes 126. |
Scope note: everything above concerns two motorway corridors surveyed with the same vehicle and sensor configuration. The central finding of the held-back test — that rules calibrated on one road do not carry to another — applies to this work as much as to anyone else's. Any new corridor should be assumed to need its own calibration and its own verification round until shown otherwise.