All Projects
Computer Vision
Sign Language Digits Classification
CNN for sign language digit recognition (0–9) on 2,062 balanced images. 96.13% validation accuracy at epoch 23, train F1=0.98. 3-layer CNN with BatchNorm + Dropout. Exported to H5 for deployment.
96.13%
Validation accuracy
98%
Training accuracy
0.96
Validation F1
23
Epochs to converge
Dataset
2,062 grayscale 64×64 images — 10 balanced digit classes
Approach
3-block CNN with BatchNorm + Dropout → early stopping → H5 deployment export
Tech Stack
PythonKeras/TensorFlowCNNBatchNormH5 export
Keywords
CNNSign LanguageAccessibilityBatchNormKerasH5 Export
Visualizations5 Charts
Deep Dive
Sign language digit recognition — from raw images to a deployment-ready H5 model.
Dataset
- ▸2,062 grayscale 64×64 images: 10 classes (digits 0–9)
- ▸Train: 1,649 (163±17 per class) / Val: 413 (40±7 per class)
- ▸Well-balanced — no class weighting or augmentation needed
CNN Architecture
Conv2D(32, 3×3) → BatchNorm → ReLU → MaxPool(2×2)
Conv2D(64, 3×3) → BatchNorm → ReLU → MaxPool(2×2)
Conv2D(128, 3×3) → BatchNorm → ReLU → MaxPool(2×2)
Dense(128) → Dropout(0.3) → Dense(10, softmax)
Training
- ▸Optimizer: Adam (lr=1e-3)
- ▸Loss: categorical crossentropy
- ▸Early stopping: triggered at epoch 23 (val_acc ≥ 95% target)
Results
| Epoch | Train Acc | Val Acc | Val Loss |
|---|---|---|---|
| 10 | 89% | 88% | 0.45 |
| 20 | 97% | 95% | 0.22 |
| 23 | 98% | 96.13% | 0.165 |
- ▸Weighted F1 (train): 0.98 | Weighted F1 (val): 0.96
- ▸Near-perfect per-class accuracy for all 10 digits
- ▸Exported: my_cnn_model.h5
Deployment Path Hand segmentation → 64×64 crop → CNN predict → digit output. The simple architecture ensures fast inference even on CPU.