Skip to content

The Car License Plate Detection repository contains an advanced computer vision project focused on developing a robust system for detecting car license plates under various environmental conditions. Leveraging deep learning models like YOLO, the project includes steps such as Exploratory Data Analysis (EDA), image preprocessing, data augmentation.

License

Notifications You must be signed in to change notification settings

saboye/Car-License-Plate-detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Car License Plate Detection

GitHub contributors GitHub forks GitHub issues GitHub license GitHub last commit YOLO PyTorch OpenCV

License Plate Detection

This repository contains a project on car license plate detection using advanced computer vision techniques. The project leverages the YOLO (You Only Look Once) object detection framework to detect car license plates in various environmental conditions.

Table of Contents

Introduction

The goal of this project is to develop a robust system for detecting car license plates from images and videos. The project includes the following key components:

  • Exploratory Data Analysis (EDA)
  • Image Preprocessing
  • Data Augmentation
  • Model Training using the YOLO framework
  • Hyperparameter Tuning
  • Deployment for real-time detection

Dataset

The primary dataset used in this project is sourced from the Car License Plate Detection dataset. Additional data is integrated from public datasets, traffic surveillance footage, and synthetic datasets to improve the model's performance.

Installation

To run the project locally, please follow these steps:

  1. Clone the repository:
    git clone https://github.com/saboye/car_license_plate_detection.git
  2. Navigate to the project directory:
    cd car_license_plate_detection
  3. Install the required dependencies:
    pip install -r requirements.txt

Usage

To use the license plate detection model, follow these steps:

  1. Ensure your dataset is prepared and placed in the data/ directory.
  2. Run the training script to train the model:
    python train.py
  3. Use the detect.py script to perform detection on new images or videos:
    python detect.py --input path_to_input_file --output path_to_output_file

Model Architecture

The model architecture is based on the YOLO object detection framework, which is known for its speed and accuracy in detecting objects in images. The architecture includes:

  • Convolutional layers for feature extraction (as part of YOLO)
  • Bounding box regression layers for license plate localization
  • Object classification layers to identify license plates within the detected bounding boxes

Results

The model's performance was evaluated using several metrics, including Precision, Recall, and F1-Score. The following key results were obtained:

  • F1-Confidence Curve: The F1-Score peaks at 0.97 when the confidence threshold is set at 0.511. This curve illustrates the trade-off between confidence and F1-Score, demonstrating that the model maintains a high F1-Score across a wide range of confidence levels.

    F1-Confidence Curve

  • Precision-Recall Curve: The model achieves a mean Average Precision (mAP) of 0.985 at an IoU threshold of 0.5. The Precision-Recall curve is nearly perfect, indicating that the model is highly precise and recalls most instances of license plates.

    Precision-Recall Curve

  • Precision-Confidence Curve: The model achieves a Precision of 1.00 at a confidence level of 0.919. This curve demonstrates the model's reliability in making predictions at high confidence levels.

    Precision-Confidence Curve

  • Recall-Confidence Curve: The Recall remains high across various confidence levels, with a perfect score of 1.00 achieved at lower confidence thresholds.

    Recall-Confidence Curve

  • Exploratory Data Analysis (EDA): The EDA visualizes the distribution of bounding box parameters (x, y, width, height) for license plates, providing insights into their spatial characteristics in the dataset.

    EDA

  • Training and Validation Loss Curves: The loss curves for both training and validation show a consistent decrease, indicating effective learning during the training process. The metrics also indicate that the model generalizes well to unseen data.

    Loss Curves

These results indicate that the model is highly effective in detecting license plates with high precision and recall. The model's performance metrics confirm its suitability for deployment in real-time applications.

Challenges and Considerations

This project faced several challenges, including:

  • Handling incomplete or low-quality images
  • Integrating data from multiple sources
  • Addressing biases in the dataset
  • Ensuring model scalability

Future Work

Potential future improvements include:

  • Enhancing detection accuracy in various lighting and weather conditions
  • Expanding the dataset with more diverse license plates
  • Deploying the model in a mobile or edge computing environment

Contributing

Contributions are welcome!

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

The Car License Plate Detection repository contains an advanced computer vision project focused on developing a robust system for detecting car license plates under various environmental conditions. Leveraging deep learning models like YOLO, the project includes steps such as Exploratory Data Analysis (EDA), image preprocessing, data augmentation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published