Skip to main content

RoboVAI OCR 🚗🆔👤

RoboVAI OCR Banner

PyPI Version Python Version License Build Status

RoboVAI OCR is a high-performance, enterprise-grade Computer Vision and OCR framework built for Automatic License Plate Recognition (ALPR), National ID Card Parsing, and Driver Facial Verification.

Designed for seamless deployment in Smart Parking Systems, Barrier Gate Controls, Fleet Management, and Access Security, RoboVAI OCR provides an intuitive Python SDK, a high-throughput Async Pipeline, and a production-ready FastAPI REST & WebSocket Server.


🖥️ Live Control Center Dashboard

RoboVAI OCR National ID Dashboard Preview RoboVAI OCR ALPR Dashboard Preview

RoboVAI OCR Gate Control Dashboard RoboVAI OCR Face Match Preview


🔥 Key Capabilities

  • Automatic License Plate Recognition (ALPR): Multi-scale inference (TTA) with region-split whitelisted OCR for Egyptian, Arabic, and international vehicle plates.
  • National ID & Driver License Parsing: End-to-end deep learning OCR extracting 14-digit Egyptian National ID, Full Name, Address, DOB, Gender, Governorate, and photo crop.
  • Driver Facial Verification: Real-time facial feature extraction and authorization matching against a driver registration database.
  • High-Concurrency RTSP / Stream Processing: Async queue architecture decoupling object tracking from heavy OCR background execution.
  • Developer First: Clean Python SDK, interactive Web Dashboard, CLI tools, OpenAPI docs, and Webhooks for automated hardware/barrier control.

⚡ Quick Start

Installation

Install the latest release directly from PyPI:

pip install --upgrade robovai-ocr

Or install from source for development:

git clone https://github.com/m0shaban/robovai_ocr_system.git
cd robovai_ocr_system
pip install -e .

💻 Developer Guide & Usage Examples

1. Python SDK Integration

from robovai_ocr import RoboVAIEngine

# Initialize engine (auto-detects CPU/GPU)
engine = RoboVAIEngine()

# --- License Plate Recognition ---
plate_res = engine.read_license_plate("car.jpg")
print(plate_res["plate_number"])  # e.g. "س ط أ 1 2 3"
print(plate_res["confidence"])    # e.g. 0.96

# --- Egyptian National ID Extraction ---
id_res = engine.extract_national_id("national_id.jpg")
print(id_res["national_id"])     # e.g. "29901010100123"
print(id_res["full_name"])       # e.g. "أحمد محمد علي"
print(id_res["governorate"])     # e.g. "Cairo"

# --- Driver Face Verification ---
face_res = engine.verify_driver_face("driver.jpg", db_path="data/driver_faces")
print(face_res["match"])         # True / False

2. High-Throughput Async Pipeline

import asyncio
from robovai_ocr.core.pipeline import AsyncOCRPipeline

async def main():
    pipeline = AsyncOCRPipeline()
    await pipeline.start()
    
    # Submit frame for non-blocking processing
    job_id = await pipeline.submit_frame(frame_bytes)
    result = await pipeline.get_result(job_id)
    print(result)

asyncio.run(main())

3. Command Line Interface (CLI)

# Run ALPR on single image
robovai-cli alpr --image path/to/car.jpg

# Extract National ID fields
robovai-cli idcard --image path/to/id.jpg

# Start REST API & Web Control Dashboard
robovai-server --host 0.0.0.0 --port 8500

📡 REST API & WebSockets

Deploy as a standalone microservice:

robovai-server --port 8500
Endpoint Method Description
/api/v1/alpr POST Process license plate image with OCR & bounding box visualization
/api/v1/id-card POST Extract structured fields from National ID / Driver License
/api/v1/face POST Match driver face photo against registered driver database
/api/v1/pipeline POST Asynchronous background processing queue
/ws/stream WebSocket Real-time RTSP/Webcam video stream processing

🛠️ Architecture Overview

                               +-----------------------------+
                               |     RTSP Stream / Image     |
                               +--------------+--------------+
                                              |
                                              v
                               +--------------+--------------+
                               |    RoboVAI OCR Engine SDK   |
                               +--------------+--------------+
                                              |
            +---------------------------------+---------------------------------+
            |                                 |                                 |
            v                                 v
   +--------+--------+               +--------+--------+               +--------+--------+
   |   ALPREngine    |               |    IDEngine     |               |   FaceEngine    |
   | (YOLO + EasyOCR)|               | (3x YOLO Models)|               | (Face Match DB) |
   +--------+--------+               +--------+--------+               +--------+--------+
            |                                 |                                 |
            +---------------------------------+---------------------------------+
                                              |
                                              v
                               +--------------+--------------+
                               | FastAPI REST & WebSockets   |
                               +--------------+--------------+
                                              |
                                              v
                               +--------------+--------------+
                               | Smart Barrier Gate / Webhook|
                               +-----------------------------+

🤝 Contributing

We welcome contributions from the open-source community! Whether you are fixing bugs, improving docs, or proposing new features:

  1. Fork the Repository on GitHub.
  2. Create a Feature Branch: git checkout -b feature/amazing-feature
  3. Commit Your Changes: git commit -m 'Add amazing feature'
  4. Push to Branch: git push origin feature/amazing-feature
  5. Open a Pull Request.

📜 License

This project is licensed under the MIT License.


👤 Author & Connect

Developed by Mohamed Shaban (محمد شعبان العتماني) — Founder & AI Architect at RoboVAI.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robovai_ocr-1.1.0.tar.gz (55.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robovai_ocr-1.1.0-py3-none-any.whl (57.2 kB view details)

Uploaded Python 3

File details

Details for the file robovai_ocr-1.1.0.tar.gz.

File metadata

  • Download URL: robovai_ocr-1.1.0.tar.gz
  • Upload date:
  • Size: 55.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for robovai_ocr-1.1.0.tar.gz
Algorithm Hash digest
SHA256 38d22a5377884b56976deadea9c6cf88e617f26fd1f6288370e325fd4116dc8a
MD5 25b7ced7c430aec280a2afa60841a9b6
BLAKE2b-256 21219f3e7a7ef39880534688a8a782c1a1b199d301a882a8a85d509fb50d849a

See more details on using hashes here.

File details

Details for the file robovai_ocr-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: robovai_ocr-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 57.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for robovai_ocr-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 943e7fa5b236c4833c18f9edfd90eaae5fb8c738fb0154bc15a1b990dbcd5637
MD5 b28a205b45b7c6d46bfa5a146c8fe6a1
BLAKE2b-256 1511c57ded87dd8a6ffc98c5d5944ce6477d1fab74ad02e76c30eda6d209207b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page