Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jacobpclouse/hackrpi24-adaptive-threat-security-system
Online Security System
https://github.com/jacobpclouse/hackrpi24-adaptive-threat-security-system
Last synced: 4 days ago
JSON representation
Online Security System
- Host: GitHub
- URL: https://github.com/jacobpclouse/hackrpi24-adaptive-threat-security-system
- Owner: jacobpclouse
- License: mit
- Created: 2024-11-09T16:12:19.000Z (7 days ago)
- Default Branch: main
- Last Pushed: 2024-11-09T16:35:49.000Z (7 days ago)
- Last Synced: 2024-11-09T17:26:43.829Z (7 days ago)
- Language: Python
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Crime Catcher
> Safety Through Vigilance!
#### REPO: HackRPI24-Adaptive-Threat-Security-System - Submitted via Devpost to HackRPI 2024 Urban Upgrades
[![GitHub contributors](https://img.shields.io/github/contributors/jacobpclouse/HackRPI24-Adaptive-Threat-Security-System.svg)]("https://github.com/jacobpclouse/HackRPI24-Adaptive-Threat-Security-System/graphs/contributors")
## What it does
Crime Catcher is a solution to keeping our urban spaces safe and secure.It is an online surveillance system where a central server receives camera feeds from remote clients and uses AI to determine if weapons or dangerous objects are in frame. The model is GPU-accelerated for efficient processing.
If a dangerous object is detected, the backend automatically sends an email alert to a trusted contact, ensuring every second counts.
Additionally, we save and catalog videos and metadata using an SQLite database. This data can be browsed for review and analysis after the fact.
### Other Features:
- Clients will automatically try to reconnect if they get disconnected from the server (they will disconnect after 5 attempts).
- We integrate time stamps into the video streams such as frame rate, source IP, source building, etc.
- Users can specify an email address in the server to receive alerts about dangerous objects and weapons.
- We used ttk bootstrap to create beautiful interfaces on both the client and server in part 1.
- For Part 2 (the vue.js/quasar and flask dashboard) we have a login system that enforces users to login before they can access the video metadata, ensuring the system is attributable
- We have motion detection in our server stream so only eventful data is saved to disk, conserving bandwidth## Challenges we ran into
- Working with Tkinter's documentation and using the CUDA framework in our server for GPU acceleration## Accomplishments that we're proud of
- Motion detection: Creating logic that pauses recording on the server if there is no motion going on in the camera frame.
- AI weapon detection: Utilizing machine learning to detect and locate weapons.
- Video feed centralization: Gathering multiple camera feeds to effectively track and stop bad actors.## What we learned
Tkinter documentation is difficult to understand, and we learned how to integrate an AI model into our Tkinter server and how to best select a pre trained model to suite our needs. We also learned more about YOLO and model training.## What's next for Crime Catcher
After our MVP, we want to iterate and add new features like remote client activation in the next sprint.## Sources:
- Text on Video with OpenCV: https://www.geeksforgeeks.org/python-opencv-write-text-on-video/
- Ascii art generated using: http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
- Guns detection model from: https://www.kaggle.com/code/ahmedgaitani/guns-object-detection-code