Deep Learning - Handwritten Digit Recognition Using Python REVIEW 0
Deep Learning - Handwritten Digit Recognition Using Python REVIEW 0
Guided by:
PARAS JAIN
GROUP MEMBERS:
• Sheethal Krishna : 19BAI10149
• Ishani N Binu : 19BAI10067
• Sreya Venugopal : 19BAI10005
• Jibin Variyath : 19BAI10135
• With the advancement in technology, machine learning and
deep learning are playing a crucial role in present times. Now,
machine learning and deep learning techniques are being
employed in handwriting recognition, robotics, artificial
intelligence, and many more fields. Developing such system
requires training our machines with data, making it capable
to learn and make required prediction. This module presents
Introduction:
a Handwritten Equation Solver trained by handwritten digits
and mathematical symbol using Convolutional Neural
Network with some image processing techniques to achieve
a decent accuracy of 98.46%.
• Character and handwriting recognition is one of the most
difficult problems of pattern recognition and artificial
intelligence. Unlike the machine generated character, which
is uniform throughout a document and is often uniform
between machines, each human being has a unique style of
writing characters. With the infinite number of ways to record
a character, it is a wonder that a person can understand his
Abstract:
own script, let alone the script of another. Training a
computer to recognize human-produced characters is a
tremendous task in which researchers are just beginning to
achieve some success. Primarily these methods rely on the
use of algorithms to determine the similarities of two
characters. Neural networks are an alternative technique
now being explored.
• The handwritten digit recognition is the ability of computers
What is to recognize human handwritten digits. It is a hard task for
Handwritten Digit the machine because handwritten digits are not perfect and
can be made with many different flavors. The handwritten
Recognition? digit recognition is the solution to this problem which uses
the image of a digit and recognizes the digit present in the
image.
• The handwritten digits are not always of the same size,
Problems width, orientation and justified to margins as they differ from
writing of person to person, so the general problem would be
handwritten This problem is faced more when many people write a single
digit with a variety of different handwritings. Lastly, the
digits
uniqueness and variety in the handwriting of different
individuals also influence the formation and appearance of
the digits.
*NumPy
*keras.
*Pillow
Methodology:
• MNIST (Modified National Institute of Standards and
Technology database) is probably one of the most popular
datasets among machine learning and deep learning
MNIST enthusiasts.
• The MNIST dataset contains 60,000 small square 28×28
MNIST dataset
.
• Handwritten digit recognition has gained so much popularity from the aspiring beginner of
machine learning and deep learning to an expert who has been practicing for years. Developing
such a system includes a machine to understand and classify the images of handwritten digits
as 10 digits (0–9). Handwritten digits from the MNIST database are already famous among the
community for many recent decades now, as decreasing the error rate with different classifiers
and parameters along with preprocessing techniques from 12% error rate with linear classifier (1
layer NN) to achieving 0.23% error rate with hierarchy of 35 convolution neural networks [Yann
LeCun, MNIST database of handwritten digits]
Extracting Features
1.Invert the image and then convert it to a binary image because contour extraction gives the best
result when the object is white and surrounding is black.
2.To find contours use ‘findContour’ function. For features, we obtain the bounding rectangle of
contour using ‘boundingRect’ function (Bounding rectangle is the smallest horizontal rectangle
enclosing the entire contour).
3.Since each image in our dataset contains only one symbol/digit, we only need the bounding
rectangle of maximum size. For this purpose, we calculate the area of the bounding rectangle of
each contour and select the rectangle with maximum area.
4.Now, resize the maximum area bounding rectangle to 28 by 28. Reshape it to 784 by 1. So there
will be now 784-pixel values or features. Now, give the corresponding label to it (For e.g, for 0–9
images same label as their digit, for — assign label 10, for + assign label 11, for times assign
label 12). So now our dataset contains 784 features column and one label column.
OVERALL SYSTEM
ARCHITECTURE
DIAGRAM
.
INPUT Input digit
Mouse gesture
Preprocessing
Feature
extraction
OUTPUT:
Digit recognition Display
recognized digit
REFERENCE
S:
*www.udemy.com
*https://machinelearningmastery.com
*analysticsvidhya.com
*wikipedia.org