An Efficient Approach for Detecting Driver Drowsiness Based on Deep Learning

An Efficient Approach for Detecting Driver Drowsiness Based on Deep Learning

Anh-Cang Phan
Vinh Long University Of Technology Education

Email: cangpa@vlute.edu.vn

Ngoc-Hoang-Quyen Nguyen
Vinh Long University Of Technology Education

Email: quyennnh@vlute.edu.vn

Thanh-Ngoan Trieu
Can Tho University and University of Western Brittany, France

Email: ngoan.trieuthanh@etudiant.univ-brest.fr

Thuong-Cang Phan
Can Tho University

Email: ptcang@cit.ctu.edu.vn

IF:2.679), Scopus(Q2) Cite Score 3.0

Abstract

Drowsy driving is one of the common causes of road accidents resulting in injuries, even death, and significant economic losses to drivers, road users, families, and society. There have been many studies carried out in an attempt to detect drowsiness for alert systems. However, a majority of the studies focused on determining eyelid and mouth movements, which have revealed many limitations for drowsiness detection. Besides, physiological measures-based studies may not be feasible in practice because the measuring devices are often not available on vehicles and often uncomfortable for drivers. In this research, we therefore propose two efficient methods with three scenarios for doze alert systems. The former applies facial landmarks to detect blinks and yawns based on appropriate thresholds for each driver. The latter uses deep learning techniques with two adaptive deep neural networks based on MobileNet-V2 and ResNet-50V2. The second method analyzes the videos and detects driver’s activities in every frame to learn all features automatically. We leverage the advantage of the transfer learning technique to train the proposed networks on our training dataset. This solves the problem of limited training datasets, provides fast training time, and keeps the advantage of the deep neural networks. Experiments were conducted to test the effectiveness of our methods compared with other methods. Empirical results demonstrate that the proposed method using deep learning techniques can achieve a high accuracy of 97%. This study provides meaningful solutions in practice to prevent unfortunate automobile accidents caused by drowsiness.

Introduction

The American National Highway Traffic Safety Administration estimates that 100,000 accidents occur annually due to drowsy driving, resulting in over 1,550 deaths, 71,000 injuries, and $12.5 billion in property damage. Studies show that 10-15% of car accidents are linked to lack of sleep, with over 10% of drivers experiencing drowsiness while driving at least once a month.Many systems have been developed to detect drowsy driving. Rateb et al. proposed a real-time driver drowsiness detection system using deep neural networks, with over 80% accuracy, though limited by only detecting eye landmarks. Akalya et al. developed a method using Raspberry Pi and a Haar cascade classifier to detect eye blinks. Mohana and Sheela presented a method detecting eye closure and yawning but faced limitations with fixed thresholds. Other studies used convolutional neural networks (CNNs) and machine learning techniques, reaching accuracies as high as 97.1%.Despite these advances, most systems focus on eye and mouth detection, overlooking other physiological factors. The paper proposes two new approaches: (1) using facial landmarks to adaptively determine blink and yawn thresholds; and (2) using deep learning with transfer learning on MobileNet-V2 and ResNet-50V2. These methods achieve 97% accuracy and improve the feasibility of detecting drowsiness in real-world systems.

Figure 1. General model of the drowsy detection system.

Proposed Method

Method 1: Drowsiness Detection and Prediction Based on Facial Landmarks.
Figure 2. Model of the proposed method 1 for detecting drowsiness using facial landmarks.

1.Step 1: Pre-Processing In this step, we extract video frames from input videos. The rate of selecting images from videos is 25 frames per second. These images are flipped to accurately identify the facial landmarks

Phase 2: TestingThe training dataset is passed through deep neural networks (DNNs). We develop two adaptive networks for drowsiness detection inspired by ResNet-50V2 and MobileNet-v2, with improvements to some layers to adapt to drowsiness detection. We use transfer learning with pre-trained weights from Bing Search API, Kaggle, and RMFD, and re-train on our dataset to fine-tune the parameters, resulting in faster learning and shorter training time. Training stops when the Loss_value is not reduced.

Step 2: Feature Extraction and Training
The training dataset is passed through deep neural networks (DNNs). We develop two adaptive networks for drowsiness detection inspired by ResNet-50V2 and MobileNet-v2, with improvements to some layers to adapt to drowsiness detection. We use transfer learning with pre-trained weights from Bing Search API, Kaggle, and RMFD, and re-train on our dataset to fine-tune the parameters, resulting in faster learning and shorter training time. Training stops when the Loss_value is not reduced.

Method 2: Drowsiness Detection and Prediction Using Deep Learning
Figure 3. Model of the proposed method 2 for detecting drowsiness using deep learning.

Phase 1: Training

Step 1: Pre-Processing
We pre-process a set of drowsy and non-drowsy images extracted from videos at a rate of 25 frames per second. Faces are detected using the SSD network with ResNet-10, and the facial images are normalized to 224 × 224 for the training dataset.

3.Step 3: Determination of the Eye-Opening Threshold for Each Driver
In this step, we use 32 feature points based on the identification of facial landmarks in step 2 (Figure 9). We determine the coordinates of points on the mouth and eyes.

Phase 2: Testing
Images extracted from videos are used for testing drowsiness detection with the proposed network models.

Results

Table 3. Results of training in scenarios 2 and 3.
Figure 4. Average accuracy and run-time of drowsiness detection in testing phase
Table 4. Some experimental results of drowsiness detection for three scenarios

Conclusions

Most traditional methods for drowsiness detection rely on behavioral factors or require expensive sensors that may distract drivers. This paper proposes two methods for driver drowsiness detection with three scenarios. Method 1 uses facial landmarks to detect drowsiness through video analysis and image processing. It calculates the eye aspect ratio (EAR) and mouth-opening value to detect drowsiness with adaptive thresholds, improving on previous studies by not using a fixed threshold for all drivers. Frequent detection of eye blinking and yawning helps to assess drowsiness. Method 2 employs deep learning with transfer learning, using MobileNet-V2 and ResNet-50V2 networks for drowsiness detection. It analyzes driver activities to learn features automatically without predefined thresholds, providing accurate results by recognizing multiple signs of drowsiness. Transfer learning helps overcome small training datasets and reduces training time. Experiments show Method 2 achieves 97% accuracy, with scenario 3 being more accurate than scenario 2 and Method 1. The proposed deep learning methods offer significant improvements over traditional approaches, enhancing the effectiveness of drowsiness detection and the potential for real-time applications to prevent traffic accidents. Further research will focus on using big data analysis to develop a real-time detection system.