A Novel Approach for Drowsy Driver Detection Using Eyes Recognition System Based on Wavelet Network

—Drowsiness is defined as the "inclination to sleep" and is also commonly referred to as "sleepiness". It is a natural occurrence in the human body that can affect individuals in different ways. Driver impairment due to drowsiness is known to be a major contributing factor in many motor vehicle crashes. Hence, the need of a reliable driver drowsiness detection system which could alert drivers before a mishap happens. In this paper, a drowsy driver detection system has been developed, using video processing analyzing eyes blinking concepts for measuring eyes closure duration to verify the driver vigilance state. In such a case, when this duration exceeds a specific time, a warning signal is issued to alert the driver. To achieve this application, three main steps are required: face and eyes detection, classification and eyes tracking and measurement of eyes closure duration. To accomplish this work, eyes are tracked and recognized employing wavelet network classifier (WNC) based on fast wavelet transform (FWT) for its robustness and for its pertinent results in the classification's domain. Experiments show that our used methods are effective for driver drowsiness detection.


INTRODUCTION I.
The major challenge in the field of accident avoidance systems is the development of technologies for detecting or preventing drowsiness at the wheel. Because of the hazard that drowsiness presents on the road, methods need to be developed for counteracting its affects.
These methods were divided into two categories: Vehicle-based measures and Behavioral and Physiological ones. For the first approach, the first developed systems are the ones which use sensors watching vehicles behaviors [2]. A number of metrics, including pressure on the acceleration pedal, deviations from lane position, movement of the steering wheel, etc., are constantly monitored and any change on them is taken into consideration. When these metrics cross a specified threshold, it indicates a significantly increased probability that the driver is drowsy [3]. For the second approach, the behavior of the driver, including eye blinking, eye closure, yawning, head pose, etc., is monitored through a camera and the driver is alerted if any of these drowsiness symptoms are detected [4,5,6]. These characteristics can be merged by the probabilistic network [7] or also by logic fuzzy systems [8]. For the physiological measures, the correlation between physiological signals (electromyogram (EMG), electrocardiogram (ECG), electroencephalogram (EEG) and electrooculogram (EOG)) and driver drowsiness has been studied by many researchers [9,10,11,12].
Other than these, researchers have also used an efficient drowsiness detection system, the strengths of the various measures should be combined into a hybrid system. In this way, the slumber can be detected by the analysis of the intellectual activity which refers to the capacity of handling the information and the analysis of eyes activities which refer to the capacity of perception [3]. As an example, we quote the OSS technique (Objective Sleepiness Score) [13]. In this technique, the level evaluation of vigilance is made according to activities duration of alpha and theta presented in the EEG and to the eyes movements and their blinking.
In this paper, a new driver drowsiness detection system based on video characterization of eyes blinking is presented. The focus will be on designing a system that will accurately monitor the open or closed state of the driver's eyes in real-time. If the duration of eyes closure exceeds an estimated time, the system draws the conclusion that the driver is falling asleep and issues a warning signal. The conception of our system is characterized by the following key stages: detection of regions of interest (face and eyes), identification of eyes states (opened or closed), and measurement of eyes closure duration which determines the driver state (awakening or drowsiness state). For the face detection, we resort to the algorithm of Viola and Jones owing to its remarkable efficiency in the correct face detection [14]. Once the face is localized, the eyes are detected after the extraction of the facial regions by the geometrical model. The eyes classification is made by a wavelet network classifier (WNC) system learned by fast wavelet transform (FWT) [15]. The method proposed in this paper provides a binary decision (drowsy or awake). As we have already said, the choice of WNC was based on its good results in the domain of images copies detection [16], images classification [17], 2D and 3D face recognition domain [18], speech recognition [19], content based image recognition [20], hand gestures recognition [21], etc.
The remainder of the paper is organized as follows: Section 2 describes an overview of the proposed approach and its two main stages: face detection and eyes state recognition. Section 3 presents the experimental results showing the robustness of our system and Section 4 ends with a conclusion and discussion on possible enhancements. In this paper, a complete solution of driver drowsiness detecting system based on wavelet network is proposed. The pipeline of all phases of this approach is illustrated in Fig. 1: Figure 1. Complete framework of drowsiness detection system A Drowsy Driver Detection System has been developed, using a small camera that directly points towards the driver's face and monitors the driver's eyes in order to detect drowsiness. Thus, the video stream acquired by the camera will be segmented into frames (F1,...,Fn). In every frame we have to localize the face using the algorithm of Viola and Jones which will be detailed in the following section. Then, the eyes detection is made by the haar classifier. Performances of this latter will be mentioned afterward. Once the eyes are located, the employing of a wavelet network classification system determines whether the eyes are open or closed. The principle of this system will be detailed later. In every frame, we have to verify the state of eyes. If they are opened, we move to the following frame until obtaining closed eyes. We calculate the eye closure duration; if it exceeds a predefined Time T , we can say that we have a drowsiness state, so a warning signal is launched to alert the driver. Otherwise, we can say that is an awakening state In our application, we used the Viola and Jones algorithm for face and eyes detection. It belongs to the family of methods based on the global appearance and which minimizes computation time while achieving high detection accuracy. The choice of this method is justified by its good performances in real-time applications domain and by its robustness against illumination variations.
Face detection is concerned with deciding if there are any faces in a given image (nb_F!0). Then, by knowing the region of the face, we can localize facial characteristics quickly and easily. The face is partitioned into three areas, the top 1/3 presenting the eyes area is browsed by a haar classifier. The principle of this method is explained in the Fig. 2:  [14], a special data structure that speeds-up the calculation.
-Boosting Algorithm: The training algorithm used in Viola-Jones detector is called AdaBoost [14], it is a statistical boosting algorithm allowing the selection of the few best features that fit the positive example.
-Cascades of Classifiers: The detection is made through a 24x24 pixel sub-window [14]. This window browses the totality of the image to be tested horizontally and vertically and in every scale [14]. However, the fact of testing the presence of the face in a window in all the positions and in several scales raises a problem in terms of computation time. The proposed solution is to construct a cascade of classifiers which achieves increased detection performance while radically reducing computation time.
The key insight is that the combination of the resulting classifiers in a cascade allows a fast elimination of sub windows that does not contain the face.

Wavelet Network System for Eyes Classification B.
The combination of wavelet theory and neural networks has led to the development of wavelet networks. Wavelet network presents a version of neural networks which uses wavelets as activation functions. Our eyes classification system is done using WNC based on FWT (This learning algorithm is detailed in [15]). It consists of two stages that are learning and test. This solution proceeds, firstly, the training stage (made on 2/3 of the training base), in which the learning benchmark set is approximated by a wavelet networks to produce a compact image signature constituted by wavelets and their coefficients (p1,..., pn), which will be used to match a test image with all images in the learning benchmark set in order to know to which class it belongs. Then, in classification stage (on-line), the test image is projected on the wavelet networks of the learning images and new weights (or coefficients) specific to this image are computed. Finally, we compare the coefficients of the learning images with the coefficients of the test image by computing euclidian distances. The learning image having the closest parameters to the test image one, gives us to which class the test image belongs. The classification process is illustrated by the Fig. 3:  Its objective is the reduction of the calculation time of approximation and details coefficients by rapid filters decomposition which is simpler and faster than the projection on the dual bases techniques [22] [23].
Learning wavelet network using FWT Principle 2) [15] The learning process can be summarized by four steps : a) Construction of the library : The first step consists in preparing the library of the scaling and wavelets functions that are used in the hidden layer of the wavelet network. Hence the need to choose the mother wavelet, which covers all the support of the analyzing signal.

b) Weights computing
EXPERIMENT AND RESULTS III.

Interest Areas Detection by Viola and Jones A. Algorithm
To prove the efficiency of our application, we have It consists on computing the coefficients corresponding to the scaling and the wavelets functions of the mentioned library by applying a FWT to the signal ! to be learned using a dual set of scaling and wavelet function filters. c) Contributions computing  At the end, the network will be built by incrementally adding a transfer function (wavelet or scaling function) at the hidden layer. This process will be repeated until reaching a stop criterion.
It is possible to optimize this algorithm and to increase its performances by the optimization of translation and PAPER A NOVEL APPROACH FOR DROWSY DRIVER DETECTION USING EYES RECOGNITION SYSTEM BASED ON WAVELET… dilation parameters of the best activation function which was already selected (in the forth step). Thus we get a new function that does not belong to the library initially built. This requires the computing of new weights.
The details of the optimized version are described and well explained in [15].
The detailed steps of the proposed approach have been described in the last section. We can summarize the major functions of the drowsy driver detection system according to the following flowchart (Fig.7):

Viola -Jones based interest areas detection A.
To prove the efficiency of our application, we have tested it on several individuals. According to the obtained experimental results (during the execution of the application), we notice that the face detection is correctly made. In fact, we did not notice any case of false detection; this can be explained, on one hand, by the efficiency of the Viola and Jones algorithm and on the other hand by the limited space captured by the camera (field of view containing just the driver face). In other words, contents of the captured images are uniform in most of the cases because the interior vehicle characteristics are mostly the same. Besides, the background of the frame containing the face of the driver is not too much loaded; it is generally a limited space. So, there are no reasons which can cause false detection. We have performed experiments on a well known database (BioID [25]). The BioID database consists of 1521images which vary in pose, scale and lightning conditions, but are mainly frontal. This database is widely used for face and eyes detection. To give an impression of the data, some eyes detection example images are depicted in Fig. 10. The evaluation of this algorithm is made by the calculation of the rate of good and bad detections using respectively the following formula.
Eyes detections performances using the haar classifiers applied on BioID database are presented by Fig. 11: Figure 11. Eyes detection algorithm performances on BioID basis As it is mentioned in this diagram, the use of the Haar classifiers in the eyes detection is very effective. Indeed, we notice that the good detection rate reached 97.5% which can be considered as a good result compared to the one provided by Picot method (97%) [8] applied on the same basis (BioID).

Eyes Classification Using the Wavelet Network B.
To highlight the efficiency of our proposed classification system, we used two sets of images. One set is extracted from the BioID database, it consists of images of 84 persons and the other set presents our appropriate database. In the figure below (Fig. 12), some samples of the two used sets of images are displayed: The first set of images is divided as follows: 56 images are reserved for the training phase and 28 are associated with the test stage. The obtained good classification rate was about 92.86%. In the second set of images, we have tried to collect images of eyes of some people by putting them in the same conditions as a driver. This was in order to put itself in the real conditions. This basis is constituted of images of uniform sizes among which 2/3 of the images !"#"$%"&"'(")$*($#*+),-$.#,-$(/"$"+(0#"$ )*(*$%"( to train the verification while the #"-*0+0+1$1/3 ,.$ (/"$ )*(*$ is used to test it. The experiments are repeated 10 times in order to get a good estimate of the expected GCR of the data for this algorithm, "*'/$ !0(/$ )0.."#"+($(#*0+0+1$*+)$("%($%"(%2$(/"+2$(/"$#"%3&(%$!"#"$ *4"#*1")5$ To measure the performances of our classification system, we have used the global classification rate (GCR) calculated as follows: The classification results shown in Table I  According to Table I, we notice that the GCR can be influenced by varying the training images number. We can remark that GCR increases when we increase the training set size. The GCR moved from 84% to 97% by varying the training images number employing respectively 20 and 120 images.
The Fig. 13 shows the behavior of our wavelet network classifier depending on the variation of the number of the training images. Detection of Drowsiness C.
The last stage of our application consists in calculating the eyes closure duration (ECD) and in activating the alarm in case of drowsiness. We have demonstrated the validity of our Drowsy Driver Detection System in real driving conditions. We have tested both, driver with glasses and without glasses.   The results of the two tests (Fig. 14, Fig. 15) emphasize the robustness of our system: Despite the wear of the eyeglasses, the system was not influenced and gave an accurate result.

CONCLUSION AND FUTURE WORKS V.
This paper is a contribution from our part in the field of drowsiness detection by developing a system using driver's video analysis to detect drowsiness. A supervised method using WNC is proposed. The method gives good results applying it on video sequences containing 60 different drivers and reached 97% of correct classifications.
In the aim of improving this work, we intend to add an eye blinks detection system thanks to a high frame rate camera (whose frame rate can reach 200fps) for blinks characterization. Also, in order to obtain a highly reliable automatic drowsiness detector, incorporates certain facial expressions other than blinks, such as, head movements and the estimation of the driver's line of sight. A warning signal is triggered if his look is detached from the road for a long time.