Weapon Threat Monitor is a real-time weapon detection and alerting system with a desktop GUI, a live web viewer, and an alert dashboard. It uses PyQt6 for the desktop client, OpenCV and Ultralytics YOLO for inference, Flask for live streaming/mobile upload support, and a FastAPI dashboard for alert storage and notifications.
What this project includes
- Desktop monitoring UI for webcam, CCTV/RTSP, or mobile camera input
- Real-time object detection using a trained YOLO model
- Live web-based preview and remote access support
- Optional QR-code sharing for mobile viewing
- Alert snapshots saved locally or uploaded to cloud storage
- Email notifications for detected events
- Optional ngrok tunneling for public access
Requirements
- Python 3.10+
- Windows recommended for the desktop GUI workflow
- Internet access is helpful for installing dependencies and enabling ngrok/cloud features
Notes
- This overall model Accuracy is only 49%.
- knife detect rate is higher then other classes
- The detection model is expected at weights/best.pt.
- If the model file is missing, detection will not run until the correct weights are placed in the folder.
- The alert dashboard depends on the local Flask app and the desktop client being available for the full monitoring workflow.