Skip to content
All work
Computer Vision2024

UAV Search & Rescue

A search-and-rescue drone that spots people from the air on its own, deciding on-board in real time instead of streaming to a server.

The simulated terrain the drone is flying over, beside a MOT tracking window holding a lock on a person, with the detection log streaming underneath
Real-timedetection on the edge

The problem

Search-and-rescue from a drone needs detection that runs on the aircraft in real time. Streaming video to a server and waiting is not an option when the compute and the link are both constrained.

What I built

I built the autonomy and vision stack: YOLOv8 detection exported to ONNX and run on edge GPUs, wired into a ROS 2 system for autonomous flight, with detections distributed across compute so the aircraft decides on-board.

The outcome

Real-time on-board detection and autonomous search behaviour, with the heavy compute handled at the edge instead of a round-trip to a base station.

Inside it

SkyResQ ground control station: a dark mission map with the search area plotted, a live camera feed inset, and the mission planner panel on the right
The mission planner an operator flies from: draw the search area, set altitude and speed, upload to the aircraft.
SkyResQ ground control station showing connection, GPS, orientation and telemetry panels beside the map
The ground control station I built for the operator: connection, GPS lock, orientation and live telemetry in one view.
Gazebo simulation of a street scene beside a YOLO window detecting two people at 81.8 FPS
Detection running against the simulated flight before it ever touches an aircraft. Two people held at 81.8 FPS.

Stack

  • ROS 2
  • YOLOv8
  • ONNX
  • PyTorch
  • Edge GPU

Working on something like this?

Tell me what you are trying to build. I will tell you honestly whether it is worth doing.

More work