How can we use technology to save lives? The main motivator was to prevent tragic events like mass shootings at hospitals, malls, and schools, while at the same time preserving people's rights to own weapons and protect themselves.

What it does

Violence detection of any form from a live camera stream, notifying owner/manager via email with a website link displaying the violent scenes detected by the model from the live feed, and giving him/her the option to either stop the alarm or notify the authorities.

How I built it

Using Python, Html, and AWS Rekognition, Lambda, and Simple Email Service

Challenges I ran into

Dealing with Live Stream from webcam and integrating it with AWS Rekognition Unsafe Content functionality, which only works on static images or stored videos.

Accomplishments that I'm proud of

Solving a complex task with a relatively simple solution in a short amount of time and achieving very promising results.

What I learned

Dealing with various AWS Services and integrating them to provide a complete solution. Planning to finish project much earlier, and correctly estimating time needed to accomplish a task.Dividing tasks among team members and moving project progress in parallel. Deciding on what is significant and needs to be addressed right now, and what can be addressed later or is out of scope.

What's next for Safe Haven

Replacing AWS Rekognition with a custom built model that can trained on filtered images that don't suffer from any labelling bias. There are ML input filtering methods that are robust to bias. The model can be built and trained on AWS Sagemaker, which can be integrated with live stream video from camera, unlike Rekognition Unsafe Content Detection, which had to take in live stream frame by frame. We can also train the model such that it is robust to outliers (or weird situations) like when kids are playfully fighting with/without toy guns (shouldn't be detected), police officers catching criminals,etc... We can also create a 'Violence Score' that can account for how much violence the model is actually seeing, such that if multiple live streams are being monitored, the one with the highest score would be prioritized and carefully checked in time.

Share this project: