Capstone project, team of five
ZaiGuard.
A surveillance system that understands what its cameras see, filters out what doesn't matter, and learns from every operator decision.
A camera that cries wolf is worse than no camera at all. Most alerts from a raw detector are repeats, known-harmless activity, or near-copies of something an operator already dismissed. ZaiGuard sits between the cameras and the operator and decides which events deserve a human.
False alarms cut
65–90%
in testing, at sub-second latency.
Detection precision
96.5%
YOLO on ONNX with ByteTrack.
Automated tests
101
44 edge, 51 alert engine, 6 federated learning.
Threat types
4
after-hours access and dog attack run at the edge today.
How it works
From camera to operator.
Detect at the edge
Each feed (RTSP, HTTP, USB or a file, with automatic fallback) is sampled only when something moves, run through YOLO26s or YOLO11s on ONNX Runtime, and tracked with ByteTrack so every person and dog keeps an ID.
Classify behaviour
Classifiers turn tracks into events: a person on a camera outside its allowed hours, or a dog whose acceleration surges, thrashes, or closes in on a person, scored from 0 to 100.
Filter centrally
Candidates pass a five-layer FastAPI engine: sensitivity gate, enrichment, Redis de-duplication, PostgreSQL rule and Qdrant semantic suppression, then priority tiering. A transactional outbox keeps PostgreSQL and Qdrant in step.
Review
Operators see alerts, live camera status, analytics and system health on a Next.js dashboard, and confirm or dismiss each alert.
Learn
Every dismissal becomes a suppression signal. Edge nodes also improve a shared threat model with Flower federated learning: only model weights travel, never video.
Tech stack
What it's built with.
Edge vision
- YOLO26s, YOLO11s
- Person and dog detection, fine-tuned
- ONNX Runtime
- Inference on CUDA with a CPU fallback
- ByteTrack
- Persistent IDs across frames
- OpenCV
- Capture, motion gating and the live preview overlay
Alert engine
- FastAPI
- The five-layer middleware and its API
- Redis
- TTL windows for burst de-duplication
- PostgreSQL (TimescaleDB)
- Alerts, suppression rules and the outbox
- Qdrant
- HNSW vector search for semantic suppression
Learning
- Flower
- Cross-device federated averaging across LAN SuperNodes
- PyTorch
- Local training on each node
Dashboard and tooling
- Next.js, ECharts
- The operator dashboard and its charts
- Docker Compose
- PostgreSQL, Redis and Qdrant for local runs
- uv, pytest
- Python environments and the 101-test suite
Screens
On screen.




My part
What I built.
- Built the five-layer FastAPI middleware (Redis TTL sliding windows, PostgreSQL B-trees, Qdrant HNSW vector suppression) that cut false-positive alarms by 65–90% in testing at sub-second latency.
- Used a transactional outbox worker to prevent PostgreSQL/Qdrant dual-write inconsistencies, and coordinated cross-device Flower federated learning across LAN SuperNodes.
- Built edge video ingestion with motion-gated frame sampling and an RTSP/HTTP/USB fallback chain, feeding an ONNX-accelerated YOLO detector (96.5% precision) with ByteTrack.
Next project
CivicSentinelHiring for backend, forward-deployed or GPU work? Let’s talk.
saxena.shikhar1808@gmail.com