| --- |
| language: |
| - en |
| license: apache-2.0 |
| tags: |
| - image-classification |
| - computer-vision |
| - digit-recognition |
| - mnist |
| - tensorflow |
| - keras |
| pipeline_tag: image-classification |
| metrics: |
| - accuracy |
| --- |
| |
| # Digit Recognition Model |
|
|
| ## Model Summary |
|
|
| A convolutional neural network (CNN) trained to classify handwritten digits (0β9) from image input. Trained on the MNIST dataset, this model serves as a foundational computer vision project demonstrating image classification with deep learning. |
|
|
| --- |
|
|
| ## Model Details |
|
|
| - **Developed by:** Chandrasekar Adhithya Pasumarthi ([@Adhithpasu](https://github.com/Adhithpasu)) |
| - **Affiliation:** Frisco ISD, TX | AI Club Leader | Class of 2027 |
| - **Model type:** Convolutional Neural Network (CNN) |
| - **Framework:** TensorFlow / Keras |
| - **License:** Apache 2.0 |
| - **Related work:** Part of a broader ML/CV portfolio including research on Vision Transformers vs CNNs β *JCSTS Vol. 8(2), January 2026* |
|
|
| --- |
|
|
| ## Intended Uses |
|
|
| **Direct use:** |
| - Handwritten digit classification (0β9) |
| - Educational demonstrations of CNNs and image classification pipelines |
| - Baseline model for comparing against more advanced architectures (ViT, ResNet, etc.) |
|
|
| **Out-of-scope use:** |
| - Multi-character or multi-digit recognition (e.g., full number strings) |
| - Non-MNIST-style digit distributions without fine-tuning |
|
|
| --- |
|
|
| ## Training Data |
|
|
| Trained on the **MNIST dataset** β 60,000 training images and 10,000 test images of 28Γ28 grayscale handwritten digits. |
|
|
| --- |
|
|
| ## Evaluation |
|
|
| | Metric | Value | |
| |----------|-------| |
| | Accuracy | TBD | |
| | Loss | TBD | |
|
|
| *(Fill in with your actual test set results)* |
|
|
| --- |
|
|
| ## How to Use |
|
|
| ```python |
| import tensorflow as tf |
| import numpy as np |
| from PIL import Image |
| |
| # Load model |
| model = tf.keras.models.load_model("digit_recognition_model") |
| |
| # Load and preprocess a 28x28 grayscale image |
| img = Image.open("digit.png").convert("L").resize((28, 28)) |
| img_array = np.array(img) / 255.0 |
| img_array = img_array.reshape(1, 28, 28, 1) |
| |
| # Predict |
| prediction = model.predict(img_array) |
| print(f"Predicted digit: {np.argmax(prediction)}") |
| ``` |
|
|
| --- |
|
|
| ## Model Architecture |
|
|
| ``` |
| Input (28x28x1) |
| β Conv2D(32, 3x3, relu) β MaxPooling2D |
| β Conv2D(64, 3x3, relu) β MaxPooling2D |
| β Flatten |
| β Dense(128, relu) β Dropout(0.5) |
| β Dense(10, softmax) |
| ``` |
|
|
| *(Update to match your actual architecture)* |
|
|
| --- |
|
|
| ## Limitations & Bias |
|
|
| - Performs best on MNIST-style centered, normalized digits |
| - May degrade on real-world handwriting without preprocessing or fine-tuning |
| - Limited to single digit classification |
|
|
| --- |
|
|
| ## Citation |
|
|
| ```bibtex |
| @misc{pasumarthi2026digitrecognition, |
| author = {Chandrasekar Adhithya Pasumarthi}, |
| title = {Digit Recognition Model}, |
| year = {2026}, |
| publisher = {Hugging Face}, |
| url = {https://huggingface.co/Chandrasekar123/DigitRecognition} |
| } |
| ``` |
|
|
| --- |
|
|
| ## Contact |
|
|
| - GitHub: [@Adhithpasu](https://github.com/Adhithpasu) |