A Machine-Learning Approach for Driver-Drowsiness Detection based on Eye-State

Download Full-Text PDF Cite this Publication

Text Only Version

A Machine-Learning Approach for Driver-Drowsiness Detection based on Eye-State

S. E. Viswapriya

Assistant Professor, CSE, SCSVMV University

Singamsetti Balabalaji Student, IV Year B.E – CSE, SCSVMV University.

Yedida Sireesha

Student, IV Year B.E – CSE, SCSVMV University.

Abstract:- Driver drowsiness has become one of the main reasons for large number of road accidents. The main aim of this project is to overcome the problem of road accidents which are related to drivers experiencing fatigue leads to a need arises to design a system that keeps the driver focused on the road. With the evolution and improvement in Computer Vision technologies, smart/intelligent cameras are developed to predict drowsiness in drivers, thereby alerting drivers which in turn reduce accidents when they are feeling drowsy. In this work, a new approach is taken using deep learning to detect driver drowsiness based on Eye state while driving the vehicle. To detect the face and extract the eye region from the face images, Histogram Equalisation and Canny-Edge Detection algorithms are used in this work. As an Additional feature, we included an app in our project to notify the driver active status with an alarm sound on the app. This application has been built using MIT app Inventor.

Key words: Drowsiness Detection, Machine Learning, Canny Edge Detection, Histogram Equalization, Eye Aspect Ratio, MIT App Inventor.


In a car safety technology, driver drowsiness detection is very essential to prevent road accidents. Now-a-days, many people using automobiles for daily commutation, higher living standards, comfortability, and timing constraints to reach destinations. According to the National Highway Traffic Safety Administration, every year about 1,00,000 police-reported crashes involves drowsy driving. These crashes result in more than 1,550 fatalities and 71,000 injuries. Sleep-deprived drivers remain responsible for about 40% of the road accidents, according to enforcement officers patrolling the highways and major roads here.

Exhausted drivers who doze off at the wheel are responsible for about 40% of road accidents, says a study by the Central Road Research Institute (CRRI).

There are different signs of driver drowsiness can be observed while driving the vehicle such as inability to keep eyes open, frequently yawning, moving the head forward etc.

To determine the level of driver drowsiness various measures are used. These measures are Physiological Measures, Behavioral Measures and Vehicle-based Measures.

In physiological measures, Electrocardiography (ECG), Electroencephalography (EEG), and Electrooculogram (EOG) are used to access the drivers conditions. Even though these devices provide accurate results, due to their practical limitations, these are not widely accepted. In vehicle based measures, drowsiness is analyzed based on steering wheel movements and braking patterns. Face detection Algorithms was used to identify face regions from the input images in Face Detection phase.


According to the author Esra, they have employed machine learning to data mine actual human behaviour during drowsiness episodes. Automatic classiers for 30 facial actions from the Facial Action Coding system were developed using machine learning on a separate database of spontaneous expressions. These facial actions include blinking and yawn motions, as well as a number of other facial movements. In addition, head motion was collected through automatic eye tracking and an accelerometer. The effect on drowsiness on the other facial expressions have not been studied thoroughly. This approach to drowsiness detection primarily makes pre-assumptions about the relevant behaviour, focusing on blink rate, eye closure and yawning.

According to authors Venkata Rami Reddy et al, they have used the Viola-zones face detection algorithm to detect face and extract the eye region from the extracted facial. To extract features from dynamically identified, key frames from the camera sequences, stacked deep Convolution neural network is developed and used for learning phase. A SoftMax layer in CNN classifier is used to classify the driver as sleep or non-sleep. Usually, CNNs requires fixed size images as input so pre- processing is required. The pre-processing includes extracting the key frames from video based on temporal changes and store in database.

According to Danisman et al., he developed a method to detect a drowsiness based on changes in eye blink rate. Viola Jones detection algorithm was used to detect face region from the images. To find the location of the pupils, neural network- based eye detector was used. The no of blinks per minute has been calculated if blinks increase indicated that driver becomes drowsy.


The drowsiness detection based on eye state has been done accurately based on the varying features and factors, and also with the help of experts knowledge. Predicting the facial landmarks and detecting the eye-state and displaying the driver status on the screen and in the App is the most necessity ingredient for drowsiness detection.

Generally, the driving person feels drowsy due to continues driving for long hours or Physical illness or might be drunken and this leads to major road accidents. Our aim is to detect the drowsiness, make them alert to prevent accidents and generate a notification in the app and an alarm sound.


The proposed system achieved more than 95% accurate result.

Convenient approach to detect the drowsiness.

Technically possible for practical implementation.

Whoever, Installed the App will get a notification about the drivers active status.


Detecting and Predicting the face can be done through several approaches. To detect the face is through image processing is one of the best approach.

The first step of image processing works with the capturing of image from the frames.

The second step deals with image pre-processing which is done when the captured image is blur or low in contrast and checks if there face in the frame. Image resize and image enhancement with help of Histogram Equalisation algorithm has been included here. Background noise can also be removed.

In the third step, With the help of Canny Edge detection algorithm and store the entire data in the data set like Haarcascades and Dlib, the extraction of facial landmarks like eyes, nose and mouth has been done.

In the next step, Eyes from the facial landmarks has been extracted. Once the Eyes are extracted, we use machine learning technique by passing minimum of 50 frames and the average minimum threshold value to check the coverage area of extracted eyes. we calculate the Eye Aspect Ratio(EAR) and classify the images in to sleepy or non-sleepy images by comparing EAR with the Threshold value.

If the EAR is less than T-Value then, it takes the image as sleepy or-else non-sleepy. If the number of sleepy images are more than non-sleepy images, then it will start generating the alarm sound and displays the alert message on the screen.

When the drowsiness is detected, it activates the android app which gets connected with detection algorithm and also the notification has been sent to drivers mobile and also to the person who installed the app.

The proposed method is built in four stages and it is applied to the colored images with any background:

  1. Localization of Face.

  2. Localization of the Eyes .

  3. Tracking the eye in the subsequent frames


Figure 1:

Here, the calculated EAR value is greater than T-value which means the eyes are open. So it comes under non sleepy images.

Figure 2:

Here, The EAR values is slightly greater than T-Value which means the eyes are slightly closed. So this comes under non- sleepy Image.

Figure 3:

Here, The EAR value is slightly less than T-value which means the person is drunken or feeling drowsy. So it starts generating alert sound and display the message on the screen. In the mobile app also, it will generate the status and also an alarm sound.

Figure 4:

Though the person is wearing glasses it predicts the accurate result which means (The EAR value is less than Threshold value which means the eyes are completely closed. So it starts generating the sound and also alert message on the screen).

Figure 5:

Here, The EAR value is less than Threshold value which means the eyes are completely closed. So it starts generating the sound and also alert message on the screen.


In this proposed work a new method is proposed for driver drowsiness detection based on eye state. This determines the state of the eye that is drowsy or non- drowsy and alert with an alarm when state of the eye is drowsy. Face and eye region are detected using Predict and Detection algorithm. Stacked deep convolution neural network is developed to extract features and used for learning phase. An EAR equation is used to classify the driver as sleep or non-sleep. Proposed system achieved (95%>) accuracy. Proposed system effectively identifies the state of driver and alert with an alarm and notification with alarm in the App, when the model predicts drowsy output state continuously. In future we will use transfer learning to improve the performance of the system. By doing this many accidents will be reduced and provide safe life to driver and vehicle safety. A system for car safety and driver safety is presented only in the luxurious cars. Using drowsiness detection system, driver safety can be implemented in normal cars also.


  1. Identification of Driver Drowsiness Using Image Processing(Volume 7, Issue 4, 2020 1264) K.Praveen Kumar, Srinivasa Rao Thamanam, M. Naresh Kumar Assistant Professors, Department of Electrical, Electronics and Communications Engineering, GITAM (Deemed to be University), Hyderabad, Telangana, India(2020)

  2. Deep CNN: A Machine Learning Approach for Driver Drowsiness Detection Based on Eye State(Vol. 33, No. 6, December, 2019, pp. 461-466).

    Venkata Rami Reddy et al

  3. Automatic detection of driver impairment based on pupillary light reflex.IEEE Transactions on Intelligent Transportation Systems, pp. 1-11. (Volume: 20 Issue: 8) Amodio, et al.

  4. Yang, J.H., Mao, Z.H., Tijerina, L., Pilutti, T., Coughlin, J.F., Feron, E. (2018). Detection of driver fatigue caused by sleep deprivation. IEEE Transactions on Systems, Man, and Cybernetics – Part A: Systems and Humans, 39(4): 694-705(Volume: 39 Issue: 4).

  5. Anirban Dasgupta, anjith George A Vision-Based System For Monitoring The Loss Of Attention in Automotive Drivers (IEEE Transaction), vol. 14,no.4 2013.

  6. Authors: Hu, S., Zheng, G. (2009). Driver drowsiness detection with eyelid related parameters by support vector machine. Expert Systems with Applications, 36(4): 7651-7658(Volume 36, Issue 4, May 2009, Pages 7651-7658).

Leave a Reply

Your email address will not be published. Required fields are marked *