Handwritten Digit Recognition Using CNN
Handwritten Digit Recognition Using CNN
ISSN No:-2456-2165
Abstract:- Digit Recognition is a noteworthy and document. Deep Learning models can accomplish state-of-art
important issue. As the manually written digits are not of a accuracy, beyond the human level performance. The digit
similar size, thickness, position and direction, in this recognition model uses large datasets in order to recognize
manner, various difficulties must be considered to digits from distinctive sources.
determine the issue of handwritten digit recognition. The
uniqueness and assortment in the composition styles of Handwriting recognition of characters has been around
various individuals additionally influence the example and since the 1980s. The task of handwritten digit recognition,
presence of the digits. It is the strategy for perceiving and using a classifier, has extraordinary significance and use such
arranging transcribed digits. It has a wide range of as – online digit recognition on PC tablets, recognize zip
applications, for example, programmed bank checks, codes on mail, processing bank check amounts, numeric
postal locations and tax documents and so on. sections in structures filled up by hand (for example ‐ tax
forms) and so on. There are diverse challenges faced while
The aim of this project is to implement a classificatio attempting to solve this problem. The handwritten digits are
n algorithm to recognize the handwritten digits. The after not always of the same size, thickness, or orientation and
effects of probably the most broadly utilized Machine position relative to the margins. The main objective was to
Learning Algorithms like SVM, KNN and RFC and with actualize a pattern characterization method to perceive the
Deep Learning calculation like multilayer CNN utilizing handwritten digits provided in the MINIST data set of images
Keras with Theano and Tensorflow. Utilizing these, the of handwritten digits (0‐9).
accuracy of 98.70% utilizing CNN (Keras + Theano) when
contrasted with 97.91% utilizing SVM, 96.67% utilizing II. LITERATURE SURVEY
KNN, 96.89% utilizing RFC was obtained.
Anuj Dutt in his paper demonstrated that utilizing Deep
Keywords:- KNN, SVM, RFC, CNN. Learning systems, he had the capacity to get an extremely high
measure of accuracy. By utilizing the convolutional Neural
I. INTRODUCTION Network with Keras and Theano as backend, he was getting a
accuracy of 98.72%. In addition, execution of CNN utilizing
Recognition is identifying or distinguishing a thing or an Tensorflow gives a stunningly better consequence of 99.70%.
individual from the past experiences or learning. Similarly, Despite the fact that the complication of the procedure and
Digit Recognition is nothing but recognizing or identifying the codes appears to be more when contrasted with typical
digits in any document. Digit recognition framework is simply Machine Learning algorithms yet the accuracy he got is
the working of a machine to prepare itself or interpret the increasingly obvious.
digits. Handwritten Digit Recognition is the capacity of a
computer to interpret the manually written digits from various In a paper published by Saeed AL-Mansoori, Multilayer
sources like messages, bank cheques, papers, pictures, and so Perceptron (MLP) Neural Network was implemented to
forth and in various situations for web based handwriting recognize and predict handwritten digits from 0 to 9.The
recognition on PC tablets, identifying number plates of proposed neural system was trained and tested on a dataset
vehicles, handling bank cheques, digits entered in any forms achieved from MNIST.
etc.
A. Existing System
Machine Learning provides various methods through These days, an ever-increasing number of individuals
which human efforts can be reduced in recognizing the use pictures to transmit data. It is additionally main stream to
manually written digits. Deep Learning is a machine learning separate critical data from pictures. Image Recognition is an
method that trains computers to do what easily falls into place imperative research area for its generally used applications. In
for people: learning through examples. With the utilization of general, the field of pattern recognition, one of the difficult
deep learning methods, human attempts can be diminished in undertakings is the precise computerized recognition of human
perceiving, learning, recognizing and in a lot more regions. handwriting. Without a doubt, this is a very difficult issue
Using deep learning, the computer learns to carry out because there is an extensive diversity in handwriting from an
classification works from pictures or contents from any individual to another individual. In spite of the fact that, this
III. ARCHITECTURE
The reason behind this document is to look into the Fig 2:- Sample images taken from MNIST database
design possibilities of the proposed system, such as
architecture design, block diagram, sequence diagram, data B. Segmentation:
flow diagram and user interface design of the system in order Once the pre-processing of the input images is
to define the steps such as pre-processing, feature extraction, completed, sub-images of individual digits are formed from
segmentation, classification and recognition of digits. the sequence of images. Pre-processed digit images are
segmented into a sub-image of individual digits, which are
assigned a number to each digit. Each individual digit is
resized into pixels. In this step an edge detection technique is
being used for segmentation of dataset images.
C. Feature Extraction:
After the completion of pre-processing stage and
segmentation stage, the pre-processed images are represented
in the form of a matrix which contains pixels of the images
that are of very large size. In this way it will be valuable to
represent the digits in the images which contain the necessary
information. This activity is called feature extraction. In the
feature extraction stage redundancy from the data is removed.
A. Pseudocode
3) Support Vector Machine: SVM is also a supervised learning The Figure 4 illustrates the sequence diagram of the
method. It is also used for both classification and regression system model. The figure describes the sequence of steps to be
tasks. In this type of algorithm, there are data items which are taken while performing execution. The CNN model works in
considered as points in an n-dimensional space. This classifier the following sequence. User uploads a particular image of
finds the hyper plane by performing classifications between any digit which he wants to recognize. The image will be
the two classes. One of the main advantages of this algorithm processed by the system. On running the system code the
is that it provides a regularization parameter which avoids the output is generated that shows which is the digit uploaded by
over fitting problems. The block diagram shown below in the the user and also displays the accuracy rate predicted by the
Figure 3 describes all these above steps. model. On uploading image with different resolutions other
B. HARDWARE PLATFORM
Tensorflow
TensorFlow is an amazing information stream in
machine learning library made by the Brain Team of Google
and made open source in 2015.It is intended to ease the use
and broadly relevant to both numeric and neural system issues
just as different spaces. Fundamentally, TensorFlow is a low-
level tool for doing entangled math and it targets specialists
who recognize what they're doing to construct exploratory
learning structures, to play around with them and to transform
them into running programs. For the most, it can be
considered as a programming framework in which one can
entitle to calculations as graphs. Nodes in the graph speak the
math activities, and the edges contain the multi-dimensional
information clusters (tensors) related between them.
Python 3.7
Python is broadly utilized universally and is a high-level Fig 6:- Front-end design of the system output
programming language. It was primarily introduced for
prominence on code, and its language structure enables The following figures show the sequence of steps to be
software engineers to express ideas in fewer lines of code. carried out to obtain the required output. The Figure 7 shows
Python is a programming language that gives you a chance to the commands to run the code of classifiers.
work rapidly and coordinate frameworks more effectively.
Fig 7:- Command to run the Classifying code Fig 10:- Output generated by KNN
The Figure 8 shows the commands to run the code that The following Figure 11 describes the digit recognized
trains the images. by SVM algorithm. The confusion matrix is demonstrated
using a matrix where each row shows the examples in a
predicted class, while each column shows them in an actual
class.
ACKNOWLEDGEMENT
REFERENCES