matlab based vehicle number plate identification system using ocr

31
Dr. BABASAHEB AMBEDKAR MARATHWADA UNIVERSITY, AURANGABAD (M.S.) “MATLAB Based Vehicle Number Plate Identification System using OCR” Submitted By Ghanshyam Dusane Under The Guidance of Prof. Neeta Pingle In Partial Fulfillment of the award of Bachelor of Engineering (Electronics & Communication Engineering)

Upload: ghanshyam-dusane

Post on 11-Apr-2017

479 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: Matlab based vehicle number plate identification system using ocr

Dr. BABASAHEB AMBEDKAR MARATHWADA UNIVERSITY,

AURANGABAD (M.S.)

“MATLAB Based Vehicle Number Plate Identification

System using OCR”

Submitted By

Ghanshyam Dusane

Under The Guidance of

Prof. Neeta Pingle

In Partial Fulfillment of the award of

Bachelor of Engineering (Electronics & Communication Engineering)

Department of Electronics & Communication Engineering

Marathwada Institute of Technology,

Aurangabad (Maharashtra)

(2015-16)

Page 2: Matlab based vehicle number plate identification system using ocr

CERTIFICATE

This is to certify that the project report entitled “MATLAB Based Vehicle

number plate Identification System using OCR”, submitted by Ghanshyam

Dusane, Kedar Mirajkar and Vishal Jadhav is the bonafied work completed under

my supervision and guidance in partial fulfillment for the award of Bachelor of

Engineering (Electronics & Communication Engineering) of Dr. Babasahe

AmbedkarMarathwada University, Aurangabad (M.S.).

Place: Aurangabad

Date:

Prof. V.M. Kulkarni Prof. Neeta Pingle

Head of DepartmentGuide

Department of

Electronics&Communication Engineering

Dr.J.H.Godihal

Principal

Marathwada Institute of Technology Aurangabad (M.S.) – 431 005

Page 3: Matlab based vehicle number plate identification system using ocr

CONTENTS

List of Figures I

List of Tables Ii

1. INTRODUCTION 1

1.1 Objective

1.2 Need

1

2

2. LITERATURE SURVEY 3

2.1 Overview

2.2 Proposed Algorithm

2.3 Summary of Paper Studied

3

3

4

3. SYSTEM MODELING 6

3.1 Software Part 6

3.1.1 Introduction to MATLAB 7

3.2 Hardware Part 10

3.2.1 Microcontroller 89C51 11

3.2.2 Serial Communication 12

3.2.3 RS232 Pin Configuration 13

3.3Design Diagrams 14

3.4 Technical details of the project 15

4. CONCLUSION 16

4.1 Project Planning timeline 16

4.2 Cost estimation 17

References 18

Acknowledgement 19

i

Page 4: Matlab based vehicle number plate identification system using ocr

List of Figures

Figure Illustration Page

3.1 Block Diagram of OCR System 6

3.2 The graphical interface to the MATLAB

workspace

8

3.2 Architecture of OCR System 9

3.3 Block Diagram of MATLAB BASED OCR

System

10

3.4 Original Hardware Design 10

3.5 RS232 Pin Configuration 13

3.6 Use case Diagram 14

List of Tables

Table Content Page

3.1 Pin Details of RS232 12

4.1 Cost Estimation 16

Ii

Page 5: Matlab based vehicle number plate identification system using ocr

1. INTRODUCTION1.1 Objective

Massive integration of information technologies into all aspects of modern life

caused demand for processingvehicles as conceptual resources in information sys-

tems. Because a standalone information system without any data hasno sense, there

was also a need to transform information about vehicles between the reality and infor-

mation systems.This can be achieved by a human agent, or by special intelligent

equipment which is be able to recognize vehicles bytheir number plates in a real envi-

ronment and reflect it into conceptual resources. Because of this, various recognition-

techniques have been developed and number plate recognition systems aretoday used

in various traffic and securityapplications, such as parking, access and border control,

or tracking of stolen cars.

In entrance gate, number plates are used to identify the vehicles. When a vehi-

cle enters an input gate, numberplate is automatically recognized and stored in data-

base and black-listed number is not given permission. When avehicle later exits the

place through the gate, number plate is recognized again and paired with the first-one

stored inthe database and it is taken a count. Automatic number plate recognition sys-

tems can be used in access control. Forexample, this technology is used in many com-

panies to grant access only to vehicles of authorized personnel.

1.2Need

Vehicle identification is an essential area in the development of intelligent

traffic systems and surveillance. Given the current security situation in the country

due to ethnic conflicts, this is one of the areas where there is an urgent need for the

development of devices that could be used in variety of situations to ease the security

concerns. In addition, the use of vehicles in India has increasedrapidly, especially in

recent years, due to urbanization and modernization, and thus, traffic congestion in

cities has become a major issue. Therefore, control of vehicles and identification of

traffic violators to maintain discipline, is becoming a necessary task in many cities.

Automatic vehicle identification systems can be used effectively for this purpose.

Page 6: Matlab based vehicle number plate identification system using ocr

From the variety of number plate systems introduced over the years by local

authorities, there are several types that are still accepted as valid number plates on lo-

cal roads. Essentially, it consists of plates with white background at the front and yel-

low background at the rear, and letters in black in both cases. The arrangement of

numbers consists of twoEnglish letters followed by four digits, separated by a dash

(example, GA-1234). In addition, two smaller letters are placed on plate to identify

the Province of issue, namely, UP (Uttar Pradesh), PB (Punjab), MP (Madhya

Pradesh), RJ(Rajasthan) etc

\

Page 7: Matlab based vehicle number plate identification system using ocr

2. LITERATURE SURVEY2.1 Overview

In the literature, various license plate detection algorithms are implemented

and proposed yet license plate capturing has been studied for several years, and is a

challenging task to track license plates from several angles, partial occlusion,or multi-

ple instances. Investigation of input image is donein license plate detection which

identifies few local patchesincluding license plates. Since a plate can exist anywhere

inan image with several sizes, it is a bit tough to check everypixel to locate it. Most of

the times, it is preferred to extractsome features from images and concentrate only on

thosepixels featured by the license plate. On the basis of included

features, traditional license plate detection techniques arecriterion into three cate-

gories: On the basis of color, edge based,and based on texture. Color-based con-

ceptsinvolve the conclusion that few countries follow specificcolor in their license

plates. Edge-based approaches arethe most popular, as they give effective perfor-

mance in theprocess of license plate detection. In this license plate ischaracterized by

a rectangular shape with an exact aspectratio, and can be extracted by checking all

possiblerectangles in the image some other approaches based on

local features are being proposed in the recent times. Asmall description of few of the

older works is demonstratedin literature introduction section.

Proposed Algorithm

[1] Load image.

[2] Pre-processing of the image.

[3] Licenses plate detection.

[4] Recognition of characters.

[5] Number Identified.

[6] Compare with database stored.

[7] Message displayed.

Page 8: Matlab based vehicle number plate identification system using ocr

2.1.1 Summary of Paper studied

Paper 1

“AUTOMATIC NUMBER PLATE RECOGNITION SYSTEM FORVEHICLE

IDENTIFICATION USING OPTICAL CHARACTER RECOGNITION”

MUHAMMAD TAHIR QADRI, MUHAMMAD ASIF 2009 IEEE

Automatic Number Plate Recognition (OCR) is animage processing

technology which uses number (license) plate to identify the vehicle. The objective

is to design an efficientautomatic authorized vehicle identification system by using

thevehicle number plate. The developed system firstdetects the vehicle and then

captures the vehicle image. Vehiclenumber plate region is extracted using the image

segmentationin an image. Optical character recognition technique is usedfor the

character recognition. The resulting data is then used tocompare with the records on

a database so as to come up withthe specific information like the vehicle’s owner,

place ofregistration, address, etc

Paper 2

“OPTICAL CHARACTER RECOGNITION”

RAVINA MITHE, SUPRIYA INDALKAR, NILAM DIVEKAR

2013 INTERNATIONAL JOURNAL OF RECENT TECHNOLOGY AND

ENGINEERING (IJRTE)

The Optical Character Recognition is a mobile application. It uses smart

mobile phones of android platform. This paper combines the functionality of Optical

Character Recognition and speech synthesizer. The objective is to Develop user

friendly application which performs image to speech surveillance. The proposed

method applied on yellow color license plate. It has two main stages. Firstly, exact

location of the license plate is detected from an input Automatic license plate

recognition is used to recognize the characters from license plate image. It is widely

used in various areas such as traffic control, robbery, and image by using image

acquisition and optical character recognition and Sobel edge is used for character

segmentation. Secondly, template matching is used to test therecognized

characters with templates

http://www.ijirset.com/upload/2014/may/111_Aut o matic.pd f

Page 9: Matlab based vehicle number plate identification system using ocr

Paper 3

“DESIGN OF AN OPTICAL CHARACTER RECOGNITION SYSTEM FOR

CAMERA-BASED HANDHELD DEVICES”

AYATULLAH FARUK MOLLAH, NABAMITA MAJUMDER SUBHADIP BASU,

AND MITA NASIPURI

2011 INTERNATIONAL JOURNAL OF COMPUTER SCIENCE ISSUES

This paper presents a complete Optical Character Recognition (OCR) system

for camera captured image/graphics embedded textual documents for handheld

devices. At first, text regions are extracted and skew corrected. Then, these regions

are binarized and segmented into lines and characters. Characters are passed into the

recognition module.. Compared to Tesseract, an open source desktop-based powerful

OCR engine, present recognition accuracy is worth contributing. Moreover, the

developed technique is computationally efficient and consumes low memory so as to

be applicable on handheld devices.

http://arxiv.org/ftp/arxiv/papers/1109/1109.3317. pd f

The algorithm proposed in this paper detects and recognized vehicle license

plate automatically. The input of the system is an image taken by the camera from a

distance of 4 to 5 meters. The proposed OCR technique consists of two main

modules: (1) License plate locating module using canny detector and Hough line (2)

License number identification module using template matching to recognize

individual character with the help database stored for each and every character (A to

Z) and number (0 to 9). The proposed algorithm is mentioned below and architecture

of the proposed method.

The proposed OCR system reads an input image taken by the camera and

passes it to the pre-processing unit. The main operation of pre-processing unit is to

eliminate noise caused in digital images during image acquisition (digitization) and

transmission, imaging sensors can be affected by ambient conditions, interference can

be added to an image during transmission. Image pre-processing unit attempts to

restore images that have been degraded due to any one or more reasons.

Page 10: Matlab based vehicle number plate identification system using ocr

3. SYSTEM MODELLING

3.1 Software Part

OCR is an image processing technology which enables to extract vehicle li-

cense plate numberform digital images. It consists of a camera that has the capability

to capture animage, finds the location of the number platein the image and then ex-

tracts the characters using character recognition tool that translate the pixels into al-

phanumericallyreadable character or string. OCR can be used in many areas from

speed enforcement and tool collection to management ofparking lots, etc. At present,

in OCR there are several techniques used for the recognition plate’s number such as

pattern matching, neural network character recognition, and image processing tech-

nology .which arecomputationally expensive or use artificial neural network which in-

volves complex mathematics. The block diagram of OCR system is shown in fig 3.1

Fig 3.1. Block Diagram of OCR System

The OCR system works in these steps, the first step is the detection of the ve-

hicle and capturing a vehicle image of front orback view of the vehicle, the second

steps is the localization of number plate and then extraction of vehicle number plate in

An image. The final step use image segmentation technique, for the segmentation sev-

eral methods have been proposed neuralnetwork, mathematical morphology, color

Page 11: Matlab based vehicle number plate identification system using ocr

analysis, and histogram analysis. Segmentation is for individual character recognition.

Optical character recognition (OCR) is one of the methods to recognizethe each char-

acter with the help of database stored for respective alphanumeric character.

3.1.1 Introduction of MATLAB

The name MATLAB stands for MATrix LABoratory. MATLAB was written

originally to provide easy access to matrix software developed by the LINPACK (lin-

ear system package) and EISPACK (Eigen system package) projects.

MATLAB is a high-performance language for technical computing. It inte-

grates computation, visualization, and programming environment. Furthermore,

MATLAB is a modern programming language environment: it has sophisticated data

structures, contains built-in editing and debugging tools, and supports object-oriented

programming. These factors make MATLAB an excellent tool for teaching and re-

search.

MATLAB has many advantages compared to conventional computer lan-

guages (e.g. C, FORTRAN) for solving technical problems. MATLAB is an interac-

tive system whosebasic data element is an array that does not require dimensioning.

The software package has been commercially available since 1984 and is now consid-

ered as a standard tool at most universities and industries worldwide.

It has powerful built-in routines that enable a very wide variety of computa-

tions. It also has easy to use graphics commands that make the visualization of results

immediately available. Specific applications are collected in packages referred to as

toolbox. There are toolboxes for signal processing, symbolic computation, control

theory, simulation, optimization, and several other fields of applied science and engi-

neering

Page 12: Matlab based vehicle number plate identification system using ocr

Fig.3.2 The graphical interface to the MATLAB workspace

Page 13: Matlab based vehicle number plate identification system using ocr

Flowchart of OCR System

Fig 3.3 Architecture of OCR System

Page 14: Matlab based vehicle number plate identification system using ocr

3.2 Hardware Part

Fig 3.4 Block Diagram of MATLAB BASED OCR System

The hardware comprises of USB port connection to receive notifications, Mi-

crocontroller interface to checknotification, motor control to control gate as per con-

trol command, LCDinterface to display & buzzer to generate alarm. The Block

Diagram is shown in Fig

Fig 3.5 Original Hardware Design

Page 15: Matlab based vehicle number plate identification system using ocr

3.2.1 MICROCONTROLLER 89C51

We are using ATMELS AT89c/s51 microcontroller. The controller executes

instructions as per the clock cycles; this clock is generated using a crystal which is

connected to the XTAL1 & XTAL2 pin of the microcontroller, the two capacitors C1

& C2 are connected between the two XTAL pins & the ground. They are required for

the crystal to oscillate.

A Power ON reset circuit is connected to the RESET pin of the

microcontroller, the controller must be reset properly whenever is power is turned on,

which is done by applying a Vcc to the reset pin & for normal operation of the

controller the pin should be pulled low. So an RC (R1, C3) circuit is connected to the

RST (9) pin of the microcontroller. Whenever the power is turned ON the Capacitor is

fully charged & the RST pin gets 5 v. Then the capacitor slowly discharges through

the resistor & is then pulled to ground.

Microcontrollers Port 0 does not have an Internal Pull Up resistor so we need

external Pull Up resistors on port 0. For which we use 9-Pin SIP resistor which are

basically eight resistors with one end common.

Features MICROCONTROLLER 89C51

Compatible with MCS-51® Products

8K Bytes of In-System Programmable (ISP) Flash Memory

4.0V to 5.5V Operating Range

Fully Static Operation: 0 Hz to 33 MHz

Three-level Program Memory Lock

256 x 8-bit Internal RAM

32 Programmable I/O Lines

Three 16-bit Timer/Counters

Eight Interrupt Sources

Full Duplex UART Serial Channel

Low-power Idle and Power-down Modes

Interrupt Recovery from Power-down Mode

Watchdog Timer

3.2.2 SERIAL COMMUNICATION

Page 16: Matlab based vehicle number plate identification system using ocr

Now that we have the 8 bit value in the 89C51, we want to send that value to

the PC. The 89C51 has a built in serial port that makes it very easy to communicate

with the PC's serial port but the 89C51 outputs are 0 and 5 volts and we need +10 and

-10 volts to meet the RS232 serial port standard. The easiest way to get these values is

to use the MAX232. The MAX232 acts as a buffer driver for the processor. It accepts

the standard digital logic values of 0 and 5 volts and converts them to the RS232

standard of +10 and -10 volts. It also helps protect the processor from possible

damage from static that may come from people handling the serial port connectors.

It includes a Charge Pump, which generates +10V and -10V from a single 5v

supply. This I.C. also includes two receivers and two transmitters in the same

package. This is handy in many cases when you only want to use the Transmit and

Receive data Lines. You don't need to use two chips, one for the receive line and one

for the transmit. However all this convenience comes at a price, but compared with

the price of designing a new power supply it is very cheap. There are also many

variations of these devices. The large values of capacitors are not only bulky, but also

expensive. Therefore other devices are available which use smaller capacitors and

even some with inbuilt capacitors. However the MAX-232 is the most common, and

thus we will use this RS-232 Level Converter in our project.

The MAX232 requires 5 external 1µF capacitors. These are used by the

internal charge pump to create +10 volts and -10 volts.

Features of MAX232

Operate from Single +5V Power Supply

+5V and +12V (MAX231/MAX239)

Low-Power Receive Mode in Shutdown(MAX223/MAX242)

Meet All EIA/TIA-232E and V.28 Specifications

Multiple Drivers and Receivers

3-State Driver and Receiver Outputs

Open-Line Detection (MAX243)

3.3.3 RS232 Pin Configuration

Page 17: Matlab based vehicle number plate identification system using ocr

Fig 3.6 RS232 Pin Configuration

Table of Pin Details

3.3 Design Diagrams

Pin Signal Pin Signal

1 Data carrier detect 6 Data set ready

2 Received data 7 Request to send

3 Transmitted data 8 Clear to send

4 Data terminal ready 9 Ring indicator

5 Signal ground

Page 18: Matlab based vehicle number plate identification system using ocr

Our software system can be used to support library environment to create a

Digital Library where several license plate images are converted into electronic-form

for accessing by the users. For this purpose the printed plates must be recognized

before they are converted into electronic-form. The resulting electronic-documents are

accessed by the users like police and general public for reading and getting

information.

Figure 3.7: Use case Diagram

3.5 Requirements Specifications for Windows Application

Page 19: Matlab based vehicle number plate identification system using ocr

Hardware Requirements

Hard disk: 10 GB minimum

Ram: 1 GB minimum

3 Mega-Pixel Camera

Mouse

Keyboard

Scanner and Monitor

Software Requirements

System Type: 32-bit operating system, x86 based processor

OS Installed: Windows XP or higher

MATLB 7.0 or Above installed

4. CONCLUSION

Page 20: Matlab based vehicle number plate identification system using ocr

The automatic number plate recognition system using vehicle license plate is

presented. The system use image processing techniques for identifying the vehicle

from the database stored in the computer. The system is implemented and executed in

Matlab. The OCR method is sensitive to misalignment and to different sizes, so the

affine transformation can be used to improve the OCR recognition from different size

and angles.The statistical analysis can also be used to define the probability of

detection and recognition of the vehicle number plate. At present there are certain

limits on parameters like speed of the vehicle, script on the vehicle number plate,

skew in the image which can be removed by enhancing the algorithms further.

4.1Project Planning

4.2Cost estimation

Page 21: Matlab based vehicle number plate identification system using ocr

Sr. No. Component Cost

1 Web Cam 1500

2 Microcontroller 200

3 MAX 232 100

4 Copper Clad 50

5 DC Motor 250

6 Connecting Wires 100

7 RS232 Connectors 50

8 Buzzer 200

9 LCD 250

Total 2700

REFERENCES

The method for various types of references is shown below

Page 22: Matlab based vehicle number plate identification system using ocr

Research Papers

[1]Optical Character Recognition

Ravina Mithe, Supriya Indalkar, Nilam Divekar 2013

International Journal Of Recent Technology And Engineering (Ijrte)

[2]Design Of An Optical Character Recognition System For Camera-Based Handheld

Devices

Ayatullah Faruk Mollah, Nabamita Majumder Subhadip Basu, And Mita Nasipuri

2011 International Journal Of Computer Science Issues

[3] Number Plate Recognition Using an Improved Segmentation

Mr. G. T. Sutar , Prof. Mr. A.V. Shah P.G. Student, Department of Electronics Engi-

neering, D.K.T. Engineering College, Ichalkaranji, Maharashtra, India

Associate Professor,

Department of Electronics Engineering, D.K.T. Engineering College, Ichalkaranji,

Maharashtra, India

[4] A Review Paper on Automatic Number Plate Recognition (ANPR) System

International Journal of Innovative Research in Advanced Engineering (IJIRAE)

Volume 1 Issue 1 (April 2014)

Online:

https://en.wikipedia.org/wiki/Optical_character_recognition

http://www.abbyy.com/finereader/about-ocr/what-is-ocr/

http://www.webopedia.com/TERM/O/optical_character_recognition.html

Acknowledgement

It gives me a great pleasure to Submit Project-Seminar report. This is the only

page where I have the opportunity to express my emotions and gratitude from the bottom

of my heart.

I express my sincere thanks to my guide Prof. N. S. Pinglefor guiding me at

every step in making of this project. She motivated us and boosted my confidence and I

Page 23: Matlab based vehicle number plate identification system using ocr

must admit that the work would not have been accomplished without her guidance and

encouragement.

I would like to extend my special thanks to HOD Prof. Vijaya M. Kulkarni and

Principal Dr. J.H. Godihal for spending their valuable time to go through my report and

providing many helpful suggestions. Lastly I would like to thank all the staff member of

electronics department and my friends without whom the project report would not have

been completed.

Final and heartfelt thanks go to my parents.

Ghanshyam Sopan Dusane(BE-A-46)

Kedar Nageshrao Mirajkar(BE-A56)

Vishal Shivaji Jadhav (BE-A-48)

B.E. (Electronics & communication)