Skip to content

Components Overview

This section documents the core components of NilePlateID.

Pipeline Components

Component Description Page
Classical CV Traditional image processing (morphological, Canny) + EasyOCR classical.md
YOLO Detection YOLOv11 for car and plate detection yolo.md
YOLO OCR Custom YOLO model for Arabic character recognition yolo-ocr.md
Vehicle ReID ResNet50-IBN for vehicle re-identification reid.md

Architecture Diagram

Input Image/Video
    │
    ├─── Classical Pipeline ───► Morphological/Canny ───► EasyOCR
    │
    ├─── YOLO Pipeline ───► YOLOv11 Detection ───► YOLO OCR
    │
    └─── ReID Pipeline ───► Car Detection ───► Embeddings ───► Matching

File Structure

src/
├── pipeline/               # Detection & OCR
│   ├── detection.py        # YOLO wrapper
│   ├── ocr.py              # EasyOCR backend
│   ├── yolo_ocr.py         # YOLO OCR
│   ├── enhancement.py      # Preprocessing
│   ├── association.py      # Plate-car matching
│   └── visualize.py        # Debug output
├── reid/                   # Re-identification
│   ├── search.py           # Gallery matching
│   └── visualize.py        # Result visualization
└── app_pages/              # Streamlit UI