Handwritten Script Recognition
Handwritten Script Recognition
I. INTRODUCTION
Handwritten character recognition, irrespective of the script,
finds potential application areas for automation in various
fields like postal automation, bank automation, form filling
etc. Handwritten character recognition for Indian scripts is Fig. 1: Typical flowchart for CR methodology
quite a challenging task for the researchers. This is due to A. Data acquisition:
the various characteristics of these scripts like their large
Data acquisition, as the name implies is the process used to
character set, complex shape, presence of modifiers,
collect information to document or analyze some
presence of compound characters and similarity between
phenomenon. In the simplest form, a technician logging the
characters. Various languages use specific script to write.
temperature of an oven on a piece of paper is performing
One of them is Devnagari which is most widely used for
data acquisition.
many major languages such as Marathi, Hindi, etc. Hindi &
Marathi are most commonly used languages by several B. Pre-Processing
thousand people. Devnagari Marathi Character contains Pre-processing is the major step in handwriting recognition
complicated curves & various shapes. So recognition of System. In this, the algorithms described have been tested
Marathi characters is difficult & complicated task. All these on binary word images. The black pixels in the binary
considerations make Optical Character recognition (OCR) images represent the handwriting whilst white pixels are
with Devnagari script very challenging. The ultimate goal of used to denote the background. Fig 2 shows the block
designing a character recognition system with an accuracy diagram of the pre-processing steps.
rate of 100 % is quite difficult because handwritten
characters are non-uniform; they can be written in many C. Segmentation
different styles. Also they can be written in various sizes by Character segmentation has long been one of the most
different writers. Even there is variation in characters critical areas of optical character recognition process.
written by the same writer at different time. [7].Through this operation, a sequence of characters, which
may be connected in some cases, is decomposed into
II. HISTORICAL EVOLUTION individual alphabetic symbols. [6]
This paper focuses only on the offline handwritten D. Feature Extraction
recognition systems developed in the past few years. [4], [5] It incorporates many characteristics of handwritten
generally there are six major steps in the character characters based on structural, directional and zoning
recognition system which has been shown in fig.1. information and combines them to create a single global
feature vector. It is independent to character size and it can patterns into the 26 letters of the Latin alphabet. The most
extract features from the raw data without resizing. [9] significant difference between the Kohonen neural network
and the feed forward back propagation neural network is
E. Classifier
that the Kohonen network trained in an unsupervised mode.
This step identifies the character that it represents and to This means that the Kohonen network is presented with
assign them the corresponding ASCII code, after extracting data, but the correct output that corresponds to that data is
character features. not specified. Using the Kohonen network this data can be
F. Post Processing classified into groups. We will begin our review of the
Kohonen network by examining the training process. [10] It
Post-processing step is the final stage of the character is also important to understand the limitations of the
recognition system. It prints the corresponding recognized Kohonen neural network. You will recall from the previous
characters in the structured text form.
chapter that neural networks with only two layers can only
be applied to linearly separable problems. This is the case
III. PROPOSED SYSTEM DESIGN with the Kohonen neural network. Kohonen neural networks
The aim of this paper is to recognize handwritten character are used because they are a relatively simple network to
using artificial neural network. An Artificial Neural construct that can be trained very rapidly.
Network (ANN) is an information processing paradigm that
is inspired by the way biological nervous systems, such as B. Principal of working
the brain, process information.
One of the primary means by which computers are endowed
with humanlike abilities, is through the use of a neural
network. The human brain is the ultimate example of a
neural network. The human brain consists of a network of
over a hundred billion interconnected neurons. Neurons are
individual cells that can process small amounts of
information and then activate other neurons to continue the
process. Neuron cell is the basic building block of human
brain. It accepts signals from dendrites. When a neuron
accepts a signal, that neuron may fire. When a neuron
accepts a signal, that neuron may fire. When a neuron fires,
a signal is transmitted over the neurons axon. Ultimately the
signal will leave the neuron as it travels to axon terminals.
The signal is then transmitted to other neurons or nerves.
This signal, transmitted by the neuron is an analog signal.
Most modern computers are digital machines, and thus
require a digital signal. A digital computer processes
information as either on or off. This is the basis of the binary
digits zero and one. The presence of an electric signal Fig. 2: Self-Organizing Map / Kohonen Neural Network
represents a value of one, whereas the absence of an
electrical signal represents a value of zero. Neuron accepts 1) Sample Inputs to a Self-Organizing Map
input from other neurons or user program. Activation This network will have only two input neurons and two
function is used to activate particular neuron. If a particular output neurons. The input to be given to the two input
neuron satisfies activation function then that neuron is said neurons is shown in Table 1.
to be activated. Connections between neurons are assigned
weights. These weights are adjusted to make neural network
recognize different pattern. Table. 1: Inputs to a Self-Organizing Map
A. Kohonen Neural Network 2) Connection Weights in the Sample Self-Organizing Map
The Kohonen neural network differs considerably from the
feed forward back propagation neural network. The
Kohonen neural network differs both in how it is trained and
how it recalls a pattern. The Kohonen neural network does
not use any sort of activation function. Further, the Kohonen Table. 2: Connection Weights
neural network does not use any sort of a bias weight.
Using these values, we will now examine which neuron will
Output from the Kohonen neural network does not consist of
win and produce output. We will begin by normalizing the
the output of several neurons. When a pattern is presented to
input.
a Kohonen network one of the output neurons is selected as
a "winner". This "winning" neuron is the output from the 3) Normalizing the Input
Kohonen network. Often these "winning" neurons represent The self-organizing map requires that its input be
groups in the data that is presented to the Kohonen network. normalized. Thus, some texts refer to the normalization as a
For example, we will examine an OCR program that uses 26 third layer. However, in this book, the self-organizing map
output neurons. These 26 output neurons map the input is considered to be a two-layer network, because there are
only two actual neuron layers at work. The self-organizing must be calculated. To calculate the dot product between
map places strict limitations on the input it receives. Input to two vectors, you must multiply each of the elements in the
the self-organizing map must be between the values of –1 two vectors as shown in Equation (3.4).
and 1. In addition, each of the input neurons must use the [ ] [ ]
full range. If one or more of the input neurons were to only
accept the numbers between 0 and 1, the performance of the
neural network would suffer. Input for a self-organizing map As you can see from the above calculation, the dot product
is generally normalized using one of two common methods, is 0.395. This calculation will have to be performed for each
multiplicative normalization and z-axis normalization. of the output neurons. In this example, we will only examine
Multiplicative normalization is the simpler of the two the calculations for the first output neuron. The calculations
methods; however z-axis normalization can sometimes necessary for the second output neuron are carried out in the
provide a better scaling factor. The algorithms for these two same way. The output must now be normalized by
methods will be discussed in the next two sections. We will multiplying it by the normalization factor that was
begin with multiplicative normalization. determined in the previous step. You must multiply the dot
4) Multiplicative normalization product of 0.395 by the normalization factor of 1.1094. The
To perform multiplicative normalization, we must first result is an output of 0.438213. Now that the output has
calculate the vector length of the input data, or vector. This been calculated and normalized, it must be mapped to a
is done by summing the squares of the input vector and then bipolar number.
taking the square root of this number, as shown in Equation 7) Mapping to a Bipolar Ranged Number
(3.1) of Multiplicative Normalization As you may recall from chapter 2, a bipolar number is an
(3.1) alternate way of representing binary numbers. In the bipolar
√∑ system, the binary zero maps to –1 and the binary one
remains a 1. Because the input to the neural network has
The above equation produces the normalization factor ha been normalized to this range, we must perform a similar
each input is multiplied by to properly scale them. Using the normalization on the output of the neurons. To make this
sample data provided in Tables 1 and 2, the normalization mapping, we multiply by two and subtract one. For the
factor is calculated as follows: output of 0.438213, the result is a final output of –0.123574.
The value –0.123574 is the output of the first neuron. This
This produces a normalization factor of 1.1094. value will be compared with the outputs of the other neuron.
By comparing these values we can determine a “winning”
5) Z-Axis Normalization neuron.
Unlike the multiplicative algorithm for normalization, the z-
axis normalization algorithm does not depend upon the 8) Choosing the Winner
actual data itself; instead the raw data is multiplied by a We have seen how to calculate the value for the first output
constant. To calculate the normalization factor using z-axis neuron. If we are to determine a winning neuron, we must
normalization, we use Equation (3. 2). also calculate the value for the second output neuron. We
will now quickly review the process to calculate the second
(3.2) neuron. The same normalization factor is used to calculate
√
As can be seen in the above equation, the normalization the second output neuron as was used to calculate the first
factor is only dependent upon the size of the input, denoted output neuron. As you recall from the previous section, the
by the variable n. This preserves absolute magnitude normalization factor is 1.1094. If we apply the dot product
information. However, we do not want to disregard the for the weights of the second output neuron and the input
actual inputs completely; thus, a synthetic input is created, vector, we get a value of 0.45. This value is multiplied by
based on the input values. The synthetic input is calculated the normalization factor of 1.1094, resulting in a value of
using Equation (3.3). 0.0465948. We can now calculate the final output for neuron
√ (3.3) 2 by converting the output of 0.0465948 to bipolar, which
The variable n represents the input size. The variable f is the yields –0.9068104. As you can see, we now have an output
normalization factor. The variable l is the vector length. The value for each of the neurons. The first neuron has an output
synthetic input will be added to the input vector that was value of –0.123574 and the second neuron has an output
presented to the neural network. You might be wondering value of –0.9068104. To choose the winning neuron, we
when you should use the multiplicative algorithm and when select the neuron that produces the largest output value. In
you should use the z-axis algorithm. In general, you will this case, the winning neuron is the second output neuron
want to use the z-axis algorithm, since the z-axis algorithm with an output of –0.9068104, which beats the first neuron’s
preserves absolute magnitude. However, if most of the output of –0.123574. You have now seen how the output of
training values are near zero, the z-axis algorithm may not the self-organizing map was derived. As you can see, the
be the best choice. This is because the synthetic component weights between the input and output neurons determine this
of the input will dominate the other near-zero values. output.
V. CONCLUSION
This paper has presented a review about Handwritten
Character Recognition is one of the main branches of
character recognition. Three stages of CR are presented
namely, pre-processing, feature extraction and classification.
In the future, we will use this knowledge to develop the
Fig. 3: Flowchart of Execution characters recognition system. The task of human expert is
to select or invent features that allow effective and efficient
1) Draw the Image recognition of character. It is important to get the better
Use the mouse as an input to draw the image of characters. result in recognizing a character. Many types of classifier
Enter the corresponding character with which you want the are applicable to the OCR system. Recognition of a
drawn character to be recognized in the text box. character can be done using a template matching, statistical,
2) Down Sampling syntactic (structural) and neural network approach. Neural
The images have to be cropped sharp to the border of the network approach is selected in this paper because it gives a
character in order to standardize the images. The image better recognition result than compared to other.
standardization is done by finding the maximum row and
column with 1s and with the peak point, increase and REFERENCES
decrease the counter until meeting the white space, or the
line with all 0s. This technique is shown in figure below [1] H. Yamada, K. Yamamoto, T. Saito: “A Non-linear
where a character “S” is being cropped and resize. Normalization Method for Hand printed Kanji
Character Recognition – Line Density Equalization,”
Pattern Recognition, vol.23, no.9, pp.1023-1029,
(1990).