Inspiration

Thousands of teen drivers die from drunk driving - that's almost 8 teens a die from something that could have easily been prevented. As safe as current-generation cars ours, the best solution to any problem is to solve it at its source. We wanted to make an impact in our communities and really allow us to make differences in the lives of people who very well could be our friends! Driven by this need to make a difference and to use technology for the social good, we created Sobrive - a preemptive protection app that combines the latest advancements in technology along with human research!

What it does

Sobrive is intended to be connected with the Toyota Connected App so that when you start your car, you are asked by the app at random intervals to take a sobriety test. The app asks you to take a picture of yourself and analyzes whether you are drunk or sober.

If you are drunk, the app takes a secondary verification by asking you to play a human response game. If you fail, the app reaches out to your close friends/family that you put into the app and messages them that you are in danger/need help.

How we built it

We built the front end with HTML, CSS, and JavaScript while the back end was constructed with Node.js and Python. Python and libraries such as Dlib, OpenCV, and Scikit-Learn were used to train the machine learning model to identify sober v. drunken people. Node.js was used to glue it all together and connect the back and front together.

Challenges we ran into

One of the biggest challenges we ran into was the construction of the model that identifies which faces are sober and which are drunk - we had to take landmark detection and facial landmark analysis and closely analyze the vector of those landmarks against the label of sober and drunk. In addition, we were dealing with a highly imbalanced and rare dataset which meant that the accuracy of our model could not be developed to the extent we wanted to.

In addition, connecting the three phases of the project: the model, the backend, and the front. All three phases of the project utilized different frameworks such as Python, Node.js, and HTML/CSS. This made it really difficult to connect the phases as cleanly as we imagined.

Accomplishments that we're proud of

We are very proud of building the entire machine learning pipeline which took advantage of clever machine learning preprocessing to be able to build a respectable model from a skewed, imbalanced, and rare dataset. In addition, we are very proud of building our own API that allowed us to use our ML Model running on python to have it's own accessible website using Streamlit.

Built With

Share this project:

Updates