Digit Recognition

Accurate Handwritten Digit Recognition

Handwritten digit recognition is a pivotal challenge in computer vision and machine learning, employing a model trained solely on ANN.

Technologies Used

Digit Recognition

This handwritten digit recognition system employs the following technologies:

  • Python: Utilized for machine learning and data analysis.
  • Keras: A high-level neural networks API running on TensorFlow for model construction and training.
  • JavaScript: Primary language for web-based applications.
  • TensorFlow.js: JavaScript library for training and deploying ML models in browsers.

Dataset and Preprocessing

The MNIST dataset, comprising 60,000 training images and 10,000 testing images of handwritten digits, was utilized. Each image is a grayscale 28x28 pixel image.

Model Architecture

The model relies on an ANN for handwritten digit recognition, designed to capture features efficiently:

  1. Fully Connected Layers: These layers handle digit classification by mapping flattened features to respective classes.
  2. Output Layer: Employs the softmax activation function to generate probability predictions for each digit class.

Training and Evaluation

Training involves feeding preprocessed images and labels to optimize the model's parameters using cross-entropy loss and stochastic gradient descent (SGD) as the optimizer. Post-training evaluation assesses the model's performance using metrics like accuracy on testing images.

Deployment and User Interface

The trained model is deployable in browsers through TensorFlow.js. A user-friendly interface enables users to draw digits using mouse or touch input, with the model predicting the input digit.