License Plate Recognition Using Image Processing Techniques & SVM Classifier

One of the things necessary for designing a completely automatic system for opening a gate (for the faculty parking lot, in our case) without installing a signal transmitter in each car.

Abstract          

One of the things necessary for designing a completely automatic system for opening a gate (for the faculty parking lot, in our case) without installing a signal transmitter in each car, is a system which can read the license plate of an approaching vehicle, and see whether or not it is permitted to enter.

In our project we designed such a system.  First we separated each digit from the license plate using image processing tools.  Then we built an SVM classifier, using a training set based on digits extracted from approximately 430 license plates.  Finally, we built a Graphical User Interface for selecting a picture of a license plate, to identify the number on it.

1
The Problem

License plates come in different sizes and in different Width-Height ratios, the fonts used for digits on license plates are not the same for all license plates. These problems, and the changing weather conditions, are what make the field of License Plate Recognition a good candidate for testing Pattern Recognition techniques, such as SVM. The system is built to be able to construct a new training set at the moment, for later use, however we would recommend designing a tool that will enlarge an existing set.

 

The solution
The method we used for deciphering the numbers from the images was first to separate the figures of the digits from the total image of the license plate. This is done by first transforming the grayscale picture of the license plate to a black-white image. The threshold for this transformation was first determined by using the ‘graytresh’ Matlab function, and if the result was insufficient, various thresholds were tried, until the most successful of those is found.

The separation of the digits is done by first filtering all objects which are not likely to be digits, because of their dimensions, their location or their orientation.

The method used for identifying the digits is SVM (Support Vector Machine). This method receives a training set of labeled feature vectors, and uses it to separate a Hilbert Space into decision areas. If a linear separation is applied the separating spaces will be in the form of 2. Otherwise, they will be in the form of 3.
A new features vector will be classified according to which decision area it fits in.

4
Figure 1 – Filtering Process of unwanted LP noises

 

5
Figure 2 – Gui for building Training set for the SVM classifier
6
Figure 3 – Gui for identifying number on a license plate using SVM classifier


Tools

This project was developed in a Matlab 6.5, on a PC platform environment, using the OSUSVM toolbox. The License plates were filmed using a Watec WAT-202 video camera, transferred to a computer using Adobe Premiere, and separated into frames using Virtual Dub.
Conclusions
In this project, a system for recognizing the number off a license plate was designed. For this goal, we used 432 photos of license plates, from which we received 3011 images of digits. In this process, approximately 0.03% of the digits were lost. The classification has two parts: Separation of the digits from the license plate, and classifying each digit using SVM. After the classification, the digits are linked into one number. The best Classification Rate received was 98.141% for each of the methods using SVM (Linear, Polynomial, or Gaussian). Therefore, the use of a Linear Classifier is recommended, since it is the quickest and easiest. This system is operational.
Acknowledgment
We would like to thank the following people:

  • Dori Peleg, our supervisor, for his helpful suggestions and for his theoretical explanations
  • VISL lab staff: Aharon, Ina, and the lab engineer Johanan, for their willingness to assist with every problem we encountered during the development of this project, and for supplying the required equipment and technical support
  • We are also grateful to the Ollendorf Minerva Center, for supporting the VISL lab, and its research projects