License Plate Detection and Recognition in Unconstrained Scenarios

Sergio Montazzolli Silva (Home | LinkedIn | Lattes)
Claudio Rosito Jung (Home | Lattes)
Frame by frame system output.

Paper Information


Despite the large number of both commercial and academic methods for Automatic License Plate Recognition (ALPR), most existing approaches are focused on a specific license plate (LP) region (e.g. European, US, Brazilian, Taiwanese, etc.), and frequently explore datasets containing approximately frontal images. This work proposes a complete ALPR system focusing on unconstrained capture scenarios, where the LP might be considerably distorted due to oblique views. Our main contribution is the introduction of a novel Convolutional Neural Network (CNN) capable of detecting and rectifying multiple distorted license plates in a single image, which are fed to an Optical Character Recognition (OCR) method to obtain the final result. As an additional contribution, we also present manual annotations for a challenging set of LP images from different regions and acquisition conditions. Our experimental results indicate that the proposed method, without any parameter adaptation or fine tuning for a specific scenario, performs similarly to state-of-the-art commercial systems in traditional scenarios, and outperforms both academic and commercial approaches in challenging ones.

Links and BibTex


Training and evaluation datasets

The data available for download in this webpage consists only of annotations. The images where those annotations come from are part of freely available datasets not owned by us. So please refer to the following links for instructions on how to obtain each dataset.

Training annotations: download the zip file and take a look at the README.txt for more instructions about how the data is organized.

Test dataset (CD-HARD): CSV containg an image filename (1st column) and the license plates on it (2nd column and so on) for each row. The images used are solely from Cars dataset.

Trained Networks

We used two distinct frameworks: Keras and Darknet. The first was used to implement, train and test the WPOD-NET, and the second was used to re-train and test the OCR-NET. Their respective weights and description files are available below:

OBS.: If you are using a Linux system, this script from our repository might help you to download all the networks data used.


We created a GitHub repository containing the necessary code to reproduce our results. Checkout, compile and test using the following commands:

git clone

cd alpr-unconstrained/

cd darknet/ && make && cd ..

bash && bash -i samples/test -o /tmp/output -c /tmp/output/results.csv

More details can be found in the repository description.


If you need more information, please feel free to contact me through the following e-mail:

Best regards!