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.7.0.tar.gz (79.4 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.7.0-py3-none-any.whl (80.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: robovai_ocr-1.7.0.tar.gz
  • Upload date:
  • Size: 79.4 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.7.0.tar.gz
Algorithm Hash digest
SHA256 e05ac751b754ba859deec0e42fd2c1ece7162030d6c62710c1208b148cad2740
MD5 c441ed92316b41717bb7da5919f4126a
BLAKE2b-256 57abee226adfe59f9d73dd4d737bee325d699ff8a4a3953de93ee5ec1d2c518c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: robovai_ocr-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 80.7 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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccbfb1da0e8c997d1f50b61181ae6845ef659b2137485d259e76f172dcc2b442
MD5 66388f14623926aa9b91a3bf092877fe
BLAKE2b-256 7bdf1fb2ef2a953ce878af71c255d0deb883cfc430a5e3f4936ecef1a4f4513b

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