YOLO-NAS-OCR-WebApp

Automatic Number Plate Recognition using YOLO-NAS and EasyOCR (Images & Videos)

This project uses YOLO-NAS and EasyOCR to detect license plates and perform Optical Character Recognition (OCR) on them. The project includes both image and video processing capabilities, and has been deployed as a Streamlit web application. This is an update to a previous project, Optical-Character-Recognition-WebApp

GitHub

Features

Dataset

The dataset used for training and testing the YOLO-NAS model contains 484 annotated images of cars with license plates. The images were sourced from “Brave Images”, “Google Images”, and “https://flickr.com/”. The annotations were made using RoboFlow.

Project Overview

This project builds upon an earlier version that used YOLO-v5 and InceptionResNetV2 . The major changes and updates in this version include:

Evaluation

Running the Web Application

  1. Clone the repository:
    git clone https://github.com/JacobJ215/YOLO-NAS-OCR-WebApp/tree/main"
    cd YOLO-NAS-OCR-WebApp
    
  2. Install the required dependencies:
    pip install -r requirements.txt
    
  3. Run the Streamlit app:
    streamlit run app.py
    

Usage

The web application provides two main modes: Run on Image: Upload an image containing a license plate, and the application will perform real-time detection and OCR, displaying the extracted text from the license plate.

Run on Image

Run on Video: Upload a video with license plates, and the application will perform real-time detection and OCR on the video frames, showing the extracted text and the frame rate.

Run on Video

Acknowledgments

Inspired by https://github.com/MuhammadMoinFaisal

The YOLO-NAS model used in this project is based on Super-Gradients Repository.

EasyOCR is an excellent OCR library developed by Jaided AI.