Beruflich Dokumente
Kultur Dokumente
life. However, creating an efficient network for a large classifier like handwriting
recognition systems is still a big challenge to scientists. In my last article named
Library for online handwriting recognition system using UNIPEN database, I presented
an efficient library for a handwriting recognition system which can create, change a
neural network simply. The demo program showed good recognition results to digit set
(97%) and alphabet sets (93%).This article I will continue to present a solution for a
large patterns classification in general and handwriting recognition in particular.
The CNNs is a special form of multi-layer neural network. Like other networks, CNNs are
trained by back propagation algorithms. The difference is inside their architecture. The
convolutional network combines three architectural ideas to ensure some degree of
shift, scale, and distortion invariance: local receptive field, shared weights (or weight
replication) spatial or temporal sub-sampling. They have been designed specially to
recognize patterns directly from digital images with the minimum of pre-processing
operations. The architecture details of CNN have been described comprehensively in
articles of Dr. Yahn LeCun and Dr. Patrice Simard (see my previous articles).
and large enough network becomes more difficult, training network by large input
patterns takes much longer time. Convergent speech of the network is slower and
especially, the accuracy rate is significant decrease because bigger bad written
characters, many similar and confusable characters etc. Furthermore, assuming we can
create a good enough network which can recognize accurately English characters but it
certainly cannot recognize properly a special character outsize its outputs set (a Russian
or Chinese character) because it does not have expansion capacity. Therefore, creating
a unique network for very large patterns classifier is very difficult and may be
impossible.
The proposed solution to the above problems is instead of using a unique big network
we can use multi smaller networks which have very high recognition rate to these own
output sets. Beside the official output sets (digit, letters) these networks have an
additional unknown output (unknown character). It means that if the input pattern is not
recognized as a character of official outputs it will be understand as an unknown
character. Then the input pattern will be transferred to the next network until the
system can recognize it correctly.
Experiment
The demo program is built to the purpose showing all stages of a recognition system
including: create a component network, train a network, test networks on UNIPEN
dataset and test networks on a mouse drawing control. It is tutorials which can help
everybody can understand to a recognition system. All functions can be implemented
on the program GUI. So you can create, train, and test your network on runtime without
change any code or restart the program.
Training a network
After creating a neural network using "Create network" function, the network will be
trained using UNIPEN database.
Figure 11: The new recognition system using Spell checker /voting module
The new recognition system using Spell checker /voting module (internal
dictionary)
Conclusion
The proposed recognition model has solved almost problems to a large recognition
system: the capacity of recognizing large pattern collection, flexible design and
deployment, expandable and reusable capacity...etc. Increasing accuracy rate to the
system also can do easier by increasing recognition rate of component networks, using
the spell checker /voting module etc. The demo program also proved the capacity of the
library which should be used in many other applications such as prediction application,
face recognition...
Future work and upgrade
Some features would be update to the library:
- Convolution and sampling layer of LeNET model.
- Spell checker / voting module
-character segmentation.