It’s important to keep a clear head while driving, but sometimes, it’s hard not to drowse off while you’re behind the wheel. Driving while drowsy accounts for around 20% of fatal crashes in the US, making it one of the scariest safety concerns for drivers. We wanted a way to detect drowsiness in drivers and alert them of this danger.

Sentient uses computer vision to determine if a driver is dozing off and plays an alarm until the driver’s drowsiness level goes down. It also analyzes statistics and informs users about their driving habits.

Studies have shown that higher blink rates are associated with sleepiness. So, we decided to track blink rate in order to determine a driver’s risk of falling asleep. Sentient uses computer vision to detect blinks and records the time in between them.

Sentient then analyzes this data to see if a driver is tired. To do this, we process the data with a technique known as Kalman Smoothing to remove any outliers. This way, blinking quickly just once doesn’t trigger the alarm, but consistently blinking faster than usual does. Also - different people naturally have different blink rates, so we gather data for different users and calculate the standard deviation of their natural blink rate. If their blink rate goes above one standard deviation from their average rate, the alarm goes off.

Finally, Sentient stores data for all users with MongoDB Atlas and visualizes it with MongoDB Charts. This allows users to easily see important feedback about their driving habits, such as what time of the day they are most likely to doze off and how often it happens.

Share this project: