Found 757 repositories(showing 30)
This project implements a Convolutional Neural Network (CNN) to recognize handwritten digits (0–9) using the MNIST dataset. The model is trained on labeled image data, achieving high accuracy in digit classification, and demonstrates the practical application of deep learning techniques in computer vision.”
Rushi589
Handwritten Digit Recognition is a deep learning project that uses a Convolutional Neural Network (CNN) to accurately identify digits (0–9) from handwritten images. It leverages the MNIST dataset to train and evaluate the model for real-time digit classification.
ArenD100
# Final_Project ## English Alphabet Machine Learning Model This project utilizes the EMNIST-letters image database. This database is an extension of the MNIST database of handwritten digits. EMNIST datasets can be found at: https://www.nist.gov/node/1298471/emnist-dataset. MNIST datasets can be found at: http://yann.lecun.com/exdb/mnist/. This project imported data by pip installing the emnist (and mnist) libraries. Note - the "data/python-mnist" is from sorki/python-mnist on github. This repository can also be utilized with EMNIST testing. This project did not utilize the sorki folder. #### Notes on EMNIST 'Letters' Dataset "The EMNIST Balanced dataset contains a set of characters with an equal number of samples per class. The EMNIST Letters dataset merges a balanced set of the uppercase and lowercase letters into a single 26-class task. The EMNIST Digits and EMNIST MNIST dataset provide balanced handwritten digit datasets directly compatible with the original MNIST dataset. The EMNIST Letters dataset seeks to further reduce the errors occurring from case confusion by merging all the uppercase and lowercase classes to form a balanced 26-class classification task. In a similar vein, the EMNIST Digits class contains a balanced subset of the digits dataset containing 28,000 samples of each digit." ## About Model This model uses the EMNIST 'Letters' dataset. Refer to 'EMNIST.ipynb' for a detailed look at the model. This model trained at 95% accuracy and test at 91% accuracy. ``` model.fit(X_train, y_train, batch_size=128, epochs=10, shuffle=True, verbose=2) ``` ```Epoch 10/10 1248000/1248000 - 19s - loss: 0.1345 - acc: 0.9512 `` ``` model_loss, model_accuracy = model.evaluate(X_test, y_test, verbose=2) print(f"Loss: {model_loss}, Accuracy: {model_accuracy}") 20800/20800 - 2s - loss: 0.4131 - acc: 0.9130 Loss: 0.41310153188356846, Accuracy: 0.9129807949066162 ## Predicting the Model A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7, H: 8, I: 9, J: 10, K: 11, L: 12, M: 13, N: 14, O: 15, P: 16, Q: 17, R: 18, S: 19, T: 20, U: 21, V: 22, W: 23, X: 24, Y: 25, Z: 26 This model tested a couple letters from the test. Both were correctly predicted. This model also collected some images from the internet to test. These images came from https://graphemica.com. These images are in the 'images' folder. The first image predicted incorrectly, but the same letter in a different font was predicted correctly. The second imported image seems to be more similar to the emnist dataset. This model attempted to read newly handwritten data (written and imported myself) to test the accuracy of the emnist model made and actual handwriting. The results were not as thought. An image of each letter of the alphabet (capital only) were pictured and uploaded. Their are 4-sets: Pencil, Pen, Sharpie, and Marker. The goal of this was to determine which writing utensil would test the most accurate with the emnist set, however; the pictures imported are all sideways and rotating them made the images much lighter and illegible thus predicting failure for every one tested (only one of each utensil was predicted in the EMNIST.ipynb) A self created model based off the 26 images uploaded for each utensil were created only to have an accuracy of 0. More photos would need to be taken as well as better pixel conversions need to be done to get from 4D down to 2D. ## Conclusions The emnist model itself runs extremely well. The model run with api images need more testing but predicted correct results. Actual handwritten data needs to be redone to come up with better predictions. This is a case of bad data going in, bad data coming out with the self model. Better quality pictures need to be taken and uploaded so rotating is not needed by the 'pillow' library.
patankaraditya1
Developed a 5-layer Sequential Convolutional Neural Network using Keras with Tensorflow backend for digit recognition trained on MNIST dataset. Adjusted parameters such as kernel size, activation function and optimizer properties to compute the best fit. Obtained an accuracy of 97.12%. Performed Data Augmentation such as image scaling, image flips and image rotation to avoid overfitting and increase the accuracy to 98.02%. Compared the accuracy to KNN, Logistic Regression, Random Forest which had accuracies of 96.37%, 91.22% and 96.19% respectively.
The goal of this project is to label images of 10 handwritten digits of “zero”, “one”,...,“nine”. The images are 28 by 28 in size (MNIST dataset), which we will be represented as a vector x of dimension 784 by listing all the pixel values in raster scan order. The labels are 0,1,2,...,9 corresponding to 10 classes as written in the image. There are 3000 training cases, containing 300 examples of each of 10 classes. PROBLEM 1: Here you must read an input file. Each line contains 785 numbers (comma delimited): the first values are between 0.0 and 1.0 correspond to the 784 pixel values (black and white images), and the last number denotes the class label: 0 corresponds to digit 0, 1 corresponds to digit 1, etc. PROBLEM 2: Implement the backpropagation algorithm in a zero hidden layer neural network (weights between input and output nodes). The output layer should be a softmax output over 10 classes corresponding to 10 classes of handwritten digits (e.g. an architecture: 784 > 10). Your backprop code should minimize the cross-entropy entropy function for multi-class classification problem (categorical cross entropy). PROBLEM 3: Extend your code from problem 2 to support a single layer neural network with N hidden units (e.g. an architecture: 784 > 10 > 10). These hidden units should be using sigmoid activations. PROBLEM 4: Extend your code from problem 3 (use cross entropy error) and implement a 2-layer neural network, starting with a simple architecture containing N hidden units in each layer (e.g. with architecture: 784 > 10 > 10 > 10). These hidden units should be using sigmoid activations. Extend your code from problem 4 to implement different activations functions which will be passed as a parameter. In this problem all activations (except the final layer which should remain a softmax) must be changed to the passed activation function. PROBLEM 6: Extend your code from problem 5 to implement momentum with your gradient descent. The momentum value will be passed as a parameter. Your function should perform “epoch” number of epochs and return the resulting weights.
Akshat-6
Classification of handwritten digits using deep learning with the MNIST dataset, demonstrating training, evaluation, and visualization of predictions.
RadicalCod3r
A Machine Learning Classification Model which recognizes numbers in handwritten digit images using mnist dataset.
HarshSaoji
A deep learning project demonstrating image classification using neural networks on MNIST (handwritten digits) and Fashion MNIST datasets. Built using TensorFlow and Keras.
azimjaan21
Handwritten Digit Recognition using k-NN | This project implements a handwritten digit classification system using the k-Nearest Neighbors (k-NN) algorithm on the MNIST dataset. It involves data preprocessing, model implementation, and hyperparameter tuning to achieve high accuracy in digit prediction.
Ultrafast classification of handwritten digits from the MNIST dataset using a binary neural network and binarized input. The images were scaled down to 24x24x1. The model recorded an accuracy of 88.72% over the test data from the original MNIST data set and a total execution time of 20 milliseconds on the Arduino Uno board 🔢
The objective of this project is to recognize handwritten digits based on real time image acquisition from a camera. Currently, several algorithms are suitable for this classification task, such as Bag of Words approach, Decision Trees or Artificial Neural Networks (ANN). However, the most powerful image recognition tools are based on Convolutional Neural Network (CNN), which is going to be the approach chosen for this project. For training and testing MNIST dataset was used. The final net achieved a 98.54% train accuracy and 98.40% test accuracy. For real time segmentation, blob analysis was carried out, and for digit preprocessing, resize and Gauss filter were used to adequate each detected digit to CNN input. The final model was tested in a 1280x720 Webcam with sample time of 1 sec.
AlbertFlorinus
Classification of handwritten digits outside of the mnist dataset using a CNN in Keras
R-Aravind
Getting familiar with image classification using Multi Layered Perceptron on MNIST Handwritten digits and MNIST Fashion datasets.
The "Neural Network For Handwritten Digits Classification" project develops a simple feedforward neural network using the MNIST dataset to classify handwritten digits from 0 to 9.
adianandgit
I've imported the 60k handwritten digits from MNIST dataset and trained them for classification using Spiking Neural Networks
jayavandhiniMK
Handwritten Digit Image Classification using CNN (MNIST Dataset) A beginner-friendly Computer Vision project that classifies handwritten digits (0–9) using a Convolutional Neural Network built with TensorFlow and Keras.
AvulaBhumika
This project demonstrates a handwritten digit classification pipeline using the classic MNIST dataset. It leverages scikit-learn, PyTorch, and Skorch to build and evaluate a neural network for classifying handwritten digits (0–9).
ThinamXx
In this repository, I have used CNN to MNIST Digit Classification Dataset. You can get insights about Convolutional Neural Network and its implementation for Handwritten Digit Classification.
AnilchoudaryR
Image classification for MNIST dataset using LogisticRegression andXGBoost. The performance accuracy of Logistic regression and XGBoost is assessed for the classification of handwritten digit recognition.
hurkanugur
This project implements a CNN for handwritten digit classification on the MNIST dataset using PyTorch. It uses stacked convolutional layers with dropout, batch normalization, and max pooling to classify 28×28 grayscale digits (0–9) with Softmax output.
ChatGPT said: This project performs handwritten digit classification using an Artificial Neural Network (ANN) trained on the MNIST dataset. It processes grayscale images of digits (0–9) and learns to recognize patterns. The model is trained using image data and achieves high accuracy in predicting unseen digits. This showcases the power of ANN
Anorasharon
This repo contains a deep learning project for handwritten digit classification using neural networks. Built with TensorFlow and Keras, it covers data preprocessing, model training, evaluation, and result visualization on the MNIST dataset. Great for beginners learning core deep learning concepts.
hemangdtu
The MNIST handwritten digit classification problem is a standard dataset used in computer vision and deep learning. Although the dataset is effectively solved, it can be used as the basis for learning and practicing how to develop, evaluate, and use convolutional deep learning neural networks for image classification from scratch. This includes how to develop a robust test harness for estimating the performance of the model, how to explore improvements to the model, and how to save the model and later load it to make predictions on new data.
PrabathMadhusanka
Handwritten digit recognition is a classification problem for which support vector machines are very successfully used. In this project used the MNIST dataset which is a well-known dataset consisting of 28x28 gray scale images and the 'pixel values' of each digit (image) comprise the features, and the actual number between 0-9 is the label. Python tkinter is used for create user friendly interface. Tkinter is the most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with tkinter is the fastest and easiest way to create the GUI applications.
satarupaguha11
The problem of handwriting recognition is to interpret intelligible handwritten input automatically, which is of great interest in the pattern recognition research community because of its applicability to many fields towards more convenient input devices and more efficient data organization and processing. We have to code a complete digit recognizer and test it on the MNIST digit dataset. As a benchmark for testing classification algorithms, the MNIST dataset has been widely used to design novel handwritten digit recognition systems. The dataset consists of 70,000 gray scale images, each of size 784. The recognizer is supposed to read the image data, extract features from it and use a k-nearest neighbor classifier to recognize any test image. To carry out the experiments, we need to randomly divide it into two partitions - training and testing. The training set is used to create the classifier and test set is used to determine the accuracy.
In this report we train and test a set of classifiers for pattern analysis in solving handwritten digit recognition problems, using MNIST database. Direction features are extracted for dimensionality reduction. The MNIST database (Modified National Institute of Standards and Technology database) is a large database of handwritten digits .The database is also widely used for training and testing in the field of machine learning. It was created by "re-mixing" the samples from NIST's original datasets. The creators felt that since NIST's training dataset was taken from American Census Bureau employees, while the testing dataset was taken from American high school students, it was not well-suited for machine learning experiments. Furthermore, the black and white images from NIST were normalized to fit into a 28x28 pixel bounding box and anti-aliased, which introduced grayscale levels. This study presents the some researchers have achieved "near-human performance" on the MNIST database, using a committee of neural networks; in the same paper, the authors achieve performance double that of humans on other recognition tasks. The handwritten digit recognition is the ability of computers to recognize human handwritten digits. It is a hard task for the machine because handwritten digits are not perfect and can be made with many different flavors. It is a dataset of 60,000 small square 28×28 pixel grayscale images of handwritten single digits between 0 and 9. The task is to classify a given image of a handwritten digit into one of 10 classes representing integer values from 0 to 9, inclusively. In this project, we will perform binary classification . We will use python libraries such as ‘Numpy’, ‘Matplotlib’ , and ‘Tensorflow’ to explore and visualize the categorical and text information provided in the data set.In this report we train and test a set of classifiers for pattern analysis in solving handwritten digit recognition problems, using MNIST database. Direction features are extracted for dimensionality reduction. The MNIST database (Modified National Institute of Standards and Technology database) is a large database of handwritten digits .The database is also widely used for training and testing in the field of machine learning. It was created by "re-mixing" the samples from NIST's original datasets. The creators felt that since NIST's training dataset was taken from American Census Bureau employees, while the testing dataset was taken from American high school students, it was not well-suited for machine learning experiments. Furthermore, the black and white images from NIST were normalized to fit into a 28x28 pixel bounding box and anti-aliased, which introduced grayscale levels. This study presents the some researchers have achieved "near-human performance" on the MNIST database, using a committee of neural networks; in the same paper, the authors achieve performance double that of humans on other recognition tasks. The handwritten digit recognition is the ability of computers to recognize human handwritten digits. It is a hard task for the machine because handwritten digits are not perfect and can be made with many different flavors. It is a dataset of 60,000 small square 28×28 pixel grayscale images of handwritten single digits between 0 and 9. The task is to classify a given image of a handwritten digit into one of 10 classes representing integer values from 0 to 9, inclusively. In this project, we will perform binary classification . We will use python libraries such as ‘Numpy’, ‘Matplotlib’ , and ‘Tensorflow’ to explore and visualize the categorical and text information provided in the data set.In this report we train and test a set of classifiers for pattern analysis in solving handwritten digit recognition problems, using MNIST database. Direction features are extracted for dimensionality reduction. The MNIST database (Modified National Institute of Standards and Technology database) is a large database of handwritten digits .The database is also widely used for training and testing in the field of machine learning. It was created by "re-mixing" the samples from NIST's original datasets. The creators felt that since NIST's training dataset was taken from American Census Bureau employees, while the testing dataset was taken from American high school students, it was not well-suited for machine learning experiments. Furthermore, the black and white images from NIST were normalized to fit into a 28x28 pixel bounding box and anti-aliased, which introduced grayscale levels. This study presents the some researchers have achieved "near-human performance" on the MNIST database, using a committee of neural networks; in the same paper, the authors achieve performance double that of humans on other recognition tasks. The handwritten digit recognition is the ability of computers to recognize human handwritten digits. It is a hard task for the machine because handwritten digits are not perfect and can be made with many different flavors. It is a dataset of 60,000 small square 28×28 pixel grayscale images of handwritten single digits between 0 and 9. The task is to classify a given image of a handwritten digit into one of 10 classes representing integer values from 0 to 9, inclusively. In this project, we will perform binary classification . We will use python libraries such as ‘Numpy’, ‘Matplotlib’ , and ‘Tensorflow’ to explore and visualize the categorical and text information provided in the data set.
Use CNN to do handwritten digits classification using MNIST dataset. You can use this notebook as a reference: https://github.com/codebasics/deep-learning-keras-tf-tutorial/blob/main/1_digits_recognition/digits_recognition_neural_network.ipynb
Project idea – The MNIST digit classification project enables machines to recognize handwritten digits. This project could be very useful for computer vision. Here we will use MNIST datasets to train the model using sklearn and Logistic Regression.
akarshankapoor7
Handwritten Digit Classification using ANN (MNIST DATASET)
patanshahidkhan1
Handwritten Digit Classification using Deep Learning (MNIST Dataset)