Automatic-License-Plate-Recognition-using-YOLOv8 icon indicating copy to clipboard operation
Automatic-License-Plate-Recognition-using-YOLOv8 copied to clipboard

License Plate Detection using YOLOv8

Automatic-Number-Plate-Recognition-YOLOv8

Demo

https://github.com/Muhammad-Zeerak-Khan/Automatic-License-Plate-Recognition-using-YOLOv8/assets/79400407/1af57131-3ada-470a-b798-95fff00254e6

Data

The video I used in this tutorial can be downloaded here.

Model

A Yolov8 pre-trained model (YOLOv8n) was used to detect vehicles.

A licensed plate detector was used to detect license plates. The model was trained with Yolov8 using this dataset.

  • The model is available here.

Dependencies

The sort module needs to be downloaded from this repository.

Project Setup

  • Make an environment with python=3.8 using the following command
conda create --prefix ./env python==3.8 -y
  • Activate the environment
conda activate ./env
  • Install the project dependencies using the following command
pip install -r requirements.txt
  • Run main.py with the sample video file to generate the test.csv file
python main.py
  • Run the add_missing_data.py file for interpolation of values to match up for the missing frames and smooth output.
python add_missing_data.py
  • Finally run the visualize.py passing in the interpolated csv files and hence obtaining a smooth output for license plate detection.
python visualize.py