With the summer beginning and the temperatures rising, more snakes have been spotted than ever before. Snakes are responsible for the deaths of over 100,000 people in America each year and cause almost 300,000 people every year to require amputations. Thus, this was a project I always wanted to do as I truly believe it can help people stay as safe as possible from snakes.
What it does
SnakeAlert first uses Deep Learning, specifically Computer Vision, to analyze the features in a user's uploaded image, determine how to interpret these features, and predict what snake is in front of the user. After making the prediction, SnakeAlert also provides users with information about the certain snake and assists them in taking the best action to combat the snake. The app additionally takes the current coordinates of the user and cross references these coordinates with all other users in the system. Any user that falls within 4 miles of the user that uploaded the snake image gets alerted via email so that they can act accordingly and stay safe. Lastly, SnakeAlert allows users to view recent snake sightings on the postings page so that they can be aware of all snake sightings at all times.
How we built it
I used Flask to build my API Routings. I used Bootstrap, CSS, and HTML for the frontend. I used SQLLite for my database/backend. I used Tensorflow to build my Deep Learning model. I used SMTP to create automated emails to users. I also used GeoPy and the MapQuest API to calculate the distance between a user's current location and all other users.
Challenges we ran into
This was my first time using a SQLLite Database This was my first time using SMTP for automated emails in Python My model initially reaching a local optimum around 60% when I was using Transfer Learning (VGG-16 architecture). By going to a much simpler architecture, I was able to get the model accuracy to about 80% and am confident I could improve it further with more time to optimize hyperparameters. This was my first time using MapQuest API and GeoPy I also had a tough time finding a quality dataset to work off of and had to experiment with a lot of datasets
What's next for SnakeAlert
Deploying it so that people in my community can use it and stay safe from snakes.