Case notes · 7 min read
Corrosion detection on transmission insulators, from the inspection pass to a pin you can name
A drone pass along an extra-high-voltage line shows every shed and pin. The frame with early rust looks like the one before it; tracking makes the call stick.
Summary
These case notes follow a transmission inspection from the drone pass along an extra-high-voltage line to a corrosion call on a named pin on a named tower. They cover how insulators are labeled as components in the crew's own words, why a severity convention is agreed before the first label, and why tracking an insulator across the pass matters more than detecting it on each frame. They are for utility inspection teams and the engineers building models for them.
Rob Hickey · Chief AI Officer ·

Lattice tower from a drone pass, insulator strings boxed and two corrosion spots flagged on the hardware, from a customer inspection run
The drone comes up the line at tower height in the flat light of a February morning, and the camera holds each insulator string for a second or two before the next tower swings in. Sheds, pins, cap and hardware, the dead-end assembly where the conductor turns. On an extra-high-voltage line the strings are long and the passes are long, and by the end of the day the crew has more footage than a crew can review before the next flight.
Somewhere in it is one string where the zinc has gone from a pin and the first rust bloom has started under the cap. Two winters from now that pin is an outage. Today it is a frame that looks almost exactly like the frames on either side of it, and the job is to find it, name it, and hand it to the crew in words they already use.
Corrosion detection starts with a frame that looks like every other
February's footage from this line is beautiful and brutal at once. Beautiful because a close pass shows everything: the glaze on each shed, the split pin in the hardware, the bird streak, the early rust. Brutal because almost every frame is a healthy string in good light, and the one that is not differs from its neighbours by a few brown pixels at the edge of a pin.
A person reviewing the whole day's footage at the recorder finds that frame by luck or by exhaustion. A model reviewing it finds it by having been shown, a few hundred times in LexAnnotate, what a rust bloom on a pin looks like at this distance in this light. That is what the work on a transmission line comes down to: teaching a model the one thing the line crew can spot from the truck, and then letting it look at every frame.
Insulators are labeled as components in the crew's own words
We label insulators as components rather than as blobs. The string is one class. Each shed is its own instance within it. The pin region, the cap and pin at the top of each unit where corrosion starts, is a class of its own, because that is where the crew looks first and where the model has to look first.
The vocabulary matters more than the model at this stage. If the classes say string, shed and pin, the alerts a year later say string, shed and pin, and a lineman reading one on a phone in a truck understands it without a glossary. If the classes were written by an engineer who has never climbed a tower, the alerts will need translating at the moment nobody has time.
The labeling guide describes how Lexi drafts the boxes from a sentence and a person confirms each one. On a transmission dataset the sentence is written with the crew in the room, and the argument over what counts as the pin region is the most useful hour of the project.
The severity convention is agreed before the first label is drawn
Corrosion gets its own class and a severity attached to it, and the severity scale is the operator's, agreed up front: surface discolouration at the low end, rust bloom in the middle, section loss at the top. Every label carries one of those, and every reviewer applies them the same way because the definitions are written down with example frames next to them.
The alternative, labeling first and deciding what severe means later, produces a dataset where the same bloom is severe on Monday and moderate on Thursday, and a model trained on it that calls the same pin both. On this project the convention was settled in a meeting with the inspection lead, and the example frames from that meeting are still the reference the reviewers open when a bloom is borderline.
The reviewer keeps a laminated card of the three severities on the desk beside the screen. It is the only piece of paper in the room.
A track gives each insulator one identity across the pass
A detector that fires on every frame independently produces flicker. The same pin is corroded on one frame, clean on the next when the highlight moves, corroded again two frames later, and a crew reading that gets three alerts for one pin and stops trusting all of them.
So the labels Lexi drafts are tracks rather than detections. The same insulator is followed across the pass, its box smoothed against the camera's motion, its identity held from the frame it enters to the frame it leaves. One insulator gets one identity and one decision. When corrosion is called, it is called once, on the track, with the best frame from the pass attached as the evidence.
Tracking also makes the review faster. A reviewer confirming a track confirms a few dozen frames at once, and the power line inspection use case is built on that: the unit of review is the component, and the frames are what back it up.
Corrosion is called on a pin on a tower with a name
The flight plan carries the tower numbers, so every track inherits the tower it was seen on and the position of its string on that tower. The corrosion call that reaches the crew in Slack is a sentence and a frame: rust bloom, pin region, string on the left phase of a named tower, with the frame behind it. It is something a lineman can walk up to.
That is the difference between a model output and an inspection finding. The output is a box with a class. The finding is a component on a structure the crew can find on a map, at a severity the crew already uses, with the evidence attached. The corrosion use case describes the same finding on pipes and tanks, and the shape of it is the same wherever the asset is.
My own view is that a corrosion model that cannot name the tower is a research project, however good its boxes are, and that the tower number is worth more to the crew than another point of accuracy.
The doubted frames come back and the next pass starts ahead
The first pass is never the last. The model that reviewed February's footage returns the frames it doubts, a bloom in shadow, a bird streak that looks like rust, a pin region half hidden by hardware, and a person settles each one. When the corrections cross the project's threshold a new version is trained on them, keeps what it was trained on, and replaces the old one with no downtime. The model that reviews the summer pass has seen this line in winter, and the model that reviews next winter has seen it in both.
That is how the energy and utilities work on our energy page runs: models watching inspection footage and raising 21,000+ hazard detections per month, each one a component on a named structure with a frame behind it. Each doubted frame comes back to a person, and each correction makes the next pass shorter.
The finished pass on this line plays like the inspection the crew wishes they had time to do: every string boxed, every pin region checked, the one bloom flagged two winters early. The footage on the energy page is the product's own output from a pass like this one.
See it on your own footage.
Start with your footageRelated posts

Computer vision · 6 min read
How to evaluate object detection models fairly, and why two mAP numbers are rarely comparable
A vendor's score and yours are answers to different questions. The test set, the calculation and the inference conditions each move the number on their own.
Rob Hickey · Oct 4, 2026

Industries · 7 min read
Wildfire smoke detection from a fixed ridge camera at dawn
Smoke is a class with no edges, cloud and valley mist are the false alarms to label, and a camera that never moves is what makes the first thin column visible.
Rob Hickey · Sep 30, 2026

Industries · 8 min read
Computer vision water meter reading, a camera in the vault
Computer vision water meter reading turns a truck roll into a frame. Ten digit classes in a row, and a rolling digit or fogged glass goes back to a person.
Stephen Biswas · Sep 25, 2026