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.

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)

image after discarding improper blobs

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)

Sign up to vote on this title
UsefulNot useful