Skip to content

Extract characters from license plates with high accuracy. Utilizes LeNet-5, AlexNet, and ResNet50 models. Results, considerations, and possible improvements discussed

Notifications You must be signed in to change notification settings

JoseMaese/License-Plate-Recognition-using-Neural-Networks

Repository files navigation

License Plate Recognition using Neural Networks

José Enrique Maese Álvarez. Trabajo de Fin de Grado

Escuela Técnica Superior de Ingeniería, Universidad de Sevilla

Dpto. de Ingeniería de Sistemas y Automatización

Objective

The primary goal of this project is the extraction of characters from vehicle license plates using neural networks. The study involves exploring different neural network models, implementing the solution in Python, and applying computer vision techniques.

Considerations

  • Standardized conditions: distance, height, and lighting.
  • Prior segmentation of characters.
  • Training on numerical part and extrapolation.

Image Preprocessing

Creation of the dataset

  • 125 images
  • 875 characters
    • 500 numbers (50 examples/number)
    • 375 letters (18.75 examples/letter)

Coche

License Plate Cropping Algorithm

  1. Convert to grayscale

Coche1

  1. Apply Gaussian filter
  2. Binarize
  3. Edge extraction using gradient calculation

Coch31

  1. Closing of edges
  2. Locate closed surfaces
  3. Select the top 10 areas

Coche4

  1. Select contour meeting specifications:
    • Area
    • Proportion

matricula

Optimal Cropping - EU Symbol

  • Appearance of edges
  • Excessive brightness

Character Extraction Algorithm

  1. Convert to grayscale
  2. Apply Gaussian filter
  3. Binarize: darker elements to high level

matricula2

  1. Remove surfaces below a threshold area
  2. Create column-wise histogram to locate characters

histograma

  1. Variable lower limit to eliminate errors from edge appearance
  2. Initial high-level strip to eliminate errors from the EU symbol

caracteres

Neural Network Fundamentals

General Concepts

  • Perceptron
    • Weight coefficients: w
    • Bias: b
    • Input: X, Output: Y

perceptron

General Concepts: Neural Network

  • Multilayer perceptron
  • 5 layers
  • Different number of perceptrons per layer

Training

  1. Forward-propagation
    • Introduce input data
    • Traverse the network
    • Obtain the cost function (to minimize)
  2. Back-propagation
    • Traverse the network in reverse
    • Update parameters

Training: Hyperparameters

  • Network structure
  • Learning rate
  • Dataset split (70% training - 30% validation)
  • Batch training
  • Epochs

Problems

  • Overfitting
  • Underfitting
  • Oscillations around equilibrium point

problemas

Neural Network Models

  1. LeNet-5
  2. AlexNet
  3. ResNet50

Results

  • Model accuracies on training and validation sets:

    Model Training Set Validation Set
    LeNet-5 99.13% 75.01%
    AlexNet 98.27% 94.74%
    ResNet50 99.57% 96.03%

resultadoAlexnet1

resultadoAlexnet2

Conclusion

The project successfully achieved high accuracies in license plate character recognition using various neural network models. The experimentation with LeNet-5, AlexNet, and ResNet50 demonstrated the effectiveness of deep learning in this application.

Possible Improvements

  1. Increase the size of the database for better generalization.
  2. Enhance the license plate cropping algorithm.
  3. Explore more complex neural network models for improved accuracy.

About

Extract characters from license plates with high accuracy. Utilizes LeNet-5, AlexNet, and ResNet50 models. Results, considerations, and possible improvements discussed

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages