Industries · 6 min read
Pipeline inspection with camera nodes that watch for the crack before it is a leak
Cameras on the exposed spans, classes written with the integrity team, the alert raised at the node with the frame, and rain showing in the corrections first.
Summary
This post describes fixed camera nodes on the exposed spans of a pipeline, from a class list written with the integrity team to boxes on dents and masks on corrosion, and an alert raised beside the recorder with the frame attached. It concludes that rain and low sun show up in the correction rate before any other signal, and that each span should be trended against its own history. It is for pipeline integrity and operations teams.
Andreas Ohrvall · CTO · Sep 26, 2026

A pipeline over a concrete cradle, rust flagged along the pipe, from a customer drone survey
The span at the river crossing is the part of the pipeline anyone can see. It leaves the ground on the north bank, sits on three concrete cradles across the gravel, and buries itself again beyond the south fence. The integrity team walks it every quarter with a camera and a notebook, and between walks the only thing watching it is a pole camera the security contractor fitted years ago, pointed at the fence rather than the pipe.
Turning that camera a few degrees toward the span is the cheapest inspection the operator will ever buy. What it needs afterwards is a model trained on what the integrity team looks for, and a path for the frame to reach the engineer on call at 5 pm on a wet Friday.
The defect classes are chosen with the integrity team, in their words
The class list is not a list of everything that can go wrong with a pipe. It is the list the quarterly walk already uses. Coating breakdown, where the wrap has lifted or split. Corrosion, where bare steel has gone brown. Dents and gouges from a dropped load or a vehicle. Soil loss under a cradle, so the pipe is carrying its own weight over a gap. And third-party activity, which on this span means an excavator inside the easement.
Each of those is a line in the integrity report already. The model's classes should be those lines, so that a box called "coating breakdown" lands in the same column the walker would have filled in. On the oil and gas work behind our 12k+ precision image annotations delivered, the class lists that lasted were the ones read straight off the report template.
Object detection finds the dent, and a mask measures the corrosion
A dent is a thing with a location, and a box is enough: where on the span, how large in the frame, and whether it was there last week. Object detection is the right tool for it, and for the excavator, which is a box that matters mostly for being inside the easement at all.
Corrosion is different, because the integrity engineer grades it by area and the area is what changes between inspections. The corrosion and degradation use case makes the case that the label has to be the measurement. On the span that means a mask on the brown patch at the middle cradle, so the question "is it spreading" has an answer in square centimetres rather than in an inspector's memory of how it looked in March.
Lexi proposes both from the class names, and a person checks every label before anything trains. The checker's time goes on the boundary between weathered coating and actual corrosion, which two walkers would draw differently, and the labeling guide has to settle it before the model learns the disagreement.
The alert is raised at the node, and the frame goes with it
The node at the crossing is a small box beside the recorder in the security cabinet. The model runs there, the frames stay there, and only the ones it doubts leave for review. An alert is a rule written as a sentence, with a severity and a cooldown, approved before it goes live. An excavator inside the easement is critical and goes to the on-call engineer's phone and the control room. New corrosion on any cradle is routine and goes to the integrity team's Monday list.
With the runner beside the recorder the alert fires locally first, which matters at a crossing where the cellular link drops whenever it rains. My own view, from building these, is that a node that cannot raise its alert with the link down is a node that will miss the one that matters, because the excavator turns up on the same wet Friday the link does. The deployment doc covers what leaves the site and what never does.
The frame arrives with the box on it and the cradle named. The engineer on call reads it at 5:10 pm and knows whether to phone the contractor or wait for Monday.
Rain and low sun show up in the correction rate before anything else
Wet steel is darker steel. A span that read as sound at noon on Tuesday reads as corroded at 5 pm on Friday in the rain, with the sun low behind the south bank throwing the cradles into shadow. The model boxes more corrosion, the doubted frames rise, and the engineer reviewing them overrides the model in one consistent direction: not corrosion, wet.
That override rate is the signal. The drift catalog covers rain, fog and dust as the case where detection falls off for a week and returns. Its advice is to keep the bad-weather frames rather than to discard them as noise, since a wet Friday is rare in the training set and disproportionately valuable in it. The corrections from that Friday are the next version's evidence for the next one.
The quarterly walk still happens, because the regulator asks for it. The walker now carries the frames from the last quarter on a tablet and spends the walk at the three places the model was unsure of.
Each span is trended in LexInsight against its own history
The integrity engineer's question is rarely about one frame. It is "how has the corrosion at the middle cradle changed since the March walk", and LexInsight answers it with the area from each week's frames and the frames themselves behind the number. Trending the span against its own history rather than against the whole line is what makes a slow change visible, because a line average buries one bad crossing under a hundred sound kilometres.
LexData takes the pipeline model through its whole life. You type what to look for in the integrity report's words, Lexi puts a box or a mask on every frame, and a person checks each label before anything trains on it. The model then watches the nodes on the exposed spans, on a runner beside each recorder, with the footage staying on site. 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. Asking Insight a question changes nothing in the model; the corrections at review are what do.
The buried kilometres are still the pig's job. The exposed spans, the crossings and the valve sites are where a camera already exists, and they are where the crack is most likely to be seen before it is a leak.
See it on your own footage.
Start with your footageMore in Industries

Industries · 6 min read
AI crop analysis in the greenhouse, catching tomato disease before it spreads down the row
Lesions boxed by disease with a healthy class, a question of the footage about how far a patch spread since last week, and a model that turns with the season.
Rob Hickey · Sep 26, 2026

Industries · 6 min read
Ceramic defect detection for hairline cracks a fixed-rule camera cannot learn
Edge chips, hairline cracks and pinholes on the tile line after the kiln, masks where the area sets the grade, and the new glaze as the day to relabel.
Esdras Ntuyenabo · Sep 26, 2026

Industries · 6 min read
Chocolate box inspection with a camera over the tray line
Each piece boxed by type, a plain check against the box template, damage as its own class, and the new spring assortment as the day the labels go stale.
Stephen Biswas · Sep 26, 2026