Real Time Number Plate Recognition

This project is used to detect the license plate of the vehicle in real time, trained using Car Detection Licence Plate dataset available on Kaggle. Used yolov4 because it performs much better than traditional cv techniques and then used EasyOCR to extract text from the number plate. Please see readme for details.

AI & Machine LearningJupyter NotebookMIT

Abstract

Real Time Number Plate Recognition is an open-source AI & Machine Learning project. This project is used to detect the license plate of the vehicle in real time, trained using Car Detection Licence Plate dataset available on Kaggle. Used yolov4 because it performs much better than traditional cv techniques and then used EasyOCR to extract text from the number plate. Please see readme for details. These outline the steps I used to go through in order to get up and running with ANPR. It is built using Jupyter Notebook, OpenCV. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.

1. Introduction

These outline the steps I used to go through in order to get up and running with ANPR.

2. Objective

This project is used to detect the license plate of the vehicle in real time, trained using Car Detection Licence Plate dataset available on Kaggle. Used yolov4 because it performs much better than traditional cv techniques and then used EasyOCR to extract text from the number plate. Please see readme for details.

This project demonstrates how Jupyter Notebook, OpenCV can be applied to a real-world AI & Machine Learning problem.

4. Technology Stack

Jupyter NotebookOpenCV
  • yolov4 : I used this OD model because it performs much better than traditional computer vision methods.
  • Easy OCR : In this project I used EasyOCR to extract text and leverage a size filtering algorithm to grab the largest detection region. EasyOCR is build on PyTorch.
  • openCV: It is a library mainly used at real-time computer vision.
  • Tensorflow : Here I used Tensorflow object detection Model (SSD MobileNet V2 FPNLite 320x320) to detect the plate trained on a Kaggle Dataset.

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later with Jupyter Notebook / JupyterLab (or Google Colab)
  • pip for dependencies
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/harshitkd/Real-Time-Number-Plate-Recognition.git
cd Real-Time-Number-Plate-Recognition

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Deploy the model as a web app with Streamlit, Flask or FastAPI
  • Compare against an additional model and report the metric difference
  • Add explainability (SHAP / Grad-CAM)

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What dataset does the project use and how was it pre-processed?
  2. Which algorithm / model architecture is used and why was it chosen over alternatives?
  3. How are training and testing data split, and how is overfitting avoided?
  4. Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
  5. How would you deploy this model for real users?

9. Source Code & License

This project is developed by harshitkd and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for AI & Machine Learning Internship