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. I wanted a way to detect drowsiness in drivers and alert them of this danger.
What it does
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, I 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.
How I built it
I used the openCV libary for Python. I had to greyscale all the images first for better image recognition also.
Challenges I ran into
The openCv blink rate detection was really hard to setup as I had many problems with the openCv libary.
Accomplishments that I'm proud of
Getting the OpenCv to detect faster blinkrates properly. It really was a challenging library to use.
What I learned
How to use the openCV libary for Python.
What's next for Sentient
My next step for Sentient is to design an android/ios app to make it more convenient since many drivers mount their phones while driving. I also want to work on making the blinkrate classifier more accurate. Finally, I want to monetize the app by making a free and premium, subscription based version in the future.