High-performance Arabic character recognition

Date of Completion

January 1996


Computer Science




The design and development of any character recognition system aim to satisfy two goals. The first is to correctly recognize characters (recognition accuracy). The second is to minimize the execution time of the recognition process (recognition speed). In the area of Arabic character recognition, a great amount of research has been accomplished to satisfy the first goal. In spite of its crucial importance, little has been done to satisfy the second goal. The emergence of the multi-processing paradigms has opened new frontiers in meeting this goal.^ Through proposing our high-performance Arabic character recognition system, this research integrates the character recognition process with the parallel processing concepts. The development of the high-performance system has been accomplished through three main steps. First, a sequential Arabic character recognition system is built. During this step the focus has been on maximizing the recognition accuracy. In the process of achieving this goal, we paid similar attention to attain the other performance goal; increasing the recognition speed. Moreover, the sequential system has the advantage of being insensitive to character scaling (multi-size recognition). The second step in developing our high-performance system involves proposing and evaluating necessary partitioning and scheduling algorithms to be utilized when mapping the sequential system into the parallel environment. Finally, in the third step, these algorithms have been used to parallelize the sequential system utilizing the parallel paradigm (the C-Linda model). The merits of the new high-performance Arabic character recognition system have been evaluated through experimental testings. Promising results have been accomplished by the system in terms of both recognition accuracy and speed.^ In addition, the research uses the high-performance system as a case study to highlight and discuss some issues related to parallelizing an application. These issues include comparing gains and losses of parallelism, examining the nature of the application and its effect on determining the way of parallelism, and studying the effect of "real life" circumstances on the performance of a multi-processing paradigm. ^