Hindi Handwritten Word Recognition System
An end-to-end OCR system for handwritten Hindi word recognition using a CRNN-CTC architecture. The project combines convolutional feature extraction with bidirectional LSTM sequence modeling to recognize handwritten Hindi text without character-level segmentation. Built with PyTorch, the pipeline includes dataset preprocessing, character tokenization, dynamic-width batching, greedy decoding, and evaluation workflows for robust sequence prediction on the IIIT Hindi handwriting dataset.
Deep Learning

Project Overview
GitHub Repo
Focus Areas
OCR · Deep Learning · Sequence Modeling · Hindi NLP · Computer Vision · Unicode Processing
Built an end-to-end handwritten Hindi Optical Character Recognition (OCR) system for robust word-level recognition using Convolutional Recurrent Neural Networks (CRNN) and Connectionist Temporal Classification (CTC) loss. The project focuses on recognizing complex handwritten Devanagari text while handling challenging Unicode structures such as conjunct consonants, matras, diacritics, and nukta characters without requiring character-level segmentation.

System Architecture
Developed a complete OCR pipeline integrating CNN-based visual feature extraction, bidirectional recurrent sequence modeling, Unicode-aware tokenization, and alignment-free sequence prediction for handwritten Hindi word recognition.
The architecture combines:
CNN feature extraction for spatial handwriting representations
Bidirectional LSTM sequence modeling
CTC-based alignment-free decoding
Unicode-aware Devanagari tokenization
Dynamic-width image batching and inference optimization
Key Contributions
Built an end-to-end CRNN-based OCR pipeline for handwritten Hindi word recognition using the IIIT-HW-Hindi dataset.
Developed a Unicode-aware tokenization system handling complex Devanagari structures including conjunct characters, matras, diacritics, and nukta symbols.
Achieved 82.67% exact-match test accuracy, 86.98% validation exact-match accuracy, and 93.37% character-level accuracy.
Improved recognition performance by +5.7 percentage points over the baseline CRNN implementation through decoder optimization and fine-tuning.
Implemented dynamic-width image batching for efficient sequence training and variable-length handwriting support.
Built custom CTC decoding logic to correctly preserve repeated Devanagari characters during sequence prediction.
Evaluated beam-search and greedy decoding strategies, ultimately optimizing inference using greedy CTC decoding for superior exact-match performance.
Added Apple Silicon MPS acceleration with CPU fallback support for CTCLoss compatibility during training.

Outcome
The project demonstrates how sequence-based deep learning architectures and Unicode-aware preprocessing can significantly improve handwritten Hindi OCR performance for complex Devanagari scripts. By combining CRNN-based sequence modeling with language-aware tokenization, the system achieves robust recognition performance across challenging handwritten word variations and multi-character Hindi tokens.
Tech Stack
PyTorch · OpenCV · NumPy · Pandas · OCR · CRNN · CTC Loss · Sequence Modeling · Deep Learning · Computer Vision · Unicode Processing · Hindi NLP
