0% found this document useful (0 votes)
31 views6 pages

Paper 14

This document presents a real-time visual-based driver drowsiness detection system that uses machine learning. The system detects drowsiness by extracting the eye aspect ratio feature from video frames. Three classifiers - support vector machine, random forest, and sequential neural network - are used to classify the driver's eye status as closed or open. The system was tested on a public drowsiness detection dataset. It achieved accurate real-time drowsiness detection by analyzing eye aspect ratio values over time and triggering an alarm if eye closure is detected for a specified duration.

Uploaded by

Bachhav Darshan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views6 pages

Paper 14

This document presents a real-time visual-based driver drowsiness detection system that uses machine learning. The system detects drowsiness by extracting the eye aspect ratio feature from video frames. Three classifiers - support vector machine, random forest, and sequential neural network - are used to classify the driver's eye status as closed or open. The system was tested on a public drowsiness detection dataset. It achieved accurate real-time drowsiness detection by analyzing eye aspect ratio values over time and triggering an alarm if eye closure is detected for a specified duration.

Uploaded by

Bachhav Darshan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Realtime Driver Drowsiness Detection

Using Machine Learning


2022 Advances in Science and Engineering Technology International Conferences (ASET) | 978-1-6654-1801-0/22/$31.00 ©2022 IEEE | DOI: 10.1109/ASET53988.2022.9734801

Aneesa Al Redhaei, Yaman Albadawi, Safia Mohamed, Ali Alnoman


Department of Computer Science and Engineering
American University of Ras Al Khaimah
Ras Al Khaimah, UAE
{aneesa.alredhaei, yaman.albadawi, safia.mohamed, ali.alnoman}@aurak.ac.ae

Abstract— Driver drowsiness is one of the leading causes of determine the driver’s drowsiness level. The purpose of this
traffic accidents and has a substantial impact on road safety. study is to develop a visual drowsiness detection system. The
Many traffic accidents can be avoided if sleepy drivers were system detects the drowsy driver using the Eye Aspect Ratio
given early warnings. Drowsiness detection systems monitor the (EAR) feature. Moreover, with the help of SVM, Random
driver condition and generate an alarm if drowsiness signs are Forest (RF), and Sequential Neural Network (NN) classifiers,
detected. In this paper, a real-time visual-based driver the driver’s eye status is classified.
drowsiness detection system is presented aiming to detect
drowsiness by extracting an eye feature called the eye aspect The rest of this paper is organized as follows. Section Ⅱ
ratio. In the proposed system, which is applied on videos presents the literature review. Section Ⅲ illustrates the solution
obtained from a public drowsiness detection dataset, the face methodology. Section Ⅳ presents the results and discussions.
region is first localized in each frame. Then, the eye region is Finally, section V concludes the paper.
detected and extracted as the region of interest using facial
landmarks detector. Following that, the eye aspect ratio value of
each frame is calculated, analyzed, and recorded. Finally, three II. LITERATURE REVIEW
different classifiers, namely, linear support vector machine, In the past decade, many researchers around the world
random forest, and sequential neural network, are employed to proposed various techniques to address the drowsiness
improve the detection accuracy. Subsequently, the extracted data detection problem. One of these techniques depends on visual-
are classified to determine if the driver's eyes are closed or open. based measures. Drowsy people exhibit several visual
An alarm will then be triggered to alert the drowsy driver if an behaviors that can be detected through changes in their facial
eye closure is recognized for a specified duration of time. features such as the eyes, mouth, and head [2]. Visual measures
Keywords—Driver drowsiness detection; eye aspect ratio; are the most used features for drowsiness detection due to the
support vector machine; random forest; sequential neural network fast detection and clear signs of the driver's facial expressions
and whether the driver is asleep or awake [3], [4]. Moreover,
I. INTRODUCTION using these visual measures is considered a popular approach
Drowsiness is considered one of the major threats to road to detect drowsiness due to their non-invasive nature [5]. Many
safety due to the fact that when a driver enters the microsleep visual features can be detected from the driver's image, such as
state, the driver’s unconsciousness will increase the possibility eye blinking, yawning, and head movement [6]. In a non-
of causing accidents. Drowsiness can be attributed to the lack invasive way, these features are employed in drowsiness
of sleeping, tiredness, or mental issues. In 2019, the Ministry of detection through visual observation of the driver's physical
Interior in the UAE reported that an average of two people died condition using cameras and computer vision techniques.
per day due to car accidents in the last five years [1]. It was Computer vision strategies aim to extract visual characteristics
also reported that the main causes for most of these accidents that usually define the driver's degree of drowsiness from video
were drowsiness, speeding and changing lanes suddenly, frames [5]. The most used visual features for DDD that depend
inattentiveness, and crossing red lights. As the concerns on computer vision techniques are explained in detail in the
regarding this issue are common among multiple countries, following.
many researchers worldwide started searching for a solution. Systems that detect driver drowsiness based on yawning
Hence, various techniques were proposed to build a Driver focus on analyzing the variation in the driver's mouth
Drowsiness Detection (DDD) system that detects the driver’s geometric shape. This approach considers inspecting the width
drowsiness and triggers an alarm when drowsiness is detected. of the mouth opening, lips position, etc. [7]. However, such
These techniques are categorized into three types according to systems usually extract additional features from the driver's
the features used in the system, namely, vehicular, visual, and face in order to obtain more accurate results. For instance,
non-visual features. In addition, DDD systems use hardware Azim et al. [8] detected drowsiness using pupil movement and
components like sensors and cameras to extract the mentioned yawning. Both parameters were measured based on the
features. The collected data are then processed and classified information of the eye and mouth. The system worked as
using various ways such as Machine Learning (ML) algorithms follows; first, to ensure the presence of the driver's face within
which include Support Vector Machine (SVM), convolutional the video frame, the Viola-Jones face detection method is
neural network, and hidden Markov models that help to applied. Second, from the face region frame, a mouth window

Authorized licensed use limited to: University of Management & Technology Lahore. Downloaded on October 30,2023 at 07:25:57 UTC from IEEE Xplore. Restrictions apply.
is extracted. Then, spatial fuzzy c-means clustering is applied it is then handled by ML algorithms such as convolutional
to search and locate lips in the window. At the same time, and neural network, SVM, and hidden Markov model [14]. The
in another window, the eye section is extracted. From that authors in [15] used a 3D deep Neural Network with
window, the pupils can be detected based on the inter-pupil Kernelized Correlation and Kalman filters. The experimental
distance, angle, and radii. Finally, the collected eyes and mouth results showed an accuracy of 88%.
data are passed to an SVM classifier that classifies, based on
the data's characteristics, the driver state whether drowsy or To contribute to the current works of drowsiness detection
not. The video data used in the aforementioned work were systems, this study aims to build a driver drowsiness detection
collected from real-life scenarios at different times of the day. system that detects drowsiness based on the visual measures,
specifically, the EAR feature while achieving low complexity,
Other commonly used features in visual-based DDD high performance, and adapting to the current situation of the
systems can be extracted from the eyes. Drowsiness detection COVID-19 pandemic where drivers wear masks.
methods that use eyeblink frequency as a measure compares
the regular eye blinking frequency with the eye blinking III. METHODOLOGY
frequency of a drowsy driver. Naturally, the blinking rate is
about ten blinks per minute; however, the blinking rate The proposed DDD system is illustrated in this section by
decreases when the driver is drowsy [9]. In the literature, many providing the system design, description of the used dataset,
studies have been conducted to achieve drowsiness detection and the three main steps of the implementation process, which
based on the eyeblink rate. Rahman et al. [10] introduced a are: (1) pre-processing; (2) feature extraction; and (3) model
real-time monitoring method based on eye blinking to selection.
determine the driver's drowsiness. In that method, first, the
Luminosity algorithm is used to convert the colored picture of A. System Design
the eye into grayscale. Second, a Harris corner detector is used The proposed driver drowsiness detection system is
to find the two eye corners and one point on the eyelid's lower illustrated in Fig. 1. The DDD system is composed of five main
part. Third, the measurement of the mid-point value between steps. A video of the driver's face is captured in step one, and
the upper two corner points is calculated. If the distance is near its frames are extracted. Step two is pre-processing. In this step,
zero, it classifies that the eyes are closed, and thus the driver is first, each frame is converted from BGR image to Grayscale
drowsy. Fourth, the pixel values of the lid, cornea, and iris of image. Then, face detection is applied to detect the driver's face
the eye are calculated to detect the eyes' openness, and both of within the frame using the Histogram of Oriented Gradients
those values will be different for the open eye. Finally, the (HOG) face detector from the Dlib library. Lastly in the pre-
blinking rate is calculated, and a drowsy situation will be processing step, the shape_predictor_68_face_ landmarks Dlib
reported if the rate is reduced. Their system obtained an module is used to get the facial landmarks and extract the eye
accuracy of 94%. region. In step three, the EAR is calculated for each frame and
Compared to that work, Soukupova and Cech [11] stored in a list. In step four, when the first 15 EAR values have
suggested a simple yet efficient real-time algorithm to detect been stored in the list, the system starts inputting the 15-
eye blinking using facial landmark detectors. The work element vector to the trained model. Then the input data will be
introduced a scalar quantity that relies on the ratio of the height classified as closed-eye or open-eye. In the last step, if closed
of the eye to its width called EAR. The EAR is used to measure eyes were detected for more than 15 consecutive times, which
the eye openness degree in each frame, and a blink is detected is equivalent to 1 second, the driver will be classified as
at the location where a sharp drop occurs in the EAR value. In drowsy, and an alarm will sound. The following subsection
their experiment, an SVM classifier was used to detect eye illustrates the used dataset.
blinks as a pattern of EAR values in a short temporal window.
The system showed an accuracy of up to 90% and varied B. Dataset
according to the facial landmark detectors and the datasets To implement this system, a video dataset provided by the
used. National Tsing Hua University Computer Vision Lab's DDD
Head movement-based detection is another common (NTHUDDD) is used [16]. This dataset consists of 36 subjects
feature in visual-based DDD systems whereby the different of different facial characteristics, ethnicities, and genders
head movements can be used to indicate a drowsy state. For recorded under different scenarios (e.g., no glasses, wearing
example, when a driver is drowsy, the driver’s head starts to glasses, wearing sunglasses, at night without glasses, and at
sway. Another trait is mentioned in [2] which indicates that the night with glasses) during the day and night. In this paper, parts
head-nodding frequency increases as the drivers nod their from this dataset were used, including five subjects for the
heads more frequently trying to avoid sleeping. Moreover, training dataset, and three subjects for the testing dataset
according to [12], when taking the forehead as a reference, the driving with and without glasses both during daytime.
head which poses in different angles can be considered another
trait. Authors in [13] used an infrared sensor to track head C. Preprocessing
movement and detect the driver's drowsiness. Another To pre-process and prepare the extracted frames for the next
commonly used sensor is the Micro-Nod Detection System.
step, each frame is converted from BGR colored image to a
The sensor detects the micro-sleep by analyzing the head
position in real-time. The change in the driver's head position is grayscale image. The color conversion is done by applying
tracked on x, y, and z coordinates. After attaining this feature, the cv2.cvtColor() method from the OpenCV library. The

Authorized licensed use limited to: University of Management & Technology Lahore. Downloaded on October 30,2023 at 07:25:57 UTC from IEEE Xplore. Restrictions apply.
from the left corner of the eye and revolving clockwise. The
authors in [11] explained that the difference between
Obtain
images from
coordinates p2 and p6, p3 and p5, demolishes when the eyes
webcam
Pre-processing
are completely closed. As such, the EAR value drops down to
zero, as shown in Fig. 2. On the other hand, the EAR value
Convert BGR to grayscale
remains approximately constant when the eye is open.
Using HOG face detector

Perform facial landmark detection

Extract eye features

Calculate the EAR and store in EAR


list

No Do we have 15
consecutive EAR
readings?

Yes

Use 15 EAR values as an input


vector

Fig. 2. EAR change over time [18]


Random Neural
SVM
Forest Network
Model
Model Model
The equation used to calculate the EAR value is given in
(1). As explained in [17], the functional characterization of the
EAR equation is that all the six coordinates from p1 to p6 are
No Eye
Closed? 2-dimensional. Also, as shown in (1), the nominator computes
Yes the distance between the vertical points. On the other hand, the
Counter ++ denominator computes the distance between the horizontal
points. The authors in [11] pointed out that the denominator is
No
multiplied by two to balance the weight of the two sets in the
Counter == 15?
nominator. Thus, the next implementation step is to calculate
Yes the EAR of the driver's eyes in each frame and store these
Alarm values in a list. This is achieved by writing a function to
“DROWSY!
” calculate the EAR in Python, then passing each eye's
Fig. 1. Proposed driver drowsiness detection system coordinates to that function as a parameter. The returned EAR
value is then stored in a list for later use.
driver's face is then extracted from each frame using Dlib's
HOG face detector where the dlib.get_frontal_face_detector() ||𝑝2 − 𝑝6 | +||𝑝3 − 𝑝5 | (1)
method is utilized. This method detects the faces in the images 𝐸𝐴𝑅 =
2| 𝑝1 − 𝑝4 |
and returns the coordinates of a rectangle frame surrounding
the face region. After that, the Dlib facial landmarks detector
is used to detect the key facial structures, including the eye According to [11], the eye blink is a quick closing and
region. reopening of the eye. Each person has a slightly different
blinking pattern. It mainly differs in the closing and opening
D. Feature Extraction speed, blink duration, and the degree to which the eye is
Different features have been proposed to model the driver closed. Normal eye blink lasts approximately 100 to 400 msec.
drowsiness detection system. In this paper, the modeling is As mentioned before, a very low EAR value means that the
based on the EAR metric. According to [17], the EAR feature eye is closing in that image. In order to detect the different
assembles several quality characteristics. The traditional blinks for each person, and since one EAR value per frame
image processing method for detecting eye blinking includes will not help to recognize the eye blinks correctly, this method
steps like eye localization, determining the whites of the eyes trains a classifier that uses a large temporal window of frames
through thresholding, and indicating eye blinking by tracking as an input. For every 30 f/s videos, the EAR of the Nth frame
the disappearance of the white region of the eye during a time is computed, along with the EAR for N-7 and N+7 frames.
period. In contrast, the EAR does not require any image Then, by concatenating these EARs, a 15-dimensional feature
processing technicalities. Instead, it is a more straightforward vector is formed for each frame. The reason for taking the 7
solution that depends on the computation of the ratio of the neighboring frames for each Nth frame is to capture the actual
distance between previously determined facial landmarks of state of the eye at that frame, either open or closed. An EAR
the driver's eyes. In general, this metric observes the eye threshold of 0.2 was set to reflect the openness of the eye.
landmarks based on computing the ratio of six coordinates as Next, to label the input data, the following procedure is
illustrated in Fig. 2 [18]. Coordinates are numbered beginning applied: if more than 7 elements of that 15-dimensional vector

Authorized licensed use limited to: University of Management & Technology Lahore. Downloaded on October 30,2023 at 07:25:57 UTC from IEEE Xplore. Restrictions apply.
were greater than the threshold, that vector would be labeled RF is a well-known and efficient ML algorithm that is
as an open eye with the label 0. Otherwise, a label 1 will be dependent on model aggregation ideas. This classifier is
given to the vector indicating that the eye is closed as shown generally utilized for binary classification which helps to
in Fig. 3. The latter step is implemented using a scanning achieve the desired classification in the utilized data. It is
window that moves continuously through the EAR list, as worth mentioning that RF was first introduced by Leo
shown in Fig. 4. Thus, a 15-frame vector is taken in each Breiman [21]. The RF classifier used in this work also belongs
iteration, labeled as 0 (open eyes) or 1 (closed eyes), and to the Scikit learn library.
stored in another list.
Sequential NN is the easiest way to build a model in Keras
[22]. The Sequential NN classifier is selected to apply a deep
learning classifier and observe if it will give better outcomes.
Fig. 3. Labeling the EARs vectors This model allows building a model layer by layer. Each layer
has weights that correspond to the following layer [23]. In the
Sequential model, the Sequential class is created, and model
layers are created and added [24]. In this Sequential model, a
neural network that has six layers is created as follows: one
input layer, four hidden layers, and one output layer. A vector
of 15 EAR values is inputted to the input layer. In the four
hidden layers, 16 nodes were added, each using Rectified
Linear Units as the activation function (ReLU). ReLU is a
half-rectified function; if it receives a negative input, it returns
0, and if it receives a positive value, that same value is
returned [25]. Thus, it allows for the deep learning model to
account for non-linearities and specific interaction effects. The
Fig. 4. Scanning window through the driver’s EAR list output layer has one output node which uses the sigmoid
activation function to squeeze all the values between 0 and 1
E. Model Selection into a sigmoid curve. The output layer classifies the output
into either 1 for closed eyes or 0 for opened eyes.
Herein, the procedure followed to train the SVM, RF, and
Sequential NN models for detecting driver drowsiness is IV. RESULTS AND DISCUSSION
illustrated. After extracting the EAR values, two main data To test the proposed system, videos from the NTHUDDD
pre-processing steps are implemented: data splitting and data testing dataset were used. The frames were extracted, pre-
balancing. Using the train_test_split() function from the Scikit processed, and the EAR feature was extracted as explained
learn library, the data is split into a 70:30 ratio, 70% training, earlier. Then, the collected data were fed to each of the three
and 30% testing. As for data balancing, in the training set, the trained models. The confusion matrix, accuracy, sensitivity,
majority class had 62802 instances labeled as 0, and the and specificity were used to evaluate the testing and training
minority class had only 9523 labeled as 1. To solve the issue results.
of imbalanced data, the oversampling technique was applied to
increase the closed eye class that is labeled as 1. Specifically, Table Ⅰ lists the results of the DDD system. Referring to
Table Ⅰ, the results indicate that the RF model achieved the best
Synthetic Minority Oversampling Technique (SMOTE) is
performance compared to the linear SVM and Sequential NN
used to balance the data. SMOTE is an oversampling models. Looking at the training results, it can be seen that the
technique that balances data by creating new minority class RF model scored 100% at every metric. Simultaneously, in the
instances that are obtained by interpolating between several testing results the RF model achieved an accuracy of 99% with
minority class samples that lie together. After balancing the a 96% and 99% sensitivity and specificity, respectively. As for
dataset, ML and deep learning models are applied for the sequential NN model, it showed the second-best
classification purposes. The model uses a 15-dimension input performance after the RF model. This model has shown 97% at
(15 consecutive EARs) and returns one category (e.g., open: 0 all metrics. As for the testing results, 97% accuracy, 96%
or closed: 1). In this work, three models were used: SVM, RF, sensitivity, and 97% specificity were acquired. In terms of the
and sequential NN model. All the parameters of these models linear SVM, it showed the lowest results compared to the other
have been tuned and optimized using grid search two models. The linear SVM model achieved an accuracy of
hyperparameters. 96% in the training results, while in testing it achieved only
95%. Concerning sensitivity and specificity, this model gave
SVM is a supervised ML model that linearly classifies two 97% and 95% respectively in both training and testing.
groups of data [19]. The SVM classifier is a typical classifier Regardless of wearing eyeglasses or not, our models performed
that was utilized in numerous other DDD research work [20]. well in both scenarios.
The design of the SVM model aims to find a hyperplane for N
number of features. In this system, the Support Vector To visualize the performance of these models, the Receiver
Classification was imported from the Scikit learn library. Operating Characteristic (ROC) curve and the Precision-Recall

Authorized licensed use limited to: University of Management & Technology Lahore. Downloaded on October 30,2023 at 07:25:57 UTC from IEEE Xplore. Restrictions apply.
TABLE I. RESULTS OF THE PROPOSED DDD SYSTEM USING TRAINING
AND TESTING DATA

Training
Metric
Accuracy Sensitivity Specificity
Model
Linear SVM 0.96 0.97 0.95
RF 1.00 1.00 1.00
Sequential NN 0.97 0.97 0.97
Testing
Metric
Accuracy Sensitivity Specificity
Model
Linear SVM 0.95 0.97 0.95
Fig. 5. ROC curve for the training data
RF 0.99 0.96 0.99
Sequential NN 0.97 0.96 0.97

curves were plotted. The ROC curve describes the performance


of binary classification models in terms of how well the model
predicts the positive class when the actual outcome prediction
is positive [26]. The Area Under the Curve (AUC) score
represents the degree of separability and reflects the total area
under the ROC curve. A model that has a high AUC is better at
predicting true positive and true negative actual outcomes. Fig.
5 illustrates the ROC curve for the balanced training data.
Much like the ROC curve, the Precision-Recall curve is a good
tool to evaluate binary classification algorithms [26]. Also, in
this type of plots, a high AUC model reflects better predicting
performance. Fig. 6 illustrates the precision-recall curve of the
imbalanced testing data. Fig. 6. The Precision-Recall curve for the testing data
It is observed from Fig. 5 that all three models have high
AUC values in the training results. However, the RF model TABLE II. COMPARISON WITH OTHER METHODS THAT USED THE
NTHUDDD DATASET
reflects the best performance here as well, with an AUC of
1.00. Similarly, when analyzing Fig. 6 which represents the Method Accuracy
testing results, we can see that the RF model shows the best This work 99%
performance with an AUC value of 0.992 compared to the
sequential NN model with an AUC value of 0.981 and the Gamma fatigue detection network [28] 97.06%
SVM model with an AUC value of 0.971.
3D convolutional networks [29] 92.19%
From the aforementioned, it can be realized that the overall
results demonstrated high accuracy in detecting eye openness. Simple averaging approach [30] 85%
That led to developing a system that is capable of identifying Condition-adaptive representation learning framework [31] 76.2%
long eye closures from blinking. The experiments and tests in
this work agree with previous research work of [11] and [27] In future work, a mobile application can be developed to
that used the EAR feature to indicate drowsiness. In addition, implement this DDD system to allow easy use for users while
these results have shown higher accuracy than Soukupova and driving. Moreover, to overcome the limitations, different
Cech [11] that achieved around 90% accuracy. Furthermore, it adaptions and improvements can be done such as widening the
succeeded in detecting the driver's face while wearing a mask. region of interest of this system by including the mouth and
When comparing these results with other DDD methods that head movements. Thus, the system will achieve more accurate
used the NTHUDDD dataset, as demonstrated in Table Ⅱ, it results when it comes to classifying drowsiness from alertness.
has been found that the proposed method using the RF model In addition, a specially equipped camera can be added to adapt
had the highest accuracy. It should be noted that the proposed to the intensity changes and sustain the main object detection.
DDD system has some limitations. Since only the EAR is used The task of such a camera is to focus on detecting only the
as a drowsiness indicator, false alarms might rise when the driver's face in all positions. Furthermore, some additional
driver is laughing or yawning. Moreover, the performance of hardware can be incorporated to help expand the system's
the HOG detector can deteriorate in some scenarios. This usefulness. This component could be an external strobe light to
includes having more subjects in the video frame and intensity alert the other road users and drivers. Also, a buzzer can be
changes during the drive. attached to the driver's seat, and whenever drowsiness occurs,
the buzzer will be activated causing the seat to vibrate thus
alerting the drowsy driver.

Authorized licensed use limited to: University of Management & Technology Lahore. Downloaded on October 30,2023 at 07:25:57 UTC from IEEE Xplore. Restrictions apply.
V. CONCLUSION [14] M. Ngxande, J. Tapamo, and M. Burke, “Driver drowsiness detection
using Behavioral measures and machine learning techniques: A review
This paper presented a real-time visual-based drowsiness of state-of-art techniques,” In 2017 Pattern Recognition Association of
detection system. The proposed system used live camera South Africa and Robotics and Mechatronics (PRASA-RobMech),
Bloemfontein, South Africa, 2017, pp. 156–161.
images to implement real-time drowsiness detection. To
[15] K. Dwivedi, K. Biswaranjan, and A. Sethi, “Drowsy driver detection
overcome the challenge of false detection of closed eyes, ML using representation learning,” Souvenir 2014 IEEE Int. Adv. Comput.
classifiers were applied in the final stage. If drowsiness is Conf. IACC 2014, pp. 995–999, 2014.
detected, an alarm will be initiated to alert the driver. [16] C. H. Weng, Y. H. Lai and S. H. Lai, “Driver Drowsiness Detection via
Following the training stage, the three ML models were tested, a Hierarchical Temporal Deep Belief Network”, In Asian Conference on
and the results showed that the RF model achieved the best Computer Vision Workshop on Driver Drowsiness Detection from
Video, Taipei, Taiwan, Nov. 2016.ROSEBROCK, A. 2017. Eyeblink
performance with 99% accuracy. While car accidents caused detection with OpenCV, Python, and dlib. Pyimagesearch.
by drowsy drivers pose one of the main threats to road safety, https://www.pyimagesearch.com/2017/04/24/eye-blink-detection-
drowsy detection systems are continuously improving over opencv-pythondlib/_mjzu4CFQAAAAAdAAAAABAK.
time. Many communities worldwide believe that such an [17] A. Rosebrock. (2017, Apr. 24). Eyeblink detection with OpenCV,
Python, and dlib [Online]. Available: https://www.pyimagesearch.com
engineering solution could prevent the loss of lives and /2017/04/24/eye-blink-detection-opencv-pythondlib/_mjzu4CFQAAAA
resources. Thus, we hope that this DDD system will contribute AdAAAAABAK.
to this field. [18] Datahacker. (2020, Oct 6). How to detect eye blinking in videos using
dlib and OpenCV in Python [online]. Available: https://www.google.
REFERENCES com/url?sa=i&url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fdatahacker.rs%2F011-how-to-de
[1] I. Sebugwaawo. (2019, Mar. 13). 2 People killed daily in crashes on tect-eye-blinking-in-videos-using-dlib-and-opencv-in-python%2F&p
UAE roads during last five years [Online]. Available: sig=AOvVaw3DV2hMmnbV15Xlrln1hy3i&ust=1612461126891000&
https://www.khaleejtimes.com/news/transport/2-people-killed-daily-in- source=images&cd=vfe&ved=0CAMQjB1qFwoTCIDz8.
crashes-on-uae-roads-during-last-five-years. [19] R. Gandhi, “Support Vector Machine - Introduction to Machine
[2] G. Sikander and S. Anwar, “Driver Fatigue Detection Systems: A Learning Algorithms,” Medium, Jul. 2018. [Online]. Available:
Review,” In IEEE Transactions on Intelligent Transportation Systems, https://towardsdatascience.com/support-vector-machine-introduction-to-
vol. 20, no. 6, pp. 2339-2352, June 2019. machine-learning-algorithms-934a444fca47.
[3] B. G. Pratama, I. Ardiyanto and T. B. Adji, “A Review on Driver [20] A. Bamidele, K. Kamardin, N. Abd Aziz, S. Sam, I. Ahmed, A. Azizan,
Drowsiness Based on Image, Bio-Signal, and Driver Behavior,” In 2017 N. Bani, and H. Kaidi, “Non-intrusive Driver Drowsiness Detection
3rd International Conference on Science and Technology - Computer based on Face and Eye Tracking,” International Journal of Advanced
(ICST), Yogyakarta, 2017, pp. 70-75, doi: Computer Science and Applications (IJACSA), vol. 10, no. 7, pp. 549 –
10.1109/ICSTC.2017.8011855. 569, 2019.
[4] S. Kaplan, M. A. Guvensan, A. G. Yavuz, and Y. Karalurt, “Driver [21] L. Breiman, “Random Forests,” in Machine Learning, vol. 45, no. 1, pp.
Behavior Analysis for Safe Driving: A Survey,” In IEEE Transactions 5–32, 2001, doi:10.1023/A:1010933404324.
on Intelligent Transportation Systems, 2015, pp. 3017-3032. [22] Keras, Keras [Online]. Available: https://keras.io/api/models/sequential/
[5] Q. Ji and X. Yang, “Real-Time Eye, Gaze, and Face Pose Tracking for [23] E. Allibhai. (2018, Sep. 17). “Building A Deep Learning Model using
Monitoring Driver Vigilance,” Real-Time Imaging, vol. 8, no. 4, pp. Keras,” Towardsdatascience [Online]. Available:
357–377, 2002. https://towardsdatascience.com/building-a-deep-learning-model-using-
[6] A. Mittal, K. Kumar, S. Dhamija, and M. Kaur, “Head movement-based keras-1548ca149d37.
driver drowsiness detection: A review of state-of-art techniques,” In [24] S. Paul. (2018, Aug. 9). “Keras Sequential Api,” Medium [Online].
2016 IEEE International Conference on Engineering and Technology Available: https://medium.com/@subhamoy.paul986/keras-sequential-
(ICETECH), Coimbatore, India, 2016, pp. 903-908. api-72e45c39259b.
[7] M. Ramzan, H. U. Khan, S. M. Awan, A. Ismail, M. Ilyas and A. [25] DeepAI. “What is a Rectified Linear Unit?,” DeepAI [Online].
Mahmood, “A Survey on State-of-the-Art Drowsiness Detection Available:https://deepai.org/machine-learning-glossary-andterms/rectifie
Techniques,” IEEE Access, vol. 7, pp. 61904-61919, 2019. d-linear-units.
[8] T. Azim, M. A. Jaffar and A. M. Mirza, “Automatic Fatigue Detection [26] J. Brownlee. (2018, Aug. 31). How to Use ROC Curves and Precision-
of Drivers through Pupil Detection and Yawning Analysis,” 2009 Recall Curves for Classification in Python [Online]. Avliable:
Fourth International Conference on Innovative Computing, Information https://machinelearningmastery.com/roc-curves-and-precision-recall-
and Control (ICICIC), Kaohsiung, 2009, pp. 441-445, doi: curves-for-classification-in-python/.
10.1109/ICICIC.2009.119. [27] C. B. S. Maior, M. J. Moura, J. M. M. Santana and I. D. Lins, “Real-
[9] M. Saradadevi and P. Bajaj, “Driver fatigue detection using mouth and time classification for autonomous drowsiness detection using eye
yawning analysis,” Int. J. Comput. Sci. Netw. Secur, vol. 8, no. 6, pp. aspect ratio,” in Expert Systems with Applications, vol. 158, pp. 113505,
183-188, Jun. 2008. 2020, doi: https://doi.org/10.1016/j.eswa.2020.113505.
[10] A. Rahman, M. Sirshar, and A. Khan, “Real time drowsiness detection [28] W. Liu, J. Qian, Z. Yao, X. Jiao, and J. Pan, "Convolutional two-stream
using eye blink monitoring,” in Proc. Nat. Softw. Eng. Conf. (NSEC), network using multi-facial feature fusion for driver fatigue detection,"
Dec. 2015, pp. 1–7. Future Internet, vol. 11, p. 115, 2019.
[11] T. Soukupova and J. Cech, “Real-time eye blink detection using facial [29] Y. Ed-Doughmi, N. Idrissi, and Y. Hbali, "Real-time system for driver
landmarks,” in 21st Computer Vision Winter Workshop. Slovenia, 2016, fatigue detection based on a recurrent neuronal network," Journal of
pp 1-8. Imaging, vol. 6, p. 8, 2020.
[12] S. Arun, S. Kenneth and M. Murugappan, “Detecting Driver Drowsiness [30] M. Dua, R. Singla, S. Raj, and A. Jangra, "Deep CNN models-based
Based on Sensors: A Review,” MDPI. Sensors, vol. 12, pp. 16937- ensemble approach to driver drowsiness detection," Neural Computing
16953. doi:10.3390/s121216937 and Applications, vol. 33, pp. 3155-3168, 2021.
[13] R. C. Coetzer and G. P. Hancke, “Driver fatigue detection: A survey,” [31] J. Yu, S. Park, S. Lee, and M. Jeon, "Driver drowsiness detection using
AFRICON 2009, Nairobi, 2009, pp. 1-6, doi: condition-adaptive representation learning framework," IEEE
10.1109/AFRCON.2009.5308101. transactions on intelligent transportation systems, vol. 20, pp. 4206-
4218, 2018.

Authorized licensed use limited to: University of Management & Technology Lahore. Downloaded on October 30,2023 at 07:25:57 UTC from IEEE Xplore. Restrictions apply.

You might also like