Skip to content

Automatic number plate recognition using tech: Yolo, OCR, Scene text detection, scene text recognation, flask, torch

License

Notifications You must be signed in to change notification settings

mftnakrsu/Automatic_Number_Plate_Recognition_YOLO_OCR

Repository files navigation

Automatic Number Plate Recognition

dataset-cover

Automatic Number Plate Recognition (ANPR) is the process of reading the characters on the plate with various optical character recognition (OCR) methods by separating the plate region on the vehicle image obtained from automatic plate recognition.

Table of Content

What will you learn this project

  • Custom Object Detection
  • Scene Text Detection
  • Scene Text Recognation
  • Optic Character Recognation
  • EasyOCR, PaddleOCR
  • Database,CSV format
  • Applying project in Real Time
  • Flask

Dataset

The dataset I use for license plate detection:

https://www.kaggle.com/datasets/andrewmvd/car-plate-detection

Installation

Clone repo and install requirements.txt in a Python>=3.7.0 environment.

git clone https://github.com/mftnakrsu/Automatic-number-plate-recognition-YOLO-OCR.git  # clone
cd Automatic-number-plate-recognition-YOLO-OCR
pip install -r requirements.txt  # install

Usage

After the req libraries are installed, you can run the project by main.py.

python main.py

Project architecture

The pipeline in the project is as follows:

images

  • Custom object detection with plate extraction using yolov5
  • Apply the extracted plate to EasyOCR and PaddleOCR
  • Get plate text
  • Filter text
  • Write Database and CSV format
  • Upload to Flask

Some Result

  • As you can see, first step is detect the plate with using Yolov5.

images

  • After detect plate, apply the ocr. Paddle ocr Easy ocr for recognizing plate.

images

  • Then write csv or database, when put it all in one.

images

  • The last step is Flask :) Actually, I didn't have time to integrate all the code in Flask. I just uploaded the yolov5 part. If you do, don't forget to pull request :)

images

Similar work

A streamlit based implementation of Automatic Number Plate Recognition for cars and other vehicles using images or live camera feed.

Animation live feed demo

The entire code for the webapp can be found here.

Source

Licence

MIT

To Do

  • use fcaykon pip yolo instead of hardcoded yolo files
  • hugging face