gil lu
work

License Plate Recognition

Computer Vision Platform

2024GitHub
License Plate Recognition preview

Overview

This is a Flask-based computer vision platform that takes raw vehicle imagery in one end and produces structured license-plate data out the other. It chains YOLOv5 object detection with Tesseract OCR: the detector localizes plates in the frame, the OCR stage reads them, and the pipeline emits clean, structured records.

The system is built as an end-to-end data pipeline: image preprocessing, CUDA-accelerated inference for throughput, and structured extraction all run as stages behind a Flask API.

Model performance isn't a footnote: a dedicated metrics suite tracks detection and recognition quality, and feeds Power BI and Tableau dashboards so accuracy and throughput can be analyzed like any other production metric.

The Problem

Reading a license plate sounds like a solved problem until you meet real imagery: angles, motion blur, lighting, and plate variety break naive approaches quickly. And a model that works isn't enough — you need to know how well it works, on what, and whether it's getting better or worse.

This platform treats recognition as a measurable pipeline: detection, OCR, and extraction as separate stages, each observable, with the metrics wired into the same BI tools an analytics team already uses.

Plate detection — YOLOv5 localizing plates in raw vehicle imagery.
Plate detection — YOLOv5 localizing plates in raw vehicle imagery.

Key Features

  • YOLOv5 plate detection with Tesseract OCR extraction
  • Image preprocessing pipeline feeding CUDA-accelerated inference
  • Structured data extraction from raw vehicle imagery
  • Metrics suite wired into Power BI and Tableau
  • Flask API serving the full detection pipeline

Stack

  • Python
  • Flask
  • YOLOv5
  • Tesseract OCR
  • CUDA
  • Power BI
  • Tableau

Architecture

Flask serves the detection API: uploaded imagery flows through preprocessing, YOLOv5 localizes plate regions, and Tesseract runs OCR on the cropped detections before results are emitted as structured records.

Inference runs CUDA-accelerated, keeping the pipeline fast enough to process imagery in volume rather than one frame at a time.

Every stage reports into a metrics layer — detection confidence, OCR quality, throughput — which lands in Power BI and Tableau for model performance analysis over time.

Processing pipeline — preprocessing, detection, OCR, and structured extraction stages.
Processing pipeline — preprocessing, detection, OCR, and structured extraction stages.

Skills Applied

Computer Vision
YOLOv5 object detection for plate localization, with an image preprocessing pipeline tuned for real-world vehicle imagery.
OCR
Tesseract-based text extraction on cropped plate regions, producing structured records from raw frames.
Performance
CUDA-accelerated inference for volume processing.
Analytics
A metrics suite tracking detection and recognition quality, integrated with Power BI and Tableau dashboards.
Backend
Flask API serving the end-to-end detection pipeline.
Metrics suite — detection and recognition quality tracked in Power BI and Tableau.
Metrics suite — detection and recognition quality tracked in Power BI and Tableau.

Live Demo

A hosted demo is in the works — it will live right here on this page.