0% found this document useful (0 votes)
149 views

Development of Portable Automatic Number Plate Recognition System On Android Mobile Phone

This document describes the development of a portable automatic number plate recognition (ANPR) system implemented on an Android mobile phone. It discusses the challenges in developing mobile applications with limited resources and the need for efficient algorithms. The proposed system utilizes a graphical user interface to capture license plate images, performs preprocessing like contrast enhancement, then uses character segmentation and optical character recognition with the Tesseract library to extract and recognize characters. The system was implemented using the Android software development kit and tested on a computer, achieving a 90.86% recognition rate within 2 seconds on average.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views

Development of Portable Automatic Number Plate Recognition System On Android Mobile Phone

This document describes the development of a portable automatic number plate recognition (ANPR) system implemented on an Android mobile phone. It discusses the challenges in developing mobile applications with limited resources and the need for efficient algorithms. The proposed system utilizes a graphical user interface to capture license plate images, performs preprocessing like contrast enhancement, then uses character segmentation and optical character recognition with the Tesseract library to extract and recognize characters. The system was implemented using the Android software development kit and tested on a computer, achieving a 90.86% recognition rate within 2 seconds on average.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

This content has been downloaded from IOPscience. Please scroll down to see the full text.

Download details:
IP Address: 180.234.100.108
This content was downloaded on 27/02/2014 at 10:31
Please note that terms and conditions apply.
Development of Portable Automatic Number Plate Recognition System on Android Mobile
Phone
View the table of contents for this issue, or go to the journal homepage for more
2013 IOP Conf. Ser.: Mater. Sci. Eng. 53 012066
(http://iopscience.iop.org/1757-899X/53/1/012066)
Home Search Collections Journals About Contact us My IOPscience

Development of Portable Automatic Number Plate
Recognition System on Android Mobile Phone
Abdul Mutholib
1
, Teddy S. Gunawan
1
, 1alel Chebil
1
, Mira Kartiwi
2

1
ECE Department, Faculty oI Engineering International Islamic University Malaysia
Kuala Lumpur, Malaysia
2
InIormation Systems Department, Faculty oI ICT International Islamic University
Malaysia Kuala Lumpur, Malaysia

E-mail: tsgunawaniium.edu.my

Abstract. The Automatic Number Plate Recognition (ANPR) System has perIormed as the
main role in various access control and security, such as: tracking oI stolen vehicles, traIIic
violations (speed trap) and parking management system. In this paper, the portable ANPR
implemented on android mobile phone is presented. The main challenges in mobile application
are including higher coding eIIiciency, reduced computational complexity, and improved
Ilexibility. SigniIicance eIIorts are being explored to Iind suitable and adaptive algorithm Ior
implementation oI ANPR on mobile phone. ANPR system Ior mobile phone need to be
optimize due to its limited CPU and memory resources, its ability Ior geo-tagging image
captured using GPS coordinates and its ability to access online database to store the vehicle`s
inIormation. In this paper, the design oI portable ANPR on android mobile phone will be
described as Iollows. First, the graphical user interIace (GUI) Ior capturing image using built-
in camera was developed to acquire vehicle plate number in Malaysia. Second, the
preprocessing oI raw image was done using contrast enhancement. Next, character
segmentation using Iixed pitch and an optical character recognition (OCR) using neural
network were utilized to extract texts and numbers. Both character segmentation and OCR
were using Tesseract library Irom Google Inc. The proposed portable ANPR algorithm was
implemented and simulated using Android SDK on a computer. Based on the experimental
results, the proposed system can eIIectively recognize the license plate number at 90.86. The
required processing time to recognize a license plate is only 2 seconds on average. The result is
consider good in comparison with the results obtained Irom previous system that was
processed in a desktop PC with the range oI result Irom 91.59 to 98 recognition rate and
0.284 second to 1.5 seconds recognition time.
1. Introduction

Automatic number plate recognition (ANPR) has played a signiIicant role Ior traIIic law enIorcement,
access control, automated tolls and automated parking. ANPR system is an image processing technique
to identiIy the vehicles by their number plate. It consists oI acquisition oI an image, detection the
numbers` location in the image and extraction characters to interpret the pixels into numerically
readable characters |1|. It became much interest during the last decade along with the improvement oI

1
Corresponding author: Teddy S. Gunawan, tsgunawaniium.edu.my
5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
Content from this work may be used under the terms of the Creative Commons Attribution 3.0 licence. Any further distribution
of this work must maintain attribution to the author(s) and the title of the work, journal citation and DOI.
Published under licence by IOP Publishing Ltd 1

digital camera technology and the computational processing |2|. ANPR has also been used in various
traIIic law enIorcement, including speed prosecution, stolen car detection and border monitoring.
Moreover, it can be utilized Ior area management, such as managing oI parking lots and toll gate
control |3|.
Commonly, the ANPR system works in Iive steps, including image acquisition, image pre-
processing, number plate localization, character segmentation to get individual character and Iinally
optical character recognition (OCR) to recognize the individual character with the help oI database
stored Ior each and every alphanumeric character |2|. To reduce the computational requirement,
number plate localization was not included, instead vehicle plate number image was captured at a
speciIic ROI (region oI interest).
There are plenty approaches that can be used to improve the accuracy rate oI the image recognition;
some common ones are RGB, YCbCr, image binarization, image Iilter, Iuzzy algorithm, genetic
algorithms, support vector machines and artiIicial neural network |4|. In this paper, we Iocus on
minimalizing the computational cost due to the limitation oI Android mobile phone device while we
keep maintaining a certain degree oI recognition accuracy and recognition time. Hence, we proposed
the algorithm that suitable Ior portable ANPR.
The rest oI the paper is organized as Iollows: section 2 presents the ANPR on Android, while
Section 3 discusses the hardware requirement and soItware environment development oI the
development portable ANPR system and the proposed algorithm. Section 4 discusses the
implementation and Section 5 will present the experimental result. Finally Section 6 concludes the
paper.

2. ANPR and Android

In the last Iive years, the biggest improvement in mobile phone development was the introduction oI
Java-hosted MIDlets. MIDlets are executed on a Java virtual machine, a process that abridgments the
core hardware and provide chance Ior the developers to develop applications which is running on the
wide variety oI devices that supports the Java run time. UnIortunately, this accessibility comes at the
price oI restricted access to the device hardware |5|. It was considered normal in the mobile application
development Ior third-party applications to obtain diIIerent hardware access and accomplishment rights
Irom those given to native applications written by the phone manuIacturers.
Android walk alongside a movement oI mobile operating systems which is designed Ior increasingly
powerIul mobile hardware, such as, Windows Mobile, iOS Apple and Blackberry. They provide a
richer and simpliIied development environment Ior mobile applications. However, diIIerent with
Android, they are built on proprietary operating systems. In some cases it prioritizes the native
applications over the application that developed by third parties. It restricts communication between
applications and native phone data, and restricts control the distribution oI third-party application to
their platIorms. Android oIIers an open development environment built on an open-source Linux
kernel. Hardware access is available to all applications through the API libraries. In Android, the third-
party and native Android applications are constructed with the same APIs and executed on the same run
time. Developers can eliminate and replace any native application with a third-party developer
alternative, even both the dialer and home screens can be replaced |5|.
Android`s soItware architecture as shown on Figure 1 was deliberated to simpliIy reusable
applications` component. The applications can publish their capabilities, and other applications can use
those capabilities. Android soItware development kit (SDK) provides authoring applications with rich
Iunctionality. It can handle touch screens, accelerometers, 3D graphics, and GPS as well as
collaboration among applications like email messaging, calendars, social networking, and location-
based services |6|.
ANPR as an intelligent tool that eliminate the need oI human intervention requires a high degree oI
accuracy. It has many variables that need to be optimized in term oI producing a high accuracy oI the
5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
2

number plate recognition, such as time oI day, weather and angles between the cameras and the license
plates |3|. Android has the ability to compensate all oI the ANPR's variables that can aIIect the ANPR
ability to produce an accurate recognition. An illumination wavelengths have a direct impact on the
resolution and detection accuracy.



Figure 1. Android Architecture

3. System Design and Proposed Algorithm

In this section, the proposed algorithm in Android mobile phone will be implemented using Eclipse as
the IDE (Integrated Development Environment), Android SDK (SoItware Development Kit), Sun's
Java Development Kit (JDK) and the Android Developer Tool (ADT) an Eclipse plug-in. The Eclipse
IDE, JDK and ADT are installed in a personal computer as a soItware environment development. The
overall system design oI the portable ANPR system can be categorized into two parts, the hardware
requirement and soItware environments developments. Without one oI these two parts, we cannot
develop any portable ANPR system.
3.1 Hardware Requirement

Hardware is the main part oI the portable ANPR system. In this section, we will describe the hardware
requirement Ior constructing and deploying the ANPR system, including personal computer and
Android mobile device.
3.1.1 Personal Computer

The PC used in this research is a Toshiba Notebook Satellite M200 released in 2007. The details
speciIication can be seen in Table 1.


Applications
Application Framework
Libraries
Linux Kernel
Android Runtime
|Libraries Core|
|Dalvik VM|
5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
3

Table 1. Personal Computer SpeciIication Details
Component SpeciIication
Model Toshiba Satellite M200
CPU Intel Core 2 Duo T5450 1.6 GHz
Cache Sizes 2 MB (L2) 64 KB (L1)
System Bus 667 MHz
Memory 3 GB DDR2
Screen size 14.1 inch
LCD technology XGA
Natural resolution (max) 1280 x 800 pixels
Graphics hardware Intel 965 Express Chipset Family
Video RAM 384 MB

3.1.2 Android Mobile Phone

The Android Mobile Phone used in this research is Samsung GT-S5830 (Galaxy Ace) also known as
Galaxy Cooper which is a mid-end smart phone Iamily released by Samsung in February 2010. The
details speciIication can be Iound in Table 2.

Table 2. Android Mobile Phone SpeciIication Details
Component SpeciIication
CPU 800 MHz 1 Core ARM v6
GPU Adreno 200
Chipset Qualcomm MSM7227
Memory 278.34 MB
ROM 178.39 MB
Network Data 2G / 3G / HSDPA 7.2
OS Android 2.3.7
Screen size 3.5 inch
LCD technology TFT 16M colors multi touchscreen
Resolution HVGA (480 x 320) ~165 ppi pixel density
Camera Resolution 5 MP (2592x1944 pixels)
Digital/Optical Zoom Up to 2x digital zoom
Shot Mode Single / Smile / Continuous / Panorama
Photo EIIects Normal / Negative / B&W / Sepia
White Balance Auto / Daylight / Cloudy / Incandescent / Fluorescent
GPS AGPS
Wi-Fi 802.11b/g/n
Sensor Accelerometer, proximity, compass, gravity
3.2 Software Environments Developments

SoItware controls the hardware resources in this case is due to the processing oI the number plate image
step by step until producing a set oI number plate character. The ANPR system is constructed using
Eclipse, JDK 1.7, android SDK and ADT plug-in Ior Eclipse IDE as the soItware environments
developments. The minimum Android API (Application Programming InterIace) that we used Ior the
constructing oI the ANPR system is API 10 which can be implemented to Android 2.3 (Ginger Bread)
and above.

5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
4

3.3 Proposed Algorithm

The proposed portable ANPR algorithm can be categorized into Iour steps as shown in Figure 2.


















Figure 2. Portable ANPR on Android`s Ilow chart.
3.3.1. Image Acquisition

The Iirst process oI the portable ANPR system is very important, because the result oI this process will
deliver to the next process. In this process, Android camera embedded in the phone was used. It
capables to acquire 5 megapixels and can produce image with maximum resolution oI 2592x1944
pixels. To reduce the computational requirement, only images with 640x480 pixels (around 80 Kbytes
required disk space) were captured. Figure 3 shows how to set the eIIect oI the camera. The camera in
Android oIIers many parameters that also can be used as image pre-processing in ANPR system. One
oI the parameter is EFFECTMONO that produce image with only black and white. Thus we need
have not to develop any Iunction Ior gray scaling the image and just pass the black white image to
next process. The result oI acquisition image can be seen in Figure 4.

Line Code set camera as mono (black and white)
1
params.setColorEffect(android.hardware.Camera.Parameters.);
Figure 3. Excerpt oI Android code to acquire black and white image


Image Acquisition
Image Pre-Processing
Character Segmentation
Character Recognition
Start
Stop
5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
5


Figure 4. Sample oI black and white image captured by Android camera
3.3.2. Image Pre-Processing

This part is very crucial part oI the portable ANPR system. Image pre-processing steps adjusts the
image gained Irom step 1. Furthermore, it enhances the license plate image to ease recognition
process. In this procedure, contrast enhancement was applied on the image to alleviate the unwanted
eIIects due to the poor lighting conditions and the similarity between background and text color. A
basic enhancement algorithm is given as |7|:


s S
S v x S
v x G
min max
255 min ,
,


(1)
where v x G , is the contrast enhanced pixel value, v x S , represents the pixel value, min(S) and
max(S) are the minimum and maximum grayscale values oI S(x,v) respectively. II max(S) min(S) _
80, it means the gray scale image is low in contrast. Gray scale extension will increase the contrast
through the calculation to achieve max(S) min(S) 255. Figure 5 shows the contrast enhancement
image.











Figure 5. Contrast enhanced image
3.3.3. Character Segmentation

Character segmentation process is the crucial step Ior this portable ANPR system. This step associated
with the recognition routine. The character segmentation process tries to Iind the boundaries Ior
characters related with a line oI scanned data. Tesseract library oIIers Iixed pitch detection and
chopping method. It can determine whether the text line are Iixed pitch. II it Iinds Iixed pitch text,
Tesseract will chop the words into characters using the pitch, and restricts the chopper and associator
5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
6

on these words Ior the word recognition step |8|. Figure 6 shows a Iixed-pitch word chop into
characters.
Figure 6. Character segmentation
3.3.4. Character Recognition

The Iinal step oI ANPR is character recognition. As the previous step, in this step we used Tesseract as
the OCR engine and it is based on the artiIicial neural network algorithm. The word network in the
term artiIicial neural network mentions to the interconnections among the neurons in the diIIerent
layers oI the system. As an example, the system has three layers. The Iirst layer has input neurons
which send data through synapses to the second layer oI neurons, and then through Iurther synapses to
the third layer oI output neurons. The complex systems will have more extra layers oI neurons with
some having more layers oI input neurons and output neurons. The synapses have parameters called
weights that manipulate the data in the calculations. Figure 7 shows the diagram oI neuron model.


Figure 7. Matematical non-linear model oI a neuron

Mathematically, we can deIine a k neuron with the Iormulation as the Iollow.

p
f
f kf k
x w u
1
(2)
and
x1
x2
Wk1
Wk2
_
o
Threshold
(.)
Output vk
U
xp
Wkp
Summing
Function
Synaptic
weight
Activation
Function
5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
7


k k k
u v (3)

where x1, x2, ., xp are the input signals; Wk1, Wk2, ., Wkp are the synaptic weight Irom the neuron k;
U
k
is a linear combiner output; o
k
is a threshold; (.) is an activation Iunction and v
k
is output signal
Irom the neuron |9|.
For this ANPR system which has number and character, the ANN`s number, there will be 10
neurons Ior hidden layer and output layer. For ANN`s letter, there will be 20 and 26 neurons Ior
hidden layer and output layer respectively. The value oI element oI each targets are all zero except one
element on speciIic position which represent the number or letter. The output Irom the network will be
two dimensional matrixes with size 26 x n and 10 x n Ior ANN`s letter and ANN`s number,
respectively.
The value oI output will be in range 0 and 1. To be recognize, output should be processed Iirst by
converted the highest value to be 1 and other will be 0. Then, the location oI element which has value
1 will be Iounded and the result will represent number or letter. For example, output Irom ANN`s
letter which has value 1 at Iirst element will represent the letter A.
Figure 8. Character recognition result

4. Implementation

As the system design has been completed, the system is ready Ior the construction and implementation.
First oI all the portable ANPR is constructed under Android platIorm using android API 10 Ior android
2.3 Ginger Bread. For the system environment itselI Eclipse IDE was used as the coding editor, JDK
1.7 Ior the java environment, Android SDK and ADT plug-in Ior Eclipse. Furthermore, several
Google`s libraries (Tesseract) have been imported in this implementation step. The proposed algorithm
contains more than hundred line oI code, including the image processing, GPS geo-tagging, sending the
result oI recognized character to database server and sending the notiIication to the user. The result oI
the constructing step can be seen in Figure 9.
Finally, aIter the construction and implementation oI the proposed algorithm Ior portable ANPR
completed, we need to deploy the system into Android mobile phone. This step is perIorming thru the
compiling oI the source code in Eclipse IDE with the destination process is Android mobile phone and
the ANPR system is automatically installed in Android mobile phone.



5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
8















Figure 9. GUI oI portable ANPR system

5. Experimental Results and Discussion

Experiments have been perIormed to evaluate the proposed system and to measure the accuracy oI the
system. The images Ior the input to the system are black and white images with the size 640x480
pixels. The test images were taken under various illumination conditions. As shown in Table 3, the
recognition accuracy is 90.86 and the average recognition time is 2 second.

Table 3. Recognition rate and recognition time Ior various number plates.
Number Plate Accuracy () Time (s)
WGH 6400 88.57 2.1
WAX 5739 91.43 2.0
PDG 7628 85.71 2.1
DAA 9949 94.29 1.9
WDC 292 85.71 2.2
DBH 1912 100.00 2.0
BFP 2569 100.00 1.8
ABS 1544 94.29 1.9
WQP 5739 82.86 2.1
BFD 9917 85.71 1.9
90.86 2

The proposed system is diIIerent Irom previous systems in term oI algorithm and hardware design.
Ying Wen et. al. |10| implemented the ANPR system on desktop PC with 1.8 GHz processor using
VC 6.0 and achieve 93.54 Ior recognition accuracy and 0.284 second Ior recognition time. Ying
Wen et. al. used improved Bernsen algorithm connected component Ior license plate detection method
and support vector machine Ior recognition method. Ankush Roy et. al. |11| achieved 91.59 Ior
recognition accuracy and it was designed using Matlab (R2008a) and implemented using C. Ankush
Roy et. al. used bounding box method Ior segmentation and artiIicial neural network (ANN) Ior
recognition method. At last Huang et. al. |12| gained 1.5 second Ior recognition time. They used Otsu
method to binarize the image and template matching technology to recognize the license numbers.

5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
9

6. Conclusions

This paper has discussed the development oI portable ANPR on android mobile phone. The design oI
portable ANPR have been proposed and implemented on Android mobile phone platIorm. This system
is designed to identiIy Malaysian number plates. To evaluate its perIormance, the system is tested over
several number plate images. Results show that the accuracy oI the proposed system is about 90.86
with the recognition time oI 2 second. This proposed system can be easily modiIied and optimized Ior
multinational car license plates.
7. References

|1| Lakshmi, C.J., et al., A Novel Approach for Indian License Plate Recognition Svstem.
International Journal OI Advanced Engineering Sciences And Technologies (IJAEST), 2011.
6(1): pp. 010 - 014.
|2| Qadri, M.T. and M. AsiI, Automatic Number Plate Recognition Svstem for Jehicle
Identification Using Optical Character Recognition. International ConIerence on Education
Technology and Computer, 2009: pp. 335 - 338.
|3| Hamey, L.G.C. and C. Priest, Automatic Number Plate Recognition for Australian Conditions.
Proceedings oI the Digital Imaging Computing: Techniques and Applications, 2005: p. 8.
|4| Chen, Z.-X., et al., Automatic License-Plate Location and Recognition Based on Feature
Salience. IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, 2009. 58(7): p. 3781-
3785.
|5| Meier, R., Professional Android 2 Application Development, 2010, Indianapolis, Indiana: Wiley
Publishing, Inc. 399.
|6| Mutholib, A., T.S. Gunawan, and M. Kartiwi. Design and implementation of automatic number
plate recognition on android platform. in Computer and Communication Engineering (ICCCE),
2012 International ConIerence on. 2012.
|7| Jian, Y., et al. Text extraction from images captured via mobile and digital devices. in
Advanced Intelligent Mechatronics, 2009. AIM 2009. IEEE/ASME International ConIerence
on. 2009.
|8| Smith, R. An Overview of the Tesseract OCR Engine. in Document Analysis and Recognition,
2007. ICDAR 2007. Ninth International ConIerence on. 2007.
|9| Gunawan, T.S., O.O. KhaliIa, and E. Ambikairajah, Forward Masking Threshold Estimation
Using Neural Networks And Its Application To Parallel Speech Enhancement. IIUM
Engineering Journal, 2010. 11(1): p. 15-26.
|10| Ying, W., et al., An Algorithm for License Plate Recognition Applied to Intelligent
Transportation Svstem. Intelligent Transportation Systems, IEEE Transactions on, 2011. 12(3):
p. 830-845.
|11| Roy, A. and D.P. Ghoshal. Number Plate Recognition for use in different countries using an
improved segmentation. in Emerging Trends and Applications in Computer Science
(NCETACS), 2011 2nd National ConIerence on. 2011.
|12| Yo-Ping, H., L. Shi-Yong, and C. Wei-Po. A template-based model for license plate
recognition. in Networking, Sensing and Control, 2004 IEEE International ConIerence on.
2004.


5th International Conference on Mechatronics (ICOM13) IOP Publishing
IOP Conf. Series: Materials Science and Engineering 53 (2013) 012066 doi:10.1088/1757-899X/53/1/012066
10

You might also like