Proc. of Int. Conf. onMultimedia Processing, Communication& Info. Tech., MPCIT
Fatigue Detection Alarm System Shreenath Acharya, Deepak Rai, K P Sanjay Rao, Srijith VJ, Nithin K Department of Information Science and Engineering, St. Joseph Engineering College, Vamanjoor, Mangalore Email: {shree.katapady,drai005,kpsanjayrao07,srijuvj}@gmail.com,
[email protected]
Abstract— The driver fatigue resulting from sleep disorders or lack of sleep is an important factor responsible for number of accidents. In this paper, we discuss how the proposed system detects the fatigue level of the driver. The main aspect is to keep the driver safe and prevent accidents by frequently measuring the fatigue level. The proposed Fatigue Detection Alarm System (FDAS) helps to reduce the above causes by notifying the driver about his drowsiness via an alarm procedure. The system also works well under reasonable light conditions. Database stores information about the driver and it keeps track of the duration of drive and the number of times driver has fallen asleep in that duration. Finally it generates a report which provides the drowsiness status of the driver. Keywords— Fatigue, Driver, Alarm, FDAS
I. INTRODUCTION Driver fatigue is a significant factor in a large number of vehicle accidents. Recent statistics estimate that annually 1,200 deaths and 76,000 injuries can be attributed to fatigue related crashes. The development of technologies for detecting or preventing drowsiness at the wheel is a major challenge in the field of accident avoidance systems. Because of the hazard that drowsiness presents on the road, methods need to be developed for counteracting its affects. The various ways to detect the fatigue of a person are by measuring the heart beat rate, brain activities, eye movements, etc. Measuring fatigue based on the parameters like heart beat rate or brain activities will require several wires attached to the driver which will result in an uneasy driving environment. Driver’s fatigue can also be determined by monitoring the car movements through accelerometer and braking patterns but this does not yield the intended result efficiently. The best parameter to measure the fatigue level is by monitoring the eye movements of the driver. The monitoring of the eyes is believed as a way to detect the drivers fatigue in order to avoid a car accident. Thus, the focus will be placed on designing a system that will accurately monitor the open or closed state of the driver’s eyes in real-time. Detection of fatigue involves a sequence of images of a face, and the observation of eye movements and blink patterns. The analysis of face images is a popular research area with applications such as face recognition, virtual tools and human identification security systems. The proposed system is focused on the localization of the eyes, which involves looking at the entire image of the face and determining the position of the eyes by a self developed image-processing algorithm. Once the position of the eyes is located, the system is designed to determine whether the eyes are opened or closed, and detect fatigue. Many of the existing systems make use of MATLAB for image processing using which it will be able to capture 2-4 frames per second. But the proposed system i.e. FDAS makes use of OPENCV using which we are able to capture 8-10 frames per second thereby leading to more precise and accurate results. The system provides desired results even for slight head movements, provides features like volume adjustment and alarm tone selection for the drivers. Sensitivity to detect the eyes can also be adjusted by the driver based on the lighting conditions. DOI: 03.AETS.2013.4.61 © Association of Computer Electronics and Electrical Engineers, 2013
The rest of the paper is organized as follows. Section II specifies the related work. Section III describes the architecture of FDAS. Section IV represents the various activities that are performed with a flow chart, pseudocode and a Report Window for detecting the driver’s performance. Section V depicts result analysis, Section VI provides the benefits and limitations of our system. Finally section VII draws the conclusion. II. RELATED WORK Yu-Shan Wu et al. [1] proposed a system to detect the drowsiness by monitoring the eye state. Initially Haarlike features and Adaboost classifiers are applied to find out the face. Then the eyes are located using the SVM (Support Vector Machine) classifier. The LBP (Local Binary Pattern) features are calculated for the left eye and they are put into the SVM classifiers to recognize the eye state. The system was found to be effective in recognizing the eye state and also helpful in determining fatigue of the driver. Shabnam Abtahi et al. [2] proposed a system where face gestures like yawning, eye-tiredness and eyemovements are used to detect the drowsiness. The yawn is detected by first taking a series frames and then detecting the eyes and mouth. The eye images are not processed to measure the fatigue but it is used to localize the position of mouth. The geometrical features of mouth are then used to detect the yawn. Based on the yawn, drowsiness was detected and regular alarms are triggered. T. D'Orazio et al. [3] designed a system to detect driver’s fatigue, inattention and lack of sleep. They utilized neural classifiers to detect the eyes in the sequence of images. The candidate regions to contain eyes are determined by using the geometrical information of iris and its symmetry. The system was tested on subjects with different eye colours and some of them with spectacles and resulted in efficient output. E. Rogado et al. [4] described a method for detecting early signs of fatigue. The detection of the fatigue was based on the analysis of few biological and environmental variables. The main parameters of consideration for fatigue detection are Heart Rate Variability (HRV), steering-wheel grip pressure, as well as temperature difference between the inside and outside of the vehicle. The Hardware system developed acquires these parameters and the designed algorithms detect beats thereby calculating HRV. T. Tinoco De Rubira [5] followed an approach to detect the fatigue based on frequent eyes blinking, heavy eyelids and frequent yawning. In this system, a video camera records continuously focusing on the driver and the image frame of face is extracted. SVM (Support Vector Machine) is used to classify the image to be fatigued or not. The output of this is either +1 or -1 which is given as an input to a weighted running sum which increases rapidly when the classification output is +1 and decreases slowly with -1 outputs. The frequency at which the sum goes above a specified threshold is used to track the fatigue level of a driver. Vidyagouri et al. [6] have proposed a system of measuring drowsiness using the fusion of yawning and eyelid movements. They utilized harr classifiers to parallelly detect both the eyelid and mouth regions of the face. The use of only lower lip and a single eye by them resulted in higher performance and lesser false detection. Vikas Yadav et al. [7] have developed a system for detection of drivers drowsiness using the video recording of the driver’s image after removing the lower half of the face. They utilized Sobel Edge filter for noise removal, the upper half portion for locating the eye and measured the energy values of every frame for the detection of the drowsiness. Mandalapu Saradadevi et al. [8] have presented a method for locating and tracking the driver’s mouth based on images using the cascade of classifiers. They trained the mouth and yawning images using SVM to efficiently detect and alert the fatigue to facilitate safe driving. Daniel Haupt et al. [9] have designed a system for direct measurement from a car Can bus. They processed all the data based on assumptions related to the driver’s behaviour. The pre-processed data are transformed to frequency domain using the orthogonal transforming techniques like STFT, CWT and DWT for feature extraction to recognize the drowsiness level of the driver. Caifeng Shan et al. [10] have presented an enhanced version of LBP mechanism called Booted-LBP to extract the most descriminant LBP features. They adopted AdaBoost for learning the most discriminative LBP features from a large LBP feature pool and utilized the SVM classifiers for obtaining the best recognition performance. Muhammad Fahad Khan et al. [11] have developed a computer vision method that can monitor the alertness of drivers in order to prevent people from falling asleep at the wheel. The image is captured using a web camera and face detection is carried out using Viola and Jones algorithm. The identified search areas are nose holes, mouth, eyes and pupils. Integrodifferential operator algorithm is used for finding Eigen pupil and it is resized according to the size of the newly found eye region in order to detect the pupil as quickly as possible. The status of eye was identified using the distance between x-coordinates of the intensity changes of the eyes. 99
S. P. Bhumkar et al. [12] have proposed an ARM7 based approach for making the car more intelligent and interactive for avoiding accidents on roads. This system provides a real-time online safety prototype that controls the vehicle speed under driver fatigue. The system utilizes real time sensors like gas, eye blink, alcohol, fuel, impact sensors, a software interface with GPS and Google Maps APIs for location detection. III. ARCHITECTURE OF FDAS The different components of the FDAS are camera, processing unit, GUI and the alarm system. Fig. 1 describes the major components of FDAS.
Figure 1. Architecture of FDAS
A. Camera The FDAS consists of a webcam faced in front of the driver, approximately 30-40 cm away from the face to capture the video of the driver’s face. The camera positioning must meet the following criteria: 1. The driver’s face takes up the majority of the image. 2. The driver’s face is approximately in the centre of the image. B. Processing Unit Image frames are captured from the video that are continuously recorded by the camera. These images are processed to detect if the drivers eye are closed or not. If the driver’s eyes are found to be closed in the continuous set of frames then we consider that driver fatigue level has reached to a dangerously high level. This is when the alarm system is activated by the processing unit to wake up the driver. C. GUI GUI is used by the driver to control the system. It provides system on/off switch along with several other options like setting alarm volume, alarm tone and other warning messages to be displayed on the screen. D. Alarm System Alarm is triggered by the system when the drowsiness of the driver is dangerously high. Alarm sound should be loud enough to wake up the driver. Alarm can be stopped by the driver b clicking on a stop button. IV. ACTIVITIES PERFORMED The primary activity performed to detect the drowsiness status of the driver is manual positioning of the camera by the driver. Fig. 2 shows the flow of the various activities that are performed in the FDAS. The position is said to be set, if both the face and eye are detected by a rectangular box. The driver then logs into the system and can switch on the process. After getting the video of the face as input from the webcam, pre-processing is first performed by binarizing the image. The top and sides of the face are detected to narrow down the area of the existence of the eyes. Once the face is detected, status of the eyes can be found. If the eyes are found to be closed for more than 15 consecutive frames then the drowsiness of the driver is assumed to be dangerously high and an alarm system is activated to wake up the driver. If the eyes are found to be open in any of the intermediate frames then the cycle is repeated A. Pseudocode for FDAS int Eye_Status() { //Acquire_image 100
//Binarization //Face_Top&Eye_Detection if(eye_closed) then return 1 else return 0 endif } main() { Iclosed_count=0 while(Iclosed_count