/OCR_ANPR_ANN

OCR based Automatic Number Plate Recognition (ANPR) using Artificial Neural Network

Primary LanguagePython

OCR based Automatic Number Plate Recognition (ANPR) using Artificial Neural Network

The project implements an OCR based license plate recognition using artificial neural network. The project has three modules - Number Plate Localization, Character Segmentation and Character Recognition.

The Project is implemented in Python using Artificial Neural Network (ANN) for classification and uses libraries like Numpy, OpenCV, Pandas, Scikit-learn and Scikit-image for image processing tasks like plotting intensity histogram for number plate localization in input image and character segmentation from localized plate.

Results

Accuracy (in %)
Plate Localization 78.9%
Character segmentation 60%
Character recognition from segmented characters 55.66%

For detailed information see - poster.pdf and projectReport.pdf

Setup Steps

This Environment need to be setup by using "Ubuntu 16.04 LTS Base" image.

sudo apt-get install python2.7

sudo apt-get install python-pip

sudo python -m pip install numpy

sudo python2 -m pip install opencv-python

sudo python -m pip install scipy

sudo python -m pip install pandas

sudo python -m pip install tqdm

sudo python -m pip install hickle

sudo python -m pip install matplotlib

sudo python -m pip install imutils

sudo python -m pip install scikit-image

Before running the application download the training data file from the given URL - (https://drive.google.com/file/d/1dSHrk0BsC06fNIgI2PhMf02jyhgDqVlf/view?usp=sharing) and copy it to project folder, this file should be named as "full_train.csv". For implementation of the project, we chose the data set from - http://www.ee.surrey.ac.uk/CVSSP/demos/chars74k/EnglishFnt.tgz

To run the Application Use the following way to run it from cmd prompt: python anpr.py

Example: python anpr.py car1.jpg