Getting Started
Prerequisites
- Python 3.10-3.12
- pip or uv package manager
Installation
1. Clone the Repository
2. Install Dependencies
Using uv (Recommended):
Using pip:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# or: .venv\Scripts\activate # Windows
pip install -r requirements.txt
3. Download Models
This downloads:
| Model | Description | Size |
|---|---|---|
best.pt |
YOLO car + plate detection | ~50MB |
yolo11m_car_plate_ocr.pt |
YOLO Arabic OCR | ~40MB |
reid/net.pth |
ResNet50-IBN ReID | ~100MB |
4. Run the App
Open http://localhost:8501 in your browser.
Project Structure
NilePlateID/
├── app.py # Streamlit entry point
├── .streamlit/config.toml # Theme configuration
├── src/
│ ├── app_pages/ # Streamlit pages
│ ├── pipeline/ # Detection & OCR logic
│ ├── reid/ # ReID system
│ └── cli.py # CLI entrypoint
├── models/ # Model weights
├── data/ # Generated outputs
└── docs/ # Documentation