Seeing the Threat First: Drones, Detection and the Value of Knowing Where to Look

Drones have changed warfare faster than doctrine could keep up. Within a few years, small unmanned aircraft went from a niche reconnaissance tool to one of the defining weapons of modern conflict.

Seeing the Threat First: Drones, Detection and the Value of Knowing Where to Look
Seeing the Threat First: Drones, Detection and the Value of Knowing Where to Look

This post looks at why that happened, why detection is now the foundation of any counter-drone effort, and why one simple number, the target's displacement from the centre of the camera frame, matters more than it first appears. It ends with a look at what our own drone detector can do today and where it is heading.

The drone has become the infantry's artillery

The war in Ukraine made the shift impossible to ignore. Commercial quadcopters became battlefield scouts overnight, and FPV (first-person-view) racing drones fitted with explosives became precision weapons that cost a few hundred dollars. Loitering munitions and long-range one-way attack drones stretched the same idea across hundreds of kilometres.

A few features explain why drones spread so fast:

  • Cost asymmetry. A drone that costs about the same as a smartphone can disable a vehicle worth millions. That changes the economics of every engagement.
  • Persistent eyes. A reconnaissance drone overhead means very little on the ground stays hidden for long. Artillery fire is adjusted in minutes rather than hours.
  • Mass. Cheap drones are cheap to lose. Operators can send many at once, saturating defences built to handle a few expensive threats.
  • Accessibility. Much of the technology is commercial: cameras, flight controllers, radios, batteries. Anyone can build, modify and field it quickly.

The result is a battlefield where a soldier, a vehicle or a position can be seen and struck from the air at almost any time, by a threat that is small, quiet and fast.

Why detection comes first

Every counter-drone measure, whether jamming, shooting, intercepting or simply taking cover, depends on one thing happening first: noticing the drone.

That is harder than it sounds. Small drones have tiny radar cross-sections, often fly low, and can be almost silent at a distance. Radio-frequency detection works against drones that transmit, but less so against pre-programmed or fibre-optic-guided ones. A human looking at the sky tires, gets distracted, and cannot watch every direction at once.

Detection matters because:

  • Time is the scarcest resource. An FPV drone can cover the final few hundred metres in seconds. Every second gained by detecting it earlier is a second for a response.
  • You cannot defend against what you cannot see. Expensive effectors are useless without a target to point them at.
  • False alarms are costly too. Birds, aircraft and clutter trigger alerts. A system that cries wolf gets ignored, so detection has to be accurate as well as sensitive.
  • Situational awareness is defensive in itself. Even with no way to engage, knowing a drone is overhead tells a unit to stop moving, take cover or change position.

Optical detection with AI is attractive here. Cameras are cheap, passive (they emit nothing an enemy can locate) and already everywhere. With a neural network running on modest hardware, an ordinary camera becomes a sensor that watches continuously and does not get tired.

Displacement: from "there is a drone" to "here is where to go"

Detecting a drone answers whether. The next question is where, and in a form a machine can act on.

When the detector finds a drone it returns a bounding box. Its centre compared with the centre of the camera frame gives the displacement: how far the target is to the left or right, and above or below, the direction the camera is pointing.

error_x = box_centre_x - frame_centre_x
error_y = box_centre_y - frame_centre_y

That pair of numbers looks trivial, but it is the input to almost every tracking and pursuit system ever built.

It is a control signal. For a camera on a gimbal, a turret or an interceptor drone, displacement is the error a controller tries to drive to zero. A PID loop turns "the target is 15° right and 5° up" into "yaw right, pitch up", and keeps adjusting until the target sits in the centre of the frame. Once it does, the platform is pointing straight at it.

It is camera-agnostic when expressed as an angle. If the camera's field of view is known, the pixel offset becomes a bearing and elevation in degrees. Angles mean the same thing on any camera and any resolution, and they are exactly what a flight controller or a gimbal expects.

It leads naturally to range. Once the camera's focal length is known, the apparent size of the drone gives a rough distance: a drone half as big on screen is about twice as far away. Bearing, elevation and range together place the target in three dimensions relative to the camera.

It enables proportional navigation. Interceptors do not aim where the target is; they aim where it will be. If the target's angle stays constant while the range shrinks, the two are on a collision course. The rate of change of displacement over time is the basis of the guidance laws missiles have used for decades, and the same principle applies to a drone hunting a drone.

It is lightweight. None of this needs a heavy AI pipeline. The neural network does the hard part, finding the drone; the rest is basic geometry that any small onboard computer can run hundreds of times a second.

In short, displacement is the bridge between perception and action. A detector that only raises an alarm helps a human. A detector that outputs displacement can steer a machine.

What our detector does today

Our detector is a working foundation for this pipeline, built in the spirit of Sigma-Vanguard: Go, CPU-only, no Python and no GPU required.

Detection

  • A single-class YOLO11n model ("drone") runs through ONNX Runtime on an ordinary CPU, with several inference sessions in parallel.
  • Two model sizes: 640 px input for better detection of small, distant drones, and 320 px for roughly four times the speed.
  • Inputs: video files, RTSP camera streams and webcams. Output is one JSON line per frame with every detection's box and confidence.

Displacement and geometry

  • For the most confident detection, each frame reports the box centre and its displacement from the frame centre in pixels and normalised to -1…1.
  • Displacement is also reported as bearing and elevation angles, computed from the camera's field of view.
  • A rough range estimate in metres comes from the drone's apparent size, assuming a typical drone span. It is flagged when the drone is cut off at the frame edge, which makes the estimate too high. This estimate is approximate: it depends on the assumed size and field of view, and is best read as "about one metre" or "about fifty metres" rather than an exact figure.

Live web view

  • The browser shows the video with boxes, a centre crosshair and a line from the crosshair to the target, outlined so it stays visible against any background.
  • A side panel shows live statistics, the target's offset with a small direction display and a steering hint ("steer right + up"), the estimated range, and a log of sightings.
  • Playback runs at the video's real speed. Every frame is shown while detection runs on as many frames as the CPU can manage. On our test machine that is a full 30 frames per second of video with about 15 detections per second at 640 px; boxes trail the picture by roughly one inference.

Output video

  • Any input can be saved as an annotated H.264 video with the same overlays.

Where it could go next

The current system answers "is there a drone, where is it relative to the camera, and roughly how far away?". The natural next steps turn it into a full tracking and engagement chain.

Closing the control loop

  • A PID controller that turns bearing and elevation into yaw and pitch rates.
  • Output over MAVLink (ArduPilot, PX4) or MSP (Betaflight) to drive a gimbal or an interceptor's flight controller over a serial link.
  • Proportional navigation using the rate of change of the bearing, so an interceptor leads the target instead of chasing it.

Better tracking

  • A Kalman filter or similar tracker to smooth the target's position, predict it between detections, and hide the inference delay.
  • Persistent identities across frames, so several drones can be tracked and prioritised separately.
  • Hold-on-target behaviour during brief occlusions or missed detections.

Better sensing

  • Models trained on more small and distant drones, where detection is hardest and most valuable.
  • Persistent identities across frames, so several drones can be tracked and prioritised separately.
  • Thermal and low-light cameras for night operation.
  • Multi-class detection to tell drones from birds and aircraft, or to classify drone types. The same machinery would carry over to multi-class models such as the Baltic-tuned sv-bal.
  • Range calibration from known reference distances, and stereo or multi-camera setups for real triangulation instead of a size-based guess.

Fusion and networking

  • Combining camera detections with radar, RF and acoustic sensors, each covering the others' blind spots.
  • Several cameras sharing detections so a drone seen by one can be handed off to another.
  • Alerts and reports to a command system, with geolocated tracks when the camera's own position and heading are known.

Deployment

  • Edge hardware such as small ARM boards or Jetson-class modules, so the detector can ride on the interceptor itself.
  • Several cameras sharing detections so a drone seen by one can be handed off to another.
  • Hardware acceleration where available, while keeping the CPU-only path for low-cost and low-power deployments.

Closing thoughts

Drones have made the sky over the battlefield crowded, cheap and dangerous. Defending against them starts with seeing them, and seeing them is only useful if it leads to action fast enough to matter. Displacement is where detection becomes action: a simple geometric measure that turns "there is a drone" into "turn this way, by this much".

Our detector already makes that step on ordinary hardware, in real time. The next steps are to track smarter, see further and hand those numbers to machines that can act on them.

READ NEXT

More from the newsroom.