AI & Deep Learning Systems
82.86% accuracyHandwritten Digit Recognition
Custom digit recognition system using transfer learning and ensemble voting.
Developer
2024
TensorFlowMobileNetV2OpenCVCLAHEPythonNumPy

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