Skip to main content

RoboVAI OCR & CV Core Engine 🚗🆔👤

RoboVAI OCR is a production-grade, modular Computer Vision and OCR system designed specifically for Parking Management Software Integration. It provides state-of-the-art AI capabilities for:

  1. Automatic License Plate Recognition (ALPR) (Egyptian, Arabic & International plates).
  2. Driver Face Verification (Face detection & authorization matching).
  3. National ID & Driver License OCR (Structured 14-digit Egyptian ID parsing, DOB, governorate, expiry date, full name extraction).

🌟 Key Features

  • Multi-Engine Hybrid OCR: Dual EasyOCR + PaddleOCR fallback with adaptive image preprocessing (CLAHE contrast enhancement, bilateral filtering, noise reduction, deskewing).
  • High-Throughput Async Pipeline: Separates fast YOLO object tracking from heavier OCR background execution to process high-concurrency streams without dropped frames.
  • Tracking Memory Cache: Caches OCR results per vehicle track_id to eliminate redundant slow OCR computations for identical cars in frame.
  • Egyptian & Arabic Plate Parser: Converts raw OCR outputs into formatted plate numbers and letters (e.g., س ط أ 1 2 3).
  • National ID Auto-Decoder: Decodes Egyptian 14-digit national IDs directly into date of birth, gender, century, and governorate of origin.
  • Flexible Integration: Use directly as a Python SDK or deploy as a FastAPI REST API / WebSocket Stream Server with Webhooks for automated parking barrier gate control.

🚀 Quick Start & Installation

Option 1: Python SDK Installation

cd robovai_ocr
pip install -e .

Option 2: Run via CLI

# Process a single plate image
robovai-cli alpr --image path/to/car.jpg

# Process a national ID card
robovai-cli idcard --image path/to/id.jpg

# Launch API & WebSocket server
robovai-server --host 0.0.0.0 --port 8000

💻 Python SDK Usage Example

from robovai_ocr import RoboVAIEngine, Config

# Initialize engine
engine = RoboVAIEngine(device="cuda:0")

# 1. License Plate Recognition
plate_result = engine.read_license_plate("car_image.jpg")
print(plate_result)
# Output: {"plate_number": "س ط أ 1 2 3", "confidence": 0.96, "bbox": [120, 300, 450, 420]}

# 2. National ID Card Extraction
id_result = engine.extract_national_id("id_card.jpg")
print(id_result)
# Output: {
#   "national_id": "29901010100123",
#   "full_name": "احمد محمد علي",
#   "dob": "1999-01-01",
#   "gender": "Male",
#   "governorate": "Cairo"
# }

# 3. Face Matching
face_result = engine.verify_driver_face("driver_photo.jpg", db_path="data/drivers")
print(face_result)
# Output: {"match": True, "driver_id": "DRV-1029", "confidence": 0.94}

📡 REST API & WebSockets

Start the server:

robovai-server --port 8000

Open interactive docs at http://localhost:8000/docs.

REST Endpoints

  • POST /api/v1/alpr: License plate detection & OCR.
  • POST /api/v1/face: Driver face verification.
  • POST /api/v1/id-card: National ID & driver license OCR.
  • POST /api/v1/pipeline: High-throughput background queue processing.
  • WS /ws/stream: Real-time RTSP/Webcam stream processing.

🏋️ Fine-Tuning & Training

To train YOLO on a custom parking plate or ID card dataset:

python training/train_yolo.py --data training/dataset_config.yaml --epochs 100

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.0.0.tar.gz (22.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.0.0-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: robovai_ocr-1.0.0.tar.gz
  • Upload date:
  • Size: 22.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.0.0.tar.gz
Algorithm Hash digest
SHA256 4a7669c38691954820b2a9b14ec69789f5b2d1c69786ab0b012243356666abd7
MD5 e194debb6d694b9d7660aa59380ddc16
BLAKE2b-256 19b35c102d932dba7f3ad14bcc68565dfa9b7221033f25f2f113a313e34a8dc1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: robovai_ocr-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 24.9 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5fd78840b77192955930b8c68a24dadf51b56f086ea484584df3fc557eb8fe0a
MD5 b46650784a324991558616647e606534
BLAKE2b-256 f3ec71da9656e5eca0bda4289f06bfedcef51d532b3aa4555c6a629a1b05aba9

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