Project Overview
Cameras know what they see. BLE beacons know who is nearby. SPECTRE combines both to know who is where — even when walls, furniture, or crowds get in the way.
The vision side runs four Axis RTSP cameras through YOLOv8 for person detection, ByteTrack for cross-frame identity, and MediaPipe Pose for skeletal keypoints. Homography matrices transform pixel detections into floor-plane coordinates. The BLE side uses three ESP32-WROOM-32 anchors broadcasting RSSI through Mosquitto MQTT, with FilterPy Kalman filters smoothing the noisy signal before trilateration produces a position estimate.
The hard part was occlusion. When a person walks behind an obstacle and re-enters frame, pure vision trackers give them a new identity. SPECTRE uses BLE proximity as a persistent identity anchor across gaps in visual coverage, keeping named assignments correct even through extended out-of-view periods.