Road signs detection using voila jone's algorithm with the help of opencv
1. GERMAN ROAD SIGN DETECTION
Project Supervisor:
Farah Jamal Ansari
Team Members:
Mohd Talha
Mohd Salim
Mohd Talib
Mohd Talib Akhtar
Objective: To detect German road sign by implementing Viola-
Jones Algorithm with the help of OpenCV.
2. ♔
♖
♗ ♘
♙
♜
♛
1
2
34
5
6
C H A P T E R 3
ANALYSIS INTRODUCTION
2.2 WHY IS THE PROJECT 1.1 MOTIVATION
1.2 BACKGROUND
C H A P T E R 2
2.1 WHAT IS THE
RPOJECT?
1.3 CONTRIBUTION
1.4 OUTLINE OF THE
PROJECT
CONTENTS
C H A P T E R 1
3. INTRODUCTION
•In this project we are going to detect road
signs
•We are going to use OpenCV Software ,
viola-jones algorithm & python
programming language.
4. MOTIVATION
As we are living in the
era of technology so
we want to do a
project on the latest
technology available in
the market. We
research multiple
websites for the
project and found that
face detection is very
popular and intriguing
topic.
we want to do
something different
than face detection so
we consult with our
project supervisor and
decided to work on
road sign detection
given that it is real-life
problem and can be
solved using by
modern computer
vision. Equally we can
learn something new
while working on the
project.
5. BACKGROUND
In 1960s, the first
semi-automated
system for facial
recognition to locate
the features(such as
eyes, ears, nose, and
mouth) on the
photographs.
In 1970s, Goldstein
and Harmon used 21
specific subjective
markers such as hair
color and lip
thickness to
automate the
recognition.
In 1988, Kirby and
Sirovich used
standard linear
algebra technique,
to the face
recognition.
In 2001, Paul viola
and Michael Jones
comes with a idea
of the first object
detection framewo
rk to provide
competitive object
detection rates in
real-time. And
introduced an
algorithm known
as Viola-Jones
Algorithm.
6. OUTLINE OF THE
PROJECTThe first process
was to read the
sample of the sign
image of an image
or read the sample
of the sign image
that was stored in
OpenCv.
There were
hundreds of Haar
features on an image
and on a different
scale efficiently used
Integral Image. the
integration adds
small units
simultaneously. In
this case the small
units were pixel
values.
AdaBoost combines
many weak classifiers
to create a powerful
classifier. By
combining some
AdaBoost classifiers as
filter circuits that were
efficient enough to
classify the image
area.
The next stage was
cascade classifier. The
order of filters on the
cascade was
determined by the
weight given
AdaBoost.
The last stage was showed the
object of the sample image that
has been detected sign or not–
sign.
7. CONTRIBUTIONS
The contributions of our work are given
below:
To train the OpenCV to detect German road signs in
still images by implementing Viola-Jones algorithm.
To use OpenCV to detect German road signs in 600
images consisting of 300 sign and 300 non sign still
images.
8. WHAT IS THE PROJECT ?
Road sign detection is a
technique employed to
distinguish a Road sign
from the rest of the
background of the
image.
We are going to use 600
sign images to train
OpenCV with the help
Viola-Jones Algorithm &
python language, So it
can detect road signs.
We are going to use:
•OpenCV Software.
•Viola-Jones Algorithm.
• Python Language.
•600 Sign Images.
9. VIOLA JONES ALGORIHM
The Viola–Jones object detection framework is the first object
detection framework to provide competitive object detection rates in real-time
proposed in 2001 by Paul Viola and Michael Jones. Although it can be trained to
detect a variety of object classes, it was motivated primarily by the problem
of face detection.
The characteristics of Viola–Jones algorithm which make it a good detection
algorithm are:
•Robust – very high detection rate (true-positive rate) & very low false-positive
rate always.
•Real time – For practical applications at least 2 frames per second must be
processed.
•Face detection only (not recognition) - The goal is to distinguish faces from non-
faces (detection is the first step in the recognition process).
10. VIOLA-JONES ALGORITHM
A computer program that decides whether an image is a positive image (face image) or negative
image (non-face image) is called a classifier. A classifier is trained on hundreds of thousands of
face and non-face images to learn how to classify a new image correctly. OpenCV provides us
with two pre-trained and ready to be used for face detection classifiers:
Haar Classifier
LBP Classifier
Both of these classifiers process images in gray scales, basically because we don't need color
information to decide if a picture has a face or not (we'll talk more about this later on). As these
are pre-trained in OpenCV, their learned knowledge files also come bundled with
OpenCV opencv/data/.
11. HAAR CLASSIFIER LBP CLASSIFIER
•Haar-like feature’s principle is based
on detection of features encoding of
some information about the class to be
detected.
•They are adjacent rectangles in a
particular position of an image.
•This classifier has high accuracy as
compare to the LBP cassifier.
•The Local Binary Pattern (LBP) is
a simple and efficient texture
operator, which labels the pixels of
an image by thresholding the
neighboring of each pixel, resulting
in a binary number.
•A Local Binary Pattern is called
uniform if the binary pattern
contains at most two bitwise
transitions from 0 to 1 or vice versa
when the bit pattern is traversed
circularly.
•This classifier has less accuracy as
compared to HAAR classifier but it
s faster that it.
12. HAAR CLASSIFIER
The haar classifier is a machine learning based approach, an algorithm created by
Paul Viola and Michael Jones; which (as mentioned before) are trained from many
positive images (with faces) and negatives images (without faces).
we are extracting two features. The first one focuses on the property that the region of the eyes is
often darker than the area of the nose and cheeks. The second feature relies on the property that
the eyes are darker than the bridge of the nose.
But among all these features calculated, most of them are irrelevant. For example, when used on
the cheek, the windows become irrelevant because none of these areas are darker or lighter than
other regions on the cheeks, all sectors here are the same.
13. INTEGRAL IMAGE
Integral image allows for the calculation of sum of all pixels inside any given
rectangle using only four values at the corners of the rectangle.
14. ADABOOST
when used on the cheek, the windows become irrelevant because none of these areas are
darker or lighter than other regions on the cheeks, all sectors here are the same.
So we promptly discard irrelevant features and keep only those relevant with a fancy
technique called Adaboost. AdaBoost is a training process for face detection, which selects
only those features known to improve the classification (face/non-face) accuracy of our
classifier.
In the end, the algorithm considers the fact that generally: most of the region in an image is a
non-face region. Considering this, it’s a better idea to have a simple method to check if a
window is a non-face region, and if it's not, discard it right away and don’t process it again.
So we can focus mostly on the area where a face is.
15. CASCADING
Each classifier is composed of Haar feature extractors (weak classifiers). Each Haar feature
is the weighted sum of 2-D integrals of small rectangular areas attached to each other. The
weights may take values ±1 examples of Haar features relative to the enclosing detection
window. Gray areas have a positive weight and white areas have a negative weight. Haar
feature extractors are scaled with respect to the detection window size.
The cascade architecture is very efficient because the classifiers with the fewest
features are placed at the beginning of the cascade, minimizing the total required
computation. The most popular algorithm for features training is AdaBoost.
16. What is OpenCV?
OpenCV (Open Source Co
mputer Vision) is a library
of programming functions
for real time computer
vision. It is developed
by Willow Garage, which is
also the organization
behind the famous Robot
Operating System (ROS).
Why we choose OpenCV?
•Speed: OpenCV is just a
library of functions written in
C/C++.
•Resource Needed: OpenCV
programs only require ~70mb
of RAM to run in real-time.
•Cost: OpenCV is Free.
•Portability: In OpenCV any
device that can run C, can in
all probability, run OpenCV.
17. Why we choose this
project?
we want to do a project
on the latest technology
available in the market.
We research multiple
websites for the project
and found that face
detection is very popular
and intriguing topic, but
we want to do something
different than face
detection so we consult
with our project
supervisor and decided to
work on road sign
detection
Use in offices : Facial
recognition software
can accurately track
time and attendance
without human error. It
keeps track of the
exact number of hours
an employee is
working.
Tighter security:
Facial biometric time
tracking allows you to
not only track
employees but also
add visitors to the
system so they can be
tracked throughout
the worksite. Access
can be denied to any
person not in the
system.
18. ANALYSIS
Each of these methods
signify the importance and
utility for different
applications. Since these
methods are progressive,
more and more
advancements are made
every day to achieve
accurate and true face
detection.
A rapid approach using
machine learning and
haarlike features are used
recently for fast detection
and reduce the likelihood
of computing huge
amount of data.
Since these methods are
progressive, more and
more advancements are
made every day to
achieve accurate and true
face detection. For
applications such as
employee details,
member details and
criminal record uses the
frontal views of the face.