Detecting Inline Instruments with Custom AI models
By Anand George
Challenge
The client worked with P&IDs from multiple EPCs, each using different symbology sets for inline instruments like flow transmitters, pressure indicators, and control valves. Their goal was to automate inline instrument detection, but off-the-shelf models failed to deliver:
- Generic object detection models gave 60–70% accuracy at best
- Custom symbols like dual-sensor transmitters were not recognized at all
- False positives in dense P&IDs created more cleanup than manual annotation
“We needed a model that knew the difference between a pressure switch and a pump tag.”
Solution
Storm Consulting proposed building a custom-trained object detection model, tuned specifically to the symbology used across the client’s active projects.
Key actions included:
- Collecting ~400 labeled samples per instrument class from their historical drawings
- Preprocessing and augmenting images (contrast, skew, blur, invert, rotation)
- Using YOLOv5 architecture for speed and lightweight deployment
- Running inference locally inside their existing annotation app
Implementation Highlights
- Achieved 92% detection accuracy on the validation set within 10 epochs
- Average inference time: ~20ms per element, making it suitable for batch use
- Detection results exported as bounding box + class for downstream annotation
- Model wrapped in a Python module, callable from both desktop and console apps
- Added confidence-based filtering to minimize false positives in busy layouts
Results
Metric | Generic Model | Storm’s Custom Model |
---|---|---|
Detection accuracy | ~68% | 92.4% |
Required training images | N/A | ~1,600 (across 4 classes) |
Time to deploy | Not usable | 4 business days |
False positives (per 100 tags) | ~15 | < 4 |
Inference speed (per symbol) | ~300ms (cloud) | ~20ms (local) |
“This was the first AI model we didn’t have to ‘work around.’ It actually understood our symbology.” — Process Engineering Consultant, Client Team
Why It Worked
- A project-specific training dataset eliminated the mismatch seen with public models
- YOLOv5 provided a balance of accuracy and runtime performance
- Lightweight integration made the model usable from both CLI and UI interfaces
- Confidence scoring allowed the client to review only ambiguous detections
- The model required zero re-training after initial delivery