Abstract— A lot of work has been done on character
recognition, object recognition and speech recognition using Artificial Neural
Networks. Character recognition has mostly focused on English alphabets and
English numeric characters. In this paper we are proposing a system based on
Artificial Neural Networks for recognition of hand-written Urdu numeric
characters. In this system, each Urdu digit is pre-processed for noise removal,
segmentation and digitization into binary 1’s and 0’s. Those binary pixels are
given as input to Artificial Neural Network. The network is trained with large
number of samples and during the training it learns the parameters for the
weight matrix with error minimized. Optimal weights are used for testing of new
samples and classification is done according to probability(labels with highest
probability are selected). The output with highest probability is then converted
and displayed both as Urdu and English numeric character accordingly.
Neural Networks, Machine Learning, Character Recognition, Urdu numeric
Character Recognition from images has been a problem
and has gained so much attention in image processing. Optical Character
Recognition was started in 1929 by Gustav Tauschek in Germany, and then in 1933
by Handel in USA. A lot of character recognition systems have been put forward
till now, but still there is a need for some more intelligent system that would
be able to recognize hand written characters written by different persons as
everyone has different style of writing. Classical methods are not sufficient
for the recognition of characters with different size, shape, style, orientation
As such, the brain of human is adaptive to small
changes and learn from experience. Humans are able to recognize such characters
having small changes in their size, style, orientation and location.
Artificial Neural Networks, that were first
developed in the mid 1900’s are much better compared to classical methods,
emulating to human thinking to an appreciable extent. Artificial Neural
Networks have got success in this area because of their humanoid qualities such
as adapting to changes and learning from prior experience. Neural Networks are
composed of parallel operating simple elements connected with each other
inspired by biological nervous system. Neural Networks are trained and their
connection weights are adjusted so that each input leads to a specific output,
until it matches the target output1-6.
Hand written character recognition has a wide range
of important applications like reading different forms and postal codes. A lot
of research has been done in this field in different languages but numeric
character recognition is still a problem in Urdu language7.
In the pre-processing
stage some morphological operations are done on the image to make them simple, enhanced,
and easy for the system to recognize. As the images or documents to be
processed may also contain unnecessary information or noise besides characters,
that is not useful for us and should be removed. Such images are usually
processed for noise reduction and removing unimportant information so that
characters could be segmented, separated from the background, digitized and
brought to some feasible dimensions. In the first stage of pre-processing we
convert the image into grey scale. Noise is still present in the image due to
dust and other atmospheric conditions, so it is necessary to remove noise from
it, because it affects the image features and makes edge detection and character
recognition difficult for the system. The object boundaries are then smoothed
by erosion and dilation. Edges of the characters are detected by morphological
gradient operators, which enhances its intensity9.
Characters may also
occur in words not singly, and in different locations. For this purpose
segmentation is done into lines, words and characters. Spacing is provided
between lines, words and characters from the profile of their histograms. In
further steps of pre-processing digitization is done. Digitization is very
important for Artificial Neural Networks so as to convert those images to
binary matrix of some fixed dimensions, which brings uniformity. Those pre-determined
fixed binary matrices are given as inputs to Artificial Neural Networks in the
form binary 0’s and 1’s for recognition of characters7,8.
Artificial Neural Network based Recognizing tasks:
the proposed system, a very simple architecture of Artificial Neural Networks
is used. At this stage various numeric characters are given to the network with
their labels assigned and the network is trained with large number of samples.
The networks learns in this manner and becomes adaptive for test samples
adjusting its weights. Weights matrix are initialized randomly and updated for
every character during the training process and error is minimized. The final
optimal weights for each character are then kept and are used for recognition
of new test samples. Number of inputs is
equal to number of features and number of outputs is equal to number of
All patterns of a
single character differs slightly from each other in one or another way and
weights matrix is updated each time for each pattern of that single character.
All other characters have their corresponding weights matrix. The weight matrix
is then observed closely and most occurring pixels have high positive values
compared to least occurring pixels, therefore priority is given to those pixels
for better results.
The network consists of
input nodes(no. of pixels in the digitized image), hidden layers and output
nodes(no. of characters which is ten). The dimensions of this digitized image
has a good impact on recognition of characters. Higher resolution and dimensions
of the input matrix make the recognition easy but increases time-complexity1.
For complex characters higher resolution and dimensions are needed for better
recognition. The number of hidden layers has also a great effect on the
recognition of characters to find a compact representation of the images for
easier classification. Sigmoid function is applied on the outputs whose result
is shown as conditional probabilities between o and 1(sum of all 10 outputs is
equal to 1)10. The sigmoid function is given as;
Here g(x) represents
the sigmoid function while x denotes the net value of the weighted sum11.
Converting Urdu numeric characters to
English numeric characters:
The detected and
recognized characters are then converted into English digits(0-9), and output
is shown in both Urdu and English digits accordingly.
motivation for this research proposal is that character recognition has mostly
focused on English alphabets and English numeric characters. Researchers have
also worked on some other languages(Farsi, Arabic etc), but no significant work
is done for Urdu numeric characters and Urdu alphabets using Artificial Neural
Networks. As Urdu is historic language and spoken and written by a lot of
population in most of countries, so it
needs to be translated into other languages like English.
In this paper we are
proposing a system which is based on Artificial Neural Networks for the
recognition of Urdu numeric characters. The network is made able to learn by
itself the parameters for the characters and their classification. It has been
found that the results depend on the number of inputs which are the
dimensions(no. of pixels) of the digitized input image to the network and the
number of hidden layers. These inputs nodes and hidden layers could be adjusted
accordingly but if their number increases, the complexity of the network also
increases and more time will be consumed.
In future, we could also work on the number of
input layers and hidden layers of the network to make it more simple and less