|
|
Introduction Everyone should be familar with the handprinted character recognition applications in our lives nowaday. For example, the pen tablet for PC and the touch screen on PDA that allows writing as input and the postal code recognition system for mail dispatching in the post office are the commonly seen applications of the handprinted character recognition system. What is the theory behind the system that enables intelligent recognition of the characters? We will introduce the basic ideas of handprinted character recognition based on the following two papers. [1]Cheng-YuanLiou and Hsin-Chang Yang (1996), ˇ§Handprinted character recognition based on spatial topology distance measurement,ˇ¨ IEEE Trans. on Pattern Analysis and Machine Intelligence, vol.18, no.9, pp.941-945, 1996 [2]Cheng-Yuan Liou and Hsin-Chang Yang(1999), ˇ§Selective feature-to-feature adhesion for recognition of cursive handprinted characters,ˇ¨ IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 21, no. 2, pp. 184-191, 1999 We will give an brief overview of the theory behind handprinted character recognition (HCR) here. You can download a demo program to see how it works step by step from the Usage section. If you are really interested in the theoretical part, please refer to the Advanced section for more details. Method Before introducing our method, it's good to think how you are going to build the handprinted character recognition system if you are assigned the task? Are you going to investigate the order of strokes first or decompose the characters to find radicals? However, those methods have known defects. Therefore, we propose a new method that first calculate the probability of each known radical to be in the handprinted character. After we find a set of radicals having high probabilities, we utilize the information on how those radicals connect to each other to achieve the goal of character recognition. In order to carry this method into execution, we need to find some useful features and topological orders (the linear ordering of vertices in a graph) from the input handprinted character. First, we use the bended ellipse features[2] for character feature extraction. It is a five dimensional vector containing the information as illustrated in the following picture: We pick a vertex p (also called seed) such as the one in (a), then we find the
related properties of p. As illustrated in (b), the properties includes: coordinates
of p Once we got the features of the handprinted character, we have to know how to decide their topological order (or you can call it feature-to-feature(FTF) order). The way we do it is pretty easy, we just need to exam the bended ellipse features from previous step, see if any two arms are "neighbor" of each other; if so, we connect these two features as the following diagram: Each pair of neighboring arms are like a pair of unique key and lock, unrelated arms can never connect with each other. This idea comes from biology that each type of cell only react with certain substance. Another analogy of this idea is putting the "components" in the left of the above picture into a bottle and shake it. The neighbors would automatically connect with each other and build a meaningful Chinese character "water." Here, we write this neighboring relationship as a matrix like the following diagram: Classification After the above preparation steps, we now come to the major step: finding
the best matched radicals for the handprinted character. We compare the handprinted
character with all radicals by checking if they have the same FTF order. The comparison
has two parts: 1. compare the feature vectors, this part is called the inter-feature
similarity; 2. compare if the radical and the handprinted character both have a
connection between a pair of features (in other words, if their FTF order matrices
are similar). This comparison is called the inter-link similarity. Refer to Advanced
for details. Often we would transform the representation of features of the handprinted
character and the radicals into the representation in graph theory (G=(V,E)) before
we do such comparison. The process of comparison also uses the subgraph matching
technique in graph theory. We write the comparison process as a formula
Simulation After seeing the basic ideas of handprinted character recognition, we will take a look of a demonstration of this method. Please download and unzip the program hcr_demo.zip then execute hcr.exe. In this program, we preload Charmingishere1234 this sequence of English and numerical handprinted characters and use standard font 0~9, A~Z, a~z as the supported character. You will be able to see the recognition process and result. The final result is shown in the following picture: If you would like to see more examples of handprinted character recognition, please go to Usage. There are results of handprinted character recognition under different conditions, you can download the program to run and change some of the parameters to see if the result would be different. All Rights Reserved by Cheng-Yuan, Liou, Last update: 11/14/06 |