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.6.0.tar.gz (78.0 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.6.0-py3-none-any.whl (79.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: robovai_ocr-1.6.0.tar.gz
  • Upload date:
  • Size: 78.0 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.6.0.tar.gz
Algorithm Hash digest
SHA256 2fe91374645c49ed8233a5656d00da185c41f590ebb0cde5e3bb334ed898034c
MD5 b8eaf0aa0a1f71629ea6a22e72073e00
BLAKE2b-256 043fd13621f8a83a9aa8c137bc2210d3e203f6a4f12088be01bc3159d36e7492

See more details on using hashes here.

File details

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

File metadata

  • Download URL: robovai_ocr-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 79.3 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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f6e540601da5222c8ef8ddcfe24301536cc080361b21ca2b555b46daf62fdae
MD5 a37c54580b6058f43a5c5f7fbff3fa0d
BLAKE2b-256 8c1618e0ff21b8ba202f374894f7f56bebe7650c08fdcd58f130f95194a1a211

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