Conference PaperPDF Available

Efficient and Robust Optical Character Recognition Algorithm for Signature Recognition

Authors:

Abstract and Figures

With the technology development over the past decades, it became necessary to provide secure recognition systems. The Optical Character Recognition (OCR) can be considered as one of the most useful software to offer security. It works on the principal of recognizing the patterns with the use of a computer algorithm. OCR has multiple uses in places that need security verification such as banks, elevators, police departments. Furthermore, it can be used in several categories simultaneously. There are two types of recognition. First is the static approach which is based on the information of the input. Second is the dynamic recognition which is more usable for recognition of speech. In fact, OCR will be one of the most important techniques for human computer interaction in future. However, in this paper we have used OCR as feature to implement our algorithm. We are presenting a new algorithm that is capable of recognizing each signature individually. This makes the system more efficient and robust,especially in banks which need to verify the customer's signature on a regular basis. A highly efficient C# system was developed to implement the new algorithm. Copyright © 2012 by International Society of Computers and Their Applications (ISCA).
Content may be subject to copyright.
Efficient and Robust Optical Character Recognition Algorithm for Signature Recognition
Wafa Elmannai, Khaled Elleithy, Varun Pande
Department of Computer Science and Engineering
University of Bridgeport
Bridgeport, CT 06604, USA
{welmanna, elleithy, vpande}@bridgeport.edu
ABSTRACT
With the technology development over the past decades,
it became necessary to provide secure recognition
systems. The Optical Character Recognition (OCR) can
be considered as one of the most useful software to offer
security. It works on the principal of recognizing the
patterns with the use of a computer algorithm. OCR has
multiple uses in places that need security verification such
as banks, elevators, police departments. Furthermore, it
can be used in several categories simultaneously. There
are two types of recognition. First is the static approach
which is based on the information of the input. Second is
the dynamic recognition which is more usable for
recognition of speech. In fact, OCR will be one of the
most important techniques for human computer
interaction in future. However, in this paper we have used
OCR as feature to implement our algorithm. We are
presenting a new algorithm that is capable of recognizing
each signature individually. This makes the system more
efficient and robust,especially in banks which need to
verify the customer’s signature on a regular basis. A
highly efficient C# system was developed to implement
the new algorithm.
Keywords: OCR; Signature Recognition; Hand writing
recognition.
1. INTRODUCTION
Since 1950s, OCR has been motivating many researchers.
It has become the most useable software for automatic
recognition. In fact, the first version of OCR had emerged
in middle of 1940s as software package. But in middle of
1950s, OCR devices were available in the market.
Nowadays, both OCR’s hardware and software have
become available in the market [1].
As seen, in some applications there are income prehensile
characters or symbols that are used. This can be a security
protocol in some systems or is just a way to track goods.
Most of the products have serial of numbers or symbols.
Each symbol or character has meaning [7]. A custom
based OCR is the only software which has the ability to
recognize such symbols. OCR can also be used in the
recognition of poor hand writing.
There are several pending issues that need to be addressed
to improve the OCR model. The goal of the OCR is to
transform any text document to another format (e.g.
PDF). Also, it is used in post offices as well as in
recognition systems [2].
To have a proper recognition of a character, we need to
follow three steps. These steps are segmentation,
classification and extracting. The most primary and
important step is the segmentation [5]. Segmentation
separates the input to individual characters [4]. Also, the
process of segmentation includes three sub steps. They
are character, line and word segmentation. Before we
explain the purpose of our implementation, we are going
to explain the process of OCR.
The process of classification: in order to build a classifier
to any application, there are two steps that are needed to
be followed. They are the data training and data test
usages. Both training and testing are mostly similar in
their process. There is only one difference which is one
extra step need to be done in testing procedure. First, we
need to put the input or scanned image in as an accepted
form. Then we extract the data to the point where we can
reach the needed result. Lastly we choose the most
suitable model per class. In testing step, instead of
estimating the satisfactory model for the data, we need to
make a comparison between the several paths and the
chosen models.
Second step is the preprocessing: first thing in the
preprocessing is the binarization that is the conversion of
the images to bit maps. This is used to choose the
threshold level based on the level of gray of the input.
Second sub step is the morphological operating [3] to
keep only the edges of each character. Finally, the
segmentation is to separate the characters individually is
based on many approaches that have been introduced such
as: connected components extractor, threshold sub pixel
precise thresholding [6].
Third step is feature extraction: this process is based on
the separated characters given by the segmentation step.
There are several approaches to get the descriptor of the
image. These approaches can be used either on the entire
image or as an object to use the character’s edges for the
recognized step. This process is the most important
feature in OCR. It allows us to improve the performance
of OCR.
The work presented in this paper is not OCR. But we are
using OCR as a feature in our implementation. Each
implementation needs a specific classifier. So, in this
paper we are going to develop a new approach in the
classification process in order to recognize each
individual signature as well as to recognize the hand
writing specially the poor ones. This approach is based on
the predefined classification process of the OCR. Our new
approach can improve the performance of pattern
recognition, signature verification and security
enhancement. This implementation can be used for secure
systems such as banks which need to verify the signature
of each customer carefully. Thus, our system will enable
the whole verification process to be automated.
This paper starts by explaining the framework of our
approach. Then it provides the details on how combining
the OCR feature in our work for signature recognition.
Finally, we analyze the experimental results.
2. RELATED WORK
In [2] the author has used a similar segmentation process
that has been described in our paper. Though the
segmentation is done on the bases of separating lines and
running digital string recognition systems. At times it can
be difficult to recognize certain patterns of handwriting as
people tend to write differently, thus in our case a data
base with certain trained characteristics helps us improve
upon the detection of one’s individual handwriting .
In [8] the word recognition system using the lexicon
model approach has been discussed. The author has talked
about multiple segmentation hypotheses on mathematical
model for the recognition of individual characters. The
mathematical model describes points of weight in each
individual characters thus deducing the points based upon
the cusp and curve of an individual character.
In order to use OCR for Latin handwriting recognition,
the authors have used a semi Markov model plus the
character template set [9]. The unnoticed characters were
read using a lexicon model. The algorithm was clear and
understandable by using multiple samples. On Other hand
it was possible to improve the idea to be a multilingual
system.
The authors in [10] have combined three techniques to
recognize handwriting samples. The techniques are the
lexicon model, n_gram statics and the implementation of
a font database. This system could easily correct ligatures
and corrects the errors that were sufficient. But they used
only two sample images which are not enough to evaluate
the recognition system.
3. SIGNATURE RECOGNITION PROCESS
3.1. Trained data usage for classification process:
Basically this algorithm is developed to give a high
performance of signature recognition.
Figure (1) shows the process of recognition and how we
combine OCR feature with our algorithm to improve the
process of pattern recognition and having good results.
Figure 1: The signature and hand writing recognition flow chart
The input can be either from a scanner or a camera. This
software can offer high security. Moreover, it recognizes
each signature individually with less error. All these
inputs have to be stored in the database for each client and
is recalled whenever we do verification. This does not
only allow for the algorithm to learn more but also
provides a future implementation that enables for better
understanding and achieving optimal results.
In order to build the classifier we have to follow several
sub steps:
1. Training Data usage: we are trying to learn the features
of the new input data (signature, new hand writing or
even just a character).
2. Training:The process begins with (edge detection)
Segmentation where it extracts features from each
individual character
3. Computation or extraction of features from the data
base which is done by the following sub steps:
A. Compute the pixels numbers in each input
character segmented.
B. Getting the center of mass, i.e. most pixels at a
point.
C. Oval factors need to be considered :
Start
Input
Document
Classification
Process
Training
Data
Test Data
Edge
Detection
Pre-
Processing
Feature
Extraction
Feature
Extraction
Model
Estimation
Classification
Training
Recognition
& Testing
Getting
Center Of
Mass
Calculate
Longest
Radius
Calculate
The pixel
Position
Division Of
tracks
Calculate
Sector
Step
Extract
Pixel
Relations
Calculate
Elucidian
Distance
Recognition Display
Real Time Data
Stop
I. Conventionality.
II. Position.
D. Kurtosis and skewness.
E. Moments of high demand.
F. A series of code conversion.
G. Series and Fourier conversion.
3.2. The Recognition Process:
As shown in Figure 1 after we finish the classification
process the output of classification process is fed to the
recognition process in order to test the data and check the
performance of the testing process of recognition of the
data. This process has been done for real time data.
3.2.1. Getting the center of frame:
We have used two parameters in our equation. We have
used Figure(2) as input to calculate Vb. That is to get the
center of our input. We have used Vb as the sum of all the
locations divided with the pixels number.
Vb=∑v / ∑∑ ƒ (v, h)
0
1
2
3
1
2
*
*
3
*
4
*
*
Figure 2: Getting the central of textual (Vb)
To have the result mathematically, we can calculate the
central for Vb= (0+1+2+2+3)/5.
And the same process is done to calculate Hb. We have
used the Figure(3) as our input to get the central of Hb.
Hb= ∑h/ ∑∑ƒ (v, h
0
1
2
3
1
2
*
*
3
*
*
4
*
Figure 3: Getting the central of textual (Hb)
The Hb for out input is (3+2+2+2+1)/5.
If we apply this equation of our algorithm we can easily
get the central of the textual as showing in Figure (4).
Following this process, we can get the mass central for
each character in the signature.
Figure 4: Central of Character
3.2.2. Getting the highest range:
To find the highest radius, we have used Pythagoras
operation. This operation allows us to find the distance
between the central of character and each pixel in the
character. The largest distance will be considered as the
highest radius as shown in Figure (5).
To measure any distance between two pixels with use of
Pythagoras, we its equation which is as
following:
 
 
Figure 5: Highest Radius
3.2.3. Find the step of track:
To get the track numbers, we have to divide the highest
radius over the Predicted tracks number. However, we
have used five as the number of tracks.
3.2.4. Find the right sector (depend on sectors
numbers):
For this step we have to the number of sectors in our input
based on the tracks number. Based on finding the step of
the sector, we can know the specific sector for each pixel.
3.2.5. Dividing the sectors numbers over the tracks
number:
Both data (trained or tested) has to use the same numbers
of tracks and sectors to specify the pixel position. Figure
(6) shows how to find the right position of specific pixel.
Figure 6: Target for the pixel position
  
The pixel position can be found based on


3.2.6. Getting the relationship between each pixel and
their neighbors:
This step is the last step of feature extraction. We have
used chain code with some modification:
Start
1. Adjacent the target pixel for each pixel in the
character.
2. Changing clock-wise from north path
3. Whenever the current pixel presents surrounding
the target pixel
Then
3.1. Save its position in the database
3.2. Go to next pixel
4. End the loop
5. Next
END
Using the chain code, we can find the right position of the
pixel and its relationship with other pixels.
3.3. Euclidian Distance Calculation:
This step can be considered as classification process for
the real time data. In this code we could solve the chain
code drawbacks of calculating the distance. With the
distinction of multiple tracks number and sectors we
could easily calculate the actual distance and determine
the relationship between the vectors.
4. EXPERMENTS AND RESULT ANAYSIS
With the improved algorithm of the freeman’s chain code
and the initiation of the Fourier transform series, we
solved the scaling problem as already shown in the paper
by considering individual vector paths for the pixels. We
have also achieved accuracy percentages as shown in the
pie chart shown in Figure (7). These results are based on
the handwritten test data we used were of two different
types.
In our testing, we asked volunteers to draw the characters
using the paintbrush as they would write on a piece of
paper. As a second step, we made the volunteers write the
same letters on a piece of paper with a pen. Once this was
done, sample signatures of the same volunteers were fed
into the classifier and were trained on an individual’s
data. We had approximately 20 samples of 17 different
hand written letters and 20 signature samples per
volunteer for the best accurate results.
Figure 7: Achieved Accuracy Percentages for Handwritten data
For our experiment, we chose one sample of the stored
handwritten samples and download it in our system as
shown in Figure 8(a).
Figure 8(a): Sample of handwritten data
Thresholding setup was used for the segmentation process
in our experiment. The result of feature extraction which
was done on the sample is shown in Figure 8(b).
Figure 8(b): Recognition approach of the sample
As seen in the Figure 8(b), using of the technique robust
gray value in the feature extraction is showing good
results of extraction and a purer outline. As well for
classification process, we have used binarization
algorithm on the sample. Based on our previous
experiment for handwritten recognition, we have used one
signature of the signature samples which is shown in
Figure 9(a). We have used same approach to recognize
the signature.
The result of extraction of features is shown in Figure
9(a). The extraction was done on the whole image then
gives the number of pixels as shown in the above figure.
36%
33%
31%
Percentage Of Recognition
1st recognition
On neat writing
2nd recognition
general samples
real time
recognition
Figure 9(a): Sample of Stored signature
Figure 9(b) shows the recognition technique on both
samples. Furthermore, our approach proves the way of
recognition was correct for all the characters.
Figure 9(b): The recognition technique presented on both samples.
There are two main observations that we noticed in our
experiments which can affect the recognition technique.
First, some volunteers used different types of fonts that
we have to use based on our classification. Others,
proportioned symbols with the bending characters can be
hard to recognize especially for poor handwritten.
5. CONCLUSION
Using OCR in our system to recognize both the signature
and handwrittencharacters was very helpful. We have
developed C #based system character recognition. The
developed system supports both segmentation and
classification in an efficient and robust form.
In this paper we have used a feature extraction process of
OCR to achieve a highly efficient and robust recognition
technique. Furthermore, we have used both robust gray
value and dynamic thresholding techniques in the
preprocessing (segmentation plus feature extraction).
Such an approach makes the developed system more
practical not only the classifier gets trained for the
individuals’ handwriting but also gets trained for the
lower case, upper case as well as the signature of an
individual’s data which helps the classifier achievemore
accurate results. Furthermore, the algorithms presented in
this paper offer better security vital systems such as banks
which need to verify the customers’ signatures. Finally,
the developed system proves to achieve accurate
recognition results even for poor handwritten.
6. REFRENCES
[1] Eikvil Line, Optical Character Recognition, Norsk
Regnesentral, P.B. 114 Blindern, N-0314, 1993.
[2] Sargur N. Srihari and Sangjik Lee, Automatic
Handwriting recognition and Writer Matching on
Anthrax-related Handwritten Mail”, Eighth International
Workshop on Frontiers in Handwriting Recognition
(IWFHR’02), 2002.
[3] Luo Huizhu, Kasturi Rangachar, Improved
Directional Morphological Operations for Separation of
Characters from Maps/graphics, in: Graphics Recognition
Algorithms and Systems [M],” Heidelberg: Springer
Berlin Press, 2006.
[4] Sagar.B.M.,Shobha.G, Kuma.R.P, “Complete
Kannada Optical character Recognition with Syntactical
Analysis of the script, Computing, Communication and
Networking, 2008. ICCCn , 2008.
[5] Sari Toufik, Souici Labiba, Sellami Mokhtar, “Off-
line Handwritten Arabic Character Segmentation
Algorithm: ACSA,” IEEE Explore, 2009.
[6] Paidimarri Kashyap, Chandran Sharat, Ad-Hoc
Multi-planar Projector Displays, in: Computer Vision,
Graphics and Image Processing[M],” Heidelberg:
Springer Berlin Press, 2006.
[7] Xie Jianhong, Optical Character Recognition Based
on Least Square Support Vector Machine, 2009 Third
International Symposium on Intelligent Information
Technology Application, 2009.
[8] E. Anquetil, G. Lorette, Perceptual Model of
Handwriting Drawing Application to the Handwriting
Segmentation”, Problem Pattern Analysis and Machine
Intelligence, IEEE Transactions Jan 2000
[9] Shou de Lin and Kevin Knight. Discovering the linear
writing order of a two-dimensional ancient hieroglyphic
script. Arterial Intelligence, 170: to appear, 2006.
[10] Chi Fang and Jonathan J. Hull. A modified character-
level deciphering algorithm for OCR in degraded
documents. In SPIE Conference on Document
Recognition II, 1995.
... An OCR system first takes a scanned image as input then processes it and extracts the text from that image and presents it to an editable document. For converting a scanned document into and editable file the OCR system goes through several steps and there is specific algorithm used by each step in the process of conversion for modifying, improving, and interpreting the scanned images which are inside a file [3]. Much more detailed processes which an OCR system goes through are presented in Fig. 2. For overall success of and OCR system every single step of this process is, even if a tiny error occurs it will cause major issues and can give a poorly translated document as final result [3]. ...
... For converting a scanned document into and editable file the OCR system goes through several steps and there is specific algorithm used by each step in the process of conversion for modifying, improving, and interpreting the scanned images which are inside a file [3]. Much more detailed processes which an OCR system goes through are presented in Fig. 2. For overall success of and OCR system every single step of this process is, even if a tiny error occurs it will cause major issues and can give a poorly translated document as final result [3]. ...
... Feather extraction is the third step on pre-processing, this method is used to reduce the dimension of input data with the concern of losing no or very less information in pattern recognition and in image processing, by using this method the computing time and space in computer memory will be saved [2] [3]. When the input information is very large and it could take a lot of time for a training algorithm and maybe some features of input data are redundant or they are related to each other (much data, but not much information) then by using this method it is possible to get rid of them and speed up the training level and increase recognition process accuracy [8]. ...
Conference Paper
Full-text available
Character classification technology is one from the fast growing Software Engineering and Artificial Intelligence technologies. A Different type approach for the character classification will be explained in this paper. The objective is to develop a user friendly application which performs character classification and also explain a method which is very simple to learn and implement. An approach which is different and much simple than existing approaches for character classification had been introduced and this approach is used for the development of recognizing printed English letters.
Conference Paper
Full-text available
A new handwriting modeling and segmentation approach is introduced for cursive letter and word analysis. For the letter analysis, the proposed method is based on the detection of a set of “perceptual anchorage points” to extract a priori pertinent strokes. This physical segmentation of the handwritten drawing enables us to conduct a logical modeling of letters with respect to the most stable strokes of each letter class. For the handwritten word analysis, we present a constructive segmentation approach to overcome the word segmentation problem. The main idea is to locate “anchorage structures” in the word drawing based on the most robust strokes of the letters. This new approach of handwriting analysis has been implemented in a writer-independent online handwriting recognition system. Experimental results are reported using a lexicon context of 1128, 7000 and 25,000 words
Article
In this paper, the development of Kannada optical character recognition (OCR) is discussed. In the process of development the preprocessing, segmentation, character recognition and post-processing modules were detailed in this paper. Since all most all the characters are in curve sharp, non-cursive the segmentation, character recognition and post processing is not easy for Kannada Script. Post Processing technique uses a dictionary based approach in order to increase the OCR output. At the end of this paper we have also discussed the syntactical analysis of Kannada Script. It is the analysis of grammatical errors in the language for kannada script.
Conference Paper
High-resolution portable projectors have become commodity items now to own – but not to use. It is not always possible to find a display area where the camera can be properly aligned so that an undistorted image be seen. We present a method to project an undistorted image using a digital projector on a piecewise-planar display area. We use uncalibrated structured light ranging to segment the unknown projection area and further compute the homographies that map the projector space to the camera space through each of the planes. The edge detection and point-correspondences are subpixel precise. Finally, we use these computed homographies to pre-warp the display image so that a distortion-free image is visible. Our results show a seamless and correct rectification with accurate segmentation of the planes.
Conference Paper
Directional morphological operations for separation of characters from maps/graphics have been proposed previously. In this paper we present an approach to improve the efficiency of this algorithm using run-length-encoded (RLE) image representation. Directional edge images are all represented as directional run-length linked lists. Moreover, we migrate all of the processes used to the RLE data structure. As a result, we reduce significantly both the memory space and the processing time. The improved separation algorithm has all the advantages of the original one. It is independent of font style, font size, and language and map style. It performs well even in cases where lines and characters are connected.
Article
This paper demonstrates how machine learning methods can be applied to deal with a real-world decipherment problem where very little background knowledge is available. The goal is to discover the linear order of a two-dimensional ancient script, Hi- eroglyphic Luwian. This paper records a complete decipherment process including encoding, modeling, parameter learning, optimization, and evaluation. The experiment shows that the proposed approach is general enough to recover the linear order of various manually generated two-dimensional scripts without needing to know in advance what language they represent and how the two-dimensional scripts were generated. Since the proposed method does not require domain specific knowledge, it can be applied not only to language problems but also order discovery tasks in other domains such as biology and chemistry.  2005 Elsevier B.V. All rights reserved.
Conference Paper
Optical character recognition (OCR) is a very active field for research and development, and has become one of the most successful applications of automatic pattern recognition. To avoid the curse of dimensionality and improve the recognition performance, an optical character recognition system based on image preprocessing technologies combined with least square support vector machine (LS-SVM) has been developed, which first uses dynamic thresholding operation and robust gray value normalization to segment characters and extract features respectively, and then uses LS-SVM to classify characters based on features. The proposed method has been evaluated by carrying out recognition experiments on the optical characters of electronic components. The results show that the proposed method has a better recognition performance, and holds a lot of potential for developing robust recognition learning.
Conference Paper
A handwriting recognition technique and a handwriting identification technique were combined and applied on anthrax-related handwritten mail. The HWAI (handwritten address interpretation) system interprets the address on the anthrax-related letters. The HWAI process can be modified to provide specific alphabet images which can then be used for writer identification. Micro-level feature values from segmented characters were extracted and an identification test was conducted. Preliminary results based on automatic handwriting recognition and identification are shown.
Optical Character Recognition, Norsk Regnesentral
  • Eikvil Line
Eikvil Line, "Optical Character Recognition, Norsk Regnesentral," P.B. 114 Blindern, N-0314, 1993.
A modified characterlevel deciphering algorithm for OCR in degraded documents
  • Chi Fang
  • Jonathan J Hull
Chi Fang and Jonathan J. Hull. A modified characterlevel deciphering algorithm for OCR in degraded documents. In SPIE Conference on Document Recognition II, 1995.