Back to Work
AI & Deep Learning Systems
82.86% accuracy

Handwritten Digit Recognition

Custom digit recognition system using transfer learning and ensemble voting.

Developer
2024
TensorFlowMobileNetV2OpenCVCLAHEPythonNumPy
Handwritten Digit Recognition

Overview

A custom handwritten digit recognition system trained to classify 70 different digit classes (01-70) using transfer learning and dataset-specific preprocessing techniques.

Problem & Constraints

Standard digit recognition models (MNIST-based) only handle 0-9 digits. This project required recognizing 70 different two-digit number classes from handwritten samples, with limited training data and significant variation in writing styles.

Solution

I implemented a multi-stage approach: • **CLAHE Preprocessing** - Contrast-limited adaptive histogram equalization for consistent image quality • **Transfer Learning** - MobileNetV2 backbone pre-trained on ImageNet, fine-tuned on custom dataset • **Data Augmentation** - Rotation, scaling, and noise injection to increase effective training data • **Ensemble Voting** - 35-patch extraction and voting for final prediction

Impact & Results

• **82.86% accuracy** on 70-class classification task • **35-patch ensemble** improved robustness to writing variations • Successfully deployed for automated form processing use case

What I'd Improve Next

• Collect more training data for underrepresented classes • Experiment with attention mechanisms for better feature extraction • Add confidence thresholds for human review of uncertain predictions • Build real-time recognition API