A Survey of Techniques for License Plate Detection and Recognition

Athul Suresh Nair *   Sabitha Raju **   K. J. Harikrishnan***   Akhil Mathew ****
*,***-**** UG Scholar, Department of Computer Science and Engineering, Viswajyothi College of Engineering and Technology, Vazhakulam, Kerala, India.
** Assistant Professor, Department of Computer Science and Engineering, Viswajyothi College of Engineering and Technology, Vazhakulam, Kerala, India.

Abstract

This paper aims to comprehensively map out developments in Image Processing and Machine Vision and their implementation in the application of License Plate Recognition. This paper examines the implementation of new technologies in both the plate detection, and number identification aspects of the process. The paper appreciates the advancements made in the methodology for the application, and underlines the resulting accuracy and finesse of the system. All methods considered are from papers published 2010 onwards.

Keywords :

Introduction

With the increasing number of motor vehicle owners, it is important to have an automated system that monitors, and regulates the use and abuse of vehicles. License plate recognition can have many diverse applications: from tracking crime to regulating traffic flow. It is important that the recognition done is accurate, fast, and reliable. Various methods of image processing have been used to achieve this application, and it is one of the most important, and prevalent examples of image processing. However, as image processing progresses as a field, it is important to ensure that this progress is reflected in crucial beneficiaries of the science, such as license plate recognition. As per researchers at the University of Craiova, any automatic number plate recognition system has four fundamental steps: Pre- processing, Localization of license plate, Character segmentation, and Character recognition (Badr et al., 2011).

1. Scope

As discussed in the Introduction, license plate recognition systems have a multitude of applications primarily in the automation and security fields (Automatic License Plate Recognition (n.d).). Vehicle registration can allow for greater monitoring of traffic and facilitate recovery of stolen vehicles (or tracking of criminal vehicles). It can be used to monitor public parking lots, and even ensure payment at toll booths. Any improvement in vehicle number recognition will greatly benefit these applications. As most of these applications are in public interest, any progress made by this new design can thus be considered as a contribution to society.

2. Analysis of Various Methods

The methods are introduced based on two categorizations: Chronological order–based and Application-based. The entire process of LPD (License Plate Detection) has been divided into two main portions: Methods involving Image Processing, specifically obtaining an image of a plate, processing the image so as to successfully obtain the plate location and isolate it from the rest of the image, and Methods involving Recognition/Identification which comprise of techniques that identify the segmented characters produced by the image processing stage, and the output valid plate number obtained from the image. Within the two application dependent orderings, the methods have been further organized into ascending chronological order, to appreciate the gradual development of the system.

3. Image Processing

Kumar Parasuraman prepared a methodology that focused specifically on license plate extraction and Character Segmentation from an Indian license plate (Parasuraman and Kumar, 2010). After performing grayscale conversion, done using the NTSC method, a technique called Image Binarization is performed. This converts an image of upto 256 gray levels to a black and white image. Of course, in most images it is not possible to choose an arbitrary threshold value, which is required for binarization. Thus, an adaptive threshold value will be chosen that determines best threshold value for different regions with the image. While binarization does allow for easier processing, and storage of image data, it does cause loss to detail of the image. Admittedly, as stated by Parasuraman, the foreground and background colors of license plates are quite distinct, thus there is not much fine detail to be lost by use of this method.

The system proposed by Sheng Yan Yang and associates utilizes a high definition image as input (Yang et al., 2011). The main benefit of processing a HD image is better access of information. A dual loop framework is used to increase the speed of processing. A sliding window based extraction is used to output the colour, texture and gradient data which is then supplied to the next stage. A quartet of classifiers is used for recognizing the license plate pattern: Chroma Filter, Gradient Filter, Histogram Center Filter, and Support Vector Machine. A window is distinguished as a candidate window if all (texture) histogram-centroid falls into a pre-determined range. The support vector machine, used as default classifier, is trained based on texture and gradient features to recognize the pattern of fixed spacing characters on a license plate. The threshold value is usually set as 0. Comparison of the SVM coefficient of each window gives the confidence evaluation: the higher the score, the higher the confidence. Two distinct methods are used in loop A and loop B. The implementation cost is very high due to the hardware involved, furthermore better software methods such as faster R-CNN techniques have been developed which outperforms the methods used in this paper such as the sliding windows whose performance degrades over time. Another major disadvantage is the use of colour as feature, which is sensitive to illumination change.

Chengqun (2013) formulated a way to extract license plate from an image using a method based on MATLAB and Fuzzy PID (Proportional Integral Derivative). A Fuzzy PID considers the error value as the difference between an ideal set point (SP) and the observed PV, or process variable. The system consists of license character segmentation, which is accurate and fast. Also, it is being divided into different phases. After the pre-processing phase, consisting of spatial filtering and the edge detection phase, comes the license plate extraction phase. It comprises of three parts: Horizontal positioning, Vertical positioning, and Micro positioning. These are done to detect the license plate area. Then, after the image has been segmented, recognition is carried out by a method called Template Matching. After successful implementation of all these methods, license plate is detected.

The main advantage of using this method is that MATLAB has powerful functions, which include numerical computation and symbolic computation. Experiments show that this system can achieve automobile license plate recognition efficiently. The method proposed by Rashid (2013) utilises an Artificial Neural Network (ANN) for the window selection phase. After getting Haar-like features and PCA (Principal Component Analysis) is performed, the contents of the image are passed as input to a single layer neural network, which gives output as 1 if window appears to contain a license plate and 0 otherwise. A strong classifier is used for further characterization. The solution is real time and works well with even inexpensive digital camera. The ANN method here will not consume more computational time, mainly because of the input being a segmented image (at most half the size of original).

To make the system immune to brightness, image distortion and background details, Yang et al. (2015) proposed a deep learning model to detect the license plate. The detection of the LP is done through block- difference method, which divides the image into M x N equal-sized blocks. The Sparse Auto Encoder (SAE) is then trained to recognize features of the block. The deep network used consists of the SAE and a linear classifier. Positive blocks obtained from result are used as candidates to the later stages. Extraction of the LP is done through 3 processes - Block Merging, Selection, and finally Extraction by colour. Selection of the block is based on two features: Gradient Density and Fixed Height-to-width ratio. Extraction is done by adding threshold to the histogram of blue pixels and thresholding the histogram of blue pixels in horizontal direction. The results were positive under different lighting, distortion, and conflicting characters.

For the implementation performed by Soojey et al. (2015), the main focus is on procuring the license plate location in the most efficient way possible. This paper introduces a ratio based quantifier for measuring the accuracy of a recognition system in locating the license plate. Skew Estimation and Correction is a unique method used in the image processing stage. This method is utilized to correct any tilt error in the image, which may hinder accurate recognition. A Radon Transfer is used for this purpose, and the image is tilted by an angle . The method uses the Dilation and Erosion technique prior to histogram creation/ edge detection for noise removal purposes. It also uses a low-pass filter to smoothen the histogram. Prior to segmentation of license plate region, the possible locations of license plate are identified, and their coordinates are stored within an array.

Chhabra et al. (2016 have implemented a comparative study of detection by presenting the FPGA (Field Programmable Gate Array) algorithmic model among the 3 algorithms: Edge Based, Connected Component Based, and Histogram based. FPGAs are silicon devices that can be configured to act as any sort of digital circuit or system. They consist of programmable logic blocks, programmable routing, and I/O blocks. They are flexible, comparatively cheap and easy to program (Farooq et al., 2012). FPGA with edge detection algorithm requires the creation of Gaussian pyramid, which is gained by filtering input image with a kernel of size 3x3. Edge detection at different orientations is managed via directional filter kernels. Dilation discards the pixels that are dispersed away from the text region. After this, the characters are extracted from the input image by setting background-to-text contrast to a high value. In FPGA with Connected Component Based algorithm, notably, conversion to a YUV colour space is performed, which has the advantage that U, V components can be discarded as they have no colour information, and only Y (luminance) is needed (YUV Colorspace. (n.d.). The final resultant image is obtained by means of horizontal/vertical projection on the edge detection result. In the histogram based method, after dilation and median filter, histogram equalisation process imparts horizontal and vertical histogram. The segmented regions of histogram with more likelihood of containing plate are processed both column wise and row-wise to find out the region of interest, which results in final image. Of the three FPGA implementations, the best and most efficient implementation is the histogram based one. The precision rate of this algorithm is more than the other two, as per the findings of the researchers. It is simpler, faster and independent to any type of the colours of the image, as well as the image format. Unlike the other methods, it is independent of lighting conditions and removes all noise in the image before computations.

Davis and Arun Vinodh (2015), have forwarded a faster mechanism for license plate detection using a Vertical Edge Detection Algorithm (VEDA). This method focuses on vertical edges rather than horizontal edges. In the preprocessing phase, grey-scale conversion of image is done and binarization of image is carried out by a technique called Adaptive Thresholding (AT). Thresholding segments an image by fixing all pixels which are above a threshold to a foreground value and the remaining to a background value. Next, noises in the image are removed using ULEA (Unwanted Lines Elimination Algorithm). After this, VEDA extracts the vertical edges in the image, differentiating each character's starting and ending. In the license plate extraction phase, HDD (Highlight Desired Details) algorithm highlights the areas of license plate. Then, the license plate area is selected and extracted using CRE (Character Region Extraction) and PRS (Plate Region Selection) algorithms.

The technique developed by Choudhury and Negi (2016) focused on compensating for variation of intensity of light incident of the plate surface. After the grayscale conversion is performed, a Bilateral Filter is utilized for noise reduction. The bilateral filter is edge preserving, and thus does not comprise the details of the image, but rather removes small, pixel scale anomalies (Paris et al., 2007). After obtaining histograms via horizontal and vertical edge detection, a low pass filter (“smoothing filter”) is used to reduce rapid irregularities in the histogram. A dynamic threshold value is applied. After the system obtains a simpler, a basic image zone –based identification is introduced. The current image is divided into different regions based on the intensity of incident light. An algorithm is used to select a region for analysis. This is an iterative portion in the system; each zone is analysed until either every zone is searched or the plate is located allowing one to say that this method probably has a very high accuracy rate, as the entire image is searched extensively. One primary disadvantage is that due to the zone-based analysis, the entire input image has to traverse the entire system. Not only is this inefficient and practically a waste of calculation, but it also increases processing time. Processing time is further delayed by the iterative portion of the system. Disadvantages notwithstanding, the zone based method ensures that if a license plate is located anywhere within the input image, regardless of the effects of light, it will almost certainly be found. The loss in speed could be said to have been made up for an increase in accuracy (at least in the case of actually locating the license plate). This method allows for detection in low and bright light. Afterwards, isolation of license plate, and segmentation and identification of characters is performed using conventional methods.

Mayan et al. (2016) proposed a system which is based on template matching method. The entire process is divided into major modules: Frame Acquisition, Pre-processing, Segmentation, Template Matching, and Result Display. The input is a live video from which various frames containing the license plate are captured using mm reader function. The frames which comprise the closest view are fed to the pre- processing stage.

A median filter is used to reduce the noise levels in the image, as it does not affect the sharpness of the image but reformulates each pixel value by neighboring pixel values. Edge detection is performed on the de-noised image as a means to separate individual characters from the number plate so that it can serve as an input to the template matching process. The template image must be smaller than the input image and the resolution of both the images must be similar. It has an edge over other methods, such as fuzzy systems and Artificial Neural Networks, which fail when there is noise in the image. One problem faced by this method is that it requires the templates of different fonts and languages to be effective.

The proposed approach by Elbamby et al. (2016) have two main modules: Pre-processing module and Classification module. As opposed to searching the whole image which inflates the processing time, the pre-processing module takes the vehicle image as an input and then returns the region which may encompass the license plate. It uses morphology operation and SOBEL mask to filter out major redundant parts of the input image. The aim of this module is to eliminate false positive regions and increase accuracy while decreasing the processing time. The classification module utilizes a cascade of simple Local Binary Patterns (LBP) classifiers, each of which is trained for detecting the license plate. Local Binary Patterns, referred to as LBPs, are texture descriptors. The major advantage of LBP classifier is powerful discrimination and low computational complexity, and invariance to grey-scale changes and multi-scale extension. The algorithm struggles to find light-text on dark backgrounds and vice versa (the search had to run twice).

Image blur occurs when the objects in a scene undergoes quick movement with respect to the exposure time of the camera. It is relative to the direction of motion. A system proposed by Prakash et al. (2017) seeks to combat this issue. Blur images can have two causes: Camera out-of focus and Camera shake. The format of clear image convolution with a shift- invariant kernel plus noise is generally called an Image blur. The available nonblind de-blurring algorithm has inferior performance either very fast or slow with HR images. The proposed algorithm makes use of the Evolutionary Algorithm (EA). The blur kernel is based on standard de-blurring techniques, ie., the Wiener filter and Richardson-Lucy algorithm. Regularized filtering is used when difficulties like softness are present in the image. This filter is also used to restore the blurred image by a constrained least square restoration algorithm. Image of the car is subjected to pre-processing techniques to improve the quality. After pre-processing techniques are applied, region of interest (ROI) is segmented and characters are recognized using template matching.

Davix et al. (2017) have proposed a technique involving RGB channels method and scale spaces method, which is basically a geometric frame to determine the candidate (license plate) shape. An 8 connectivity connected component is used in an edge image. CIE-XYZ color model is used. CIE uses luminance, hue, and saturation. After the conversion, the yellow colour is extracted and grouped which are then dilated to add pixels to boundaries to an object in an image. The candidate shapes obtained through edge detection (canny) undergoes removal of outliers and four-vertex detection. Finally a comparison of the detected regions (based on colour and shape) are done to ensure the license plate detection and identification. False positives are avoided through calculating aspect ratio.

License plates whose characters are unreadable due to stains, rust, peeling paint, etc., fail most methods described thus far. Qi et al. (2008) have devised two solutions to circumvent this issue, using photometric stereo and using hole filling algorithm. The photometric stereo solution, which depends on the concept that a plate is a flat object with characters being raised surfaces, calculates the geometric shape of the plate (which is unaltered by surface adulterants) using four images of plate under different surface illuminations. These images are used to generate gradient and albedo maps. The miscalculation caused by ambient light can be avoided with pre-processing using a reference image. The holefilling algorithm considers the plates as two- dimensional textures and the stains as holes. The algorithm, based on the image-quilting algorithm, is distinct from the original hole-filling algorithm, which utilizes a set of separate character image patches for sampling images. The hole is removed by analyzing the RGB histogram and dilating using region growing. Character restoration is done with hole-filling algorithm. Though the paper is prior to 2010, this method in combination with the methods described can increase accuracy of identification.

4. Recognition/Identification of Characters

Subha and Sudha (2014) have devised a methodology that uses advanced neural networking techniques for the character identification aspect of the process. This method is a little advanced, and very difficult to achieve. The general steps of GA are chromosome encoding, fitness function, selection method, mutation operator, crossover operator, and replacement strategy. In chromosome encoding, each character that may appear on a license plate is encoded by assigning it to a gene. In this scheme, the inverse of the projected objective distance between the prototype chromosome and the current chromosome is deemed as fitness. The selection method used is Stochastic Universal Sampling (SUS) method. The crossover operator used is USPS operator.

The major problem in license plate detection is the presence of background clutters (plants, buildings, people, etc..). In order to overcome this difficulty this paper proposes a two-step stage mechanism. Kim et al. (2017) have chosen to use the convolution based neural network algorithm. Images often contain a lot of redundant information and in this case, the background clutters which are not needed for object recognition, edges have that are most often we all need. This forms the insight to give the neural network a simple way to detect edges, through convolution, Hence Convolutional Neural Network (CNN) provide a very useful tool in image processing. License plate detection can be done through various ways: Edge, Colour, Region, and Character-based methods. Region based methods work with texture features and the algorithm proposed is based on this method. The first stage is to identify the vehicle region and the second stage intends to localize the position of the license plate in each vehicle region. The advantage in doing the process in two steps is that it provides scaling information and at the same time, it limits the search range of the license plate.

The vehicle detection is done through a faster R-CNN algorithm, which reduces the background clutters and provides scale information. After the vehicle region detection, the localization is done by generating candidate regions and applying CNN classifiers for each candidate. CNN is rather easy to setup and the implementation cost is rather low due to that fact, the most databases are already present.

The candidate regions are produced by adopting hierarchical sampling methods based on greedy pairwise merging procedures. Compared to other sampling methods, this one uses colour and texture features in the process, thereby yielding better results.

Palekar et al. (2017) have subjected the image to prevalent image processing techniques like Segmentation, Morphological Operations and Thresholding, process the image by the Tesseract software which outputs the text content using Optical Character Recognition (OCR). Tesseract software is a Unicode-supporting OCR engine that has the capability to recognize a 100 languages. It is enabled to produce a variety of output formats (Tesseract-ocr., 2017). Filtering is done to avoid garbage text. Results are optimized using neuro-fuzzy logic. The filter was successful in removing special characters from the text. The use of Python and OpenCV made the programming involved short and brief. However the software is likely to err if the quality of the image is not perfect. In some cases, the results showed stray characters that were obtained in the output and certain data was missing, which was caused by the difference of thickness and styles of the font of the license plate.

Conclusion

The paper has discussed various methodologies used in the image processing, and character identification stages of license plate recognition. It can be noted that as time progressed, different image enhancement techniques were applied to the image analysis phase at different stages in order to remove any occurring aberrations, and thus to increase the quality of the image on which segmentation, extraction and finally character identification are performed.

The use of genetic algorithms for the purpose of character identification is a positive and beneficial trend, as they have high fault tolerance, and thus the results are not thrown by slight variations in font, or stains near the characters being analyzed.

However, it must also be noted that the development of accurate genetic algorithm based systems is quite complex, and requires a lot of training (for the system). Thus cost of an efficient system can also be more significant when compared to a system involving less image enhancement and no neural networking. However, the price is offset by the quality of output.

References

[1]. Automatic License Plate Recognition (n.d). License Plate Recognition Applications, Retrievd from http://www.platerecognition.info/index.htm
[2]. Badr, A., Abdelwahab, M. M., Thabet, A. M., & Abdelsadek, A. M. (2011). Automatic number plate recognition system. Annals of the University of Craiova- Mathematics and Computer Science Series, 38(1), 62- 71.
[3]. Chengqun, Q. (2013). Design of Automobile License Plate Recognition System Based on MATLAB and Fuzzy PID. In Measuring Technology and Mechatronics Automation (ICMTMA), 2013 Fifth International Conference on (pp. 438-441). IEEE.
[4]. Chhabra, S., Jain, H., & Saini, S. (2016). FPGA based hardware implementation of automatic vehicle license plate detection system. In Advances in Computing, Communications and Informatics (ICACCI), 2016 International Conference on (pp. 1181-1187). IEEE.
[5]. Choudhury, A., & Negi, A. (2016). A new zone based algorithm for detection of license plate from Indian vehicle. In Parallel, Distributed and Grid Computing (PDGC), 2016 Fourth International Conference on (pp. 370-374). IEEE.
[6]. Davis, A. M., & Arunvinodh, C. (2015). Automatic license plate detection using vertical edge detection method. In Innovations in Information, Embedded and Communication Systems (ICIIECS), 2015 International Conference on (pp. 1-6). IEEE.
[7]. Davix, X. A., Christopher, C. S., & Christine, S. S. (2017). License plate detection using channel scale space and color based detection method. In Circuits and Systems (ICCS), 2017 IEEE International Conference on (pp. 82-86). IEEE.
[8]. Elbamby, A., Hemayed, E. E., Helal, D., & Rehan, M. (2016). Real-time automatic multi-style license plate detection in videos. In Computer Engineering Conference (ICENCO), 2016 12th International (pp. 148- 153). IEEE.
[9]. Farooq, U., Marrakchi, Z., & Mehrez, H. (2012). FPGA architectures: An overview. In Tree-based Heterogeneous FPGA Architectures (pp. 7-48). Springer, New York, NY.
[10]. Kim, S. G., Jeon, H. G., & Koo, H. I. (2017). Deeplearning- based license plate detection method using vehicle region extraction. Electronics Letters, 53(15), 1034-1036.
[11]. Mayan, J. A., Deep, K. A., Kumar, M., Alvin, L., & Reddy, S. P. (2016). Number plate recognition using template comparison for various fonts in MATLAB. In Computational Intelligence and Computing Research (ICCIC), 2016 IEEE International Conference on (pp. 1-6). IEEE.
[12]. Palekar, R. R., Parab, S. U., Parikh, D. P., & Kamble, V. N. (2017). Real time license plate detection using OpenCV and tesseract. In Communication and Signal Processing (ICCSP), 2017 International Conference on (pp. 2111-2115). IEEE.
[13]. Parasuraman, K., & Kumar, P. V. (2010). An efficient method for indian vehicle license plate extraction and character segmentation. In IEEE International Conference on Computational Intelligence and Computing Research (Vol. 18), pp.1-4.
[14]. Paris, S., Kornprobst, P., Tumblin, J., & Durand, F. (2007). A gentle introduction to bilateral filtering and its applications. In ACM SIGGRAPH 2007 (p. 1). ACM.
[15]. Prakash, A. R., Jagannath, M., Adalarasu, K., & Babu, G. M. (2017). Vehicle license plate detection and recognition using non-blind image de-blurring algorithm. In Nextgen Electronic Technologies: Silicon to Software (ICNETS2), 2017 International Conference on (pp. 46-49). IEEE.
[16]. Qi, L., Dong, J., Liu, Y., Duan, Y., & Zhang, C. (2008). Removing color stain on vehicle license plates based on Photometric Stereo and a Hole-Filling Algorithm. In Image and Signal Processing, 2008. CISP'08. Congress on (Vol. 3, pp. 394-397). IEEE.
[17]. Rashid, A. E. (2013). A fast algorithm for license plate detection. In Signal Processing Image Processing & Pattern Recognition (ICSIPR), 2013 International Conference on (pp. 44-48). IEEE.
[18]. Soojey, D., Kamat, S., Patil, V., Patil, M., & Patil, P. (2015). Use of horizontal and vertical edge processing technique to improve number plate detection. IJRET: International Journal of Research in Engineering and Technology, 5(12), 286-292.
[19]. Subha, and Sudha. (2014). An efficient way of detecting a numbers in car license plate using Genetic Algorithms. International Journal for Research in Applied Science & Engineering Technology (IJRASET), 2, 17-22.
[20]. Tesseract-ocr. (2017). Tesseract-Ocr/Tesseract. GitHub. Retrieved from https://github.com/tesseractocr/ tesseract
[21]. YUV Colorspace. (n.d). Retrieved from http://softpixel.com/~cwright/programming/colorspace /yuv/
[22]. Yang, R., Yin, H., & Chen, X. (2015). License plate detection based on Sparse Auto-Encoder. In th Computational Intelligence and Design (ISCID), 2015 8th International Symposium on (Vol. 2, pp. 465-469). IEEE.
[23]. Yang, S. Y., Lu, Y. C., Chen, L. Y., & Cherng, D. C. (2011). Hardware-Accelerated Vehicle License Plate Detection at High-Definition Image. In Robot, Vision and Signal Processing (RVSP), 2011 First International Conference on (pp. 106-109). IEEE.