Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCTION
In the running world, there is growing demand for the software systems to recognize
characters in computer system when information is scanned through paper documents as we
know that we have number of newspapers and books which are in printed format related to
different subjects. These days there is a huge demand in storing the information available
in these paper documents in to a computer storage disk and then later reusing this
information by searching process. One simple way to store information in these paper
documents in to computer system is to first scan the documents and then store them as
IMAGES. But to reuse this information it is very difficult to read the individual contents
and searching the contents form these documents line-by-line and word-by-word. The
reason for this difficulty is the font characteristics of the characters in paper documents are
different to font of the characters in computer system. As a result, computer is unable to
recognize the characters while reading them. This concept of storing the contents of paper
documents in computer storage place and then reading and searching the content is called
DOCUMENT PROCESSING. Sometimes in this document processing we need to process
the information that is related to languages other than the English in the world. For this
document processing we need a software system called CHARACTER RECOGNITION
SYSTEM. This process is also called DOCUMENT IMAGE ANALYSIS (DIA).
Thus our need is to develop character recognition software system to perform Document
Image Analysis which transforms documents in paper format to electronic format. For this
process there are various techniques in the world. Among all those techniques we have
1
1.1 PURPOSE
The main purpose of Optical Character Recognition (OCR) system based on a grid
infrastructure is to perform Document Image Analysis, document processing of electronic
document formats converted from paper formats more effectively and efficiently. This
improves the accuracy of recognizing the characters during document processing compared
to various existing available character recognition methods. Here OCR technique derives
the meaning of the characters, their font properties from their bit-mapped images.
The primary objective is to speed up the process of character recognition in document
processing. As a result the system can process huge number of documents with-in less
time and hence saves the time.
Illuminator
Document
Detector
Document image
Document
Analysis
Character
Recognition
Contextual
Processing
Recognition Results
To application user
Figure.1: OCR Architecture
It would help you if you start with Wikipedia.com. It lets you know the basic
concept of every keyword you require. First learn from it what is OCR? And how
does it work based on a Grid infrastructure?
Now you can proceed your further reading with the introduction of our product we
provided in our documentation. From these two steps you completely get an indepth idea of the use of our product and several processes involved in it.
The more you need is the implementation of the product. For this you can visit
FreeOCR.com where you can view how the sample OCR works and you can try it.
2.FEASIBILITYSTUDY
A feasibility study is a high-level capsule version of the entire System analysis and Design
Process. The study begins by classifying the problem definition. Feasibility is to determine
if its worth doing. Once an acceptance problem definition has been generated, the analyst
develops a logical model of the system. A search for alternatives is analyzed carefully.
There are 3 parts in feasibility study.
Proposed project is beneficial only if it can be turned into information systems that will
meet the organizations operating requirements. Simply stated, this test of feasibility asks
if the system will work when it is developed and installed. Are there major barriers to
Implementation? Here are questions that will help test the operational feasibility of a
project:
Is there sufficient support for the project from management from users? If the current
system is well liked and used to the extent that persons will not be able to see reasons
for change, there may be resistance.
Are the current business methods acceptable to the user? If they are not, Users may
welcome a change that will bring about a more operational and useful systems.
Have the user been involved in the planning and development of the project?
Early involvement reduces the chances of resistance to the system and in general and
increases the likelihood of successful project.
Since the proposed system was to help reduce the hardships encountered. In the existing
manual system, the new system was considered to be operational feasible.
more meaningful in this case. In addition, this proves to be a useful point of reference to
compare actual costs as the project progresses. There could be various types of intangible
benefits on account of automation. These could include increased customer satisfaction,
improvement in product quality better decision making timeliness of information,
expediting activities, improved accuracy of operations, better documentation and record
keeping, faster retrieval of information, better employee morale.
2.4 TRAINING
Training is a very important process of working with a neural network. As seen from neural
networks, there are two forms of training that can be employed with a neural network. They
are namely:1. Un-Supervised Training
2. Supervised Training
Supervised training provides the neural network with training sets and the anticipated
output. Unsupervised training supplies the neural network with training sets, but there is no
anticipated output provided.
What is meant by training without supervision is that the neural network is provided with
training sets, which are collections of defined input values. But the unsupervised neural
network is not provided with anticipated outputs.
Unsupervised training is usually used in a classification neural network. A classification
neural network takes input patterns, which are presented to the input neurons. These input
patterns are then processed, and one single neuron on the output layer fires. This firing
neuron can be thought of as the classification of which group the neural input pattern
belonged to. Handwriting recognition is a good application of a classification neural
network.
The input patterns presented to the Kohonen neural network are the dot image of the
character that was hand written. We may then have 26 output neurons, which correspond to
the 26 letters of the English alphabet. The Kohonen neural network should classify the input
pattern into one of the 26 input patterns.
During the training process the Kohonen neural network in handwritten recognition is
presented with 26 input patterns. The network is configured to also have 26 output patterns.
As the Kohonen neural network is trained the weights should be adjusted so that the input
patterns are classified into the 26 output neurons. This technique results in a relatively
effective method for character recognition.
Another common application for unsupervised training is data mining. In this case you
have a large amount of data, but you do not often know exactly what you are looking for.
You want the neural network to classify this data into several groups. You do not want to
11
dictate, ahead of time, to the neural network which input pattern should be classified to
which group. As the neural network trains the input patterns will fall into similar groups.
This will allow you to see which input patterns were in common groups.
12
recalls a pattern. The Kohonen neural network does not use any sort of activation function.
Further, the Kohonen neural network does not use any sort of a bias weight.
Output from the Kohonen neural network does not consist of the output of several neurons.
When a pattern is presented to a Kohonen network one of the output neurons is selected as
a "winner". This "winning" neuron is the output from the Kohonen network. Often these
"winning" neurons represent groups in the data that is presented to the Kohonen network.
For example, in an OCR program that uses 26 output neurons, the 26 output neurons map
the input patterns into the 26 letters of the Latin alphabet.
The most significant difference between the Kohonen neural network and the feed forward
back propagation neural network is that the Kohonen network trained in an unsupervised
mode. This means that the Kohonen network is presented with data, but the correct output
that corresponds to that data is not specified. Using the Kohonen network this data can be
classified into groups. We will begin our review of the Kohonen network by examining the
training process.
It is also important to understand the limitations of the Kohonen neural network. Neural
networks with only two layers can only be applied to linearly separable problems. This is
the case with the Kohonen neural network. Kohonen neural networks are used because they
are a relatively simple network to construct that can be trained very rapidly.
A "feed forward" neural network is similar to the types of neural networks that we are ready
examined. Just like many other neural network types the feed forward neural network
begins with an input layer. This input layer must be connected to a hidden layer. This
13
hidden layer can then be connected to another hidden layer or directly to the output layer.
There can be any number of hidden layers so long as at least one hidden layer is provided.
In common use most neural networks will have only one hidden layer. It is very rare for a
neural network to have more than two hidden layers. We will now examine, in detail, and
the structure of a "feed forward neural network".
The Structure of a Feed Forward Neural Network
A "feed forward" neural network differs from the neural networks previously examined.
Figure 2.1 shows a typical feed forward neural network with a single hidden layer.
14
The input layer to the neural network is the conduct through which the external
environment presents a pattern to the neural network. Once a pattern is presented to the
input layer of the neural network the output layer will produce another pattern. In essence
this is all the neural network does. The input layer should represent the condition for which
we are training the neural network for. Every input neuron should represent some
independent variable that has an influence over the output of the neural network.
It is important to remember that the inputs to the neural network are floating point numbers.
These values are expressed as the primitive Java data type "double". This is not to say that
you can only process numeric data with the neural network. If you wish to process a form
of data that is non-numeric you must develop a process that normalizes this data to a
numeric representation.
The Output Layer
The output layer of the neural network is what actually presents a pattern to the external
environment. Whatever patter is presented by the output layer can be directly traced back to
the input layer. The number of a output neurons should directly related to the type of work
that the neural network is to perform.
To consider the number of neurons to use in your output layer you must consider the
intended use of the neural network. If the neural network is to be used to classify items into
groups, then it is often preferable to have one output neurons for each groups that the item
is to be assigned into. If the neural network is to perform noise reduction on a signal then it
is likely that the number of input neurons will match the number of output neurons. In this
15
sort of neural network you would one day he would want the patterns to leave the neural
network in the same format as they entered.
For a specific example of how to choose the numbers of input and output neurons consider
a program that is used for optical character recognition, or OCR. To determine the number
of neurons used for the OCR example we will first consider the input layer. The number of
input neurons that we will use is the number of pixels that might represent any given
character. Characters processed by this program are normalized to universal size that is
represented by a 5x7 grid. A 5x7 grid contains a total of 35 pixels. The optical character
recognition program therefore has 35 input neurons.
The number of output neurons used by the OCR program will vary depending on how many
characters the program has been trained for. The default training file that is provided with
the optical character recognition program is trained to recognize 26 characters. As a result
using this file the neural network would have 26 output neurons. Presenting a pattern to the
input neurons will fire the appropriate output neuron that corresponds to the letter that the
input pattern corresponds to.
16
18
scanned document should be identified by the user. Then the user types all the characters
that are required for recognition from the scanned document as an image file. This image
file should be provided as an input during the training process. The user then clicks the train
button provided in the recognition module. Then the training gets completed. Thus the
system gets familiar with the new font. This module supports: Training the system with the pre-defined fonts.
Training the system with the new fonts that are not present in the system and that
cannot be identified by the system.
19
scanned documents image as an input file, first crops the image and then
extracts/recognizes the characters from the document and makes these documents editable
and searchable. Thus the scanned document recognition recognizes the chracters from the
scanned document image and makes the document editable and searchable. Hence the
document recogniiton module on a whole supports the following services: Converts the document into specific format
Recognizes the characters
Heterogeneous character Recognition
20
user requests the system to search for a particular document. Then the system finds the
documents based on OCR methodology and returns the result of the search to the user.
4. SOFTWARE DESIGN
4.1DATAFLOWDIAGRAM
The DFD is also called as bubble chart. A data-flow diagram (DFD) is a graphical
representation of the "flow" of data through an information system. DFDs can also be used
for the visualization of data processing. The flow of data in our system can be described in
the form of dataflow diagram as follows:1. Firstly, if the user is administrator he can initialize the following actions: Document processing
Document search
Document editing.
All the above actions come under 2cases.They are described as follows:a) If the printed document is a new document that is not yet read into the system, then the
document processing phase reads the scanned document as an image only and then
produces the document image stored in computer memory as a result.
21
Now the document processing phase has the document at its hand and can read the
document at any point of time. Later the document processing phase proceeds with
recognizing the document using OCR methodology and the grid infrastructures. Thus it
produces the documents with the recognized characters as final output which can be
later searched and edited by the end-user or administrator.
b) If the printed document is already scanned in and is held in system memory, then the
document processing phase proceeds with document recognition using OCR
methodology and grid infrastructure. And thus it finally produces the document with
recognized documents as output.
2. If the user using the OCR system is the end-user, then he can perform the following
actions: Document searching
Document editing
1. Document Searching:- The documents which are recognized can be searched by the
user whenever required by requesting from the system database.
2. Document Editing:- The recognized documents can be edited by adding the specific
content to the document, deleting specific content from the document and modifying the
document.
22
Scan
images
Document
Processing
User
Store
images
Read
documents
Document
Search
Edit Document
Recognize
Document
Modify
Delete
Use
OCR
Use
Grid
23
Recognize
Document
Document
as image
Class diagram
Sequence diagram
Collaboration diagram
Activity diagram
24
Component diagram
Deployment diagram
In each of the use-case diagrams below we clearly explained about that particular usecase functionality. In this we provided a description about the
Use-case name
26
Scans documents
read images
Administrator
Description
27
The administrator is the only person who participates in the document processing. Here he
scans the documents. The scanned documents are read as images. Finally the read images
are stored in the system memory.
Actors
Primary Actor
: Administrator
Flow of Events
1. The Administrator scans the document which he wants to edit.
2. The scanned documents are read as images.
3. Finally the images that are read are stored in system memory for the future
reference.
28
Administrator or
end-user
Description
29
The Administrator or End-user enters the specific characters required for training. User
stores them as image file and trains the system.
Actors
Primary Actor
: Administrator or End-user
Flow of Events
1. The user enters the specific characters in order to train the system.
2. After entering it is stored as image file.
3. Finally trains the system according to the system.
Pre-Condition
The font in the scanned document should be identified.
30
Description
31
Both Administrator and End-user can perform the document editing. The user opens the
document in the editor and selects the edit action i.e., edit, modify, delete etc. After
selecting the edit action editing operation is performed and finally stores the document that
had been edited.
Actors
Primary Actor
: Administrator or End-user
Flow of Events
1. The Administrator or End-user opens the document which he want to edit.
2. He selects the edit action. The action consists of editing the document, modifying
the document, deleting the document etc.
Post-Condition
32
Finally after editing the document there are specific target formats defined by the user. The
document should be saved in that format only. That will be the output of the editor. That is,
as per our design the final document after editing must be saved in .doc file or .txt file only.
Trains System
Administrator or
end-user
Recognize characters
Description
The Administrator or End-user trains the system according to the given symbols or
alphabets. Then the characters are recognized after the system is trained.
33
Actors
Primary Actor : Administrator or End-user
Secondary Actor : User
Flow of Events
1. The user trains the system to recognize the characters.
2. After the system is trained the characters are recognized.
Pre-Condition
Before trying to recognize the characters, the system should be trained first with the font
characteristics and the font size.
34
Administrator or
end-user
Description
The Administrator or End-user opens the document in editor. He enters the word which he
is looking for in that document. Then he searches the word.
Actors
35
Primary Actor
: Administrator or End-user
Flow of Events
1. The user opens the document for searching a word he required.
2. After opening the document he enters the word for search.
3. Finally searches the word in that document.
Pre And Post Conditions
No pre-condition and post-condition
36
<<includes>>
scan documents
Document processing
administrator
<<includes>>
store documents
Document recognition
end-user
end-user1
Document processing
end-user2
Document editing
Document modification
Figure 9
37
Document deletion
1. MainScreen
2. Editor
3. HelpFrame
4. Document
5. HEntry
6. Entry
7. TrainingSet
8. KohonenNetwork
9. PrintedFrame.
Among all these classes the MainScreen is the main class that represents all the major
functions carried out by our OCR system. The MainScreen class has an association with
five classes viz., Editor, HelpFrame, Document, TrainingSet, PrintedFrame. And the
38
TrainingSet class in-turn has an association with the HEntry and the KohonenNetwork
classes. The PrintedFrame has an association with the Entry and KohonenNetwork classes.
Document
docid : integer
docname : String
docsize : integer
doctype : String
Editor
cut()
copy()
paste()
new()
open()
find()
HelpFrame
getDocumentDetails()
scanDocument()
covertToImage()
storeImage()
Entry
recog : int
downSampleLeft : int
downSampleRight : int
downSampleTop : int
downSampleBottom : int
MainScreen
HEntry
editor()
helpFrame()
printedFrame()
handWrittenFrame()
hLineClear()
vLineClear()
findBounds()
hLineClear()
hLineClearWithin()
vLineClear()
vLineClearWithin()
1..*
TrainingSet
inputCount : int
outputcount : int
trainingSetCount : int
setInputCount()
setOutputCount()
setTrainingSetCount()
setClassify()
1..*
1..*
KohenNetwork
LearnMethod = 1:int
LearnRate = 0.3:double
quitError : double
1..*
PrintedFrame
1..*
copyWeights()
clearWeights()
winner()
normalizeInput()
1..*
open_action()
train_action()
topen_action()
recogniseAll_action()
39
processes or objects that live simultaneously, and, as horizontal arrows, the messages
exchanged between them, in the order in which they occur. This allows the specification of
simple runtime scenarios in a graphical manner.
In sequence diagram, the class objects that are used to describe the interaction between
various classes vary from one function to another function. There are five sequence
diagrams short-listed below for presenting the sequence of actions performed by each of the
five modules. The key class object involved in all of these module functions is MainScreen
class which controls the interaction among various class objects.
2. Links
1. Administrator object to MainScreen object.
2. MainScreen object to Document object.
3. Document object to SystemMemory object.
40
3. Messages
1. Process documents
2. Scan documents
3. Scans
4. Stores documents
5. Stores
6. Returns the processed documents
a:Administraror
m:MainSreen
d:Document
s:SystemMemory
1.Process documents
2.Scan documents
3.Scans
4.Stores documents
5.Stores
2. Links
1. Administrator object to System object
2. System object to TrainingSet object
3. TrainingSet object to System object
4. System object to Administrator object
3. Messages
1. Specifies the font characters
2. Stores it as an image
3. Trains the system with new font
4. System recognizes new font and returns for user
42
a:Administrator
s:System
t:TrainingSet
2.Stores it as an image
2. Links
1.
2.
3.
4.
5.
6.
3. Messages
1.
Recognize documents
2.
3.
4.
5.
44
a:Administrator
m:MainScreen
s:SystemMemory
1:Recognise documents
2. Links
1. Administrator object to MainScreen object.
2. MainScreen object to Document object.
3. MainScreen object to Document object
4. MainScreen object to Document object
45
t:TrainingSet
3. Messages
1. Edit document
2. Adding document
3. Adds
4. Deleting document
5. Deletes
6. Modifying document
7. Modifies
8. Stores the edited documents
9. Administrator accesses the edited documents
46
a:Administrator
m:MainScreen
d.Document
s:SystemMemory
1.Edit document
2.Adding document
3.adds
4.Deleting content
5.Deletes
6.Modifing content
7.Modifies
Links
47
1.
2.
3.
Messages
1.
2.
3.
Searches
4.
a:Administrator
m:MainScreen
d:Document
48
49
Request document
processing
Process
document
[ scanner ready ]
Scan
documents
Store
documents
50
Retry for
scanning
Request
document
Initiate search
51
Edit
documents
Add document
content
Modify
document
Store
documents
Delete document
content
53
GUI Screens
scanning,storing
and recognising
characters
GUI
Document Processing
and Recognition
Searching
Editing
supports user
search function
adding,deleting,
modifying
54
In the deployment diagram of our OCR system, the server role is played by admin called
Librarian. There can be N number of clients who can access the digital library data content
at a time. The clients here may be either the students or the faculty or the both.
The actions performed by the Administrator are document processing, searching and
editing where as the actions performed by the end-user are only document searching
and editing.
Document
Processing,
editing and
searching
<<Server>>
<<Client1>>
<<Client2>>
Document
searching,
editing
Document
searching,
editing
55
<<ClientN>>
Document
searching,
editing
5.CODING/CODE TEMPLATES
Sample Code
CODE SNIPPETS FOR TRAINING
public class TrainingSet
{
protected int inputCount;
protected int outputCount;
protected double input[][];
protected double output[][];
protected double classify[];
protected int trainingSetCount;
}
public int getOutputCount()
{
return outputCount;
}
public void setTrainingSetCount(int trainingSetCount)
{
this.trainingSetCount = trainingSetCount;
input = new double[trainingSetCount][inputCount];
output = new double[trainingSetCount][outputCount];
classify = new double[trainingSetCount];
}
public int getTrainingSetCount()
{
return trainingSetCount;
}
void setInput(int set,int index,double value) throws RuntimeException
{
if ( (set<0) || (set>=trainingSetCount) )
throw(new RuntimeException("Training set out of range:" + set ));
if ( (index<0) || (index>=inputCount) )
throw(new RuntimeException("Training input index out of range:" + index ));
input[set][index] = value;
57
}
void setOutput(int set,int index,double value)
throws RuntimeException
{
if ( (set<0) || (set>=trainingSetCount) )
throw(new RuntimeException("Training set out of range:" + set ));
if ( (index<0) || (set>=outputCount) )
throw(new RuntimeException("Training input index out of range:" + index ));
output[set][index] = value;
}
void setClassify(int set,double value)
throws RuntimeException
{
if ( (set<0) || (set>=trainingSetCount) )
throw(new RuntimeException("Training set out of range:" + set ));
classify[set] = value;
}
double getInput(int set,int index)
throws RuntimeException
{
if ( (set<0) || (set>=trainingSetCount) )
throw(new RuntimeException("Training set out of range:" + set ));
if ( (index<0) || (index>=inputCount) )
58
59
60
6.TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, sub assemblies, assemblies and/or a finished product. It is the
process of exercising software with the intent of ensuring that the software system meets its
requirements and user expectations and does not fail in an unacceptable manner. There are
various types of test. Each test type addresses a specific testing requirement.
61
Integration Testing
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components
were individually satisfaction, as shown by successfully unit testing, the combination of
components is correct and consistent. Integration testing is specifically aimed at exposing
the problems that arise from the combination of components.
System Testing
System testing ensures that the entire integrated software system meets requirements. It
tests a configuration to ensure known and predictable results. An example of system testing
is the configuration oriented system integration test. System testing is based on process
descriptions and flows, emphasizing pre-driven process links and integration points.
Functional Testing
Functional tests provide a systematic demonstration that functions tested are available as
specified by the business and technical requirements, system documentation, and user
manuals.
Functional testing is centered on the following items:
Valid Input
Invalid Input
Functions
Output
Systems/Procedures
62
achieve test cases that will force the desire coverage of different structures. Two types of
path testing are:
1. Statement testing
2. Branch testing
Statement Testing
The main idea of statement testing coverage is to test every statement in the objects
method by executing it at least once. However, realistically, it is impossible to test program
on every single input, so you never can be sure that a program will not fail on some input.
Branch Testing
The main idea behind branch testing coverage is to perform enough tests to ensure that
every branch alternative has been executed at least once under some test. As in statement
testing coverage, it is unfeasible to fully test any program of considerable size.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
64
Features to be tested
Verify that the entries are of the correct format.
No duplicate entries should be allowed.
All links should take the user to the correct page.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
65
OUTPUT SCREENS
The following shows the series of output screens and how the actual process of
implementing OCR takes place: The first and the home page of our optical character recognition system looks as shown
in figure 8.1.It provides an interface to the user such that the user can access any
module that is present in this software from this page itself. The page is as shown
below:-
67
68
69
Since the training has been completed, now the letter A can be recognized by clicking
then Recognize button. Then the letter A will appear in the grid as output. It is as
shown below:-
70
too without the need for training. Suppose we have written a telugu character as shown
below:-
72
73
If we click ok, those letters will be saved in stored patterns workspace. Later we can
click Begin Training button such that those stored patterns will be trained to the
system. Else, it will provide an error message depicting that the system needs training.
74
75
76
Scanned Screen 1
77
The data that is present in the first text box is the default image file set by the user. The
user can change the input image file rather than the default image file by clicking open
and then selecting an image file. The procedure is as shown below:-
78
There are two main tabs under the scanned document recognition. They are training
and recognition. First we should train the system under training module. Only then we
can recognize the characters from the input image provided using the recognition
module. The training tab under scanned document recognition looks like this.
79
80
Now the user can select the bounds up to which the system must be trained just by using
click and drag actions of the mouse. Then selected data highlights as follows:-
After selection of the data, just click the Train button. This lets the system to train
itself with the help of the kohonen network and finally displays a dialog box depicting
that the training has been completed successfully.
81
Next click the Crop button such that it finds the bounds of the text that is selected by
the user by composing a red boundary line around the selected text. It is as shown
below:-
83
84
Now from the data available in the above screen shot, we can make any sort of changes
to the document using cut, copy, paste and etc and You can finally save the document in
two formats(word, text) as per our design.
The search function can be carried out here by clicking the find image button at the
bottom-left corner. Then it asks the user to enter the search term. It is as shown below:-
Case-2:-If the user enters a search term that does not reside in the document, then it will
direct display a dialog box saying that the searching is finished. It means that the search
term is not present in the document.
Thus the user can understand whether the search term is present in the document or
not just after entering the search term itself.
If we are searching for a term that is already present in the document then the series of
output screens will be as follows:-
86
87
If we are searching for a term that does not reside in the document then the series of
output
screens
will
be
88
as
follows:-
89
7.PLATFORM/TOOLSUSED
Operating System
User Interface
: Windows-XP
: Swings
RAM
90
What does the future hold for OCR? Given enough entrepreneurial designers and sufficient
research and development dollars, OCR can become a powerful tool for future data entry
applications. However, the limited availability of funds in a capital-short environment could
restrict the growth of this technology. But, given the proper impetus and encouragement, a
lot of benefits can be provided by the OCR system. They are: The automated entry of data by OCR is one of the most attractive, labor reducing
technology
The recognition of new font characters by the system is very easy and quick.
We can edit the information of the documents more conveniently and we can reuse the
edited information as and when required.
The extension to software other than editing and searching is topic for future works.
The Grid infrastructure used in the implementation of Optical Character Recognition
system can be efficiently used to speed up the translation of image based documents into
structured documents that are currently easy to discover, search and process.
FUTURE ENHANCEMENTS
The Optical Character Recognition software can be enhanced in the future in different kinds
of ways such as:
Training and recognition speeds can be increased greater and greater by making it
more user-friendly.
91
Many applications exist where it would be desirable to read handwritten entries. Reading
handwriting is a very difficult task considering the diversities that exist in ordinary
penmanship. However, progress is being made
92
9. REFERENCES
Under this references section, we have mentioned various references from which we
collected our problem and several others that supported us to design the solution for our
problem. These references include either books, papers published through some standards
and several websites links with URLs: For the complete reference and understanding of neural networks refer jeff heatons
chapter 1 from www.jeffheaton.com
For the complete reference and understanding of OCR refer jeff heatons chapter 7
from www.jeffheaton.com
The IEEE standard reference paper from which we collected our problem statement
is authorized by Dana Petcu, Silviu Panica, Viorel Negru and Andrei Eckstein of
Computer Science Department who are from West University of Timisoara,
Romania.
The reference paper is also authorized by Doina Banciu from National Institute for
Research and Development in Informatics, Romania.
You can refer the IEEE standard paper written by D. Andrews, R. Brown, C.
Caldwell, et al., A Parallel Architecture for Performing Real Time Multi-Line
Optical Character Recognition
You can refer the IEEE standard paper written by H. Goto, OCRGrid : A Platform
for Distributed and Cooperative OCR Systems
93
10.APPENDIX
Appendix A: Glossary
TERMS
All the terms and abbreviations in the project are specified clearly. For further
development of project evolved definitions will be specified
ACRONYMS
IEEE:
DFD:
GUI:
OCR: