Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Project

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 15

Handwritten Digit Recognition

Problem Statement

Though the goal is to create a model which can recognize the digits, it


can be extended to letters and an individual's handwriting. The major
goal of the proposed system is understanding Convolutional Neural
Network, and applying it to the handwritten recognition system.
What is Handwritten Digit Recognition?

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. The handwritten digit recognition is the solution to this problem
which uses the image of a digit and recognizes the digit present in the
image.
Requirements Specification
HARDWARE REQUIREMENTS: -

1. Processor 1.2ghZ or Faster


2. RAM 4GB/8GB up to 20GB of Hard disk space for installation
4. I/O Devices Keyboard, mouse and 1024x768 display

SOFTWARE REQUIREMENTS: -

1. Operating system Windows 7 and higher


2. Python (3.7.4 used)
3. IDE (Pycharm)
Required frameworks are
4. Tkinter
5. keras.models
6. win32gui
7. Pillow ,PIL
8. Numpy
9. Tensorflow (2.5.0-rC0)
Objective of Project
The aim of this project is to implement
a classification algorithm to recognize handwritten
digits (0- 9). It has been shown in pattern recognition that
no single classifier performs the best for all
pattern classification problems consistently
Data Flow Diagram
Python Library use in Project
Tkinter:-
• Import the Tkinter module.
• Create the GUI application main window.
• Add one or more of the above-mentioned widgets to the GUI application.
• Enter the main event loop to take action against each event triggered by the user.
keras.models:-
We have trained our neural network on the entire dataset and we can
evaluate the performance of the network on the same dataset. This will only give
us an idea of how well we have modeled the dataset (e.g. train accuracy), but no
idea of how well the algorithm might perform on new data. We have done this
for simplicity, but ideally, you could separate your data into train and test
datasets for training and evaluation of your model
Pillow(PIL):-
Python Pillow module is built on top of PIL (Python Image Library). It is
the essential modules for image processing in Python. But it is not supported by
Python 3. But, we can use this module with the Python 3.x versions as PIL. It
supports the variability of images such as jpeg, png, bmp, gif, ppm, and tiff.12 We
can do anything on the digital images using the pillow module. In the upcoming
section, we will learn various operations on the images such as filtering images,
Creating thumbnail, merging images, cropping images, blur an image, resizing an
image, creating a water mark and many other operations.
Numpy:-
Python NumPy arrays provide tools for integrating C, C++, etc. It is also useful
in linear algebra, random number capability etc. NumPy array can also be used as
an efficient multi-dimensional container for generic data. Now, let me tell you what
exactly is a Python NumPy array
The MNIST dataset :-

This is probably one of the most popular datasets among machine learning and deep
learning enthusiasts. The MNIST dataset contains 60,000 training images of handwritten
digits from zero to nine and 10,000 images for testing. So, the MNIST dataset has 10 different
classes. The handwritten digits images are represented as a 28×28 matrix where each cell
contains grayscale pixel value.
Testing Model
Conclusion
Handwritten digit recognition is the first step to the vast field of artificial intelligence and computer vision. As
seen from the results of the experiment, CNN proves to be far better than other classifiers. The results can be
made more accurate with more convolution layers and a greater number of hidden neurons In this project, the
Handwritten Digit Recognition using Deep learning methods has been implemented. The most widely used
Machine learning algorithms, KNN, SVM, RFC and CNN have been trained and tested on the same data in
order acquire the comparison between the classifiers. Utilizing these deep learning techniques, a high amount
of accuracy can be obtained. Compared to other research methods, this method focuses on which classifier
works better by improving the accuracy of classification models by more than 99%. Using Keras as backend
and TensorFlow as the software, a CNN model is able to give accuracy of about 98.72%. In this initial
experiment, CNN gives an accuracy of 98.72%, while KNN gives an accuracy of 96.67%, while RFC and
SVM are not that outstanding.

You might also like