AI-powered Tunisian License Plate Recognition system developed during my internship at Horizop Energy. It performs plate detection, segmentation, extraction, and OCR using a custom collected dataset, with preprocessing and deep learning models for accurate recognition.
🇹🇳🔍 Tunisian License Plate Recognition – Horizop Energy
Deep Learning system for detecting, extracting, and recognizing Tunisian vehicle license plates.
Developed during my engineering internship at Horizop Energy.
📌 Project Overview
This project implements a complete end-to-end License Plate Recognition (LPR) pipeline exclusively for Tunisian license plates.
It includes:
Plate detection using YOLO-based models
Plate extraction & segmentation
Character recognition (OCR) using a trained deep-learning model (ocrmodel.h5)
Data preprocessing, cleaning, and analysis through Jupyter notebooks
Character classification dataset for training OCR models
All stages of the system are documented and implemented inside organized Jupyter notebooks.
📁 Repository Structure
📦 Horizop-IA-License-Plate-Recognition
┣ 📁 Notebooks/
┃ ┣ Data Preprocessing & Cleaning - Horizop_version.ipynb
┃ ┣ Licence Plate Detection and Extraction - Horizop_version.ipynb
┃ ┣ Licence Plate Recognition - Horizop_version.ipynb
┃ ┣ Modeling for Licence Plate Recognition - Horizop_version.ipynb
┃ ┗ Main Script - Horizop_version.ipynb
┣ 📁 LP_extraction_test/
┃ ┗ Sample test images used for plate extraction
┣ 📁 Characters-Classification-Data/
┃ ┣ train/
┃ ┗ val/
┣ 📄 ocrmodel.h5 — Trained OCR model
┣ 📄 darknet-yolov3.cfg — Detection model configuration
┣ 📄 classes.names — YOLO classes for Tunisian plates
┗ 📄 README.md
⭐ Key Features
🔍 License Plate Detection using YOLO (V3 architecture)
✂️ Plate Extraction & Segmentation
🔡 Deep Learning OCR with custom-trained character classifier
🧹 Dataset cleaning, augmentation, and preprocessing
📊 Multiple structured notebooks for transparency and reproducibility
🖼️ Real test images included for validation
🧠 Technologies Used
Python, OpenCV
TensorFlow / Keras
YOLOv3 (darknet-style config)
NumPy, Pandas
Scikit-learn
Matplotlib & Seaborn
Jupyter Notebook
🧪 Notebooks Explained
1️⃣ Data Preprocessing & Cleaning
Includes dataset filtering, augmentation, no …