You are on page 1of 16

Page |1

Vehicle License Plate Recognition System


using Neuro-Fuzzy Logic

Introduction:
LPR ( License Plate Recognition ) is an image -processing technology
used to identify vehicles license plates . This technology is used in
various security and traffic applications. For example, parking control
and access control , while the vehicle approaches the gate , the LPR
unit automatically " reads " the license plate registration number ,
compares to a predefined list and opens the gate if there is a match.
For stolen cars , a list of stolen cars or unpaid fines is used to alert on
a passing 'hot' cars . The 'black list' can be updated in real t ime and
provide immediate alarm to the police force.

Artificial Neural Network is exclusively used for license


plate recognition. However, the artificial neutral network usually needs
another training process , whenever new training samples are added or
deleted . It also needs to normalize the character size and retrain an
enormous volume of data. Especially, the image sizes of license plate
vary , it takes significant computing time for tuning the learning
algorithm.

We are going to Implement Neuro-Fuzzy Logic in this


application of recognizing numbers from the license number plate.

Neuro-Fuzzy Logic:
In the field of artificial intelligence, neuro-fuzzy refers to combinations
of artificial neural networks and fuzzy logic. Neuro-fuzzy hybridization

Deepak kumar Yadav (B.tech. Final Year)


Page |2

results in a hybrid intelligent system that synergizes these two


techniques by combining the human -like reasoning style of fuzzy
systems with the learning and connectionist structure of neural
networks . Neuro-fuzzy hybridization is widely termed as Fuzzy
Neural Network (FNN) or Neuro - Fuzzy System (NFS) in the
literature . Neuro-fuzzy system (the more popular term is used
henceforth) incorporates the human-like reasoning style of fuzzy
systems through the use of fuzzy sets and a linguistic model consisting
of a set of IF-THEN fuzzy rules. The main strength of neuro-fuzzy
systems is that they are universal approximators with the ability to solicit
interpretable IF-THEN rules.
Flow Chart :

3.1 Flow Chart diagram of VLNP recognition system

Deepak kumar Yadav (B.tech. Final Year)


Page |3

The needed step before finding the blobs is binarization of the image.
As the number plate finder needed the 255 colour bit for finding the
correct standard deviation it used the original image but the blob
analysis needs to analyze the photograph in only two colours , for
finding connected areas.

The method used for threshold also needs to look into the
total feature of the photograph as a little gray spots in a black image
has to be considered a high but same grey spot in a contrasting white
image needs to be low. Hence the cut-off also has to look into global
average at a same time the local average also has to be taken in to
consideration . For example like in a black photograph a grey point
surrounded by darker grey points needs higher value. This way the
threshold value cannot be same for the whole image and depends on
the point and its surrounding . For example -

4.1(a) Actual Image 4.1(b) Image after Binarization

In Boundary detection our main aim is to reduce complexity for


blob analysis and to locate probable number plate of the vehicle for
this we can do spatial filtering using Fuzzy- Logic.

Deepak kumar Yadav (B.tech. Final Year)


Page |4

Image After spatial Filtering

Next step in recognition process in Blob analysis . After spatial filtering


our image is reduced to a new image containing some blobs.These may
be characters or non characters , so we have to discard improper blobs .
As we already know the approximate size of characters using this prior
knowledge we can discard the blobs of improper size. Secondly we
know that the characters are located collectively in a same line or two
having approximately same x-y co-ordinate this addition information
can also help us to discard improper blobs present in the image.

image after discarding improper blobs


Remaining blobs are probably characters , if not they will be
detected further in semantic analysis . Next we have to perform is
Character Extraction . For this we make a blob matrix corresponding

Deepak kumar Yadav (B.tech. Final Year)


Page |5

to every blob and use it for matching it with already stored character
matrix .Character Recognition is done using neural network(Explained
Further).

A typical Indian Vehicle Number Plate consists of two alphabet


followed by a one digit or two digit number again a alphabet and a four
digit number. This property of a number plate can be used as semantic
analysis for removing non plate characters.

Fuzzy Logic:

Fuzzy logic is a form of multi-valued logic derived from fuzzy set


theory to deal with reasoning that is approximate rather than precise. In
contrast with binary sets having binary logic, also known as crisp logic,
the fuzzy logic variables may have a membership value of not only 0 or
1. Just as in fuzzy set theory with fuzzy logic the set membership values
can range (inclusively) between 0 and 1, in fuzzy logic the degree of
truth of a statement can range between 0 and 1 and is not constrained to
the two truth values {true (1), false (0)} as in classic propositional logic.
And when linguistic variables are used, these degrees may be managed
by specific functions, as discussed below.
The term "fuzzy logic" emerged as a consequence of the development of
the theory of fuzzy sets by Lotfi Zadeh.
Degree of truth :
Both degrees of truth and probabilities range between 0 and 1 and hence
may seem similar at first. However, they are distinct conceptually; truth
represents membership in vaguely defined sets, not likelihood of some
event or condition as in probability theory. For example, let a 100 ml
glass contain 30 ml of water. Then we may consider two concepts:
Empty and Full. The meaning of each of them can be represented by a
certain fuzzy set. Then one might define the glass as being 0.7 empty
and 0.3 full. Note that the concept of emptiness would be subjective and
thus would depend on the observer or designer. Another designer might

Deepak kumar Yadav (B.tech. Final Year)


Page |6

equally well design a set membership function where the glass would be
considered full for all values down to 50 ml. It is essential to realize that
fuzzy logic uses truth degrees as a mathematical model of the vagueness
phenomenon while probability is a mathematical model of randomness.

Using Fuzzy Sets for spatial Filtering:

When applying fuzzy sets to spatial filtering , the basic approach is


to define neighborhood properties that “capture ” the essence of what the
filters are supposed to detect . We are here considering fuzzy logic for
detecting boundaries between regions in an image.

We can develop boundary extraction algorithm based on simple


fuzzy concept: If a pixel belong to uniform region, then make it white
else make it black , where black and white are fuzzy sets.

Pixel neighborhood Intensity differences

where di denotes the intensity difference between the ith neighbor


and the center point (i.e., di = zi- z5, where z5 is intensity values).

IF d2 is zero AND d6 is zero THEN z5 is white

IF d6 is zero AND d8 is zero THEN z5 is white

IF d8 is zero AND d6 is zero THEN z4 is white

Deepak kumar Yadav (B.tech. Final Year)


Page |7

IF d4 is zero AND d2 is zero THEN z5 is white

Else z5 is black

Fuzzy Logic for Image enhancement

The table shows the gray levels values for an 8-bit image
associated with an array of 25 pixels. Use the enhancement function on
this image to recognize the pattern in the image.

An image R of m × n dimensions can be considered as an array


of fuzzy singletons, each with a value of membership denoting the gray
level in the image. The object of contrast enhancement is to process a
given image so that the result is more suitable than the original for a
specific application in pattern recognition We will demonstrate
enhancement of the image shown in the next figure. First, let's add a
function to Fuzzy Logic.

Deepak kumar Yadav (B.tech. Final Year)


Page |8

Now, we can plot the image.

In general, each membership value in fuzzy image will be modified to a


new membership value to enhance the image by the transformation
function Contrast. The Intensify Contrast operator applies a Contrast
function and intensifies the contrast between the gray levels in the
image. As the number of successive applications of the Intensity
Contrast increases, the slop of the curve gets steeper.

Deepak kumar Yadav (B.tech. Final Year)


Page |9

The graphical effect of this recursive transformation for a typical


membership function is shown in the next figure where the number of
successive applications of the Intensity Contrast function increases from
one to three.

Deepak kumar Yadav (B.tech. Final Year)


P a g e | 10

After the original image is processed by the Intensity Contrast operator


several times, it is undoubtedly more suitable for the subsequent pattern
recognition and classification. We hope you recognize the pattern in the
image. This is a letter A.

Neural Network:

Deepak kumar Yadav (B.tech. Final Year)


P a g e | 11

An artificial neural network (ANN), usually called "neural network"


(NN), is a mathematical model or computational model that tries to
simulate the structure and/or functional aspects of biological neural
networks.

It consists of an interconnected group of artificial neurons and


processes information using a connectionist approach to computation. In
most cases an ANN is an adaptive system that changes its structure
based on external or internal information that flows through the network
during the learning phase. Neural networks are non-linear statistical data
modeling tools. They can be used to model complex relationships
between inputs and outputs or to find patterns in data.

A ANN structure

Deepak kumar Yadav (B.tech. Final Year)


P a g e | 12

Character recognition using Neural Network:

Artificial Neural Network is the Character Recognition System. This


system is the base for many different types of applications in various
fields, many of which we use in our daily lives. Cost effective and less
time consuming, businesses, post offices, banks, security systems, and
even the field of robotics employ this system as the base of their
operations. Wither you are processing a check, performing an eye/face
scan at the airport entrance, or teaching a robot to pick up and object,
you are employing the system of Character Recognition.

Character Matrixes
A character matrix is an array of black and white pixels; the vector
of 1 represented by black, and 0 by white. They are created manually by
the user, in whatever size or font imaginable; in addition, multiple fonts
of the same alphabet may even be used under separate training sessions.
Creating a Character Matrix
First, in order to endow a computer with the ability to recognize
characters , we must first create those characters. The first thing to think
about when creating a matrix is the size that will be used.

Character matrix of two different fonts

Deepak kumar Yadav (B.tech. Final Year)


P a g e | 13

The network receives the 400 Boolean values as a 400-element


input vector. It is then required to identify the letter by responding with a
26-element output vector. The 26 elements of the output vector
each represent a letter. To operate correctly, the network should respond
with a 1 in the position of the letter being presented to the network. All
other values in the output vector should be 0. In addition, the network
should be able to handle noise.

Architecture of neural network with ‘R’ inputs

Training Neural Network:

There are two sets of weights; input-hidden layer weights and


hidden-output layer weights. These weights represent the memory of the
neural network, where final training weights can be used when running
the network . Initial weights are generated randomly there, after weights
are updated using the error (difference) between the actual output of the
network and the desired (target) output. Weight updating occurs each
iteration, and the network learns while iterating repeatedly until a net
minimum error value is achieved.

Deepak kumar Yadav (B.tech. Final Year)


P a g e | 14

These matrices are indexed with superscripts to distinguish weights in


different layers.

Backpropagation:

Backpropagation is a network learning algorithm. Backpropagation


learns by iteratively processing a data set of training tuples , comparing
the networks prediction for each tuple with the actual known target . The
target value may be the class label of the training tuple , the weights are
modified so as to minimize the mean squared error between the actual
value and value predicted by the network. These modifications are made
in backward direction , that is from the output layer , to the hidden layer
(hence the name backpropagation).

Deepak kumar Yadav (B.tech. Final Year)


P a g e | 15

Learning through back propagation

Current Research state of Character Recognition system:

The accurate recognition of Latin-script, typewritten text is now


considered largely a solved problem on applications where clear imaging
is available such as scanning of printed documents. Typical accuracy
rates on these exceed 99% total accuracy can only be achieved by
human review. Other areas—including recognition of hand printing,
cursive handwriting, and printed text in other scripts (especially those
with a very large number of characters)—are still the subject of active
research.
On-line systems for recognizing hand-printed text on the fly
have become well-known as commercial products in recent years (Tablet
PC ). Among these are the input devices for personal digital assistants
such as those running Palm OS. The Apple Newton pioneered this
product . The algorithms used in these devices take advantage of the fact
that the order, speed, and direction of individual lines segments at input
are known. Also, the user can be retrained to use only specific letter
shapes. These methods cannot be used in software that scans paper
documents, so accurate recognition of hand-printed documents is still

Deepak kumar Yadav (B.tech. Final Year)


P a g e | 16

largely an open problem. Accuracy rates of 80% to 90% on neat, clean


hand-printed characters can be achieved, but that accuracy rate still
translates to dozens of errors per page, making the technology useful
only in very limited applications.
A technique which is having considerable success in recognising
difficult words and character groups within documents generally
amenable to computer OCR is to submit them automatically to humans
in the reCAPTCHA system.
reCAPTCHA is a system originally developed at Carnegie
Mellon University that uses CAPTCHA to help digitize the text of books
while protecting websites from bots attempting to access restricted areas.
eCAPTCHA supplies subscribing websites with images of words that
optical character recognition (OCR) software has been unable to read.
The subscribing websites (whose purposes are generally unrelated to the
book digitization project) present these images for humans to decipher
as CAPTCHA words, as part of their normal validation procedures.
They then return the results to the reCAPTCHA service, which sends the
results to the digitization projects.

Deepak kumar Yadav (B.tech. Final Year)

You might also like