- 🥇Gold Medal - SRM AP Research Conference 2020
With the growing rate of theft and robberies, surveillance cameras have become a piece of common household equipment for many. Although cameras only record the footage and make it possible to review the footage after a sense of malicious activity being spotted by someone. There have been ways to automate this process by installing a motion detection system and other IoT based sensors. However, there has been no reliable and affordable solutions to alert the property owner during the mishappening.
We came up with this compact and complete solution to this problem all packed in single Raspberry Pi. We used pre-trained weights of Single Shot Multibox Detector with MobileNet to detect only human presence. We used advanced Image Enhancement technology to make the best use of model even under very low light conditions. The moment the model detects a human we built a trigger system that sends the user a Telegram Message with a captured image and sets up a Flask Server with Live video feed and Data Analytics.
The Model used is pre-trained weights of Single Shot Multibox Detector with MobileNet dataset. It can be used to detect various objects but we limited it to humans. However, the algorithm cannot detect objects under low light conditions because there is not enough exposure to identify the shape of the contents. We used methods like automatic gamma adjustments and light intensity correction to tackle this problem and results turned out to be amazing. Here is an example of the model detecting a person under very low light.
We used Raspberry Pi as our main platform for this project due to the following reasons.
- Very Compact
- Low Cost
- Efficient
- Can connect to devices wirelessly
- Very Accurate
We implemented the alert system using Telegram API to send data to user's telegram number directly. We are also implementing a phone call system using Twilio API to send an intimation to the police and neighbors during mishappening.
A Flask server has been set up with shows live feed and Recent Captures. For now, that's all it does.
- Raspberry Pi
- Webcam/Any Camera
- Keyboard
- Mouse
- Monitor
First let's install some libraies
$ pip install opencv-python numpy telepot
and just run main.py
- A cleaner script
- Automatic trigger system using ARN
- Better Implementation of Telegram Bot
- Implementation of Twilio API for phone calls
- More features on web portal.
- Cloud based implementation of model to reduce load on Pi
I am trying to create a mesh network of cameras with a single super node which is Raspberry Pi and run the same model across diferent cameras. You can help too! Fork this repository, create a new branch and get started! I will feature you on this repository.