MAT-LAB based Warning System for Fatigue Driving Driver
A B S T R A C T (See below for source code)
In order to prevent fatigue driving, through many studies of the driver's eyes, a MAT-LAB ((matrix laboratory) is a multi-paradigm numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Java, and Fortran. )- based fatigue driving detection system is designed and simulated based on image processing technology.
The system samples sequences of images with an camera and its built-in light source, and then locates the eye-point in the image and tracks it, calculates the area of the eyes, finally makes judgment on whether the driver is driving with fatigue or not and warns him according to the judgment.
The simulation test result shows that the recognition ratio of shallow fatigued drivers is 81.5%, and the recognition ratio of moderate fatigued drivers and deep fatigued drivers is 100%.
About Fatigue Driving
It is an important factor for causing accidents in traffic that the driver's fatigue. Many countries are engaged in research in this area actively now, there has been the fatigue detector that can be divided into contact and non-contact types in the market, the principles are as follows:
Objective of the Fatigue Detection
How to effectively monitor and prevent driver fatigue driving has much real significance to reduce traffic accidents and personnel mortality . After Comparison of the above fatigue alarm, the system through many studies of the driver's eyes, the research work in this paper include the four parts, i.e.,
Every user may not be skilled at handling the interfaces. Hence the product that we developed used a simple and easy to use GUI Input from user is via keyboard.
The minimum requirements that are required to interact with a simple GUI are well enough to support this product.
This product is developed in Windows XP environment using MATLAB. The toolboxes used to develop this product are Image Processing Toolbox and Computer Vision System Toolbox. This project is completely implemented using these two tool boxes.
Hardware & Software Requirements
Introduction to MATLAB
MATLAB (Matrix Laboratory) is an interactive software system for numerical computations and graphics. As the name suggests, MATLAB is especially designed for matrix computations: solving systems of linear equations, computing Eigen values and eigenvectors, factoring matrices, and so forth. In addition, it has a variety of graphical capabilities, and can be extended through programs written in its own programming language.
MATLAB is designed to solve problems numerically, that is, in finite-precision arithmetic. Therefore it produces approximate rather than exact solutions. It is mathematical software that offers an Integrated Development Environment (IDE) with its own programming language, called M and is available for UNIX, Windows Apple Mac OS X platforms. It was created in the seventies by Cleve Moler, chairman of the computer science at the University of New Mexico. He tried to design a new language able to use LINPACK and EISPACK without any knowledge about Fortran.
This software was quickly expanded to other universities and was really welcome by the applied mathematics community. In the eighties Jack Litte, an engineer, joined Moler, because he realized it had a tremendous commercial potential. They wrote MATLAB in C, and founded Math works in 1984.MATLAB then was turned into a language for technical computing of high performance. It integrates visualization, computation and an easy-to-use programming environment where problems and solutions are expressed in familiar mathematical notation.
The typical uses of MATLAB are:
General purpose commands in MATLAB
Introduction to M-files
Scripts and Functions:
MATLAB can also be used as a programming language. To program in MATLAB you simply create a text file containing MATLAB commands exactly as you would type them interactively in the MATLAB window. The file may have any legal UNIX name, and should end with a .m extension. These files may be placed in the root directory, or a directory named MATLAB. (Any other directories would have to be explicitly added to the MATLAB path.) There are two types of m-files in MATLAB. One is called a script. This is simply a list of MATLAB commands with no header.
The other type is a function. Functions have a header line that may look something like: Function y=fun1(x) Functions may be passed arguments, and may return results. To invoke a script or a function simply type the filename (without the .m extension) into the MATLAB window. Also the m-files that are created are included in the help listing. If we perform a help on a specific m-file, help will return any comments which appear before the first line of actual code in the m-file.
This section introduces general techniques for ending errors in M-files. Debugging is the process by which you isolate errors in the program or code. Debugging helps to correct two kinds of errors:
1. Syntax errors
For example omitting a parenthesis or misspelling a function name.
2. Run-time errors
Run-time errors are usually apparent and difficult to track down.
Correcting an M-file:
To correct errors in an M-file, we can adopt any of the following ways,
Thus the MATLAB has many utilities that can be used for efficient tasking. It provides the user with many toolboxes that acts as a guide in many areas.
The below links contains abstract, table of contents, documentation, power-point presentation and source code of Fatigue Driving Driver.