Transcript Slide 1
Final Year Project Report
2006-2007
Martin Gallagher
4th Year Electronic Engineer
Development of a
Driver Alert System
for Road Safety
Today's Report
•
•
•
•
•
Initial Specification
Background
Development of Project
- Software and Hardware
Development Issues
Results
Initial Specification
1. Purpose of project to investigate the
development of a system for detecting
the likelihood that the driver is about to
fall asleep
1.1 Sound alarm should this occur
Initial Specification
2. System primarily based on a small
camera based on the dashboard
2.1 It will be used to “track” drivers eyes
2.2 Attempt to determine if driver falls asleep
Initial Specification
3. Enhance reliability of the system by
making use additional sensor devices.
4. Initial algorithm development will be
carried out in MATLAB, with the intention
of porting some of the functionality to a
suitable embedded system.
Initial Proposal
Using MATLAB as a development tool
develop the basic functionality of the
system with the Hough Transform as the
basis for the detection of the eyes.
Description of Hough Transform
It is a method used to detect shapes in a
digital image. There are a number of
versions used to detect different shapes
but all follow the same core principals
The circular version was used in this
situation to detect the iris in the eye
Description of Hough Transform
Description of Hough Transform
The Circular Hough Transform
uses the intersection of right
cones to accumulate votes at a
point.
This accumulation of votes
corresponds to a centre point.
From this circular objects can
be extracted from images.
Software
Using a transform
available on the
Mathworks website
I have been able to
detect circular
areas of interest in
pictures and test
video
Raw Image with Circles Detected (center positions and radii marked)
50
100
150
200
250
300
350
400
450
100
200
300
400
500
600
3-D View of the Accumulation Array
400
300
200
100
0
0
250
50
200
150
100
100
150
50
0
Problems with software
• This picture shows
both eyes being
detected and are
highlighted in blue.
• Lighting plays a
major role as
shadow can
causes error in the
detection process
Eye Detection Algorithm
Once the Hough transform has been
applied there are usually a surplus of
circles detected.
Filtering out these surplus due to geometric
characteristics of eyes yields an
increased stability in performance
Pick Eyes Example
Step 1.
Capture Frame
Pick Eyes Example
Step 2.
Crop Frame
Pick Eyes Example
Step 2.
Crop Frame
Pick Eyes Example
Step 3.
Convert Frame to Grayscale
Pick Eyes Example
Step 4.
Adjust Frame to improve
image for processing
Pick Eyes Example
Step 5.
Apply Hough
Transform to frame
Pick Eyes Example
Step 5.
Apply Hough
Transform to frame
Circles are detected and shown in this
image
Pick Eyes Example
Step 6.
Apply pickEyes
function to frame
Pick Eyes Example
Step 6.1 These
Remove
are pixels
points
close
with
to the
white end of thehigh
spectrum
index values.
(255)
As this is image is quite dark, with the
highest index value of 75. No points are
removed at this stage.
Pick Eyes Example
Step 6.2
Match points of similar
radius
Pick Eyes Example
Step 6.3 Apply Distance Condition
Remove sets that lie outside
Maximum width and inside Minimum
Pick Eyes Example
Step 6.4
Apply angle test to
points
Remove points that lie at a greater
angle to the X axis than specified.
Pick Eyes Example
Step 6.5 Remaining points should be:
1.Similar in Radius
2.Within specified distance limits
3.Within specified angle limits
Pick Eyes Example
Step 6.6 Original Image highlighted
Current
Image
frame
Lower
Threshold
Eyes
Upper
Threshold
Next
Image
frame
Hardware
• Camera
• Pressure Sensors
1. FSR’s
2. ADuC 8031 Development Board
Camera
The camera used is a
standard CMOS
desktop web cam.
The resolution of
640x480 pixels was
chosen so as to get
adequate images and
allow for speedy
computation.
Pressure Sensors
Diagram from FSRguide
These will be used to
monitor the drivers grip
on the steering wheel.
The Force Sensitive
Resistors consist of 2
flexible substrates, with
printed electrodes and
semiconductor material
sandwiching in a spacer
substrate.
Pressure Sensors
The conductance is
plotted vs. force (the
inverse of resistance
1/r).This format allows
interpretation on a linear
scale. For reference, the
corresponding
resistance values are
also included on the
right vertical axis.
Diagram from FSRguide
Pressure Sensor Circuit
The FSR’s are arranged in
a voltage divider circuit.
This involved placing the
FSR’s in series with a
known resistance and
measuring the voltage
across it while the FSR’s
vary with pressure.
9V
FSR1
FSR2
100Ω
V
ADuC 8031
• The Analog Devices product, the
ADuC831 was chosen for this project as it
provided the embedded system
functionality described in the initial
specification. Its core consists of an 8052
Microcontroller which provides the
necessary processing power to compute
the demands made on it by the
requirements of this project.
ADuC 8031
• The ADuC 8031 is used to sample the
data coming from the pressure sensors.
The data is sampled and transferred to the
PC via the serial port.
• The signal is converted to 12bits . This is
too sensitive so the data is adapted to give
25 levels, approximately 0-2.5v. The ASCII
value of the levels is sent to MATLAB to
determine Driver grip of the steering wheel
Results
• Using the MATLAB environment to
integrate the components of this project I
have been able to develop a system that
monitors both visual clues from the Driver
and auxiliary data from pressure sensors.
• The program processes a frame of image
data and numerous pressure sensor
readings per loop.
Results
• This allows system to grade the data and
trigger a response if the data values fall
below defined threshold levels.