Saturday, 22 April 2017

Resources

All the resources are uploaded on the drive the link is provided below.




Experimental Results

RESULTS

The results of the system after running rigorous test cases was quite satisfying.
The matlab code was fast for high resolution images and the system gave perfect results most of the time.

      An example : Car : KA 41 MA 7172



The logic was also able  to handle corner cases such as when the headlights are on i.e in high illumination,our system waas able to handle the situation also.The proof for it is as follows.


Original Image

Another example : PES College Bus : KA 41 39 



Extracted Number Plate

On the whole,we can conclude that the system is pretty good and is reliable enough to work under some extreme cases.

Challenges

Challenges in Number Plate recognition


          Firstly in India the law for following the standards for a number plate are not enforced. Hence we can expect to find some out of the box number plates on vehicles, which is hard for the system to read.



Number plates not following standards



          Number Plates in different languages, India is a diverse country so are its number plates, with number plates in different languages in different states, the system to identify these number plates becomes a level more complex.


Number plate in kannada



          We ran our system for both the front end and the back end of the car, it is easier to read the number plate form the front of the vehicle than the rear. As the rear number plate of a car is surrounded by various details of the vehicle and its manufacturer it hinders in the complete and correct read of the number plate.



Car and manufacturer details that makes it hard to zero in on the number plate 



          Also in the case of reading the rear number plate of a vehicle the number plate is usually written in two lines, the system will read each character form the plate but the output will be out of order.




Number plate recognized correctly but out of order 


Similar characters like ‘2’ and ‘Z’ and different representations of letters like ‘M’ lead to misfires in the recognition of the characters. We have achieved a 100% accuracy with the number in the number plate but only a 87% accuracy in reading the characters in the number plate.


Two different styles of M 


PROPOSED METHOD


The first step after image acquisition is to convert the image into a gray-scale image. Then this gray-scale image is converted into a binary(black and white) image for further morphological operations.

We first remove all the connected components lesser than or equal to 30 so that we can remove noise from the number plate such as dust particles,dirt,etc.Next we remove all the connected components lesser than 3000 or 3500 depending on the size of the image. This step removes the digits from the number plate as shown in the figure.


Next we obtain only the digits on the number plate from the acquired image by subtracting the original image from the image obtained in the previous step. This gives the digits on the number plate as shown in the figure.

As of now we have obtained the digits on the number plate. But, we can't start character recognition on this image directly. We need to process this image further to be able to get accurate results. The next step is to remove the connected components lesser than 250(can vary) so as to remove any other kind of noise left such as bolts on the number plate or dents,etc.

We erode the image using the disk structure, so that we can separate two or more characters if they are connected to each other and also this steps helps us in removing noise in the image. We then dilate this image to restore the strength of the characters which will be helpful for template matching.

After the above steps, the image we we obtained can be used for character recognition. We can identify each character individually using the bounded box technique. We get each character separately after applying the bounded box technique. Sometimes we may not get all the characters separately using bounded box technique when the characters in the number plate are not separated in the number plate, one more round of erosion in these cases will help us to get all the characters separately.

We use template matching recognition of the separately identified characters from the previous step. We have a set 62(10 numbers and 52 alphabets) images of size '42x24' . We perform template matching on each of the characters identified from the number plate using the images present in the database. We kept to threshold of 0.35 on the co-relation value. Any character for which we get a value greater than 0.35 we select that character as the matched character.


 RESULT:








Friday, 21 April 2017

Automated Number Plate Recognition

      This blog shall look into and also take you through the process of understanding and building a ANPR system. An ANPR - Automated Number Plate Recognition system is s a technology that uses optical character recognition on images to read vehicle registration plates. It can use existing closed-circuit televisionroad-rule enforcement cameras, or cameras specifically designed for the task. ANPR is used by police forces around the world for law enforcement purposes, including to check if a vehicle is registered or licensed. It is also used for electronic toll collection on pay-per-use roads and as a method of cataloging the movements of traffic for example by highways agencies.

          There are multiple phases in ANPR system

Stages of Automates Number Plate recognition 


          The image can be captured any ordinary camera, or special LPR- license plate recognition cameras can be used to get a better performance and accuracy from the system. LPR camera are  built with special hardware and software technologies which helps to identify number plates of vehicles with:
      1) High speed
      2) Headlight glare
      3) Ability to capture images at high frames per second
      4) High resolution 

LPR vs Regular cameras 

          The typical set up is where the camera is mounted on a system or a cell or a pole and captures the images of vehicles that pass by. In the case of traffic cameras the cameras are mounted on poles and it captures picture of vehicles are break the law. In the case of a parking system the camera is mounted on the cell which captures the pictures and grants permission for the vehicle and also prints a ticket. In both the approaches the cameras are made to focus on the vehicle and capture an image of the vehicle. Second phase is the prepossessing phase, where the image is converted form an RGB to a binary image and any noise present are removed.


Camera mounted on a cell pod


          The third phase involves detecting the location of the number plate. This process can be made simple based on the application / implementation of the system. For a ANPR system at a parking lot the camera is static and mounted at a location, hence this task of detection the number plate can be simplified into detecting the expected region where the number plate may lie (this may be specific to countries).
Once we identify and extract the location of the number plate we can run the fourth phase to extract the characters form the number plate.

          The fourth phase involves extracting the character from the number plate. Each connected component is identified and matched to the templates. A round of dilation and erosion is run to clearly identify each character in the number plate. A characters/ the connected components identified are correlated to the templates to identify the characters and print the output.

         
In this blog we shall look into building an ANPR system designed to detect number plates of Indian vehicles. We build a system that can be directly implemented in a real world situation. The setup is simple, the image can be obtained by any camera mounted to a system. We have used a 5 MP camera from an Iphone to collect our data set. The camera is mounted in a fashion that the vehicle fits in the frame of the image captured. We then feed this image to the Matlab code which segments out the number plate region from the number plate, then identifies the characters and then prints the output.



Abhilash K R
Shashidhar Pai
Dedeep Reddy S