Skip to content

End-to-end real-time License Plate Recognition (LPR) system that detects vehicles, localizes license plates, and extracts alphanumeric characters using Optical Character Recognition (OCR). It is optimized for scalable, serverless deployment using AWS services and built with a modular pipeline using OpenCV, YOLOv5, and EasyOCR.

Notifications You must be signed in to change notification settings

scoutman57/Vehicle_LPR

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— Real-Time Vehicle License Plate Recognition System

This project is an end-to-end real-time License Plate Recognition (LPR) system that detects vehicles, localizes license plates, and extracts alphanumeric characters using Optical Character Recognition (OCR). It is optimized for scalable, serverless deployment using AWS services and built with a modular pipeline using OpenCV, YOLOv5, and EasyOCR.


πŸ” Features

  • 🎯 Vehicle Detection using YOLOv5 (fine-tuned)
  • πŸ”² License Plate Localization with bounding box filtering
  • πŸ”‘ Text Extraction using EasyOCR for multilingual support
  • ☁️ Cloud Deployment with AWS Lambda, S3, and SageMaker
  • 🌐 Web API Integration using Flask (local) or FastAPI (optional)
  • πŸ§ͺ Tested on multiple real-world traffic videos with varying lighting, angles, and plate types

πŸ“ Project Structure

.
β”œβ”€β”€ data/
β”‚   └── sample_videos/           # Input vehicle videos
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ detector.py              # YOLOv5 vehicle & plate detection logic
β”‚   β”œβ”€β”€ ocr_reader.py            # OCR logic using EasyOCR
β”‚   β”œβ”€β”€ utils.py                 # Utility functions for drawing, saving, etc.
β”‚   └── pipeline.py              # End-to-end LPR pipeline
β”œβ”€β”€ app/
β”‚   └── app.py                   # Flask app for local testing
β”œβ”€β”€ aws/
β”‚   └── lambda_handler.py        # AWS Lambda entrypoint (optional)
β”œβ”€β”€ requirements.txt
└── README.md

βš™οΈ Technologies Used

Module Tool/Library Detection YOLOv5 (fine-tuned) OCR EasyOCR Backend Python, OpenCV, Flask / FastAPI Deployment AWS Lambda, S3, SageMaker Packaging Docker, Git, CI/CD (optional)


πŸš€ Getting Started

πŸ”§ Installation

bash
Copy
Edit
git clone https://github.com/yourusername/vehicle-lpr.git
cd vehicle-lpr
pip install -r requirements.txt

▢️ Running Locally

Copy
Edit
python app/app.py

This will run the Flask app where you can upload video files and get annotated results with extracted license plates.


☁️ AWS Deployment (Optional)

Package lambda_handler.py and dependencies using zip or Docker.

Upload to AWS Lambda with proper role permissions.

Configure S3 triggers for video ingestion and result storage.

πŸ“Š Performance

Metric Result (Approx.) Detection Accuracy ~92% OCR Accuracy ~89% Avg. Processing Time ~2 sec/frame

🧠 Future Work Support for real-time live video feeds (e.g. RTSP, webcam)

Integration with vehicle registration databases

Multilingual and blurred plate correction

Frontend dashboard with Streamlit

About

End-to-end real-time License Plate Recognition (LPR) system that detects vehicles, localizes license plates, and extracts alphanumeric characters using Optical Character Recognition (OCR). It is optimized for scalable, serverless deployment using AWS services and built with a modular pipeline using OpenCV, YOLOv5, and EasyOCR.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published