← All work

ARGUS: autonomous camera tracking

2026Self-directed toolPython · YOLO · OpenCV · Flask

ARGUS is a control server that makes a camera follow a subject without an operator. A YOLO detector finds the person in the frame, the server measures how far off centre they are, and it sends a pan/tilt command to a Panasonic AW PTZ camera. The camera re-centres, and the loop runs again.

The commands go out over the network through Bitfocus Companion, the control surface broadcast crews already run, so the server drops into an existing rig rather than replacing it.

How the loop closes

  1. YOLO detects the person class on each frame of the camera feed.
  2. The detection's centre is compared to frame centre; the difference is a pan and tilt offset.
  3. The offset is mapped to a Panasonic AW-CGI command: #PTS with a pan and a tilt speed, where 50 is stop, below 50 is one direction and above 50 is the other.
  4. Companion sends the command to the camera, the camera moves, and the next frame starts the loop over.