Monday, 12 September 2016

Computer Vision System for Drowsiness Detection Using Web camera

This post briefly explains about my project "Computer vision system for Drowsiness Detection using Web cameras". The aim of the project was to develop a computer vision system for drowsiness detection. The developed system uses a ordinary web camera and computer vision algorithms to detect whether the subject is drowsy or active. The main advantage of the system is that it is non-intrusive and hence it can be implemented in real world conditions.

The project was completed in 3 stages :
Stage 1 : Identifying an eye blink detection method with high rate of accuracy
Stage 2 : Developing a eye tracking and blink detection system
Stage 3 : Using the eye tracking and blink detection system for drowsiness detection

Stage 1
In this stage an analysis of five non-intrusive methods for eye blink detection from low resolution eye images using different features like mean intensity, Fisher faces and Histogram of Oriented Gradients (HOG) and classifiers like Support Vector Machines (SVM) and Artificial neural network (ANN) was conducted. A comparative study was performed by varying the number of training images and in uncontrolled lighting conditions with low resolution eye images. The results showed that HOG features combined with SVM classifier outperforms all other methods with an accuracy of 85.62% even when tested on images taken from a totally unknown dataset.
Paper based on stage 1 :  (to be updated soon)

Stage 2
In this stage a novel method for eye tracking and blink detection in the video frames obtained from low resolution consumer grade web cameras was developed. It uses a method involving Haar based cascade classifier for eye tracking and a combination of HOG features with SVM classifier for eye blink detection. The eye tracking method had an accuracy of 92.3% and the blink detection method had an accuracy of 92.5% when tested using standard databases and a combined accuracy of 86% when tested under real world conditions of a normal room.
Paper based on stage 2: here

                                            Demo of Eye Tracking and Blink Detection method

Stage 3
In this stage an accurate method for drowsiness detection from the images obtained using low resolution consumer grade web cameras under normal lighting conditions was developed. The drowsiness detection method uses Haar based cascade classifier for eye tracking and combination of Histogram of oriented gradient (HOG) features combined with Support Vector Machine (SVM) classifier for blink detection developed in the second stage. Once the eye blinks are detected then the PERCLOS is calculated from it. The PERCLOS is a parametric measurement of how long the eyes of the subject has been closed in one minute. If the PERCLOS value is greater than 6 seconds then the person is said to be drowsy. The method was validated by comparing the prediction of the system with that of a human rater. The system matched with the human observer with 91.6 % accuracy.
Paper based on stage 3: here

The project was completed under the guidance of Dr. Deepa Sankar, Associate professor, Division of Electronics Engineering, Cochin University of Science and Technology.

1 comment:

  1. I am trying to develop an application using opencv and python to detect eye blinking as well, the objective is as follows: if the user(person) doesn't blink for certain amount of time, the system will alert him.. If you can help us, credits will be given, thanks in advance
    please contact me at