GuardianNet AI
Real-Time Urban Hazard & Safety Vector Tracking
1. Core Problem & Scope
Video-based danger tracking routinely trips on false positives and struggles with processing multiple multi-stream video setups concurrently. Built during the EWU Hackathon, the scope was a real-time hazard-detection dashboard capable of tracking objects across overlapping camera frames and triggering a tiered alert response, rather than a single-frame detector with no memory of what it saw a moment ago.
2. Comparative System Research
- Frame-by-frame detection with no tracking — simplest to implement, but produces noisy, flickering alerts since it has no concept of object identity across frames, and false positives aren't distinguishable from persistent real hazards.
- Simple centroid-distance tracking — cheap to compute, but breaks down under occlusion and with overlapping camera fields of view, both of which are common in multi-stream urban monitoring setups.
- YOLOv8 + ByteTrack (chosen) — ByteTrack's association strategy specifically handles low-confidence detections (rather than discarding them), which improves trajectory persistence through partial occlusion — directly addressing the false-positive and multi-stream tracking problems in scope.
3. Architectural Pipeline Layouts
Multi-Stream Video Ingest → YOLOv8 Detection → ByteTrack Trajectory Persistence → Three-Tier Alert Framework → WebSocket Broadcast
Each camera stream is read on its own thread and passed through YOLOv8 for per-frame detection. ByteTrack associates detections across frames into persistent trajectories, including low-confidence detections that would otherwise be dropped, which is what keeps a track alive through brief occlusion instead of being registered as a new object. Trajectories exceeding hazard-relevant thresholds are escalated through a three-tier alert framework and broadcast to administrative command centers over low-latency WebSockets.
4. Trade-off Engineering Logs
Why ByteTrack over DeepSORT: DeepSORT's appearance-embedding re-identification step adds computational overhead that competes with running multiple concurrent camera streams in real time on hackathon-available hardware. ByteTrack's motion-based association achieves comparable persistence for this use case at meaningfully lower per-frame cost, which mattered directly for the multi-stream concurrency requirement in scope.
Three-tier alerting instead of binary alert/no-alert: A binary alert model either under-reacts to genuine emerging hazards or over-alerts on borderline detections. Tiering the response (log-only, dashboard flag, immediate dispatch) let the system surface uncertain detections without either suppressing them entirely or triggering a full dispatch response on unconfirmed signals.
5. Scaling & Production Failures
Running detection and tracking synchronously in a single thread per stream capped concurrent stream count well below the multi-stream target. Restructuring to a producer-consumer pattern — dedicated capture threads feeding a shared detection queue — let the GPU-bound detection step batch across streams instead of serializing per-stream, substantially raising the number of concurrent streams the system could sustain within the hackathon's demo constraints.