How it works
AI leak detection: how a camera learns to see a leak
AI leak detection is software that watches a camera's video, recognizes the look of a puddle, a spray or a visible vapor plume, and raises an alarm in the systems a site already uses. This page explains how the model is built, how it decides when to alarm, what it cannot see, and how it compares with sensors and thermal cameras.

What AI leak detection is
AI leak detection is a form of computer vision. A vision model is trained on a large set of images in which people have marked where the liquid is. After training, the model can look at a new frame it has never seen and mark the liquid itself: the puddle spreading under a flange, the spray off a seal, the plume at a vent. Software around the model turns those marks into alarms.
Three things the model does with every frame:
- It recognizes liquid by how it looks. A puddle has a shape, an edge, a color and a sheen. A spray has a moving texture with no fixed edge. A vapor plume has its own look again. The model has seen hundreds of thousands of examples of each on real ground and learned what sets them apart from everything else in an industrial scene.
- It knows what is not a leak. Shadows, vehicles, people, dust, wet ground after rain, stains and wash-down water are all in the training data as things to leave alone.
- It measures. The model reports what share of a watched area is covered, so the software can tell a puddle that is sitting there from one that is growing. That measurement is what the alarm logic in section 5 works from.
VisionAery's model detects three kinds of release inside one application: puddles (pooling liquid on dirt, gravel, concrete, liner or floor), sprays (directional spray and mist from seals, fittings, valves and lines, at high or low pressure) and visible vapor (plumes a camera can see). Most releases are puddles, and most of the training effort went there, but in a plant where piping carries pressurized liquid or gas, a spray or a vapor release is the one that matters most.
How the model was built
"We didn't pull these numbers out of thin air or test on a few scenes."
The V4 model was trained on more than 200,000 frames from real sites: tank batteries, pump pads, substations, pump rooms, mining process areas, data center floors, store aisles and roads, in daylight and under near-infrared illumination at night, in dry weather and after rain. None of the frames were computer-generated. The team gathered them on site so that every surface, lighting condition and weather event a camera will meet was in the set.
Two models ship inside the application, one for puddles and one for sprays and visible vapor, because the two look nothing alike to a camera. A puddle is a shape with an edge and a sheen. A spray is a moving texture with no fixed edge.
Accuracy was measured on 9,147 frames the model had never been trained on, drawn from different sources than the training set. The results are on the benchmark methodology page, with the definitions of each measure.
Accuracy
| Model | Detection rate | False positive rate | F-score |
|---|---|---|---|
| Puddle | 97.1% | 0.8% | 0.889 |
| Spray and visible vapor | 98.1% | 3.7% | 0.923 |
The detection rate means: if there is a puddle in the frame, there is a 97.1 percent chance the model marks enough of it to alarm. The false positive rate means: across all the test footage, the model marked something that was not liquid in less than one frame in a hundred. The F-score weighs true and false positives and negatives together in one number.
Those are frame-level numbers from the test set. What an operator lives with is the alarm count after the alarm logic below has done its work. On ten Permian Basin tank batteries over ninety days, V4 alarmed on every confirmed release, three in all, with a median of 23 seconds from the moment the camera framed the leak, and produced one nuisance alarm per camera every 17 dry days and one false alarm every 41. A nuisance alarm is liquid that did not matter, wash-down water or a rain puddle. A false alarm is something that was not liquid, a shadow or a dark stain. The alarm logic below is what keeps both to once every few weeks. The full record is on the field performance page.
How a pilot on your own site is scored is on the pilot guide.
How it decides when to alarm
Detecting liquid is the easy half. The hard half is not detecting it over and over.
"Early on we learned that detecting on a puddle and then detecting again and again, over and over, is a big no-no when you're sending alarms to a control room or through a VMS. All it does is make people turn off the alarms."
VisionAery's answer is an alarm progression, which works like this:
- Interest zones. The operator draws the areas that matter, a containment berm, a pump skid, a transfer pad, and marks areas to ignore. The model only scores what is inside a zone. Zones can be tied to PTZ presets, so one camera on a tour watches several assets with its own zones at each stop.
- An initial detection threshold. A puddle or spray has to cover a set share of the zone before the first alarm. A warm-up timer requires it to stay above that share for a set number of seconds, so a dust plume behind a truck or a shadow from someone walking past does not alarm.
- Baseline reset. After the first alarm, the software resets its baseline to the size of that puddle. Nothing alarms again until the puddle has grown by a set percentage. At the average sensitivity that is 35 percent; at low sensitivity, 50 percent. Each new alarm means the puddle has changed, not that the camera saw it again.
- Shrink and recovery. A rain puddle evaporates. When the covered area has stayed below the stepped-down threshold for a full day cycle, the baseline steps back down so a new, small release can alarm promptly again.
- Stages. The zone shows green, yellow or red as the progression advances, in the camera's own video stream and in the data it publishes.
Three sensitivity presets set all of these at once. An advanced tab exposes every value for sites that want control.
Rain
Rain is the condition that defeats most video analytics, because rain makes real puddles. V4 accepts a rain signal from a wired rain sensor on the camera's digital input, from an I/O module over MQTT, or from a weather service by the camera's coordinates. While it is raining, detections are ignored. For 24 hours after rain stops, the software runs in forgiveness mode: it tracks the first puddle it sees but does not alarm on it, and alarms only if that puddle grows. A rain puddle shrinks. A leak under it does not.
Where it runs
The model runs where the video is: on the camera's own processor on Axis ARTPEC-9 and Hanwha Wisenet 9 cameras, or on an edge server on site for every other camera. Inference runs every two and a half to four seconds and throttles itself to the resources available, so other applications on the camera keep running.
Nothing is sent to a cloud service. No video or image leaves the site unless the operator attaches a snapshot to an alarm going to their own systems. That is a security choice and a cost choice: there is no per-camera cloud fee, no bandwidth to a data center, and the site keeps its own data. Details are on the security page.
Alarms go out through the camera's own event engine to the video management system (Milestone, Genetec, AXIS Camera Station and the rest), over MQTT as JSON or Sparkplug B to SCADA and historians, or as an HTTP webhook to anything else. Alarm and telemetry messages can carry the raw frame and the overlay frame, so the person receiving the alarm sees what the camera saw without logging in anywhere. See the integrations guide.
What it cannot see
Stating the limits is part of the method.
- Colorless fluids that do not wet the surface. Visible-spectrum cameras see shape, edge, color and sheen. A clear liquid on a surface it does not darken gives the model little to work with. For those fluids, pair the camera with a thermal channel.
- Releases below grade. A leak into soil or a sump that never reaches a surface the camera can see is invisible to any camera.
- Dark on dark with no light. At night the camera needs its own near-infrared illumination, which most industrial cameras have. In total darkness with no IR, there is no image to analyze. Night and weather conditions are on operating conditions.
Why visual cameras rather than thermal, including the day we tested both side by side in a rainstorm, is on why visual, not thermal.
AI leak detection and the alternatives
| Method | Where it fits | What it misses |
|---|---|---|
| AI leak detection on fixed cameras | Continuous watch over an open area from the cameras a site already has; sees puddles, sprays and vapor; alarms into the VMS or SCADA | Clear fluids that do not wet the surface; anything below grade |
| Point and cable sensors | A known spot: under a tank, along a pipe trench, in a sump | Anything that does not reach the sensor; the whole pad around it |
| Acoustic and pressure systems | Pipeline walls and pressurized lines | Open pads, tank bases, drips and slow seeps |
| Thermal cameras | Fluids that are hotter or colder than the ground; colorless fluids | Wet ground, rain and anything near ambient temperature; costs more per camera |
| Handheld thermal and gas cameras | Scheduled inspection rounds | The hours and days between rounds |
A fixed camera running AI leak detection does not replace the sensor in the sump or the inspection round. It covers the ground between them, all day and all night. The longer comparison, with the vendors in each category, is on the compare page.
Glossary
- Puddle, spray, vapor.
- The three release types the model detects: pooled liquid, directional spray or mist, and a visible plume.
- Interest zone.
- The area in the frame the operator asks the model to watch. Exclusion zone. An area inside it to ignore.
- Inference.
- One pass of the model over one frame.
- Detection rate.
- The share of real leaks in the test frames the model marked. Also called true positive rate.
- False positive rate.
- The share of test frames in which the model marked liquid that was not there.
- F-score.
- One number that weighs detection rate against false positives.
- Nuisance alarm.
- The model found liquid, and the liquid did not matter: rain pooling, wash-down water. False alarm. The model marked something that was not liquid.
- Alarm progression.
- The staged logic that alarms once on a release and again only when it grows.
- Forgiveness mode.
- The 24 hours after rain in which the first puddle is tracked but not alarmed on.
- Pixels per foot.
- How much of the image one foot of ground occupies at the zone; the field record's smallest confirmed detection was imaged at roughly 15 pixels per foot.
FAQ
What is AI leak detection?
How accurate is AI leak detection?
Does it work at night?
Does it work in the rain?
Do I need new cameras?
Does it send video to the cloud?
How is it different from a leak sensor?
What kinds of liquid can it detect?
How fast does it alarm?
Can I test it on my own footage?
See it run on the cameras you already own
Thirty-day trial on one camera channel. Download the app for Axis, or ask about an edge server for everything else.