Under Pressure: Learning-Based Analog Gauge Reading in the Wild
Authors: Maurits Reitsma, Julian Keller, Kenneth Blomqvist, Roland Siegwart · ICRA 2024
Licences
- Open Access
- Paper: CC BY 4.0
Everything below draws on the full paper under its CC BY 4.0 licence; its figure is credited to the authors.
TL;DR
Step-by-step gauge reader that needs no gauge type or scale range: about 1% relative error when OCR reads the scale, 2.01% mean on Howells et al.'s data; OCR is the main failure point.
Why it matters
Most gauges in plants are still analog, so robots that inspect legacy infrastructure need to read them from varied viewpoints. Because each stage is separate, a robot can tell which step failed on a given gauge, and the authors deployed the system on a mobile inspection platform with a 7-DoF arm and wrist-mounted camera.
Problem
Inspection robots in industrial plants must read analog gauges that vary in design, units and scale, sit behind reflective or dirty glass, and are often seen from an angle. Earlier learning-based readers need prior knowledge of the scale range, or assume a circular scale spanning at least 180 degrees and an unobstructed gauge.
Proposed solution
The pipeline detects the gauge with YOLOv8, predicts start, end and intermediate notch heatmaps with a frozen DINOv2 backbone and small decoder, and fits an ellipse through at least 5 notches. It segments the needle with YOLOv8 and fits a line by orthogonal distance regression, corrects perspective and rotation, reads scale numbers and units with DBNet and ABINet OCR, fits a linear angle-to-value model with RANSAC, and reads the value where the needle line meets the ellipse.
Key insights
- Splitting reading into gauge detection, notch detection, ellipse fit, needle segmentation, OCR and interpolation makes each failure traceable to one stage.
- Fitting an ellipse to the scale notches, rather than assuming a circular gauge face, handles perspective and scales whose radius differs from the face; whether a marker lies inside or outside the ellipse separates inner and outer scales.
- OCR needs only two correct scale markers, and RANSAC discards misreads such as serial numbers.
- OCR is the weakest stage: no tested pre-trained text detector worked across all gauge types, and ABINet cannot read decimal points or negative signs.
- Rotation correction is essential for rotated gauges but slightly lowers scale-marker detection on unrotated ones when start and end notches are misjudged.
Main results
- The abstract and conclusion state a relative reading error below 2%; Table I gives 1.15% (front views) and 0.77% (angled views) when OCR succeeds, but 444% and 246% over all examples where a reading could be computed, because misread scale markers distort the reading.
- On the Howells et al. dataset (450 images each of five gauge types, meter d excluded as nonlinear), mean relative error was 2.01% against 3.3% for Howells et al.; the 2.01% averages the four meters with readings, since OCR failed on every frame of meter a and meter e failed on 73.2% of frames.
- Per meter, errors were 0.96% vs 7.0% (b), 1.46% vs 0.9% (c), 3.1% vs 1.2% (e) and 2.5% vs 2.3% (f), without the scale-range prior that Howells et al. require.
- Gauge detection never failed on any test set (IoU 0.80–0.81); notch detection found 94.6% of annotated notches on front views, 77.5% on angled-and-rotated views and 30% on untypical gauges.
- OCR failed on 40–57.5% of images across the typical test sets, the most common failure; ellipse fitting failed on 5–17% of typical gauges and 50% of untypical ones.
- Rotation correction raised scale-marker detection on angled-and-rotated gauges from 0% to 29%; perspective correction raised it on angled views from 18% to 20%.
Limitations
- OCR is the most error-prone stage: pre-trained DBNet text detection performs poorly on gauge scale markers, and the authors found no pre-trained detector (also trying Mask-RCNN and DRRG) that worked across all gauge types.
- ABINet text recognition cannot detect decimal points or negative signs, so only natural-number scale markers are read.
- Assumes a linear scale with at least 5 visible major notches, numeric scale markers, a flat face and the gap between start and end notch at the bottom; fewer than 5 detected notches breaks the ellipse fit.
- Needle segmentation failed on needle shadows and on white needles on near-white faces (needle IoU 0 on untypical gauges), and notch detection degrades on gauges unlike the training set.
- The perspective correction may be insufficient, and the robot deployment is shown without a reported reading accuracy.
Field impact
Finalist for the IEEE ICRA 2024 Best Paper Award in Automation, with 10 citations. The authors release their gauge-reading software as open source on GitHub.
Abstract
We propose an interpretable framework for reading analog gauges that is deployable on real world robotic systems. Our framework splits the reading task into distinct steps, such that we can detect potential failures at each step. Our system needs no prior knowledge of the type of gauge or the range of the scale and is able to extract the units used. We show that our gauge reading algorithm is able to extract readings with a relative reading error of less than 2%.
Links
- arXiv 2404.08785: https://arxiv.org/abs/2404.08785
- DOI 10.1109/ICRA57147.2024.10610793: https://doi.org/10.1109/ICRA57147.2024.10610793
- PDF: https://arxiv.org/pdf/2404.08785v1
- Code: https://github.com/ethz-asl/analog_gauge_reader