Analog Gauge Reading

Train a VLM to read analog gauges, dials, and meters from photos and digitize legacy instrument readings without IoT sensor retrofits.

HP/LP steam system manifold panel with multiple analog pressure gauges in an industrial plant

Industrial facilities run on thousands of analog gauges: pressure dials on steam systems, temperature indicators on heat exchangers, flow meters on pipelines. Operators walk rounds reading each gauge and logging values by hand. Replacing every analog instrument with a digital sensor is expensive and often impractical for legacy equipment.

Datature Vi takes a different approach. You photograph your gauges, label each photo with the correct reading, and train a model that learns to read those gauges from images. Operators snap a photo during their rounds, and the model returns the reading as a number, ready for your SCADA or historian system.

No hardware retrofit needed. If you can photograph the gauge, you can digitize the reading.

For an interactive overview of this application, visit the gauge reading use case on vi.datature.com.


Common applications

Task
What the model does
Pressure gauge reading
Extracts PSI, bar, or kPa values from pressure dial photos
Temperature reading
Reads temperature from analog thermometers and bimetal gauges
Flow meter reading
Extracts flow rates from rotameter or differential pressure gauges
Multi-gauge panels
Reads multiple gauges from a single panel photo
Range validation
Flags readings outside normal operating range

Choose your task type

Approach
Best for
Output
Freeform Text (JSON)
Structured readings with gauge ID, value, unit, and range status
JSON: {"gauge_id": "P-101", "value": 42.5, "unit": "psi", "in_range": true}
Visual Question Answering (VQA)
Reading a single gauge or answering specific questions
Text answer: "The pressure gauge reads approximately 42 PSI."
Phrase Grounding
Locating a specific gauge in a multi-gauge panel photo
Bounding box around the target gauge

Annotation examples

Image
Question
Answer
Single pressure gauge
What is the reading on this pressure gauge?
The gauge reads approximately 42 PSI. The needle is between the 40 and 45 marks, closer to 40.
Temperature gauge
What is the reading on this temperature gauge?
The gauge reads approximately 185 degrees Fahrenheit. The needle is slightly below the 190 mark.
Multi-gauge panel
What are the readings on this gauge panel?
HP steam supply: 120 PSI. Condensate return: 15 PSI. Boiler feedwater: 45 PSI. All readings are within normal operating ranges.

Tips:

  • Photograph each gauge from directly in front to minimize parallax error
  • Include gauges at different reading positions across their full range
  • If your gauges have fogged glass or faded markings, include those conditions in training

Deploy and test

import json
from vi.inference import ViModel

model = ViModel(
    run_id="your-run-id",
    secret_key=".your-secret-key.",
    organization_id="your-organization-id",
)

result, error = model(
    source="gauge_photo.jpg",
    user_prompt="Read the gauges visible in this image.",
    generation_config={"temperature": 0.0, "do_sample": False}
)

if error is None:
    readings = json.loads(result.result)
    for r in readings["gauges"]:
        status = "OK" if r["in_range"] else "OUT OF RANGE"
        print(f"{r['gauge_id']}: {r['value']} {r['unit']} [{status}]")

Training tips

Photograph from the front: parallax (viewing a gauge from an angle) changes the apparent reading. Train on front-facing photos and instruct operators to photograph the same way.

Cover the full scale range: include images of gauges at low, mid, and high readings. A model trained only on mid-range readings will be less accurate at the extremes.

Include degraded conditions: real plant gauges have fogged glass, faded numbers, vibration blur, and condensation. Include these in training so the model handles them in production.

Label with numeric precision: "42.5 PSI" is more useful than "about 40 PSI." Match the precision to what a trained operator would record.


Next steps

Structured Data Extraction

Return structured JSON readings for SCADA, historian, or CMMS integration.

Phrase Grounding

Locate individual gauges in multi-gauge panel photos.

Chain-of-Thought Reasoning

Read the scale markings, then locate the needle, then calculate the value.