Inspiration

According to the National Highway Traffic Safety Administration, drowsy driving is responsible for more fatalities than drunk driving and increases in likelihood for individuals under 25 years of age. Furthermore, according to the Neuropsychiatric Disease and Treatment Journal, up to 60% of college students suffer from poor sleep quality. As college students, we see this statistic in practice every day—from staying up too late to do homework to all-nighters prior to a large exam. A lack of quality sleep leads to misinterpretations and misjudgments, often presenting itself in one’s driving.

The relevance of this problem to our age group inspired us to brainstorm ways to prevent drowsy driving and provide others with resources to fix their predicament.

To this end, we designed a solution that acts both as a preventative measure and a warning in time of crisis. We built a machine learning model and a corresponding app mockup that identified signs of tiredness using sequence classification and recommended resources like nearby coffee shops and motels using geographic information.

What it does and How we built it

This project consists of two parts: (1) The GRU-based ML model (2) App Concept

(1) The GRU-based ML model implements sequence classification on 30minute slices of heart rate data (in BPM) to classify an individual as either awake, asleep, or tired. This model serves as a proof-of-concept that we can indeed identify signs of tiredness. Additionally, this model is the engine for the entire app as we envision performing a sliding window analysis on consecutive 30-minute slices to continuously monitor for signs of tiredness.

(2) The app mockup relies on two key aspects: a. iPhone application b. Wearable Heart Rate Monitor (Apple Watch, Fitbit, etc.). We envision the heart rate monitor to serve as the data collection source to actively monitor the user's heart rate in pre-defined intervals (usually every few minutes). We then concatenate this data and process it into 30-minute slices as input for our GRU-based ML model. The iPhone application will take both the heart rate data and the results of this ML model to serve as both a sleep dashboard as well as a tiredness notification system. If the app detects that the user is tired, it will recommend the user to rest or recharge by identifying nearby coffee shops and motels using the Google Cloud API.

Challenges we ran into

(1) Building a machine learning model requires robust heart rate training data, which is accurately labeled as awake, asleep, or tired. Finding this data for our hackathon was a challenge. However, we were able to adapt an existing FitBit dataset (https://datasets.simula.no/pmdata/) and overlay the heart rate as well as the sleep dataframes to create our dataset.

(2) Tuning and optimization of the GRU-based machine learning model

What we learned

(1) Throughout this project, we learned how to work in a team and to balance the different opinions of individuals who mean well about the overall goal of the project.

(2) We also learned about the practical aspects of technical prototyping and implementation of Gated Recurrent Unit (GRU) architectures for machine learning.

What's next for Drive.Safer

(1) Incorporate activity levels throughout the day (i.e., steps taken, activity type like running, biking, and walking) to accurately reflect tiredness fluctuations throughout the day.

(2) Expand the dataset to include more individuals

(3) Expand time interval to record tiredness when an individual wakes up to optimize for the ideal wake up time

Built With

Share this project:

Updates