Vehicle Number Plate Identification System For India

DOI : 10.17577/IJERTV2IS60414

Download Full-Text PDF Cite this Publication

Text Only Version

Vehicle Number Plate Identification System For India

Ms. Gauri Bijawe

Student of Computer Science and Engineering dept.

Sipna college of Engineering Amravati, India,

Prof. M. V. Sarode

Associate. Professor of Computer Science and Engineering dept.

Sipna college of Engineering Amravati, India,

Abstract

Vehicle Number Plate Identification (VNPI) has a wide range of applications since the license number is the primary, most widely accepted, human readable, mandatory identifier of motor vehicles. It plays an vital role in numerous real-life applications, and numbers of technique have been proposed. Number Plate Identification is also known as automatic vehicle identification, car plate recognition, automatic number plate recognition, and optical character recognition (OCR) for cars. For VNPI the image quality is always key factor. In VNPI extract the information from image of vehicle number/ License plate (VLP). It includes combination of a lot of techniques, such as object detection, image processing, and pattern recognition. For identification of number plate it use colour image or black and white image in different environment like indoor, outdoor, day or night time. The vehicle number plate may in different formats, in different language and different font.

Keywords: Vehicle Number Plate Identification (VNPI)

,optical character recognition (OCR) , image processing ,pattern recognition.

  1. Introduction

    Vehicle Number plate Identification (VNPI) is an image processing technology used to identify vehicles by only their Number plates. Real time LPI plays a major role in automatic monitoring of traffic rules and maintaining law enforcement on public roads. The LPI systems significant advantage is that the system can keep an image record of the vehicle which is useful in order to fight crime and fraud ("an image is worth a

    thousand words"). Early LPR systems suffered from a low recognition rate, lower than required by practical systems. The external effects (sun and headlights, bad plates, wide number of plate types) and the limited level of the recognition software and vision hardware yielded low quality systems. However, recent improvements in the software and hardware have made the LPR systems much more reliable and wide spread. Here used a smart and simple algorithm for vehicles Number plate Identification system for Indian Vehicles. This algorithm is based on extraction of plate region, segmentation of plate characters and recognition of characters.

    In India, number plate models are not followed strictly. Characters on plate are in different Indian languages, as well as in English. Due to variations in the representation of number plates, vehicle number plate extraction, character segmentation and recognition are crucial. Below are some of the typical Indian Number plates with variations in shape, size, script etc.[5]

    VNPI recognizes a vehicles license plate number from an image or images taken by either a 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. VNPI is also known as 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 Number plates [9]. They are summarized as follows.

    1. Plate variations:

      1. Location: plates exist in different locations of an image;

      2. Quantity: an image may contain no or many plates;

      3. Size: plates may have different sizes due to the camera distance and the zoom factor;

      4. Colour: plates may have various characters and background colors due to different plate types or capturing devices;

      5. Font: plates of different nations may be written in different fonts and language;

      6. Occlusion: plates may be obscured by dirt;

      7. Inclination: plates may be tilted;

      8. Other: in addition to characters, a plate may contain frames and screws.

    2. Environment variations:

      1. Illumination: input images may have different types of illumination, mainly due to environmental lighting and vehicle headlights;

      2. Background: the image background may contain patterns similar to plates, such as numbers stamped on a vehicle, bumper with vertical patterns, and textured floors.

  2. Structure Of LPR System

    Fig1.Structure of VNPI System

    The algorithm used is designed to identify the number plates of vehicles automatically. Input of the system is the image of a vehicle captured by a camera. The captured image is first converted to gray scale. Then vertical edge detection algorithm and morphological operation i.e. open and close for plate extraction. After applying morphological operations image is filtered out to get exact plate region. Plate region is cropped. Row segmentation separates row in plate and column separation separates characters from row. Finally recognition part OCR recognizes the characters giving the result as the plate number in ASCII format. The result in ASCII format is can be verified on the basis of rules followed in India.

  3. Extraction Of Plate Region

    Plate Extraction is done in following steps

      1. Convert image to Gray Scale

      2. Apply Vertical Edge detection

      3. Candidate Plate Area Detection Morphologically Close image Fill holes in image Morphologically Open image

      4. Filtration of non-Plate region

      1. Conversion To Gray Scale

        This is pre-processing step for plate extraction. We can used a formula

        Gray( i, j) = 0.299 * R(i,j)+0.5870* G(i,j)

        +0.114*B( i, j,)

        where,

        Gray(i,j) is the array of gray image,

        R(i,j,), G(i,j,), B(i,j) are the R,G,B value of original image respectively.

        Sometimes the image may be too dark, contain blur, thereby making the task of extracting the Number plate difficult. In order to recognize the Number plate even in night condition, contrast enhancement is important before further processing

        Fig. 2) Original Image

        Fig. 3) Gray Scale Image

        Fig. 4) Gray image after contrast enhancement

      2. Vertical Edge Detection

        Before applying edge detection median filter is to be applied to image for removing noise. The main idea of median filter is to run through the signal, entry by entry, replacing each entry with the median of neighboring entries. Such noise

        reduction is a typical pre-processing step to improve the results of later processing (edge detection) [2].

        In ascending order of values: 0, 2, 3, 3, 4, 6, 10, 15,

        97.

        Center value (previously 97) is replaced by the median of all nine values (4).

        Edge detection is performed on the given image, which aims at identifying points in digital image at which image brightness changes sharply or, more formally, has discontinuities. There mainly exists several edge detection methods (Sobel, Prewitt, Roberts, Canny).We use here Sobel operator for vertical edge detection.

        If we define A as the source image, and Gx and Gy are two images which at each point contain the horizontal and vertical derivative approximations, the computations are as follows:

        Where * is 2D convolution operation.

        Fig. 5) Sobel Vertical Edge detection

      3. Candidate Plate Area Detection

        In this paper morphological oprator is applied to the image for specifying the plate location. A morphological operator that is sensitive to a specific shape in the input image. A structural element is use to detect the car plates.

        In mathematical morphology structuring element are represented as matrices. Structuring element is a characteristic of certain structure and features to measure the shape of an image and is used to carry out other image processing operations [4].

        Using two basic operation of morphology (erosion and dilation), opening and closing of image is done. The opening of A by B is obtained by the erosion of A by B, followed by dilation of the resulting image by B. The closing of A by B is obtained by the dilation of A by B, followed by erosion of the resulting structure by B.

      4. Filtration of Non Plate Region

    After identify the image is then filtered using following filtering techniques. The first technique involves removing of all white patches which has more or less area than the threshold. For instance components having area < 3000 or >30000 are eliminated.

    Using Bounding Box method, draw Bounding Box around components and fill the image.

    According to the height values, for instance, only the objects with a height greater than H_min and less than H_max are retained, and eliminate the other objects. After that, if the width values of the retained objects are greater than W_min and less than W_max, the objects are retained; otherwise, the objects are removed, and so on.

    Where:

    H_min : Minimum height of the object. H_max : Maximum height of the object. W_min : Minimum width of the object. W_max : Maximum width of the object.

    Algorithm:

    1. Let Obj_h be height and Obj_w be Width of Plate image.

    2. If Obj_h < = H_max && Obj_h >

      =H_min

      {

      Area between H_min and H_max is

      retained

      {

    3. If Obj_w < = W_max && Obj_w >

      =H_min

      {

      Area between W_min and W_max is

      retained

      {

    4. Fill the remaining image.

    After filtering plate region is cropped by searching for the first and last white pixels starting from top left corner of an image. Plate is cropped from original image after getting coordinates.

    Fig. 11) Image after filtration on basis of height &width of objects

    Fig. 12a) After Horizontal Cropping

    Fig. 12b) After Vertical Cropping

    If the plate is not straight then characters will not be extracted properly. So the Plate image must be rotated to make it straight. For tilt correction we use orientation property of connected component. Orientation Property returns angle through which plate is rotated in opposite direction. e.g. If angle returned by Orientation Property is 5 degree, then Plate image has to be rotated by -5 degree.

    Fig. 12c) Tilted Plate

    Fig. 12e) After Tilt correction

  4. SEGMENTATION OF PLATE CHARACTERS

    Before applying the OCR, the individual lines in the text are separated using line separation process and individual characters from separated lines.

    Steps for Character Segmentation:

    1. Binarization of Plate image

    2. Scan Line Algorithm for row segmentation

    3. Vertical Projection for column segmentation

    1. Binarization Of Plate Image

      Binarize the plate image. Threshold for binarization must be such that characters are displayed well. For that we take average of all pixel values in plate image and calculate threshold. Binarization method to distinguish foreground and background components.

      Fig. 13) Binarized image

    2. Scan Line Algorithm

      The scan line algorithm is based on the feature that there is transition from 1 to 0 and 0 to 1 transition in character region in a binary image. Thus the total number of transition in character region is more than the total number of transition in other region. There are at least seven characters in Number plate region and every character has more than two Jumps[7]. We can choose twelve as the threshold value. If the total number of transitions in a certain line is greater than twelve, this line may be in character region. Otherwise, it is not in character region.

      Algorithm:

      1. Let H be height and W be Width of Plate image.

      2. for(i=H/2 to 0)

      {

      Count no of transitions i.e., 0 to 1 and 1 to 0 in cnt;

      if cnt <12 get y coordinate in Ymin and break;

      }

      3) for(i=H/2+1 to H-1)

      {

      Count no of transitions ie 0 to 1 and 1 to 0 in cnt;

      if cnt <12 get y coordinate in Ymax and break;

      }

      4) crop the image from Ymin to Ymax.

      Fig. 14) After Scan Line Algorithm

    3. Vertical Projection

      Scan the cropped image from left to right column by column after precise location of the top and bottom boundary and count the total number of black points in every column.

      The threshold value is set to h/10. Judge every value in array projection. If Projection[i] is greater than h/10, Projection[i] is set to one. Otherwise, Projection[i] is set to zero. Where h is the modified no of rows of the binary image after precise location of top and bottom boundaries [7].

      Then characters are cut by selecting the portions having Projection[i]=1. Before recognition algorithm, the characters are to be refined into a block containing no extra white spaces (pixels) in all the four sides of the characters.

      Algorithm

      1) Let H be height and of Plate image. 2) vop= H/10,

      1. for(i= 0 to H)

        {

        if Projection[i] > vop

        set Projection[i]=1, otherwise Projection[i] = 0

        }

      2. Characters are cut where portions having Projection[i]=1

      Fig. 15 a) Character Segmentation for English font

      Fig 15b) Characters after removing extra spaces from four sides

  1. RECOGNITION OF CHARACTERS

    The OCR is now used to compare the each individual character against the complete alphanumeric database using template matching. Template matching is one of the Optical Character Recognition techniques [8]. The image is converted into 12×12 bitmap. Bitmap is represented by 12×12-matrix or by 144 vectors with 0 and 1 coordinates.

    Fig. 16) Bitmap represented by 12×12 matrix

    The character image is compared with the ones in the database and the best similarity is measured. The OCR actually uses correlation method to match individual character.

    Fig.17) Database characters

    This process involves the use of a database of characters or templates. There exists a template for all possible input characters. For identification to occur, the current input character is compared to each template to find either an exact match, or the template with the closest representation of the input character. If I(x, y) is the input character, Tn(x, y) is the template n, then the matching function s(I, Tn) will return a value indicating how well template n matches the input character .Some of the more common matching functions is correlation based on the following formula:

  2. VERIFICATION OF PLATE

    The plate number thus recognized can be stored in an array and can be verified on the basis of rules followed in India [4]. In the case of Indian number plates, the length can be 8, 9 or10. Rules

    Conditions, International Journal of Image Processing (IJIP) Vol. 4: No. 2. pp. 106-1118

    1. Ayesha Butalia, Durgesh Maru, Kuldeep Baheti, Avais Mohammad, Ankit Bagdiya, Gray Eye Traffic Surveillance, International Journal of Computer Trends and Technology- May- June 2011 pp. 2231- 2803

    2. Chetan Sharma1 and Amandeep Kaur ,Indian Vehicle License Plate Extraction And Segmentation, International Journal of Computer Science and Communication Vol. 2, No. 2, July-December 2011, pp. 593-599

    3. Phalgun Pandya, Mandeep Singh, Morphology Based Approach To Recognize Number Plates in India, Intrnational Journal of Soft Computing and Engineering (IJSCE) ISSN: 2231-2307, Vol.1, No-3, July 2011.pp. 107-112

      corresponding to the number plate lengths are as follows:

      • ..If the number of segmented characters counts to 7, the number plate follows 1939 series having first three characters as alphabets and rest as numbers.

      • ..If the number of character counts to 8, the first two characters should be alphabets and rest should be numbers.

      • ..If the number of character counts to 9, the first, second and fifth characters should be alphabets and rest should be numbers.

      • ..If the number of segments counts to 10, the first, second, fifth and sixth characters will be alphabets and rest will be numbers.

  3. CONCLUSION

In this paper we presented application designed for the identification of vehical Number plate. The captured image is first converted to gray scale. Then vertical edge detection algorithm and morphological operation i.e. open and close for plate extraction. After applying morphological operations image is filtered out to get exact plate region. Plate region is cropped. Row segmentation separates row in plate and column separation separates characters from row. Finally identification part OCR recognizes the characters giving the result as the plate number in ASCII format. The result in ASCII format is can be verified on the basis of rules followed in India. In future studies we will used an algorithm for different regional languages plate character segmentation and identification.

References

[1] Chirag N. Paunwala & Suprava Patnaik, A Novel Multiple License Plate Extraction Technique for Complex Background in Indian Traffic

  1. Satadal Saha, Subhadip Basu, Mita Nasipuri, Dipak Kumar Basu License Plate Localization from Vehicle Images: An Edge Based Multi-stage Approach International Journal of Recent Trends in Engineering, Vol 1, No. 1, May 2010

  2. Kumar Parasuraman, and P.Vasantha Kumar An Efficient Method for Indian Vehicle License Plate Extraction and Character Segmentation, 2010 IEEE International Conference on Computational Intelligence and Computing Research

  3. Ch.Jaya Lakshmi, Dr.A.Jhansi Rani, Dr.K.Sri Ramakrishna, M.KantiKiran, A Novel Approach for Indian License Plate Recognition System, International Journal Of Advanced Engineering

    Sciences And Technologies Vol No. 6, Issue No. 1, pp.010 – 014

  4. Nadira Muda, Nik Kamariah Nik Ismail, Siti Azami Abu Bakar, Jasni Mohamad ZainFakulti Sistem Komputer & Kejuruteraan Perisian, Optical Character Recognition By Using Template Matching (Alphabet).

  5. Shan Du, Mahmoud Ibrahim, Mohamed Shehata, and Wael Badawy, Automatic License Plate Recognition (ALPR): IEEE transactions on circuits and systems for video technology, vol. 23, no. 2, february 2013 pp.311-325.

Leave a Reply