All case studies
Defence & AI2024

Project SENTINEL

Acoustic Intelligence & Threat Classification

Passive acoustic monitoring and AI threat classification system for perimeter defence — classifying 14 threat categories in real-time.

Headline outcome

94.3% accuracy at -5dB SNR · sub-50ms inference · 14 threat categories

Microwave dishes on a lattice communications tower, half lost in fog
Illustrative photography. No imagery on this site is from a client environment.
CNN-TransformerPyTorchEdge InferenceWhisper ASRAir-gappedReal-time

Overview

A defence installation needed a system to monitor acoustic signals across a wide perimeter and classify potential threats — vehicles, footsteps, digging, gunfire — in real-time without visual detection.

Challenge

Acoustic signal classification in outdoor environments with high ambient noise is an unsolved hard problem. The system needed to achieve >92% classification accuracy at SNR levels as low as -5dB. All processing had to be on-device — no network latency tolerable.

Solution

We developed a custom CNN-Transformer hybrid model trained on 400 hours of labelled acoustic data collected at the installation. Whisper ASR architecture was adapted for non-speech audio classification. Deployed on edge computing nodes with sub-50ms inference. 14 threat categories with confidence scoring.

Outcome

94.3% classification accuracy at -5dB SNR. Sub-50ms inference latency. Successfully detected 3 real unauthorised intrusion attempts during field trials. Currently in active deployment.

Measured

94.3%
accuracy at −5 dB signal-to-noise
sub-50 ms
inference latency
14
threat categories
Edge
inference on the node, no backhaul

The constraint that shaped it

Sub-50 ms on hardware at the edge, at −5 dB signal-to-noise. Those two numbers together removed most of the design space: no cloud inference, no large ensemble, no second pass to resolve an ambiguous clip. The model had to be small enough to run on the node and discriminative enough to hold 94.3% when the noise is louder than the signal. Every later decision — architecture, thresholds, the negative class, the update procedure — followed from that pair.

How it was built

How the accuracy was verified

94.3% is measured at −5 dB signal-to-noise, not on clean laboratory audio: at −5 dB the ambient noise is louder than the sound being classified. Evaluation ran per category rather than as one aggregate, because an average across fourteen classes hides the single class that matters on the night it matters. Latency was measured end to end on the deployment hardware under sustained load, not as a benchmark burst on a larger machine. Sub-50 ms is what the node does in service, not what the model does in isolation.

What the operator actually sees

No operator reads a spectrogram. The output is a named category, a confidence score and the node that heard it, arriving fast enough that the sound and the alert are the same event rather than two. Acoustic monitoring is passive — it covers what a camera cannot see, at night and behind cover — so the classification has to stand on its own. Fourteen categories is a deliberate ceiling: enough resolution to act on, few enough that an operator who did not choose the software can hold them in their head.

Deployment and model updates

Inference runs on the node, not in a data centre, which removes the network from the critical path: nothing about a classification depends on a link staying up. Updated weights ship as signed offline packages over controlled media, and no inbound path is opened to make an update convenient. Egress is verified by testing with the network interface physically down rather than merely firewalled. A new model is staged alongside the running one and evaluated on the same held-out audio before it replaces it.

What was hardest to get right

Not the fourteen classes — everything that is not one of them. An outdoor acoustic environment is mostly weather, machinery and animal movement, and a classifier taught only what a threat sounds like will find one in a thunderstorm. The negative class was built and expanded before the positive ones were tuned, and thresholds were set so that a category is raised only when it survives the noise floor. An alert an operator learns to ignore is worse than no alert at all.

Stack, by concern

Model & inference

CNN-TransformerPyTorchConfidence scoringPer-category evaluation

Runtime

Edge inferenceOn-node processingReal-time classification

Deployment discipline

Zero-egressSigned offline model updatesControlled-media transfer