Professional Documents
Culture Documents
Vehicle Number Plate Recognition REPORT
Vehicle Number Plate Recognition REPORT
CHAPTER 1
INTRODUCTION
The exponential growth in the number of vehicles used in cities and towns is leading to
increase in various crimes such as theft of vehicles, violating traffic rules, hit and run accidents
and trespassing into unauthorized areas etc. Therefore adapting automatic license plate
recognition system is much necessary. Digital image processing techniques were used to
interpret digitized images in order to extract meaningful knowledge from it. These techniques
were broadly classified into four stages: Pre-processing of the captured vehicle license plate
image, detection and extraction of license plate region, segmentation of characters from the
extracted plate using morphological operations and character recognition. In earlier research, the
extraction of license plate region was either done through direct application of sobel edge
detector followed by linear dilation and filling connected components with holes or the image
was converted into a binary image by applying threshold at a certain value.
These methods do not produce efficient results when captured license plate image is
subjected to high intensity of light or when the vehicle and license plate are of similar colors.
This problem also exists due to variable factors such as distance, weather and camera quality. In
this paper we discuss a novel algorithm to solve these issues to an extent. In the segmentation
process morphological operations such as dilation and erosion are used which causes deformity
in the characters. The original font style and size are manipulated, which makes it hard for
character recognition. A unique algorithm is developed for the segmentation of characters
without morphological operations for efficient results in this paper.
The system collects the data and produce use full information. This information is passed
on to the cloud where it can be interpreted. The use of IoT technology has been increasing
exponentially in the recent years. Its drastic growth is due its ability to make things smart and
make it easier to collect and interpret large sets of data through cloud computing. Here the
camera acts as the embedded hardware which collects the data through digitized vehicle images
and spider software is used to process the image to obtain the license plate number, which is then
transferred to cloud through internet for further applications.
All surveillance cameras as well as traffic control cameras can be connected to a cloud
which consists of database of required vehicles. By doing this, all the cameras in an area act as a
single system where each camera acts as an ‘eye’ searching for the vehicles listed in the database
uploaded by the administrator. In this way a ‘universal eye’ could be created making it hard for
the accused to hide the vehicle and also saves time on searching for these vehicles.
The escalating increase of contemporary urban and national road networks over the last
three decades emerged the need of efficient monitoring and management of road traffic.
Conventional techniques for traffic measurements, such as inductive loops, sensors or EM
microwave detectors, suffer from serious shortcomings, expensive to install, they demand traffic
disruption during installation or maintenance, they are bulky and they are unable to detect slow
or temporary stop vehicles. On the contrary, systems that are based on video are easy to install,
use the existing infrastructure of traffic surveillance. Furthermore, they can be easily upgraded
and they offer the flexibility to redesign the system and its functionality by simply changing the
system algorithms. Those systems allow measurement of vehicle’s speed, counting the number
of vehicles, classification of vehicles, and the identification of traffic incidents (such as accidents
or heavy congestion).There is a wide variety of systems based on video and image processing
employing different methodologies to detect vehicles and objects.
dedicated lanes with cameras, where registered users can slowly pass without stopping [2]. In
contrast, inner city congestion charge systems (e.g., Stockholm, Sweden; London, U.K., and
Singapore) have to be less intrusive and operate on the normal flow of passing traffic
For most traffic surveillance systems there are three major stages which are used for
estimation of desired traffic parameters i.e. vehicle detection, tracking, and classification. For
detection of vehicles, most of the methods assume that the camera is static and then desired
vehicles can be detected by image differencing. Tracking is a very important issue in computer
vision. Recently, there is a deep interest in surveillance applications. The main purpose of
tracking in computer vision is to recognize and locate a prototype in a series of sequential
frames. After that, several vehicle features like shape, length, width, texture, license number etc.
Every visual surveillance systems start with detecting moving object in video streams.
Many applications are based on tracking such as video processing, security, surveillance and
automatic procedures. Then, different tracking scheme are designed to track each vehicle.
In urban environment, monitoring congestion across the road, vehicle interaction and
detection of traffic rule violation can be done with visual surveillance systems. The Video
surveillance system can prevent serious accidents, so that precious lives can be saved. ANPR is a
very specialized well-researched application for video analytics.
1.2 Motivation
Traffic surveillance is the most active research topic in computer vision for humans and
vehicles. Our aim is to develop automatic License plate recognition in real time surveillance videos
and replacing the age old traditional method of monitoring by human operators. Now a day the
license plate recognition has been essential due to the rapidly growing number of cars. The
increasing number of automobiles has facilitated human life but it has also lead to various issues of
traffic congestions, parking problems, accidents etc. Our motivation in doing is to design a traffic
surveillance system for vehicle detection, tracking and license plate recognition in real time videos
using visual surveillance techniques.
part, no learning is needed. For more advanced tasks, it can be challenging for a human to
manually create the needed algorithms. In practice, it can turn out to be more effective to help
the machine develop its own algorithm, rather than have human programmers specify every
needed step. Machine learning, reorganized as a separate field, started to flourish in the 1990s.
The field changed its goal from achieving artificial intelligence to tackling solvable problems of
a practical nature. It shifted focus away from the symbolic approaches it had inherited from AI,
and toward methods and models borrowed from statistics and probability theory. As of 2019,
many sources continue to assert that machine learning remains a sub field of AI. Yet some
practitioners, for example Dr Daniel Hulme, who both teaches AI and runs a company operating
in the field, argue that machine learning and AI are separate.
1.3.2 Python
Machine learning is a type of artificial intelligence (AI) that provides computers with the
ability to learn without being explicitly programmed. Machine learning focuses on the
development of Computer Programs that can change when exposed to new data. In this article,
we’ll see basics of Machine Learning, and implementation of a simple machine learning
algorithm using python.
languages that need easy-to-use scripting or automation interfaces. It's often used as a “scripting
language” for web applications. This means that it can automate specific series of tasks, making
it more efficient. Consequently, Python (and languages like it) is often used in software
applications, pages within a web browser, the shells of operating systems and some games.
Python is a free, open-source programming language that is available for everyone to use.
Python is also usable as an extension language for applications written in other languages that
need easy-to-use scripting or automation interfaces. It's often used as a “scripting language” for
web applications. More Productive. First and foremost reason why Python is
much popular because it is highly productive as compared to other programming languages like
C++ and Java.
clouds, predominant today, often have functions distributed over multiple locations from central
servers. If the connection to the user is relatively close, it may be designated an server. Clouds
may be limited to a single organization or be available to many organizations (public cloud).
Advocates of public and hybrid clouds note that cloud computing allow companies to
avoid or minimize up-front IT infrastructure costs. Proponents also claim that cloud computing
allows enterprises to get their applications up and running faster, with improved manageability
and less maintenance, and that it enables IT teams to more rapidly adjust resources to meet
fluctuating and unpredictable demand. Clouds may be limited to a single organization or be
available to many organizations Cloud providers typically use a "pay-as-you-go" model, which
can lead to unexpected operating expenses if administrators are not familiarized with cloud-
pricing models.
In this thesis, we present full-featured vehicle detection, tracking and license plate
recognition system framework, particularly designed to work on video footage. This system
mainly having four modules:-
Video Acquisition
This system is used to detect, recognize and track vehicle from incoming video frames in
dynamic scenes then extract the license plate from it. It has found numerous applications as wide
as possible such as: access control in security sensitive areas, securities for communities and
important buildings, detection of military target areas, traffic surveillance in cities and highways,
detection of anomalies behavior, traffic control management for recognize vehicles that commit
traffic violation, such as occupying lanes reserved for public transport, breaking speed limits,
crossing red light, entering restricted area without permission; and among many other
applications.
The system is designed for real time videos where a camera is used for continuous recording
of videos. The view of camera or the area covered by camera is fixed between entry zone and
exist zone. Each frame is continuously processed to check the presence of a vehicle. A defined
connected component area is taken as threshold; if the detected area is above that threshold value
then it will be recognized as a vehicle and will be tracked. The view of camera or the area covered
by camera is fixed between entry zone and exist zone.
o Video Acquisition – In this module videos are taken by the static camera situated at
traffic scenario. A camera network that has the ability to transmit images in real time to a
central operational centre. The processing of the images can be carried out on-site saving
valuable network bandwidth as it transmits only the outcome of the calculations. The
whole process can also be performed either in real time video streaming from an
operational centre or in already stored video material. The background subtraction
technique should overcome the problems of varying illumination condition, background
clutter, camouflage and shadow.
o License Plate Extraction - License plates are first located in current frame then they are
extracted using various available techniques in the literature based on Hough Transform
method, Template matching technique, Region growing algorithm, Histogram Approach
and Edge Detection Approach.
o Character Extraction – Images of the extracted plates are the input to this module. Here
first license plate image is cropped in lines, and then characters are segmented and
recognized.
CHAPTER 2
LITERATURE SURVEY
The license Plate Recognition (LPR) was invented in 1976 at the Police Scientific Development
Branch in the UK.
I complement will compute the complement image (IM). IM can intensity, binary or true
color image. For the complement binary image, black will becomes white and white will become
black; zeros will become ones or ones will become zeros.
Some of the methods and algorithms described above can be combined and implemented on
embedded hardware platform. For example, license plate detection and recognition on an also a
embedded DSP platform was introduced. The total processing time, beginning from image
acquisition until character classification requires 41.35ms. Another implementation of plate
localization on Xilinx Virtex-4 was described and is capable of processing one image in 3.8 ms
and it consumes less than 30% of the on-chip resources. No recognition stage was presented in
that work. A complete ANPR system is implemented on FPGA. The system utilizes 80 % of the
Xilinx Virtex-4 LX40 re70 sources and is capable of processing a standard definition image (640
x 480) in less than 10ms. Algorithms for license plate detection are also developed using Handel-
C and then translated into Verilog HDL with Celoxca’s DK4 to implement on Virtex II Pro.
Performance comparison between the software and the hardware implementation is stated at the
end of the paper. The resource utilization for their hardware implementation is about 2 to 3 times
more than the work and yet requires longer processing time for an input image with a smaller
resolution. However, their results show that the same algorithms execute 4 times faster with the
hardware than the software. In this paper we adopted some of the listed methods and algorithms
to design and implement a pipelined processing system for computer vision on a reconfigurable
hardware. The proposed work presents hardware modules for various morphology based filters,
along with connected component analysis and k-means classifier. These components are
arranged in a single pipeline for ANPR. These components are designed to be easily used in
various computer vision applications.
3. Ankush Roy: Method to overcome the difficult to correctly identify the non-
standard number plate characters, by using a pixel based segmentation
algorithm of the alphanumeric characters in the license plate (2011, March).
As it is not possible to judge which approach is better, different papers, which are
based on steps mentioned in Fig.1, are surveyed and categorized based on the methodologies in
each approach. For each approach whenever available parameters like speed, accuracy,
performance, image size and platform are reported. Commercial product survey is beyond the
scope of this paper as sometimes these products claims more accuracy than actual for
promotional purposes. Remainder of this paper is divided as follows: Section 2 contains survey
of different techniques to detect number plate. Character segmentation methods are reviewed in
section 3 and section 4 contains discussion about character recognition methods. The paper
concludes with the discussion of what is not implemented and what kind of research is possible
in ANPR. License plate detection and recognition on an embedded DSP platform was
introduced. The total processing time, beginning from image acquisition until character
classification requires 41.35ms.
using the cross correlation between the text lines at a fixed distance is based on the fact that the
correlation between vertical lines in an image.
5. Kaur, A., Jindal, S., & Jindal, R. (2012). License Plate Recognition using
Support Vector Machine (SVM).
The Automatic Number Plate Recognition (ANPR) system was first invented in 1976 at
Police Scientific Development t Branch in the UK. In recent years Automatic Number Plate
Recognition systems (ANPR) have become a reliable and more securable. They are used by the
police for the enforcement of traffic rules or for crime detection. In other country ANPR-systems
are applied to register the vehicles entering the congestion charging zone. The ANPR system of
vehicle number plate consists of two main modules. First is a camera which detects the vehicle
passing on road and sends an image of that vehicle continuously to a computer. Second is the
software that recognizes number plate with characters on them and store into a database.
Recently ANPR systems have been implemented in many countries like Korea, Australia and
few others. In these countries there are strict and standard implementations of number plate is
helped to development of NPR system. The dimensions of plate, colour and font of characters,
border for the plate, etc. which are helping to locate the number plate easily and identify the
number plate of the vehicle.
Detection and morphology are describe. To locate the number plate its first to identify whether
any noise added to the plate. This noise may be the part of outside environment. Seyed
Hamidreza Mohades Kasaei and Sayed mohammadreza Mohades Kasaei proposed a method to
extracting and recognize the vehicle number plate for passing under outside environment. An
efficient method of locating vehicle license plate is proposed by Zhigang Xu and Honglei Zhu.
Several segmentation and recognition method are used to number plate segmentation. More
correct and efficient segmentation of number plate will produce good and more efficient
recognition. Based on the above mentioned method, many number plate localization algorithms
have been developed. In this paper, an improved and efficient approach is identified with high
detection rate based on sobel edge detection and morphological operation. License plate location
algorithm based on edge Detection and morphology are describe. To locate the number plate its
first to identify whether any noise added to the plate. This noise may be the part of outside
environment.
7. Du, S., Ibrahim, M., Shehata, M., & Badawy, W. Automatic license plate
recognition (ALPR) - 2013
Automatic license plate recognition (ALPR) plays an important role in numerous real-life
applications, such as automatic toll collection, traffic law enforcement, parking lot access
control, and road traffic monitoring. ALPR recognizes a vehicle’s license plate number from an
image or images taken by either a color, black and white, or infrared camera. It is fulfilled by the
combination of a lot of techniques, such as object detection, image processing, and pattern
recognition. ALPR is also known as automatic vehicle identification, car plate recognition,
automatic number plate recognition, and optical character recognition (OCR) for cars. The
variations of the plate types or environments cause challenges in the detection and recognition of
license plates. They are summarized as follows.
1) Plate variations:
a) Location: plates exist in different locations of an image;
c) Size: plates may have different sizes due to the camera distance and the zoom factor;
d) Color: plates may have various characters and background colors due to different plate
types or capturing devices;
e) Font: plates of different nations may be written in different fonts and language;
f) Standard versus vanity: for example, the standard license plate in Alberta, Canada, has
three and recently (in 2010) four letters to the left and three numbers to the right. Vanity
(or customized) license plates may have any number of characters without any
regulations.
g) Occlusion: plates may be obscured by dirt;
h) Inclination: plates may be tilted;
i) Other: in addition to characters, a plate may contain frames and screws.
2) Environment variations:
a) Illumination: input images may have different types of illumination, mainly due to
environmental lighting and vehicle headlights;
b) Background: the image background may contain patterns similar to plates, such as
numbers stamped on a vehicle, bumper with vertical patterns, and textured floors.
CHAPTER 3
PROBLEM STATEMENT
To design and develop a real-time detection, tracking and license plate recognition
system that will work efficiently under the conditions of slow moving objects and the objects
that are merged into the background due to a temporary stop and becoming foreground again,
adaptive to different traffic environment conditions, robustness against progressive or sudden
illumination changes, Occlusions, identification time of the system should be as short as
possible. The system should detect all the types of vehicles, recognize all the license plates of the
country and should also be resistant to any kinds of disturbances, which may occur in images and
mechanical plate damages which may appear in reality.
The attributes of the License plates play important role in the recognition process. The
size, color of the license plate, its font face i.e. size, colour of each character, spacing between
characters, the number of lines in the license plate, script, characters’ height and width are
maintained very strictly in developed countries. There are several countries in the world who
have adapted this very method of standardizing the License plate.
A part from these conditions, the algorithms applied for the recognition also plays a vital
role. If the quality of the algorithm is good, then more varieties of images can be given as input to the
system, and this will also reduce the computation speed of the process. The most basic issues in the
real-time ALPR system is the accuracy and the recognition speed.
The most basic issues in the real-time ALPR system is the accuracy and the recognition speed.
Other than this, there are several other parameters on which the quality of the recognition
depends. These limitations are
High quality imaging – the quality of the captured image is high, so that it will be easy to
evaluate the attributes of the image.
Minimal skewing and rotation – the camera is fit such that the captured image or video
will not suffer much decent angle of skewing and rotation.
Better Flash – as the License plate is retro-reflective in nature, so if high illumination will
be there, then the LP region will be much more brightened and the attributes of the
license plate will not be much clearer.
In western countries like USA, lane marking system is enforced. Vehicles are allowed to
man oeuvre in specific rows in step with ordinance and vehicle sort, etc. however in
Bharat in most of the cases traffic system non lane is primarily based.
Road conditions are a lot of varied and traffic is unstructured, there’s lack of discipline
and over laden vehicle movement is kind of natural.
In India, vehicles are laid off times by the perimeters of the roads. There’s no separate
system for vehicle parking management.
Roads do not seem to be solely occupied with Vehicles, such a large amount of obstacles
on roads produce disturbance to the traffic. Pedestrians don’t have separate ways in
which for his or her movement in most of the cases.
Shapes of the vehicles have a key role in recognition, there’s high intra-class variance
among Indian vehicles. It creates the possibilities for miss recognition.
Within same vehicle category there are giant varieties and models. This appearance
completely different in size and look. It’s typically ascertained in Indian vehicles like cars
and trucks.
CHAPTER 4
OBJECTIVES
The main objective is to use different morphological operations in such a way that
the number plate of vehicle can be identified accurately. To develop a well-organized system in
the vehicle number plate detection. This is based on various operations such
as image enhancement, morphological transformation, edge detection and extraction of number
plate from vehicle image. To develop a well-organized system in the vehicle number plate
detection. The major techniques used in the implementation of the designs are gray scale
conversion, black and white image conversion, filling holes, border detection and image
segmentation. This is helpful to easily detect the license plate and identify the vehicle details.
This is implemented on the real images. The objectives of this system prototype are to develop a
prototype for the Optical Character Recognition (OCR) system and to implement the Template
Matching algorithm in developing the system prototype.
Some Examples:
CHAPTER 5
METHODOLOGY
The working of full NPR system can be divided in to two broad sections. The hardware
part and the software part. The working mechanism of all the parts is described in details below.
License plate recognition (LPR) is one form of ITS (Intelligent Transport System) technology
that not only recognizes and counts the number of vehicles but also differentiates them. A license
plate is the unique identification of a vehicle. The basic issues in real-time license plate recognition
are the accuracy and the recognition speed. For some applications, such as electronic toll collection
and red-light violation enforcement, LPR (License plate recognition) records license plates alpha
numerically so the vehicle owner can be assessed the appropriate amount of fine.
In others cases, like commercial vehicle operations or secure-access control, a vehicle's
license plate is compared against a database of acceptable ones to determine whether a truck can
bypass a weigh station or a car can enter a gated community or parking lot. License Plate
Recognition (LPR) has been applied in numerous applications such as automatically identifying
vehicles in parking lots, access control in a restricted area and detecting and verifying stolen vehicles.
Quality of algorithms used in a license plate detector determines the speed and accuracy of the
license plate detection. In the past, a number of techniques have been proposed for locating the plate
through visual image processing. In others cases, like commercial vehicle operations or secure-
access control, a vehicle's license plate is compared against a database of acceptable ones to
determine whether a truck can bypass a weigh station or a car can enter a gated community or
parking lot. License Plate Recognition (LPR) has been applied in numerous applications such as
automatically identifying vehicles in parking lots, access control in a restricted area and detecting and
verifying stolen vehicles. Quality of algorithms used in a license plate detector determines the speed
and accuracy of the license plate detection. In the past, a number of techniques have been proposed
for locating the plate through visual image processing.
A license plate is the unique identification of a vehicle. The basic issues in real-time license
plate recognition are the accuracy and the recognition speed. For some applications, such as
electronic toll collection and red-light violation enforcement, LPR (License plate recognition)
records license plates alpha numerically so the vehicle owner can be assessed the appropriate
amount of fine. In others cases, like commercial vehicle operations or secure-access control, a
vehicle's license plate is compared against a database of acceptable ones to determine whether a
truck can bypass a weigh station or a car can enter a gated community or parking lot. License
Plate Recognition (LPR) has been applied in numerous applications such as automatically identifying
vehicles in parking lots, access control in a restricted area and detecting and verifying stolen vehicles.
Quality of algorithms used in a license plate detector determines the speed and accuracy of the
license plate detection. In the past, a number of techniques have been proposed for locating the plate
through visual image processing.
5.1.2 Pre-processing
The next step after capturing the image is the preprocessing of the image. When the
image is captured there is lot of disturbances and noises present in the image for which the image
can’t be used properly. The video or image of the vehicle is obtained from the camera, whose
vehicle number is to be identified. If it was a video, the video is converted into frames and these
frames are further used for vehicle number identification. This image or frame is then converted
from RGB scale to grey scale. A median filter is applied on the obtained grey scale image in
order to remove different kinds of noises present in the image. Intensity transformations are
applied to enhance the quality of the image for further processing. The following transformations
are applied on the color JPEG image:
The Prewitt method finds edges using the Prewitt approximation to the derivative. It
gives edges at those points where the gradient of an image is maximum.
The Roberts method finds edges using the Roberts approximation to the derivative. It
produces edges at those points where the gradient of an image is maximum.
The Laplacian of Gaussian method finds edges by looking for zero crossings after
filtering an image with a Laplacian of Gaussian filter.
The zero-cross method produces edges by looking for zero crossings after filtering an
image with a filter you specify.
The Canny method finds edges by looking for local maxima of the gradient of an image.
The gradient is calculated using the derivative of a Gaussian filter.
The threshold for binarization can be two types static or dynamic. In static general
threshold is taken 150 (in gray scale of 0-255). This value reasonably quantizes those pixels,
which represents the license plate and any other portions, which has a pixel-value more than the
selected threshold. The remaining portions, which have a pixel-value less than the threshold
value, are darkened.. In dynamic threshold, the threshold taken will be the average of low and
median gray scale values. Here our aim is to localize the position of the license plate region and
extract a sub-image plot with only the number plate for further analysis.
The image obtained after processing through a median filter is now processed through an
averaging filter with structuring element of size [20 x 20], which returns the centre part of the
correlation value without zero padding at the edges. As a result of which a blurred image is
obtained. Now, the blurred image is subtracted from the original grey scale image to obtain
intensity difference image. This is because, when an image is blurred by using an average filter
the high frequency pixels in the image tend to equalise their pixel value with their surroundings.
Thus surrounding pixels acquire a higher value. Out of all these, Sobel edge detection gives the
better results. The image obtained after processing through a median filter is now processed
through an averaging filter with structuring element which returns the centre part of the
correlation value without zero padding at the edges.
Original Image /
Captured Image/
RGB Image/ Video
Median Filtering
Dilated Image
When this blurred image is subtracted with original grey scale image, the extra acquired
values remain and others are deleted. Resulting in an image. Threshold this image at a very low
value, to create a binary image. For efficient results threshold at a value of 0.03, where all pixels
above this value tend to become unity and others tend to become zero. All the components
touching the boundary of the obtained binary image are then deleted.
(a) (b)
(c)
Sobel edge filter is applied on the obtained binary image in order to obtain accurate
boundaries of binary objects in the figure. Scan for all the connected components in the figure
and fill them with holes. Search for a rectangular area filled with holes in the image which is
probably in the size of the license plate. This rectangular region of the license plate is now
extracted into a sub image figure. Multiply the extracted license plate region with the initial grey
scale image, in order to isolate the license plate from the original image of the vehicle.
Threshold this obtained license plate at a low value such as 0.01 to convert the grey-scale
license plate image into a binary image The filled regions in the image are now labeled with
distinct indices and the bounding box of four sides is applied on the image to mark all the filled
regions of the image. Initially to remove the extra zero padded regions in the image, bounding
box algorithm is applied to obtain the rectangle of maximum size. The license plate is extracted
in this step which is resized to a fixed size for easier character recognition in the further part.
Consider the fixed size to be [175x730]. The obtained license plate is now complemented and the
boundaries are cleared to erase the license plate border or unnecessary regions leaving only the
characters in the image. The regions with less than 1000 pixels and more than 8000 pixels is
deleted in order to remove the rusted part, screw holes or broken regions of the number plate (if
any) and results in an image with characters. The remaining characters in the image are now
individually extracted by applying bounding box algorithm again.
The classifier outputs a “1” if the region is likely to show the object (i.e., face/car), and
“0” otherwise. To search for the object in the whole image one can move the search window
across the image and check every location using the classifier. The classifier is designed so that it
can be easily “resized” in order to be able to find the objects of interest at different sizes, which
is more efficient than resizing the image itself. So, to find an object of an unknown size in the
image the scan procedure should be done several times at different scales.
The word “cascade” in the classifier name means that the resultant classifier consists of
several simpler classifiers (stages) that are applied subsequently to a region of interest until at
some stage the candidate is rejected or all the stages are passed. It is a machine learning based
approach where a cascade function is trained from a lot of positive and negative images. It is
then used to detect objects in other images. The cascade classifier consists of stages, where each
stage is an ensemble of weak learners. The weak learners are simple classifiers called decision
stumps. Each stage is trained using a technique called boosting. If the label is positive,
the classifier passes the region to the next stage.
Cascade classifier means the resultant of several classifiers which is trained by samples
alike of the object that is to classified. It consists of several simpler stages that are applied
subsequently to a region of interest until at some stage the object is rejected or all the stages are
passed. The two major stages of the cascade are training and detection. LBP is used in training
the object. LBP is faster than the Haar classifier.
Positive Samples:
Positive samples are the samples which containing object and created from a
single image for rigid object or from a collection of images that contains object. A large
set of positive samples is created from the given object by taking images from different
angles.
Negative Samples:
Negative samples are taken from arbitrary images. These images must not contain
detected objects; also the number of negative samples should be more than the positive. It
should be approximately double or more than that. Negative samples can contain anything
except the image of object that is going to be detected.
After the classifier is trained with positive and negative samples, the next step will be
detection of the helmet. The region of interest is given as input to the classifier which further
classifies whether the rider is wearing helmet or not. If the rider is wearing helmet, it is
classified as “helmet detected” and a round blob around helmet will be created otherwise it
is classified as “rider is not wearing helmet.”
(a) (b)
The main concept behind extraction through template matching is, that by comparing each
portion of the investigated image to a template license plate, the actual license plate in the image
is found as the region bearing the most resemblance to the template. The way the template is
constructed plays a significant role in the success of template matching. There are no rules for
template construction but the template must be constructed in such a way, that it has all the
characteristics of a license plate as it is presented in the source image.
application in the website is coded using Hypertext Markup Language (HTML) and Cascading
Style Sheets (CSS). The back end database for the web application is phpMyAdmin and is
maintained using mySQL queries. The connection between front end and the back end of the
web application is coded using PHP.
The output from the software is written and stored in a notepad file. The information in the
notepad file is later read and transferred to the cloud using Auto File Transfer Protocol (FTP)
Manager once in every 10 seconds which is later used for interpretation. This information can be
accessed and interpreted using two different modules as discussed further. Firstly, the sample is
classified and then the recognized characters are normalized by the template size in the character
database
such as vehicle number, user email id, mobile number and the details of the required vehicle.
Through this module, the required vehicle number is compared with every input number
uploaded from the embedded system. If a match is found, an alert email is sent to the registered
email id. Register module algorithm can be discussed in detail
It is observed that direct conversion of the input grey scale image to a binary image by
applying threshold at 127 pixel values in order to detect the edges of the license plate do not
produce efficient results when the light intensity is not uniform throughout the picture. The
intensity of light is more towards right side of the picture as compared to the left. The intensity
of light is non-uniform throughout the picture. The proposed algorithm improves the efficiency
in detecting and extracting license plate region for images that are subjected to non-uniform
intensity of light.
Applying sobel edge mask directly on input grey scale image in order to obtain the
license plate region does not produce efficient results when the input image is subjected to high
intensity of light, when the shadow of the vehicle is on the license plate or when the license plate
tends to reflect light. The proposed algorithm could extract the license plate region more
efficiently as compared to the existing method. The license plate is reflecting light, which
hinders efficient license plate detection and extraction.
The use of morphological operations such as dilation and erosion produces deformity in
the characters. This deformity further hinders the process of character recognition, where
characters such as ‘O’, ‘D’, ‘0’ and ‘B’ are falsely recognized among each other when filled with
holes due to irregular dilation. This deformity can be eliminated by the use of distinct algorithm
proposed in this paper where bounding box method is used twice in order to segment the
characters. A distinct algorithm for segmenting the characters in the number plate was proposed
in the paper which avoided producing deformity in the characters.
CHAPTER 6
APPLICATIONS
There are several applications where automatic license plate recognition can be used. The two
major values license plate recognition adds to systems are automation and security.
Vehicle surveillance
CHAPTER 7
SYSTEM REQUIREMENTS
Editor : Spyder
Language : python
Version : 3.6
Hard Disk : 1 TB
CHAPTER 8
SYSTEM DESIGN
In this thesis, we present full-featured vehicle detection, tracking and license plate
recognition system framework, particularly designed to work on video footage. This system
mainly having four modules:-
Video Acquisition
Vehicle detection and tracking
License plate extraction
Character recognition unit
This system is used to detect, recognize and track vehicle from incoming video frames in
dynamic scenes then extract the license plate from it as shown in Figure 1.1. It has found
numerous applications as wide as possible such as: access control in security sensitive areas,
securities for communities and important buildings, detection of military target areas, traffic
surveillance in cities and highways, detection of anomalies behaviour, traffic control
management for recognize vehicles that commit traffic violation, such as occupying lanes
reserved for public transport, breaking speed limits, crossing red light, entering restricted area
without permission; and among many other applications.
The system is designed for real time videos where a camera is used for continuous
recording of videos. The view of camera or the area covered by camera is fixed between entry
zone and exist zone. Each frame is continuously processed to check the presence of a vehicle. A
defined connected component area is taken as threshold; if the detected areais above that
threshold value then it will be recognized as a vehicle and will be tracked. A distance is defined
between the vehicle and the camera and when the vehicle comes within that range i.e vehicle’s
connected component area is maximum, these frames of video are passed to license plate
recognition algorithm. After that recognition of character takes place and data is stored and
compare with data base. The flow chart of the system is shown in Figure
On vehicle exit, the ticket issued is returned back to the security guard at the gate
and the time of exit is recorded for that particular vehicle.
The solution comprises the mobile application that has the Optical Character Recognition
functionality required in the scanning of vehicle number plate, as well as inputting other vehicle
description details. The mobile device also allows for additional services like capturing the
vehicle time in by using the mobile phones’ clock functionalities, as well as storage of the
vehicle information. The mobile application is communicating with the server side via wireless
local area network (WLAN).
Fig 8.4: Use Case Diagram for Automatic Number Plate Recognition System.
A Context Diagram is a single picture that has the system of interest at the center, with no
details of its interior structure or function, surrounded by those elements in its environment with
which it interacts. It is a Context Diagram for the Automatic Vehicle Entry Registration System
detailing the interactions with the users of the system that include the Security Guard and the
Head of Security Officer.
CHAPTER 9
IMPLIMENTATION
OpenCV (Open Source Computer Vision Library) is a library of programming
functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later
supported by Willow Garage then Itseez (which was later acquired by Intel). The library is cross-
platform and free for use under the open-source BSD license. OpenCV is open source computer
vision library developed for Image processing and computer vision applications. There are lots of
tutorials available to learn OpenCV. You can start programming using OpenCV in C, C++ or
Python. OpenCV-Python is a library of Python bindings designed to solve computer vision
problems. ... OpenCV-Python makes use of Numpy, which is a highly optimized library for
numerical operations with a style syntax. All the OpenCV array structures are converted to and
from Numpy arrays.
Compared to languages like C/C++, Python is slower. That said, Python can be easily extended
with C/C++, which allows us to write computationally intensive code in C/C++ and create
Python wrappers that can be used as Python modules. This gives us two advantages: first, the
code is as fast as the original C/C++ code (since it is the actual C++ code working in
background) and second, it easier to code in Python than C/C++. OpenCV-Python is a Python
wrapper for the original OpenCV C++ implementation.
The classifier outputs a “1” if the region is likely to show the object (i.e., face/car), and
“0” otherwise. To search for the object in the whole image one can move the search window
across the image and check every location using the classifier. The classifier is designed so that it
can be easily “resized” in order to be able to find the objects of interest at different sizes, which
is more efficient than resizing the image itself. So, to find an object of an unknown size in the
image the scan procedure should be done several times at different scales.
The word “cascade” in the classifier name means that the resultant classifier consists of
several simpler classifiers (stages) that are applied subsequently to a region of interest until at
some stage the candidate is rejected or all the stages are passed. It is a machine learning based
Dept. of CSE, RIT Page 48
License Plate Recognition By Unique Edge Detection Algorithm 2019-20
approach where a cascade function is trained from a lot of positive and negative images. It is
then used to detect objects in other images. The cascade classifier consists of stages, where each
stage is an ensemble of weak learners. The weak learners are simple classifiers called decision
stumps. Each stage is trained using a technique called boosting. If the label is positive,
the classifier passes the region to the next stage.
Cascade classifier means the resultant of several classifiers which is trained by samples
alike of the object that is to classified. It consists of several simpler stages that are applied
subsequently to a region of interest until at some stage the object is rejected or all the stages are
passed. The two major stages of the cascade are training and detection. LBP is used in training
the object. LBP is faster than the Haar classifier.
Positive Samples:
Positive samples are the samples which containing object and created from a
single image for rigid object or from a collection of images that contains object. A large
set of positive samples is created from the given object by taking images from different
angles.
Negative Samples:
Negative samples are taken from arbitrary images. These images must not contain
detected objects; also the number of negative samples should be more than the positive. It
should be approximately double or more than that. Negative samples can contain anything
except the image of object that is going to be detected.
After the classifier is trained with positive and negative samples, the next step will be
detection of the helmet. The region of interest is given as input to the classifier which further
classifies whether the rider is wearing helmet or not. If the rider is wearing helmet, it is
classified as “helmet detected” and a round blob around helmet will be created otherwise it
is classified as “rider is not wearing helmet”.
CHAPTER 10
SCREEN SHOTS
Fig 10.5: All vehicle details of table 1 saved in AWS cloud in excel format
Fig 10.10: This vehicle number from fraud list and message sent to police successfully
Fig 10.12: This person violated the rule by not wearing a helmet
Fig 10.15: Message to ploice Fig 10.16: Vehicle rider receives this penalty message