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.5.0.tar.gz (75.2 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.5.0-py3-none-any.whl (77.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: robovai_ocr-1.5.0.tar.gz
  • Upload date:
  • Size: 75.2 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.5.0.tar.gz
Algorithm Hash digest
SHA256 7ce54138ef7829742d4efde1624d437df599aa649345ba506d425392ceb81836
MD5 87ef3a4898e294757e04b25853468b03
BLAKE2b-256 d529d17b5ae50440d87559cf8f3ee67f29539d07948bf7f43c2a5fe5c2af4db6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: robovai_ocr-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 77.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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10294ed30b2643f36e9eed20cc137ac355adb60dea8f7fba4107e055a5197746
MD5 b01e4b90f5adb52706ab181acf891455
BLAKE2b-256 a2427f3282a0768dd71f40180eb196c85968dc8371603ee8b4324b3ebbadfb83

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