Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 URDU-OCR

Deep Learning Optical Character Recognition for Urdu Script

A custom deep learning OCR system for recognizing Urdu text from images,
featuring CUDA-accelerated training, custom character vocabulary, and training visualization.


Overview

Urdu OCR tackles one of the more challenging problems in optical character recognition — recognizing Urdu script, which is written right-to-left with connected characters and context-dependent glyph shapes. This system uses a deep learning approach with CUDA-accelerated training to build a model capable of recognizing Urdu text from image inputs.

The project includes a complete training pipeline, custom character-to-index vocabulary mapping, and training history visualization to monitor model convergence.

Pipeline

┌──────────┐    ┌──────────────────┐    ┌──────────────┐    ┌──────────────┐
│  Input   │───▶│  Preprocessing   │───▶│  Deep Learning│───▶│  Recognized  │
│  Image   │    │  & Augmentation  │    │  OCR Model    │    │  Urdu Text   │
└──────────┘    └──────────────────┘    └──────────────┘    └──────────────┘
                         │                      │
                         ▼                      ▼
                 ┌──────────────┐      ┌──────────────────┐
                 │   Dataset    │      │ Training History  │
                 │   (.tsv)     │      │  Visualization    │
                 └──────────────┘      └──────────────────┘

Features

  • Urdu Script Recognition — Handles right-to-left text, connected characters, and context-dependent glyph shapes
  • CUDA Acceleration — GPU-accelerated training for faster model convergence (cuda.py for device verification)
  • Custom Vocabulary — Character-to-index mapping designed specifically for Urdu script
  • Training Visualization — Auto-generated training history plots to monitor loss and accuracy curves
  • TSV Dataset Format — Uses structured final_main_dataset.tsv for image-text pair management
  • Audio Model Integration — Extended pipeline with audio model training capability

Training Results

The training pipeline generates visualization of model convergence:

Training History

Tech Stack

Component Technology
Language Python
Deep Learning PyTorch
GPU Acceleration CUDA
Data Processing Pandas
Dataset Custom Urdu script TSV (image-text pairs)

Project Structure

URDU-OCR/
├── TRAIN.py                    # Main training script (20KB — full pipeline)
├── cuda.py                     # CUDA device verification
├── final_main_dataset.tsv      # Training dataset (image-text pairs)
├── audio_training_history.png  # Training convergence visualization
└── README.md

Usage

# Clone the repository
git clone https://github.com/rafay-byte/URDU-OCR.git
cd URDU-OCR

# Verify CUDA availability
python cuda.py

# Train the OCR model
python TRAIN.py

Dataset

The training data is stored in final_main_dataset.tsv (~5MB), containing image-text pairs for Urdu script recognition. Each entry maps an image to its corresponding Urdu text transcription.

Contributing

Contributions, issues, and feature requests are welcome. Feel free to check the issues page or submit a pull request.

License

This project is provided as-is for educational, research, and development purposes.


Developed by Abdul Rafay Khalid • BS AI Student @ PAF-IAST

About

Deep learning Optical Character Recognition system for Urdu script with CUDA acceleration and training visualization.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages