The inspiration for our project mainly stems from past as well as recent events involving sexual harassment, robbery, violence and several other forms of misconduct. The rate at which these misconducts happen is enormously high all over the world, and as students we receive 2-3 emails per day on an average, alerting us about robbery crimes. This brought us to thinking about a plausible solution to detect such crimes in real-time and help the victims before damage is done, while alerting others in the nearby area.
What it does
The objective of our project is to stream the videos recorded by surveillance cameras in real-time as dataset, feed it into our system, apply a Deep Learning model to detect suspicious activity or possible misconduct, and send alerts to nearby safety departments.
How we built it
1.The Deep Learning model, we thought best suited the detection of suspicious behavior, was based on Convolutional Neural Networks since CNN makes an explicit assumption that the input is image. And breaking down video into image frames can be implemented.
2.The first neural network we used was convolutional, to extract high level features and reduce input complexity. For this, we used a pretrained model, called Inception by Google. Since Inception is trained on ImageNet that categorizes images into basic classes, we further used this model to apply the technique of Transfer Learning. This technique will perform classification of the videos into one of three categories, namely – Criminal activity, Potentially suspicious, Safe.
Challenges we ran into
Biggest hurdle we faced was while using Inception for implementing our first network. There are two ways we figured out, one was to construct the model using Tensorflow but we noticed the documentation was not proper. Second was to use an existing API, but it didn't solve our purpose to get features of the input.
Accomplishments that we're proud of
This was our first time dabbling with Deep Learning models, and we were able to get acquainted with which models are best suited to solve our problem as there's plenty of algorithms for video/image classification but choosing the best suited model for our specific problem is a crucial step.
What we learned
We learnt tons about Deep Learning models, such as CNN, RNN(LSTM), Transfer Learning, Python libraries - Tensorflow.
What's next for Eagle-eye
This was an ambitious project to implement for a 36-hours Hackathon. We were able to understand the methodology to solve the problem, but were short on time to provide a fully-functional solution. The next step for Eagle-eye is to implement a system for the same, that can detect safety threats in videos in real-time and solve our objective.