--- 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)