VelospatialDisaster management

Engineering

How we build and train our models

A road network fails in a handful of visible ways: potholes and cracking, line markings that fade past legibility, culverts that block before a storm, roads that go under water. Each one is a picture problem, and each gets its own model, trained on openly licensed imagery and on the corrections people make in our own review queues. The models propose. People decide.

The training loop

Every detector on this page sits in the same loop. A frame is captured, personal information is blurred on the device before anything is uploaded, a model reads it, and any reading a person disputes becomes a labelled training example. The models improve because the disagreements are kept, not discarded.

Capture phone or fixed camera On-device privacy faces + plates blurred Model reads it on-device + cloud check A person reviews confirms or corrects Retrain corrections teach every correction becomes training data
The loop behind every detector below

Road damage live

Potholes and cracking are the bread and butter. A detector runs on the phone itself, in real time and offline, and triages every frame for free; frames it flags are confirmed by a stronger cloud model before anything reaches a council's defect register with photo evidence attached.

Drive frame windscreen mount On-device detector real time · offline · free Cloud model confirms the flag Defect register graded, with evidence Trend drive over drive low-confidence frames go to a person, not the register
Phone triages · cloud confirms · people adjudicate
17,101openly licensed training images: potholes and cracking, harmonised into one taxonomy, plus our own captures.
0.71 vs 0.70our on-device detector's pothole precision against a leading cloud vision model, on 150 held-out images neither had seen.
111 / 150defective frames in which the on-device detector found at least one real defect, against 101 for the cloud model.

Scores are agreement with the test set's own labels at IoU 0.5. We publish the disagreements as well as the wins.

Faded line markings live

Fadedness is not something we ask a model to have an opinion about. Once a marking is located, we measure the luminance contrast between the paint and the road surface beside it. A measurement is comparable between drives in a way a judgement never is, which is exactly what "deteriorating" needs.

Locate marking model draws the box Measure contrast paint vs road, percentiles Band + number clear · wearing · faded Trend across drives same line, comparable numbers night, glare and blown-out frames refuse to answer rather than guess
Measured, not judged

One honest boundary: marking standards specify retroreflectivity, which needs a retroreflectometer at night. A daylight camera measures a contrast proxy, useful for trend and triage. We say so on every reading.

Number plates and faces live

The survey camera points at public streets, so the first model in the chain protects the public: faces and number plates are detected and pixellated on the phone, before a frame is uploaded anywhere. Face detection is Apple's on-device vision; the plate detector is our own, trained on openly licensed imagery.

Raw frame never leaves the phone Find faces on-device vision Find plates our trained detector Pixellate irreversible Upload blurred only a text-recognition fallback backstops the detector, so a missed plate has a second net
Privacy runs before upload, not after
2,776openly licensed images of vehicle plates in the training set, attribution shipped with the product.
0.61validation mAP at IoU 0.5 for the plate detector, measured on held-out imagery.
2 netsa trained detector plus a text-shape fallback; either alone is enough to blur.

Flooded roads in training

The hardest visual call on a road network is the difference between a wet road and a flooded one; a puddle or headlight sheen that reads as floodwater teaches people to ignore the feed. Our flood-frame classifier trains on the platform's own adjudicated record: frames a strong model overturned, and frames a person struck down, are exactly the boundary cases a public dataset cannot supply.

Preserved flood evidence label: flood Overturned false flags label: wet, not flooded Dry hours, same cameras label: clear Classifier flood · wet · clear Spend gate advisory only People decide it never publishes
Trained on adjudicated disagreements, validated on cameras it has never seen

Validation holds out whole cameras, not random frames: a fixed camera's frames in both halves would let a model score well by recognising the camera rather than the water. Openly licensed flood and waterlogging imagery joins the training half only, so the score keeps measuring our own domain.

Blocked culverts building

A culvert blocking up is a trend, not an event: no single frame looks like an emergency, and the value is seeing it coming. Cameras that watch a culvert have their openings pinned once, and the model reports on those exact openings so "partly obstructed for six weeks" is a work order, not a guess.

Culvert camera openings pinned once Per-opening state clear · partial · blocked Two-read confirm one frame never decides Duration-stamped worklist "obstructed for six weeks" training data: open Australian research datasets (CC BY 4.0) + our own culvert cameras
A trend detector, built on published Australian culvert-blockage research

Where the training data comes from

Two sources, and rules about both.

Openly licensed imagery

Public Domain, MIT and CC BY datasets only, with attribution shipped in the product. Licences are re-checked automatically at fetch time, so a dataset whose terms change is dropped by name. ShareAlike, NonCommercial and copyleft-licensed tooling are excluded outright.

Our own corrections

Every reading a reviewer disputes, every flag a person overturns, and every box drawn in our labelling tools becomes a training example. This is the data no public set can supply: Australian roads, our cameras, our edge cases.

Honest validation

Test sets are carved out before training and split by site, never by frame. We publish the numbers either way, including where a cloud model still beats ours.

People decide

No model on this page publishes a verdict on its own. Low-confidence frames route to a person, and the review queues are part of the product, not an afterthought.

Want the numbers behind a claim?

Every figure on this page comes from a held-out evaluation we can show you, disagreements included.

Get in touch