“Drowsy Driver Detection” Project

This paper proposes a video based method of driver drowsiness detection using a SVM classifier. The SVM classifier uses several physiological features extracted from the video input.

Abstract
This paper proposes a video based method of driver drowsiness detection using a SVM classifier. The SVM classifier uses several physiological features extracted from the video input. The features are extracted using rudimentary image processing techniques. The features consist of both instantaneous (for example, current eye opening) and statistical (for example, the variance of the eye locations in a time interval) data. An appropriate training of the classifier should result in an early warning system, which would detect drowsiness prior to the driver’s falling asleep.

 

Background
Driver Fatigue is a significant risk factor in both commercial and private transportation. Every year, hundreds of thousands of drivers, passengers and pedestrians are injured, maimed or killed in road accidents caused by driver drowsiness. It is estimated that 1,200 deaths and 76,000 injuries annually can be attributed to fatigue related truck crashes in the US alone!
Drowsy driver detection systems can help reduce accidents related to drowsy driving.

 

Our approach
Our project implements a video based method of driver drowsiness detection using an SVM classifier. The features needed for classification are extracted by the image processing block. The Basic building blocks of the system are:

– The images acquisition block – consists of a single IR sensitive video camera – The image processing block – a MATLAB software block.
– The SVM classifier – consists of the OSU SVM toolbox for MATLAB by Junshui Ma, and Yi Zhao.

And the basic block diagram is shown in the figure below:
1

 

Image acquisition:
In order to detect the eyes accurately and easily, we wanted to exploit the “red eye” effect (The strong directionality of optical reflection from the eye).
The hardware available to us was a single IR sensitive video camera equipped with a small IR source. When situating the camera in the optical reflection axes from the eyes, the eyes in the resulting image are accentuated.
2


Image processing:

Below is an diagram illustrating the image processing cycle:

3
eye detection algorithm (search mode):

The main structure of the eye detection algorithm can be summed up in this flow chart:
4

Eye tracking algorithm (track mode):

If the eyes are present in the input frame, due to the high sampling rate of the video camera (about 30 frames per second) they must be located not far from their location in the previous frame. Once the eyes are found, we can start tracking them using the same method for locating the eyes, but this time on a much smaller area.

The eye tracking algorithm’s flow chart:
5
Loop1 (“tracking loop”)- Is the event of successful tracking of the eyes and this, of course, is the desired state of the system.

An illustration of the tracking system:
6

Blink handling mechanism (blink mode):

The blink handling mechanism flow chart:
7

An illustration of a long blink, causing the system to lose track of the eyes:

8

Extracted features:

  • The duration of eye closure (measured in frames)
  • The average duration of the past N blinks (measured in frames)
  • The eye opening (measured in pixels)
  • The variance of the last N eye coordinates
  • The variance of the angle of the head in the last N detected eye locations
  • The average velocity (absolute values) of the drivers eyes in the last N frames

 

The SVM classifier:

The extracted featured were inputted into an SVM classifier.
multiple simulations were coducted in order to find the optimal kernel type and it’s parameters.
Optimal = that minimizes the cross-validation error.

The selected SVM is: RBF kernel (Gaussian) trained with hyper parameter c = 35, Gamma = 0.0128.

This SVM’s results:
Cross-validation error: 5.7%
Test error: 6.61%

 

Tools
Software:
Matlab 7.0.1 with OSU SVM toolbox for MATLAB by Junshui Ma, and Yi Zhao.
Adobe Premier
Hardware:
Standard IR sensitive photo camera included with an IR filter + IR source.

 

Conclusions
We showed a viable video based method of driver drowsiness detection using an SVM classifier. This system aims to monitor a driver’s state of drowsiness on-line, which requires low computational and time complexity. We tried to face this requirement by using uncomplicated image processing techniques, small amount of features and the willingness to compromise the systems performance for the sake of simplicity. Also, the hardware of this system is comprised of shelf products only, as apposed to some of the other video based approaches discussed in section 1.2. The classification errors of the system suggest further adjustments, but the answer to the question of feasibility of such a system is definitely positive.

 

Acknowledgment

We would like to thank the staff of the VISL for their help and support. Special thanks go to Dori Peleg, for his excellent supervision and ideas.

Also many thanks to the Ollendorff Minerva Center and the Ministry of Transport for their support.