Share via


Consilio - Hack that alerts Drowsy Drivers

Inspiration

Sleep deprived driving (commonly known as Drowsy Driving) is a form of impaired driving that negatively affects a driver’s ability to drive safely. Most people associate drowsy driving with alcohol or drugs, but in this situation, lack of sleep is the primary cause. Drowsy driving affects driver’s alertness, judgment , reaction time and decision-making leading to a greater chance of crashing. According to National Motor Vehicle Crash Causation Study (NMVCCS), drowsy drivers involved in a crash are twice as likely to make performance errors as compared to drivers who are not fatigued. In many cases, a drowsy driver may fall asleep at the wheel which may result in fatal accidents.

 

Consilio - The Hack that saves life.

One of the many Garage teams at Microsoft, we (call ourselves Consilio) have come up with an innovative system to prevent people from falling asleep by alerting the driver. We used Machine Learning, Microsoft Band (SDK), Windows Phone (SDK), Visual Studio, Wavelet Studio (for Digital Signal Processing & R Studio and built a system that alerts drowsy drivers.  Our system is able to detect drowsiness with greater accuracy compared to other similar systems available in the market today. We have a working prototype and our concept is currently Patent Pending (Patent Filed: System to Predict Transition From Wakefulness to N1 Sleep).

Medical research indicates that heart rate and an individual’s perception of drowsiness are connected - however, this relation is not straight forward and can vary from person to person. We solve this by using heart rate signals from the Microsoft Band, extracting features from the signal using Fourier and wavelet transforms and predicting drowsiness using a neural network (for over ten features).

This project is a confluence of Artificial Neural Networks and Microsoft Band. It uses user agnostic signal features from the heart rate data (Band) to classify in real time from a phone to detect whether a user is drowsy or not. We have built the whole classification to process on the phone, there is no data connectivity (mobile data) required for the classification and thereby makes the process more reliable. We have achieved >85% recall and are able to detect drowsiness with greater accuracy.  We did a lot of research to understand the connection between heart rate and sleep. That coupled with our research in areas of Digital Signal Processing and our expertise in Machine Learning helped make this project a reality.

 

Demo

The following link demonstrates how it works.

Consilio - How it works

 

For the geeks in us:

We took over 10 Signal features (FFT cut-offs, Signal Entropy, Low Frequency to High Frequency Ratio) and used a Neural Network to put a separating hyperplane between awake state (W) and first stage of sleep (N1).

We trained and tested on a data from the Microsoft Band team. It was a clinical study done on over 40 subjects. The industry standard PPG HRV paper (link ) claims they get 95% Precision and Recall.

We implemented it and the AUC of the ROC Curve was only around 0.66 while Neural Networks have a AUC of 0.789

WorkFlow

 

The main reason is that if you take the top two dominant features and make a Scatter Plot with the classes. You will notice it requires a circular separation plane.

Linear methods are out of question and SVM with Gaussian Kernel can only fetch so much as a circular boundary. Neural networks work well in such cases. Hence the improvements in results.

 

Graph

 

Current and Future plans

We presented our concept at the Microsoft Annual Garage event and got a tremendous response globally. We are currently working with Microsoft Band team to make this a concept a reality for Microsoft Band and Band 2. In future we are planning to make this available to all fitness bands.

 

Special Thanks to Microsoft Garage community for providing us platform to present our concept

 

Ask us for anything !!

 

Consilio Team !!

  • Aadharsh Kannan
  • Avinash Gujjar
  • Govind Ramaswamy
  • Srinivas Bhaskar