Cursive Multilingual Characters Recognition Based on Hard Geometric Features

The cursive nature of multilingual characters segmentation and recognition of Arabic, Persian, Urdu languages have attracted researchers from academia and industry. However, despite several decades of research, still multilingual characters classification accuracy is not up to the mark. This paper presents an automated approach for multilingual characters segmentation and recognition. The proposed methodology explores character based on their geometric features. However, due to uncertainty and without dictionary support few characters are over-divided. To expand the productivity of the proposed methodology a BPN is prepared with countless division focuses for cursive multilingual characters. Prepared BPN separates off base portioned indicates effectively with rapid upgrade character acknowledgment precision. For reasonable examination, only benchmark dataset is utilized.

fresh [1][2][3][4][5]. The recognition rate is highly dependent on the segmentation accuracy. Therefore, innovative techniques are still desired to enhance characters segmentation and recognition accuracy on benchmark datasets [6][7][8][9][10]. Generally, characters recognition approaches could be classified into two categories; Online and offline characters recognition. In most of the existing segmentation algorithms, human writing is evaluated empirically to derive rules [11][12][13][14][15]. Although the derived rules are satisfactory, there is no guarantee for their optimum results in all writing style. This is due to the human writing style that varies from person to person and even for the same person depending on different parameters. Hence, rules alone are not enough to segment and recognize multilingual characters. To overcome these limitations, researchers have employed artificial neural networks, hidden Markov models, and statistical classifiers to enhance segmentation accuracy [16][17][18][19][20]. Consequently, complex features are employed that raise issues of computational complexity and huge memory usage [21][22][23][24][25]. This research attempts to integrate, a rule-based segmentation approach and artificial neural network for the multilingual character recognition. The proposed approach performs character segmentation and recognition of isolated characters using BPN. Accordingly, BPN is trained with both correct and incorrect segmentation points for the words images of the benchmark database. This trained neural network is employed to verify the segmentation points marked by the proposed algorithm. The rest of the paper is organized into four sections. Section 2 presents the proposed segmentation algorithm along with segmentation results. In section 3, neural-based experimentation is performed and results are discussed. Finally, conclusion and future works are drawn in section 4.

Proposed Character Recognition Approach
The proposed segmentation approach consists of three main phases: preprocessing, character segmentation algorithm and neural validation of the segmentation points. For the fair comparison, patterns are selected from the benchmark database. A few grayscale cursive handwritten samples for character segmentation, training, and testing of the BPN are shown in Figure 1.

Preprocessing
Multilingual benchmark databases normally consist of characters/words/lines images in grayscale format (0-255). Therefore, images are a threshold to filter noise and to obtain a bi-level image (0-1) using the Otsu algorithm. There are many advantages of storing word images in this format. First, it is easy to deal with only two levels of colors and further processing will be fast, computationally less expensive, less storage demanding [26][27][28][29][30]. Additionally, in the proposed approach characters are segmented vertically therefore, to avoid the shadow of one character to the neighboring characters, characters slant is corrected. Finally, to work out with the geometrical features and to accommodate large variability of the handwriting stroke width, the thinning algorithm is applied. Preprocessing results are exhibited in Figure 2.

Segmentation
Multilingual alphabets are of three types [31][32][33][34]. First, typically consists of characters composed of the closed loop such as , , , the second category is of semi-loop such , and the third category of multilingual alphabets is similar to ligatures such as , [41]. Hence, character segmentation in Arabic script words is poised to overcome the following challenges: i. A ligature is a link between two characters in cursive handwriting. It is sometimes identical to a character or part of a character. ii. Characters in the word could be touching. iii. The ascenders and descenders may overlap with the neighboring characters.
The proposed character segmentation approach analyses the characters geometric features to identify ligatures and characters. Accordingly, the strategy consists of three main phases. In the first phase, closed characters are segmented. Secondly, boundaries of open characters are identified and finally, trained BPN is applied to enhance segmentation accuracy. The description of each phase is detailed below.
Following preprocessing of cursive handwritten word images, ligatures are analyzed to segment closed characters. Accordingly, foreground pixels are counted in each column of the thinned word image as depicted in Figure 3. The columns are retained as candidate segmentation columns (CSC) for which counts are 0 or 1. This initial step is applied to locate boundaries of characters containing loop/semi-loop and to reduce the search domain. However, an over-segmentation problem is faced that emerges from two sources. First, the ligatures/ union of characters put forward many CSC. Second, open characters (without loop/ semi-loop) are also over-segmented due to the presence of within-letter-ligatures. Therefore, additional features are needed to handle the problem of over-segmentation and to locate correct characters boundaries. The further process is detailed in the following steps.
In the first step, over-segmentation is eliminated in the ligatures. Accordingly, an average of those CSC is taken which is a distance less than a specified threshold to merge them into one segmentation column. Here, the threshold is the minimum horizontal distance between successive CSC that could not accommodate a character and is set to value 3 experimentally. This phase ensures valid segmentation of ligatures as well as reduces over-segmentation in the open characters such that an open character is over-segmented into maximum two segments.

Characters recognition
To recognize multilingual segmented characters, a multilayer perceptron BPN with a back-propagation learning algorithm is employed [35][36][37][38]. However, it is worth to mention that over-segmentation is minimum and occurs for open characters only. Hence, it lessens the burden of the classifier employed and therefore, the processing speed is also increased. The pseudo code is presented below.
Step 1. Input an image from the multilingual database.
Step 3. Calculate the sum of foreground pixels for each column. Save those columns as candidate segment column (CSC) for which sum is 0 or 1. Step 4. By the previous step, we have more candidate segmentation columns than actually required. Accordingly, a threshold is selected empirically from candidate segment columns to come out with correct segment columns. A threshold is a constant value that is derived after a number of experiments to avoid over-segmentation.
Step 5. Finally, the back-propagation neural network is trained and applied for character segmentation's verification and to reject invalid segmentation point.

BPN Training and Testing
A simple program in MATLAB 7.0 is developed to detect coordinates of all segmentation points generated by the proposed segmentation technique for each pattern. These segmentation points are divided into correct and incorrect categories and are stored in a training file. Data is preprocessed prior to its use for BPN training as BPN takes uniform data [39][40][41][42][43].
To train BPN, the standard backpropagation algorithm is used. A number of experiments with different structures, weights, epochs, momentum and learning rate are performed to enable BPN to distinguish between correct and incorrect segmentation points. Finally, BPN trained with 1743 training patterns (segmentation points) taken from 1426 patterns. The optimal structure of BPN contains 261 to 321 inputs, 21 to 35 hidden units and one output (correct or incorrect confidence) with 315 epochs. Learning rate and momentum is set to 0.1 and 0.3 respectively. MATLAB 7.0 is used for implementation. Trained neural network operation is exhibited in Figure 4. Following training, 317-word images samples are selected from the dataset that is not used in the training. These new patterns are first segmented using the proposed algorithm. Thus obtained segmentation points are fed to the train BPN for their recognition into correct and incorrect categories. Finally, correct segmentation columns are retained while incorrect are extracted. Finally, character segmentation results for the test set are presented in Table 1.

Experimental Results and Analysis
The characters geometric features analyzed with neural confidence achieved 82.31% segmentation accuracy for valid identification. However, two problems are found during the analysis of the results. Firstly, noisy characters, therefore some additional preprocessing (noise removal) is carried out before BPN training. Secondly, the presence of touched/ overlapped characters that is very hard to deal with. Ligatures could not be found, when two characters are tight together, and therefore, could not be segmented accurately [44][45][46]. Hence, overall segmentation accuracy is reduced. Moreover, different researchers use different databases and report the results under some constraints. In literature, most of the researchers integrate segmentation approaches with some intelligent techniques such as neural networks, support vector machines, hidden Markov models to enhance accuracy. However, a brief comparison of achievement for the character recognition rate is presented. The following comparisons are selected as they are latest in the available literature and use the benchmark database [47][48][49][50]. Verma and Gader [57] obtain 76.52% accuracy rate using neuro-feature based approach on words taken from benchmark; however, the number of the word are not mentioned. Likewise, Blumenstein and Verma [58] claim 78.85% accuracy without mentioning a number of words. In the same way, Verma [59] claim 84.87% precision on 300 CEDAR benchmark. Similarly, Cheng et al., [60] acquire 95.27% segmentation rate from 317 CEDAR benchmark dataset. Finally, Cheng and Blumenstein [61] come out with 84.19% rate for 317 CEDAR benchmark dataset. Finally, it is stated that the proposed approach is reasonably fast due to minimum computational complexity. An average time taken for character recognition on the Pentium i7 processor is 0.057 sec/word. Segmentation results available in the literature are compared with the proposed approach in Table 2.

Conclusions
This paper has exhibited that by just utilizing geometrical features of multilingual characters from Persian/Arabic/Urdu letters, their segmentation and recognition could be attained at high accuracy. These geometrical features include statistical and structure features are fed to trained BP/MLP neural network as a classifier. The evaluation of the system reveals that the proposed algorithm could support to find all meaningful geometric points of the different written styles of characters taken from different languages. Promising results achieved to recognize isolated Persian/Arabic/Urdu letters with an accuracy of 82.31% attained.