Character Recognition Using Neural Network 24 Pages
Character Recognition Using Neural Network 24 Pages
June 2016
iii
iv
v
ACKNOWLEDGEMENT
I would like to express my greatest gratitude to ALLAH S.W.T for the mercy,
blessing and strength given for me to complete this thesis. With HIS blessing and
bestowed, I have able to complete this thesis.
Lastly, my deepest appreciation to all the persons that involved directly and
indirectly in this project with full willingness in contributing their efforts, time, energy
and idea in helping me completing this thesis. There are no other words that would
able to express my feeling of gratitude towards them except thank you.
vi
ABSTRACT
Humans have the ability to recognize characters. For example, human can
distinguish between different characters and recognize them easily as an A or a B and
so on. Therefore, project is intended to develop a neural network system that is able to
perform character recognition, particularly English alphabets. Neural network is a
system inspired by human brain function; consists of neurons connected in parallel
with the ability to learn. A basic design of neural network has input layer, hidden layer,
and output layer. The use of neural network can improve the quality of recognition
while achieving good performance. A total of 650 samples characters are used with 25
samples of each character. The performance of evaluation is divided to 80% of training
and 20% for testing. Scaled conjugate gradient training function is used as this function
can perform faster in pattern recognition as well as its small memory requirement. Two
training methods are used. The first one is the Gradient Technique with 39 neurons in
hidden layer. The second training method is Geometric Feature Extraction with 35
neurons in hidden layer. Gradient Technique and Geometric Feature Extraction; both
show an excellent recognition rate of 94.6% and 94.3% respectively. The output of
recognized characters is shown in a .txt file.
vii
ABSTRAK
TABLE OF CONTENTS
PROJECT TITLE i
DECLARATION iii
SUPERVISOR'S DECLARATION iv
ACKNOWLEDGEMENT v
ABSTRACT vi
ABSTRAK vii
LIST OF TABLES xi
1 INTRODUCTION
2 LITERATURE REVIEW
2.1 MATLAB 6
2.2 Image Processing 7
2.2.1 Image processing in MATLAB 9
2.3 Character Recognition 9
2.3.1 Handwritten character recognition 10
2.4 Neural Network 10
2.5 Comparison of literature review 12
3 METHODOLOGY
4.1 Result 30
4.1.1 Gradient Technique 31
4.1.2 Geometric Feature Extraction 32
4.1.3 Performance comparison between
training methods 34
4.2 Graphical User Interface (GUI) 44
4.3 Discussion 48
5 CONCLUSION
5.1 Conclusion 50
5.2 Future Work 51
REFERENCES 52
APPENDIX 54
xi
LIST OF TABLES
NO TITLE PAGE
LIST OF FIGURES
NO TITLE PAGE
LIST OF ABBREVIATIONS
NN Neural Network
INTRODUCTION
The idea is developing a system with neural network training that can helps
performing character recognition process. Due to the limitations of classical
computing, applying neural network serve for the emulation of human thinking in
computations.
follows a set of instructions in order to solve problems. The procedural term means; a
program starts at the first line of code, executes it, and goes to the next instruction in
linear pattern.
Unless the specific steps that the computer needs to follow are known the
computer cannot solve the problem. That restricts the problem solving capability of
conventional computers to problems that already been understand.
1.3 Objectives
The main requirement of this project is to develop a system that can recognize
character using the neural network method. Therefore, the following objectives need
to be achieved to satisfy the development of the project.
and testing purposes. The entire process of completing the project will be done in
MATLAB. The MATLAB is chosen because it is a user friendly tool and easy to
understand the coding implementation.
There are several limitations that have been considered while completing this
project. The first limitation is in data collecting. Handwritten data will not be included
to perform the process of recognizing characters. No scanned handwritten image
character will be used. There is also limitation in training approach method. Due to the
high difficulty and deep learning of unsupervised training, the supervised training is
chosen as the desired output has been provided for the network.
i. Pre-processing
ii. Feature extraction
iii. Classification and recognition
4
The report consists of five chapters that conclude a complete discussion of the
project. Chapter 1 describes an overview of the project. In Chapter 1, the objectives,
problem statement, and scope of work are explained. The objectives define the desired
and expected outcome to be achieved from the project. Problem statement discusses
the related issues to be solved while improving the current solved problems. Scopes of
work define the limitations and consideration taken throughout the project completion.
The outputs from the project is discussed in Chapter 4. All the results will be
stated in this chapter in details explanation. The performance of proposed model will
be discussed briefly.
LITERATURE REVIEW
2.1 MATLAB
A process that deals with manipulating digital images through digital computer
as processing tool is known as digital image processing. Digital Image Processing
focuses on developing a system that is able to perform processing on an image. The
input of that system is a digital image and the system process that image using efficient
algorithms, and gives an image as an output.
Data preprocessing converts raw data and signals into data representation
suitable for application through a sequence of operations. The objectives of data
preprocessing include size reduction of the input space, smoother relationships, data
normalization, noise reduction, and feature extraction.
9
Figure 2.5: The example of image processing using MATLAB for counting
circular objects in an image
Character recognition has been a topic of interest recent few years. The ability
to identify machine printed characters in an automated or semi-automated manner has
obvious applications in numerous fields. It is impossible to develop an algorithm with
perfect correct recognition rate, hence while designing algorithms it is important to
consider failures of a system so that it will at least be predictable when mistakes are
made. Different algorithms and approaches can be performed with these failures in
mind to create a very low error system.
10
Today, neural network has been a very popular computer tool used for solving
lot of different practical problems. Neural network provides the best solutions to many
problems in image recognition, natural language processing, and speech recognition.
The basic idea of neural network is to simulate interconnected brain cells inside a
computer so it can learn things all by itself, recognize patterns, and make decisions
just like human way. One of the advantages of using neural network is the network
learning. Network learning provides an efficient ability in recognition.