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.5.tar.gz (5.7 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.5-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: robovai_ocr-1.0.5.tar.gz
  • Upload date:
  • Size: 5.7 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.5.tar.gz
Algorithm Hash digest
SHA256 35a56e4956b793badacf164aad6a306c58833d5f34a52833fa305fa1b5be129e
MD5 107d4e47b414853322cd93f8165bcf70
BLAKE2b-256 84888f1438a0a13818864ffd8fb11b1c5ed1c5f2a84c0877ef783c9b36e1dc93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: robovai_ocr-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.0 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2d7ab4110a44075e97cbd2be41c80b0383639d70fb5311eeca01f8381fd48e55
MD5 9a1a3d90ee5ad7a1c0011a9c52aca226
BLAKE2b-256 cac25148bbfe18832e7386f15935f913ea46d829fda97f157039a3ef414147a5

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