Back to Projects

License Plate Recognition (LPR)

A computer vision system for automated vehicle tracking and license plate identification, designed for applications like parking management and law enforcement. This project integrates YOLO-based detection, OCR, and a user-friendly GUI to deliver robust, real-time results under diverse conditions.

Overview

The system detects vehicles and license plates in video files, processes them with Optical Character Recognition (OCR), and outputs annotated video and CSV results. The GUI allows users to upload videos, monitor progress, and view results in real time.

Demo: Real-time detection and annotation of license plates in a parking lot.

System Design

The architecture consists of three main components:

  • YOLOv8 for vehicle and license plate detection, with SORT for tracking across frames.
  • Custom-trained YOLOv8 and OCR for extracting text from plates.
  • A Python/Tkinter GUI for uploading videos, monitoring progress, and displaying results.

Implementation

Model Training Results

Model Training: The YOLOv8 model was fine-tuned on a curated dataset of license plates, with 100 epochs and real-time monitoring of precision, recall, and loss. The model achieved high accuracy in both detection and OCR, even under challenging conditions.

Live Detection Example

Live Detection: The system processes each frame, detects vehicles and plates, applies OCR, and overlays results in real time. Outputs include annotated video and a CSV file with plate data.

Challenges

  • Diverse environmental conditions: lighting, weather, and plate obstructions.
  • Ensuring real-time processing for high-resolution videos.
  • Maintaining accuracy across different plate formats and camera angles.
  • Integrating detection, tracking, and OCR for seamless user experience.

Results

The final application is a user-friendly system that performs real-time license plate recognition from video files. It achieves high accuracy in both detection and OCR, and is robust to challenging conditions. Users can upload videos, monitor progress, and export results for further analysis.

Tech Stack

Python · OpenCV · YOLOv8 · SORT · OCR · Tkinter (GUI) · Pandas · Numpy

How to Run

Prerequisites:

pip install -r requirements.txt

Double click on the Run.bat file to launch the UI (ui.py).