Professional Documents
Culture Documents
Driver Monitoring System1
Driver Monitoring System1
Driver Monitoring System1
Submitted By –
Saurabh Kumar
Swapnil Verma
Richa Kothari
Siddhi Datri
Kirti Rawat
RAM LAL ANAND COLLEGE
(University of Delhi)
SUBMITTED BY –
Saurabh Kumar (20058570035)
Richa Kothari (20058570028)
Swapnil Verma(20058570042)
Siddhi Datri (20058570055)
Kirti Rawat (20058570019)
6. SOFTWARE TESTING
6.1 SOFTWARE TESTING
FUNDAMENTALS
6.2 Test Case Design
6.2.1 Test Case-1
6.2.2 Test Case-2
6.2.3 Test Case-3
7. MAINTENANCE
7.1 Need For Maintenance
7.2 Categories of Software Maintenance
8 . LIMITATIONS OF SOFTWARE
8.2 Future Improvement
9 . CONCLUSION
10. BIBLIOGRAPHY
LIST OF FIGURES:
Fig1: Different system to detect drowsiness
Fig:2 V model
Fig3 use case diagram
Fig4: 0 level DFD
Fig5: level 1 DFD
Fig6: level 2 DFD
Fig7 Risk Management
Fig 8: design engineering
LIST OF TABLES
Table:1 Function point Estimation
Table:2 Complexity Adjustment Factor
Table: 3 Risk table
Table: 4 Timeline chart
Table: 5 Test case 1
Table: 6 Test case 2
Table: 7 Test case 3
Table: 8 Test case 4
1.1) INTRODUCTION
The name of the project is Driver Monitoring System , It is a car
safety technology which helps prevent accidents caused by the driver getting
drowsy. According to surveys by the World Health Organization (WHO) on
road accidents, about 1.3 million people die every year on road highways in
2018. Also, a survey report and research provided by the National Highway
Traffic Safety Association (NHTS) on road accidents, about 795 people die from
drowsy-driving and 91,000 people die from motor vehicle crashes involving
drowsy driving in 2017. So, the drowsy driver is considered as one of the
factors for road accidents. Likewise, the researchers show that after 2 to 3
hours, the driver is exhausted and the steering efficiency is also reduced.
Likewise, in the early afternoon, after getting lunch and at midnight, there is a
larger risk. So, in simple terms, drowsiness is defined as a disorder in which a
person feels asleep during active hours. Thus, in this program i.e. Driver
Drowsiness Detection System helped us to research three types of people who
are suffering from drowsiness: they are categorized as awake, rapid eye
movement (REM), and non-rapid eye movement (NREM). Similarly, persons
suffering from non-rapid eye movement are subdivided into three stages. They
are listed below:
1.2)PROBLEM STATEMENT
Major studies have suggested that around 20% of all road accidents are
fatigue-related. Drowsy Driving can be extremely dangerous, a lot of road
accidents are related to the driver falling asleep while driving and subsequently
losing control of the vehicle. However, initial signs of fatigue and drowsiness
can be detected before a critical situation arises. Driver Monitoring System is a
car safety technology that helps to prevent accidents caused by drivers getting
drowsy. In this project, we aim to design and develop a driver monitoring
system and use image processing for detecting whether the driver is feeling
fatigued or sleepy, using image processing we detect the eyes of the person
and detect how much time the eyes are closed the driver if the eyes are closed
for greater than 20 sec the speaker included in the system will sound an alert
thus alerting the driver and waking him up, preventing an accident.
The current system in use can detect fatigue and drowsiness, there is no such
functionality for the detection of yawning and head-nodding which will be
helpful to alert the driver in advance about the risk of an accident. Hence, we
decided to add these features to our developed app.
1.3) PROCESS MODEL
A process model is an abstract representation of the development process.
The main motive of creating a process model is to get guidance for controlling
and coordinating the tasks to achieve the end product and objectives as
effectively as possible. After considering all the requirements of this project,
we decided to continue with V-Model.
The V-Model is an extension of the waterfall model and is based on the
association of a testing phase for each corresponding development stage. This
is a highly-disciplined model and the next phase starts only after the
completion of the previous phase. This model is also known as the Verification
and Validation model.
The different Verification phases of the V-Model, are as follows:-
Requirement Analysis
This is the first phase in the development cycle where the product
requirements are understood from the customer’s perspective. This phase
involves detailed communication with the customer to understand his
expectations and exact requirement.
System Design
Once the product requirements are clear and detailed, the design of the
complete system is done. The system design will have the understanding and
detailing of the complete hardware and communication setup for the product
under development.
Architectural Design
In this phase, the detailed internal design for all the system modules is
specified, referred to as Low-Level Design (LLD). The design must be
compatible with the other modules in the system architecture and the other
external systems. These unit tests can be designed at this stage based on the
internal module designs.
Coding Phase
The actual coding of the system modules designed in the design phase is
taken up in the Coding phase. The best suitable programming language is
decided based on the system and architectural requirements. The coding is
performed based on the coding guidelines and standards. The code goes
through numerous code reviews and is optimized for best performance before
the final build is checked into the repository.
Unit Testing
Unit tests designed in the module design phase are executed on the code
during this validation phase. Unit testing is the testing at the code level and
helps eliminate bugs at an early stage.
Integration Testing
System Testing
System testing is directly associated with the system design phase. System
tests check the entire system functionality and the communication of the
system under development with external systems. Most of the software and
hardware compatibility issues can be uncovered during this system test
execution.
Acceptance Testing
2.1)REQUIREMENT ANALYSIS
The basic function of requirement analysis is that it translates the ideas
in the mind of the clients into a formal document. Thus the output of
this phase is a set of precisely specified requirements which are
complete and consistent. This document is called Software
Requirement Specification.
2.1.1) Purpose:
Real Time Drowsiness behaviours which are related to fatigue are in the form
of eye closing. head nodding or the brain activity. Hence, we can either
measure change in physiological signals, such as brain waves, heart rate and
blinking to monitor drowsiness or consider physical changes such as sagging
leaning of driver's head and open/closed state of eyes. The former technique,
while more accurate, is not realistic since highly sensitive electrodes k have to
be attached directly on the driver body and hence which can be annoying and
distracting to the driver. In addition, long time working would result in
perspiration on the sensors, diminishing their ability to monitor accurately. The
second technique is to measure physical changes (i.e. open/closed eyes to
detect fatigue) is well suited for real world conditions since it is non-intrusive
by using a video camera to detect changes. In addition, micro sleeps that are
short period of sleeps lasting 2 to 3 minutes are good indicators of fatigue.
Thus, by continuously monitoring the eyes of the driver one can detect the
sleepy state of driver and a timely warning is issued. Driver in-alertness is an
important resulting from sleep deprivation or sleep disorders and is an
important factor in the increasing number of the accidents on today's roads.
Drowsy driver warning system can form the basis of the system to possibly
reduce the accidents related to driver's drowsiness. In a year there were 824
fatalities recorded in NHTSA's FARS database that were drowsy driving-related.
According to the results of the study presented at the International Symposium
on Sleep Disorders, fatigue of drivers is responsible for30% of road accidents[1]
Different techniques are used in driver-fatigue monitoring systems. These
techniques are divided into four categories. The first category includes
intrusive techniques, which are mostly based on monitoring biomedical signals,
and therefore require physical contact with the driver.
The second category includes non-intrusive techniques based on visual
assessment of driver's bio-behaviour from face images. The third category
includes methods based on driver's performance, which monitor vehicle
behaviour such as moving course, steering angle, speed, braking etc. Finally,
the fourth category combines techniques from the above mentioned three
categories. The computer vision based techniques from the second category
are particularly effective, because observing the facial features and visual the
drowsiness can be detected by bio-behaviour such as head position, gaze, eye
openness, eyelid movements, and mouth openness Proposed algorithm is
based on computer vision method. The main focus is on the detection of blinks
by estimating the EAR(Eye aspect Ratio). This is achieved by monitoring the
eyes of the driver throughout the entire video sequence. An IR camera will be
used for capturing live video of driver eyes in all light conditions and frames
will extracted for image processing scheme of video capturing.
2.1.2) Objective:
Driver monitoring system is a car safety technology which helps to save the life
of the driver by preventing accidents when the driver is getting drowsy.
The main objective is to first design a system to detect driver’s drowsiness by
continuously monitoring retina of the eye.
The system works in spite of driver wearing spectacles and in various lighting
conditions.
To alert the driver on the detection of drowsiness by using buzzer or alarm.
Speed of the vehicle can be reduced.
Traffic management can be maintained by reducing the accidents.
• Actors: Actors are the type of users that interact with the system.
• System: Use cases capture functional requirements that specify the intended
behaviour of the system.
• Goals: Use cases are typically initiated by a user to fulfil goals describing the
activities and variants involved in attaining the goal.
Use cases are modelled using unified modelling language and are represented
by ovals containing the names of the use case. Actors are represented using
lines with the name of the actor written below the line. To represent an actor's
participation in a system, a line is drawn between the actor and the use case.
Boxes around the use case represent the system boundary.
• For each category of users, create a user profile. This includes all roles played
by the users relevant to the system.
• Identify significant goals associated with each role to support the system. The
system’s value proposition identifies the significant role.
• Create use cases for every goal associated with a use case template and
maintain the same abstraction level throughout the use case. Higher level use
case steps are treated as goals for the lower level.
3.Project Management
Project management is the process of leading the work of a team to achieve all
project goals within the given constraints.[1] This information is usually described in
project documentation, created at the beginning of the development process. The
primary constraints are scope, time, and budget.[2] The secondary challenge is
to optimize the allocation of necessary inputs and apply them to meet pre-defined
objectives
Questions VAFs
Does the system require reliable backup and 0
recovery?
Are specialized data communications required to 5
transfer
information to or from the application?
Are there distributed processing functions? 0
Is performance critical? 2
Will the system run in an existing, heavily utilized 3
operational
environment?
Does the system require on-line data entry? 0
Does the on-line data entry require the input 0
transaction to be
built over multiple screens or operations?
Are the ILFs updated online? 3
Are the inputs, outputs, files, or inquiries complex? 2
Is the internal processing complex? 3
Is the code designed to be reusable? 3
Are conversions and installations included in the 0
design?
Is the system designed for multiple installations in 0
different
organizations?
Is the application design to facilitate change and for 5
ease of use by
the user?
VALUE ADJUSTMENT FACTOR (VAFs) = Σfi = 30
Now ,
CAF(Complexity Adjustment Factor) = 0.65 + (0.01 * Σfi)
=0.65+ (0.01*26)
=0.65+ (0.26)
=0.91
Table:2 Complexity Adjustment Factor
EXTERNAL 1 7 7
INPUT
EXTERNAL 2 7 14
OUTPUT
EXTERNAL 5 6 30
ENQUIRY
INTERNAL 0 10 0
LOGIC FILES
EXTERNAL 0 10 0
INTERFACE FILES
TOTAL=51
1. Lack of skills :
To improve the performance of software, a number of practices are
encouraged that serve to control certain risks in the development
process, including a lack of essential skills and knowledge related to
the application domain and system development process.
2. App Crash:
A app crash itself is not crucial, but rather the loss of data will result
in not being able to deliver the output to the customer.
3. Less friendly interface:
The app in its very initial stages can be a little bit less friendly to the
user. This can decrease the interest of the user and belief to use the
app . As we all know the major requirement of the app is making it as
simpler and easy to handle as possible.
4. Requirement changes:
It can occur due to changes in user requirement, increased
understanding of the stakeholders’ needs, or availability of new
technologies.
RISK TABLE:
Table: 3 Risk table
Mitigation
The cost associated with a computer crash resulting in a loss of data is crucial.
A computer crash itself is not crucial, but rather the loss of data. A loss of data
will result in not being able to deliver the product to the customer. As a result,
the organization is taking steps to make multiple back-up copies of the
software in development and all documentation associated with it, in multiple
locations.
Monitoring
When working on the product or documentation, we should always be aware
of the stability of the computing environment they are working in. Any changes
in the stability of the environment should be recognized and taken seriously.
Management
The lack of stable-computing environment is extremely hazardous to a
software development team. In the event that the computing environment is
found unstable, the development team should cease the work on that system
until the environment is made stable again, or should move to a system that is
stable to use and continue working there.
Fig7 Risk Management
TIMELINE CHART:
Table: 4 Timeline chart
4 DESIGN ENGINEERING
The design phase of software development deals with transforming the
customer requirements as described in the SRS documents into a form
implementable using a programming language. The software design process
can be divided into the following three levels of phases of design:
1. Interface Design
2. Architectural Design
3. Detailed Design
ClosedEyeCount := 0
Localize eyes
ClosedEyeCount := ClosedEyeCount + 1
ClosedEyeCount := 0
End If
If ClosedEyeCount == 3 Then
Generate Alarm
ClosedEyeCount := 0
End If
End For
End
4.3) UI DESIGN:
5) IMPLEMENTATION :
SOFTWARE TESTING
“Testing is the process of executing the program with the intent of finding
errors.”
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design, and code generation.
Once source code has been generated, software must be tested to uncover as
many tests as possible before delivery to the customer.
2.Optimum range required When the separation among face and webcam
isn't at ideal range then certain issues are emerging. At the point when face is
away from the webcam (more than 70cm) at that point the backlight is
deficient to light up the face appropriately. So eyes are not identified with high
exactness which shows mistake in detection of laziness. This issue isn't
genuinely considered as progressively situation the separation between
drivers face and webcam doesn't surpass 50cm. so the issue never emerges.
Considering the above difficulties, the optimum separation go for
drowsiness identification is set to 40-70 cm.
6.Problem with multiple faces :-If more than one face is identified by the
webcam, at that point our framework gives an incorrect outcome. This issue
isn't significant as we need to recognize the laziness of a solitary driver.
We can compute the eye aspect ratio to determine if the eyes are closed.
Video segments whose average eye state point exceeds the threshold value
are detected as drowsy and the driver is alerted. The system can also be used
efficiently in locomotives and aero planes. It has a wide scope in the future and
can be improved to meet excellence.
In the future, this thesis will be a part of a safety system being used in vehicles
and help us save many lives. In near future, the project can be improved to
detect passenger faces and only focus on the driver's face. The vehicle
manufacturers can make this system inbuilt by using the dashboard screen and
speakers. The system can be effectively used in locomotives and flights for
detecting driver drowsiness. System can be improved to detect and track eyes
even if the driver is wearing shades.
10) BIBLIOGRAPHY: