Skip to content
LexDataLexData
PlatformIndustriesCustomers
DocsThe Field GuideBlogWhy models drift
AboutCareersSecurityContact
Log inStart now
← All posts

Industries · 7 min read

Automated water meter reading with a camera in the vault

Ten digit classes in a fixed row turn a truck roll into a frame. A rolling digit and condensation on the glass are the frames that come back to a person.

Summary

This post puts a camera on a mechanical water meter register in a vault and reads it by boxing each digit, classifying the ten digit classes, and rebuilding the reading from left to right. It concludes that the half-turned digit and the condensation on the glass are the frames that belong with a person rather than a threshold, and that the readings are worth more streamed than logged. It is for utility metering and operations teams.

Stephen Biswas · Engineer · Sep 25, 2026

Analog gauge on a plant pipe with the needle boxed, generated scene with detections from our model

The meter in the vault under the pavement on Mill Road is read four times a year by a technician who lifts the lid, climbs down, wipes the glass with a sleeve and writes six digits on a form. Between visits the utility estimates. When the estimate and the reading disagree by a lot, the bill is wrong in one direction or the other and somebody phones. A truck, a technician and half an hour, for six digits.

A camera in the vault, pointed at the register, gives the same six digits every couple of seconds without the lid coming off.

Each digit gets a bounding box and one of ten classes

A mechanical register is a row of wheels, each showing one digit through a window. The model's job is simple to state: find each digit window, and say which digit is in it. That is a bounding box per digit with a class from zero to nine, and the reading is the classes read off in order from left to right.

Reading the register as text with a general character reader is the tempting shortcut and the wrong one. A text reader has never seen a wheel half turned, does not know that the row has exactly six windows, and will cheerfully read a scratch as a one. A detector trained on this register's own frames, with ten classes and the row's geometry known, does one narrow thing and can be checked against the technician's form.

The frames come from the vault camera at its mount, with the vault's own light, and they include the dirty glass and the shadow of the lid. You type the ten classes once, Lexi proposes a box on every digit window in every frame, and a person checks the proposals before anything trains. Labels on a set like this come back at up to 99.9% accuracy, and on a register the checking is mostly the leftmost wheels, which barely move and are easy to label lazily.

The reading is rebuilt by position, and a short row is a rejected read

With six boxes and six classes, the reading is the classes sorted by the horizontal position of each box. Anything else is a read that gets rejected rather than sent. Five boxes means a digit was missed and the reading would be a tenth of the truth. Seven means something was boxed that is not a digit, a reflection or a scratch. Two boxes overlapping means the same wheel was found twice.

Each of those is a written rule in the pipeline, and each of them holds the last good reading and sends the frame for review rather than emitting a number. The register at Mill Road that reads all nines rolls over to all zeros on the next cubic metre, and the consumption arithmetic has to expect that rather than record a large negative flow.

None of this is hard. All of it is what separates a demo that reads a clean meter on a bench from a reading a billing team will act on.

The rolling digit and the fogged glass belong with a person

A mechanical wheel does not jump from three to four. It turns, and for part of every revolution the window shows the bottom of one digit and the top of the next. A model shown that frame and asked for a class has no good answer, and the honest thing for it to do is return the frame with a low confidence rather than a confident guess. Sixes and eights, threes and eights, are the other pairs that meet in the middle of a turn.

Those frames come back to a person with the box drawn on the window, and the person reads the wheel the way a technician would, from the digit that is more than half shown. The verdict is a label, and the model learns the half-turn from it. The lesson on the number beside a detection is worth a read here. That number ranks a detection against the others, and a threshold on it is an operating point chosen for the cost of a wrong read against the cost of a review.

Condensation is the other regular. A vault is damp, the glass fogs, and a frame with a fogged window has a digit somewhere behind it. Training frames include fogged glass on purpose, since the model will meet it every autumn, and a frame that is too fogged to read is held and sent for review like any other doubted read.

One aside from the vault. The technician still visits Mill Road once a year with the form, and the reading on the form is what the camera's six digits get checked against, which is the cheapest audit the metering team has.

The readings stream to where the utility's other readings go

A reading every couple of seconds is more than a bill needs and exactly what a leak needs. A house with a steady flow through the night has a leak, and a register that turns between 2 am and 4 am says so. The value of the camera is what happens after the reading exists, and readings stream into LexInsight as a value per meter, so the question "what did the Mill Road meter do overnight" has an answer with the frames behind it.

An alert is a rule written as a sentence, with a severity and a cooldown, approved before it goes live. Flow at the Mill Road meter above the margin the utility chose through the night, routine, to the metering team in Slack, with the frames from the register attached. The team sees the wheels turning at 3 am rather than a number in a table.

Across our energy work, 21,000+ hazard detections per month come from the same alert path pointed at grid assets, and a meter that turns when it should not is the same shape of question on a smaller instrument. The substation and equipment monitoring use case is the same fixed-camera position question on a bigger asset.

LexData takes the meter model through its whole life. You type what to look for, Lexi puts a bounding box on every digit in every frame, and a person checks each label before anything trains on it. The model then watches the vault camera, in the cloud, on your servers, or on a runner beside the recorder. Frames it is unsure of come back to a person, the corrections retrain it, and the new version replaces the old one with no downtime.

Rain, fog and a wet lens are a week the model rarely saw

The first heavy rain of the autumn puts water on the lens, condensation on the glass and a reflection across the window from a puddle on the vault floor. Detection falls off for a week and then recovers as the vault dries. The drift catalog calls this rain, fog and dust: conditions the model rarely saw in training arrive for a week, detection falls, and the correction rate in the review queue jumps for exactly that week.

The signal is the correction rate, and the shape of it matters. A jump that lasts a week and recovers is weather, and the frames from that week, corrected, are what the next version learns from so the second autumn is quieter. A jump that does not recover is something else, a moved camera or a replaced register, and the drift catalog has a chapter for each.

My own view is that a meter camera programme should start with the meters the technician hates most, the vaults that flood and the lids that stick, because those are the truck rolls the camera saves and the frames the model most needs to see. A clean meter in a dry cabinet reads itself in a demo and teaches the model nothing about the vault on Mill Road. How the alert gets attached to the vault camera and written as a sentence is in the monitoring doc.

See it on your own footage.

Start with your footage

More in Industries

Industries · 7 min read

Counting the screws in a kit with object detection over the bench

A camera over the kitting bench counts every screw and bottle one box at a time. Exact for kits, a band for cases, and a half-hidden item is a written rule.

Rajiya Sultana · Sep 25, 2026

Industries · 7 min read

Body-in-white inspection with a station camera on unpainted steel

Dents on a bare body shell hide in the reflections. Masks give the extent, a second pass decides reportable, and a tightened tolerance is a spec change.

Finn Ellingwood · Sep 25, 2026

Industries · 7 min read

Computer vision in automotive manufacturing, from the body shop to final inspection

Welds in the body shop, runs in the paint shop, a missing clip at trim, on cycle times in seconds. A model-year change is the day the model needs new frames.

Ayman Quadir · Sep 25, 2026

LexData
LexData

Product

  • Platform
  • Industries
  • Use cases

Resources

  • Docs
  • The Field Guide
  • Blog
  • Why models drift

Industries

  • Energy & utilities
  • Oil & gas
  • Agriculture
  • Manufacturing
  • Insurance
  • Retail
  • Robotics

Company

  • About
  • Customers
  • Careers
  • Contact

Trust

  • Security
  • Privacy
  • Terms

Stay updated

What we learn running vision models in production.

See everything.
Miss nothing.

Stay updated

What we learn running vision models in production.

Terms of use & Privacy policy

© 2026 LexData Labs · All rights reserved