SusRacker is a modular real-time system that analyzes live camera feeds to detect suspicious activities (such as fights and robbery) and wanted criminals, then immediately notifies authorized personnel through a secure admin dashboard.
- Problem Statement
- Solution Overview
- Methodology Diagram
- Tech Stack
- Installation & Setup
- Usage Guide
- Contributors
- Conclusion
Crime in public places (malls, streets, parks) has risen significantly — studies report roughly a 20% increase in thefts and violent incidents over the past five years. Existing CCTV systems mostly record events and depend on human monitoring, which is slow and error-prone; one study found 65% of shoplifting incidents were identified only after perpetrators left. SusRacker aims to close this detection gap by providing automated, real-time alerts to improve response and prevention.
SusRacker is a real-time system that monitors live camera feeds to detect criminal activities and wanted criminals. It is scalable and modular, reduces false positives via edge-level aggregation, and uses a central server to manage many camera streams. The system consists of three major modules explained briefly below.
Core purpose: act as the edge inference unit — connect to a camera feed, run YOLOv11-based detection (faces & violence), apply short-term temporal aggregation to reduce false positives, and forward confirmed events (face crops / violence events) to the central server.
Core purpose: receive detection events from CLPMs, perform face-matching against the criminal database, persist alerts to the database, and broadcast real-time notifications to admin clients (via Socket.IO / WebSocket).
Core purpose: provide authenticated admin access to view realtime alerts, basic system statistics, and manage the criminal database (CRUD operations). The dashboard consumes alerts pushed by the central server and presents them to operators.
Next.js(Web UI)Flask+Flask-SocketIO(Central Server)Python(CLPM + inference)YOLOv11(Detection)MongoDB+Mongoose/ODMTailwind CSS(Styling)Socket.IO(Real-time messaging)
Repository structure (mono-repo):
/clpm— Camera Level Processing (Python + YOLOv11)/server— Central Server (Flask + Flask-SocketIO)/webapp— Admin Dashboard (Next.js)
Clone the repository
git clone https://github.com/YOUR_USERNAME/susracker.git-
Deploy central server and MongoDB first (see /server/README.md).
-
Start the web application (/webapp) and create or seed an admin account.
-
Configure and run CLPM instances (one per camera) to point at the server’s detection endpoint or WebSocket namespace.
-
Authorized admins will receive real-time alerts in the dashboard on match or confirmed violent events and can manage the criminal records.
SusRacker delivers a scalable, privacy-focused real-time surveillance solution by combining camera-level inference with centralized alert management. It ensures rapid response, high detection accuracy, and minimal false positives, making it a reliable tool for modern security needs.
Achievements:
- Detection Accuracy: ≥ 90% for thefts and fights.
- Alert Time: ≤ 5 seconds after confirmed detection (many alerts delivered within 500 ms from server broadcast).
- False Positive Rate: ≤ 5%.
