0% found this document useful (0 votes)
26 views

ppt for presentation

The document outlines a project on Handwritten Character Recognition (HCR) using Convolutional Neural Networks (CNN) at Bahir Dar University. It details the objectives, working principles of CNN, and the steps involved in implementing the project, including data preprocessing, model training, and evaluation. The project aims to improve the efficiency and accuracy of recognizing handwritten characters from images.

Uploaded by

temesgen adugna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

ppt for presentation

The document outlines a project on Handwritten Character Recognition (HCR) using Convolutional Neural Networks (CNN) at Bahir Dar University. It details the objectives, working principles of CNN, and the steps involved in implementing the project, including data preprocessing, model training, and evaluation. The project aims to improve the efficiency and accuracy of recognizing handwritten characters from images.

Uploaded by

temesgen adugna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

BAHIR DAR UNIVERSITY

BAHIR DAR INSTITUTE OF TECHNOLOGY


FACULTY OF ELECTRICAL AND COMPUTER ENGINEERING
DEPARTMENT OF ELECTRICAL ENGINEERING
COMMUNICATION SYSTEM STREAM
Statistical DSP and Machine Learning Project
Title: Handwritten Character Recognition Using Neural Network

Prepared By: Id NO
Temesgen Adugna ------------- BDU1209159
Aster Lakachew -------------- BDU1209101
Asefa Getaneh -------------- BDU1017812

Submitted to: Lijaddis G.


Submission date:13/07/2017 EC
Handwritten Character Recognition(HCR)
using Convolutional Neural Networks (CNN)

2
Outline:-
 Introduction
 Objective of Project
 What is CNN?
 Working principle
 How the project work?
3
Introduction
The Handwritten Character recognition is the capability of computers to

recognize Handwritten Characters.

It's a hard task for the machine because handwritten Characters aren't perfect

and can be made with numerous different flavors.

The handwritten Character recognition is the result to this problem which uses

the image of a Character and recognizes the Character present in the image.

4
Introduction
 Character recognition system is the working of a machine to

train itself or recognizing the Characters from different

sources .

 Character recognition is important because it allows

computers to read and interpret handwritten text, which can

save time and improve security


5
Objective of Project
. To create a model that will be able to recognize and determine the

handwritten Characters from its image by using the concepts of


Convolution Neural Network.

To analyses performance of proposed algorithm with test dataset

To avoid misinterpretation of characters

To increase efficiency in identifying characters


6
7
What is CNN?
 CNN stands for Convolutional Neural Networks

 used to extract the features of the images using several layers of filters.

 The convolution layers are generally followed by maxpool layers that are used to
reduce the number of features extracted and ultimately the output of the maxpool
and layers and convolution layers are flattened into a vector of single dimension
and are given as an input to the Dense layer (The fully connected network).

8
What is CNN?

9
Working principle
The process for HCR involves the following steps as

Image Pre Segmentati Feature Post


Classification
Acquisition Processing on Extraction Processing

10
How the project work
Install Required Libraries

Numpy (version 1.16.5) (pip install numpy)

cv2 (openCV) (version 3.4.2) (pip install openCv)

Keras (version 2.3.1) (pip install keras)

 Tensorflow (Keras uses TensorFlow in backend and for some image


preprocessing) (version 2.0.0) (pip install tensotflow)

Matplotlib (version 3.1.1) (pip install matplotlib)

Pandas (version 0.25.1) (pip install pandas) 11


1. Import the Libraries
 First step will be to import Required libraries:
 We will import libraries that we have installed in our system, whenever we
require them.
 So firstly we are only importing numpy, pandas and matplotlib to preprocess
our data and to visualize that data.

12
2. Read Dataset:
 Now we will read our dataset that is a csv file using the pandas read.csv()
method.

 We will read the data as data type float32 as the csv file is very large and it
will be better to read it as float:

13
14
3.Splitting of Data into images and their labels
 We split the data into X and y.
 In which X will contain a character image and y will contain a label of that
image.

15
4. Performing Split Using Sklearn:
 Let’s perform train_test_split on X and y, to get training (x_train,y_train)
and testing (x_test,y_test) data.

5. Reshaping the Training and Testing data:


 we reshaped our training and testing image data using numpy, so that we
can display it in the form of image, as initially in the csv file they are
present in 784 columns of pixel data. So we convert them to 28×28 pixels.
16
17
6. Plotting the number of alphabets in the dataset

18
7. Shuffle the training data:
 The shuffling is done using the shuffle() function
 so that we can display some random images.
 We then create 9 plots in 3×3 shape & display the thresholded images of 9 alphabets.

19
8. Visualize our training data:
 Now let’s visualize our training data, and let’s check that we have
successfully converted them to view in image form.

20
9.Reshaping the training & test dataset
 Number of rows and columns in the dataset: (372450, 785)
 shape of train data: (297960, 28, 28, 1)
 shape of test data: (74490, 28, 28, 1)

 New shape of train data: (297960, 28, 28, 1)


 New shape of test data: (74490, 28, 28, 1)
 New shape of train labels: (297960, 26)
 New shape of test labels: (74490, 26)

21
10. Getting the Train & Validation Accuracies & Losses

Epoch 1/10
9312/9312 ━━━━━━━━━━━━━━━━━━━━ 449s 48ms/step - accuracy:
0.9072 - loss: 0.4063 - val_accuracy: 0.9808 - val_loss: 0.0721 -
learning_rate: 0.0010
Epoch 2/10
9312/9312 ━━━━━━━━━━━━━━━━━━━━ 500s 48ms/step - accuracy:
0.9786 - loss: 0.0777 - val_accuracy: 0.9792 - val_loss: 0.0778 -
learning_rate: 0.0010
Epoch 3/10
9312/9312 ━━━━━━━━━━━━━━━━━━━━ 509s 48ms/step - accuracy:
0.9901 - loss: 0.0360 - val_accuracy: 0.9907 - val_loss: 0.0348 -
learning_rate: 2.0000e-04
Epoch 4/10
9312/9312 ━━━━━━━━━━━━━━━━━━━━ 494s 47ms/step - accuracy:
0.9945 - loss: 0.0195 - val_accuracy: 0.9917 - val_loss: 0.0322 -
learning_rate: 2.0000e-04 22
Epoch 5/10
9312/9312 ━━━━━━━━━━━━━━━━━━━━ 444s 48ms/step -
accuracy: 0.9962 - loss: 0.0131 - val_accuracy: 0.9930 - val_loss: 0.0275 -
learning_rate: 2.0000e-04 Epoch 6/10
9312/9312 ━━━━━━━━━━━━━━━━━━━━ 490s 46ms/step -
accuracy: 0.9974 - loss: 0.0087 - val_accuracy: 0.9945 - val_loss: 0.0268 -
learning_rate: 2.0000e-04 Epoch 7/10
9312/9312 ━━━━━━━━━━━━━━━━━━━━ 464s 49ms/step -
accuracy: 0.9979 - loss: 0.0066 - val_accuracy: 0.9933 - val_loss: 0.0314 -
learning_rate: 2.0000e-04 Epoch 8/10
9312/9312 ━━━━━━━━━━━━━━━━━━━━ 452s 49ms/step -
accuracy: 0.9991 - loss: 0.0033 - val_accuracy: 0.9953 - val_loss: 0.0271 -
learning_rate: 1.0000e-04
23
Model: "sequential_1

24
Model: "sequential_1
 Total params: 411,536 (1.57 MB)
 Trainable params: 137,178 (535.85 KB)
 Non-trainable params: 0 (0.00 B)
 Optimizer params: 274,358 (1.05 MB)

25
Doing Some Doing Prediction on
Predictions on Test Data External Image

26
27

You might also like