Keywords

1 Introduction

The Intelligent Transportation Systems has impact on human life in terms of improving the safety and mobility. In the existing environment, it is necessary to incorporate new ideas and technologies. The vehicle number plate recognition (VNPR) system plays an important role in traffic surveillance systems, such as traffic law enforcement, real time monitoring, parking systems, road monitoring and security systems [1,2]. Many researchers have suggested good number of techniques [3,4] in the above application domain. The task of recognizing specific object in an image is one of the most difficult topics in computer vision and digital image processing. Recognizing the number plate of a vehicle from a natural image is one particular application case. The vehicle number plate detection is widely used for detecting speeding cars, security control in restricted areas, unattended parking zone, traffic law enforcement and electronic toll collection. Last few years have seen a continued increase in the need for the use of vehicle number plate recognition. Though good numbers of researchers have worked on this problem, still many issues are not addressed especially for generic solution. The number plate recognition system has plenty of challenging avenues for research because of its complexities like poor illumination, varied weather condition, dust, occlusion etc. This has motivated us to continue research on vehicle number plate recognition in a complex environment for an efficient solution.

Number plate standards vary from country to country. The existing vehicle number plate recognition (VNPR) system being applied are designed using domain knowledge of number plates specific to the country under consideration. This paper focuses on number plate extraction from Indian vehicle image using vertical and horizontal edges followed by slant correction process through Radon transformation. The rest of this paper is organized as follows. Next section composes a review of similar researches that have been implemented and tested for vehicle number plate detection. In Sect. 3, the proposed vehicle number plate extraction process and the slant detection and correction using Radon Transformation are discussed in detail. In Sect. 4, experimental results are reported. Finally, conclusion on the work and scope for future work is briefed in Sect. 5.

2 Review of Related Work

Literature survey indicates that quite a number of researchers have explored useful methods for locating number plate from the vehicle images. Some of the methods are based on normal features of number plates like color [5], shape [6], symmetry [7], texture of grayness [8], spatial frequency [9] and variance of intensity values [10]. An approach is suggested based on enhanced detection of boundary lines [11] using gradient filter. Another similar attempt for detection of bounding lines based on two pair of parallel lines using Hough transform [12] to designate number plate is reported. Other approaches are reported based on the morphology of objects in an image [10,13]. These approaches focus on some salient properties of vehicle plates such as their brightness, contrast, symmetry, angles etc., in an image and locate the position of number plate regions. Two approaches are based on statistical properties of text [14,15]. In these approaches, text regions are discovered using statistical properties of text like the variance of gray level, number of edges, edge densities in the region etc. These approaches were commonly used in finding text in images and used to detect and extract number plate areas as they contain alphabets and numerals.

In addition, vehicle number plate detection using artificial intelligence (AI) and genetic algorithm [16,17] are proposed. These systems use edge detection and edge statistics and then AI techniques are applied to detect the location of the number plate area. The works reported in literature have some kind of limitations such as plate size dependency, color dependency, efficient only in certain conditions or environment like indoor images etc.

In the proposed work an attempt is made to detect vehicle number plate from the vehicle images obtained at different distance and different illumination conditions, and the methodology for detection of number plate is discussed in following section.

3 Proposed Methodology

Number plate detection in this work is primarily based on theory of edges [10]. A number plate in a vehicle image is viewed as irregularities in the texture of image. Any change in the texture (local characteristics) indicates the probable presence of a number plate. The proposed vehicle number plate detection algorithm consists of following stages: (1) Convert RGB image to grey image, (2) Horizontal and Vertical edge detection using sobel edge operator, (3) Detecting number plate region using recursive algorithm for connected component labelling operation, (4) Number plate extraction, (5) Number plate slant correction using Radon transformation. General flow of operations carried out for detecting number plate is shown in Fig.  1.

Fig. 1
figure 1

Proposed model for number plate detection

The proposed work of number plate detection is presented in two modules. The first module describes the number plate extraction process and the second module describes the slant detection and correction using Radon transformation.

3.1 Number Plate Extraction

Number plate extraction process starts with accepting a vehicle image in RGB as input. In order to improve processing speed, the original RGB is converted into gray-level image. Next step is to enhance the gray-level image to remove the noise with preserving the sharpness of the image by median filter. The vehicle number plates are either rectangle or square in shape. This apriori knowledge is exploited in this method through finding vertical and horizontal edges from the vehicle image using Sobel edge operator [10]. This method finds the regions with high pixel variance values, because characters in the number plate include many edges. Using edge detection some unimportant regions are removed in which the horizontal edges and vertical edges are obvious, the remaining areas are candidate regions for number plate. Sobel edge detection operation is carried out using 2 masks of size 3 × 3 as shown in Fig.  2. These masks are designed to detect horizontal and vertical edges separately. In addition, the masks are designed in such a way to convert the resulting image into a binary image, during the process of edge detection.

Fig. 2
figure 2

Sobel masks to detect:a Vertical edge,b Horizontal edge

Next, a logical OR masking operation is performed to keep the background surrounding pixels preserved in the image. Further, each candidate region requires label for identification. This is achieved using recursive algorithm for connected component labeling [18], which works on one component at a time, to form candidate regions. In order to remove the regions other than number plate region from candidates, compute the geometrical property aspect ratio ‘A’ for available candidate regions in a given image. The aspect ratio also called as elongation or eccentricity is given by:

$$ {\text{A}} = \frac{{({\text{c}}_{{{ \hbox{max} }\, - \,}} {\text{c}}_{{{ \hbox{min} }) \, +\, 1}} }}{{({\text{r}}_{{{ \hbox{max} }\, - \, }} {\text{r}}_{{{ \hbox{min} }) \, + \, 1}} }} $$
(1)

where c and r indicates column and row respectively, min and max are the minimum and maximum values of row and columns of the region under consideration. The objects whose measurement satisfies 2 < aspect ratio < 6 are considered as number plate region. The aspect ratio ‘A’ is used in filtering operation [19] to eliminate number plate like objects from image. Resultant object contain the number plate.

Figure  3ag show the outcome of each step in number plate detection: (a) Initial RGB image (b) Gray image (c) Detecting horizontal edges (d) Detecting vertical edges (e) After image masking operation (f) Detection of candidate regions (g) Number plate detection.

Fig. 3
figure 3

Steps for number plate detection

3.2 Slant Correction Using Radon Transformation

The extracted number plate may suffer from skew/slant during image capture process. The performance of character recognition decreases due to skewness. Hence, it is necessary to detect and correct the skewness in extracted number plate. The angle of skew in number plate is estimated using Radon transformation [20,21]. The Radon Transformation in the 2-D plane is defined as:

$$ R(\theta ,\rho ) = \iint\limits_{D} {f(x,y)}\delta (\rho - x\cos \theta - y\sin \theta )dxdy $$
(2)

where, D denotes the image plane. Eigen function is denoted by Dirac function\( \delta (\rho - x\cos \theta - y\sin \theta ) \). The pixels gray value at point (x,y) is noted asf (x,y). The distance from origin to straight line is noted as ρ inx − y domain, θ is defined as the angle between the vertical line andx axis, which is from origin to straight line. The geometry of the Radon transform is showed in Fig.  4 [22]. It is noticed that the straight line is well determined when ρ and θ are fixed values. In turn, each straight line inx − y domain represents a point in ρ − θ domain. So Radon transformation maps the straight line inx − y domain to a point in ρ − θ domain as indicated in Fig.  4.

Fig. 4
figure 4

Sketch map of Radon transformation

The Radon transform is closely related to a common computer vision operation Hough transforms. The steps used in Radon transformation are as follows:

  1. Step 1:

    Using the mathematical morphology erosion algorithm, obtain binary edge image.

  2. Step 2:

    Compute the Radon transform of the image containing edges.

  3. Step 3:

    Find the locations of strong projecting points in the Radon transform matrix. The locations of these projecting points correspond to the locations of straight lines in the origin. The longer the straight line is, the brighter the corresponding point.

  4. Step 4:

    These projecting points are arranged in descending order in Radon space in view of the veracity.

  5. Step 5:

    Select projecting points.

  6. Step 6:

    Calculate the sum of each row and store in matrix R.

  7. Step 7:

    Calculate

for i = 2: length(R)

E(i) = a* R(i) + (1 − a) * E(i − 1);

Get the maximum ofE(i), α = 90° − i is horizontal rotation angle.

  1. Step 8:

    Lossless rotation correction is performed to the slant plate in the horizontal direction.

The result of horizontal slant correction is shown in Fig.  5.

Fig. 5
figure 5

Slant correction of extracted number platea Slant detectionb Slant correction

4 Experimental Results

The experiments were conducted on Pentium Dual Core 2.10 GHz with 2 GB RAM on MATLAB R2009a environment. In the experiment about 120 images were used which are Indian styled number plates with the size as 490 × 367 pixels. These images were taken by mobile camera (Sony Ericsson K550i) and digital camera (Nikon) from different locations and under different weather conditions focusing the camera to the expected plate region. Satisfactory results have been obtained with the success rate of detection up to 85 %. In this method, failures are noticed when vehicle images were obtained in following cases: (a) from different viewpoints, (b) containing some special objects (stickers or stamps) (c) complex scenes (objects similar to number plates) (d) environment conditions (strong sun light or gloomy light) (e) oriented images.

The following figures show few successful and failure cases in the sequence: (a) Initial RGB image, (b) Gray image, (c) Detecting horizontal edges, (d) Detecting vertical edges, (e) After OR masking operation, (f) Detection of candidate regions (g) Number plate detection and (h) Number plate slant correction.

Successful Cases:

Failure Cases:

5 Conclusion

A method has been presented to extract number plate from a vehicle image using horizontal and vertical edges. This method essentially uses the theory of edges and connected components. The slant/skew in the extracted number plate detected uses Radon transformation. The detection shows an overall efficiency of 85 %. The failure cases are due to large orientation and occlusion. However, further work is in progress for better efficiency in detection and new method for slant detection is under investigation.