Projects / Vision Drone

Giving the Drone Eyes

A DJI Osmo Action 4 livestreams over WiFi into OpenCV and a YOLO detector, then into the pilot as a look tool and a person guard.

Status: in progress OpenCV · YOLO · RTMP · MediaMTX 14 Oct 2026

Where this build is

The pipeline works end to end on the bench. The Action 4 pushes RTMP to a MediaMTX server on the Mac over a phone hotspot, OpenCV reads it back as RTSP with buffering off, and YOLO11n runs on every frame at about twelve milliseconds on the Mac’s GPU. Measured latency on the Mac side is under a second, plus roughly half a second for the camera’s own encoder.

The pilot uses it two ways. “What do you see” sends the current frame to Claude with the question and Hawk answers in a sentence or two. With the guard flag on, two consecutive person detections put an airborne aircraft into Hold with no model in the loop.

What is not done

The camera is not on the aircraft yet. A printed GoPro-buckle bracket for the X500’s bottom plate exists and fits the camera’s own quick-release adapter, but it goes on only once the aircraft is cleared to fly again, with a new centre-of-gravity check and level calibration after.

Vision-driven motion, “land on the orange mat”, is deliberately off. The round trip is too slow to steer with, and the validator does not accept a manoeuvre that a human did not speak.

Build it yourself

What I'm building next