/license-plate-recognition-using-darkflow

This project is for academic purposes only. The task is to detect car license-plate numbers using a deep learning technique.

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

License Plate Recognition using Darkflow

The aim of this project is to detect license plate given an input and recognise the plate number using deep learning.

Data Source

The data used for training and testing in this project are collected from video footage of a car dashcam.
The dataset is from a private server of NeounAI, which is not open source.

Data Preparation

In this section, I will give a brief description of how the data is prepared to be used for training and testing.

Frame Extraction

Use any free frame extraction software to extract frames from your dashcam footage. Either capture a frame every second or extract a total number of frames from a single footage.
The software that I used to extract frames from the dataset is Free Video to JPG Converter from DVDVideoSoft.

Data Annotation using labelImg

Extracted frames with visible license plate(s) were then filtered out and annotated using labelImg in PascalVOC format.
A total of 382 frames were annotated and to be used for training the deep learning model (Darkflow).

Model Training using Darkflow

I used Darkflow to train the license-plate detection model. The model is a YOLOv2 model (You Only Look Once).
I used a pretrained model from Theophilebuyssens. I fine-tuned the model by training the model again with our own self-annotated dataset.
The notebook can be found in the notebook directory.

Training Configuration

The training configuration parameters are as followed:

  • Batch size: 8
  • Learning rate: 0.00001
  • Epoch number: 100

Character Recognition

The license-plate numbers recognition is done using the pytesseract library from PyPI.

Model Testing and Results

I fed the model with 10 test images and the bounding boxes detected are compared with the ground truths to compute the mean average precision (mAP) score.
The mAP score that I achieve is 76.8% with IoU of 0.3.