Autonomous person-tracking surveillance on constrained hardware: an ESP32-CAM streams into a YOLOv8 detection pipeline driving pan-tilt servos over MQTT, with anomaly scoring and patrol heat-maps surfaced through a FastAPI and React console.
Autonomous person-tracking surveillance on constrained hardware, with real-time detection and an anomaly-scoring dashboard.
A closed perception-to-motion loop
The ESP32-CAM streams into a YOLOv8 detection pipeline whose output drives pan-tilt servos. Detection is not the end of the system, it is the input to a control loop — the camera physically follows what it finds, which is what makes the tracking autonomous rather than an overlay on a recording.
MQTT because the link is not reliable
Commands and telemetry move over MQTT, a publish-subscribe transport built for constrained devices and intermittent networks. On this hardware that matters more than throughput: the loop has to degrade rather than stall when the link does.
Anomaly scoring on top of detection
Raw detections say a person is present. Anomaly scoring is the layer that decides whether that is worth attention, which is what turns a stream of positives into something an operator can act on.
Patrol heat-maps as the operator view
A FastAPI and React console renders where the camera has actually been looking as a heat-map, so coverage gaps become visible instead of implicit.
Autonomous tracking
Servos following detections without an operator.
On-device pipeline
Running against ESP32-CAM constraints, not a workstation.
Anomaly scoring
Separating what is present from what is worth attention.
Patrol heat-maps
Coverage made visible in the console.
Hardware: ESP32-CAM
Detection: YOLOv8
Transport: MQTT
Divyakush Punjabi