Speed and recognition enhancement for OCR using normalized height/width position

Abstract: An automated optical character recognition method is provided for use in conjunction with a programmable digital processing device. The method inputs a sequence of values representing one or more characters in an array of characters to be optically recognized. The values define one or more dimensional characteristics of the characters. From the input values, a standard dimensional value is determined from a frequency distribution of a selected one of the character dimensional characteristics. For each of the input characters, a set of normalized values is determined from the standard dimensional value. The normalized values correspond to the one or more character dimensional characteristics. Optical character recognition is thereafter performed using the normalized values.

Description: The present invention is directed generally to optical character recognition, and more particularly, to automated methods and apparatus for reducing recognition errors, especially those resulting from an inability to distinguish between upper and lower case characters, or other characters of similar shape but dissimilar size or position. Programmable computers and digital processing apparatus have proven useful for optical character recognition in which visual character indicia, such as printed text, are scanned, identified and assigned a character code value that can be stored electronically. A word processing "document" is one example of a data file containing character code values which a computer is able to interpret and reproduce in human-readable form on a CRT or as a printed document. There are many character code conventions in use today, the most common being the ASCII (American Standard Code for Information Interchange) code system. Many existing optical character recognition systems make recognition errors between characters that are very similar in shape but are of different size or located at different positions. Upper and lowercase characters (S/s) and apostrophes and commas ('/,), for example, are prone to such errors. No matter how similar the shapes, their size or position is usually so different that this kind of error must be avoided. Although some optical character recognition systems utilize information on size and position for discrimination, they still suffer from recognition errors, particularly when encountering the many kinds of electronic fonts currently in use. Thus, it would be desirable to provide a system that utilizes size and position information in a fashion that enhances the speed and recognition rate of optical character recognition. EP-A-0 457 534 describes a character recognition apparatus in which input character images in binary form are individually cut out for processing. A standard character size is calculated by selecting the character having the maximum height in one line of the characters. The height and position of each character are then normalised by reference to the standard character size. Features of the character image are then extracted for comparison with a dictionary of characters so as to obtain a similarity decision. A discrimination can be made between upper case and lower case by reference to whether a pixel in the top portion of the character exists below a height of x%. Similar characters are discriminated between on the basis of the height and position information. According to the present invention, there is now provided an automated optical character recognition method for use on a programmable digital processing device, comprising the steps of, selecting a sequence of bit map representations of one or more characters in an array of characters to be optically recognised, said input bit map representations defining one or more dimensional characteristics of said characters, generating for each of said characters a set of normalised values determined from a standard dimensional value, said normalised values corresponding to said one or more character dimensional characteristics, and performing optical character recognition by comparing character features with corresponding features in a library of character prototype templates, characterised by generating a frequency distribution of a selected one of said character dimensional characteristics as a series of summations representing a frequency of occurrence of the selected dimensional characteristic, identifying a peak in the frequency distribution, generating the standard dimensional value from the identified peak in the said frequency distribution, and pre-screening the optical character recognition by comparing said normalised dimensional values with corresponding values in the library of character prototype templates. The present invention also provides an automated optical character recognition system comprising, means for selecting a sequence of bit map representations of one or more characters in an array of characters to be optically recognised, said input bit map representations defining one or more dimensional characteristics of said characters, means for generating for each of said characters a set of normalised values determined from a standard dimensional value, said normalised values corresponding to said one or more character dimensional characteristics, and means for performing optical character recognition by comparing character features with corresponding features in a library of character prototype templates, characterised by, means for generating a frequency distribution of a selected one of said character dimensional characteristics as a series of summations representing a frequency of occurrence of the selected dimensional characteristic, means for identifying a peak in the frequency distribution, means for generating the standard dimensional value from the identified peak in the said frequency distribution, and means for pre-screening the optical character recognition by comparing said normalised dimensional values with corresponding values in the library of character prototype templates. The objects, advantages and features of the present invention will be more clearly understood by reference to the following detailed disclosure and the accompanying drawing in which: Fig. 1 is a block diagram of an automated optical character recognition system constructed in accordance with the present invention; Fig. 2 is a an illustration of a line of printed text to be recognized; Fig. 3 illustrates the size parameters measured on a text line; Figs. 4A and 4B is a How diagram showing an automated optical character recognition method performed in accordance with the present invention; and Fig. 5 is a frequency distribution graph showing quantized character height versus the frequency of the quantized height. Referring now to Fig. 1, optical character recognition in accordance with the present invention may be performed by the illustrated data processing apparatus, which includes a programmable computer 10 having a keyboard (not shown), a data storage resource 20, a display monitor 30 and an optical scanning device 40. These components are conventionally known and may include a wide variety of component types and system arrangements. The data processing apparatus is controlled by an OCR software system 50 which is resident during program operation in random access memory within the programmable computer. When the software system 50 is not operational, it is maintained within the data storage resource 20, which may be considered to generically represent one or more of a variety of data storage devices including floppy magnetic disks, optical disks, magnetic tapes, portable hard disks, and other apparatus. As described in more detail below, the software system 50 includes an executable instruction set for controlling the data processing apparatus for automatic recognition of characters formed as an array of characters on a sheet of printed text representing an input document 60. Figs. 2 and 3 illustrate one line 70 of printed text which might appear in the input document 60 and require character recognition. Figs. 4A and 4B illustrate the steps to be performed in the optical character recognition method of the present invention. The method enhances the speed and recognition rate required for optically recognizing the characters in a line of text by dynamically normalizing such attributes as character height, character width and character position relative to a baseline reference using a standard attribute determined from the characters themselves. Step 80 of the method begins with a bit map file as input The bit map file may exist in the data storage resource 20 or may be generated by and input directly from the optical scanning device 40. The optical scanning device 40 can be selected from several commercially available products capable of producing a bi-level (binary) image or "bit map" at a continuity that preserves visual quality when the image is displayed on a screen or reprinted on paper. The binary image or bit map is stored in the computer's random access memory, and/or the data storage resource 30, and defines a two dimensional array of 0's and 1's representing white and black, respectively. The 0's and 1's are in one to one correspondence with the cells of a grid that can be imagined to overlay the printed page. Because automatic methods for the interpretation of text are less discriminating than human recognition processes, the number of cells per unit area has to be greater than, for example, the resolution used in facsimile transmission of documents, which typically does not exceed 200 cells per inch. Resolutions of 300 samples per inch are suitable, however, and character recognition is not significantly improved with higher resolutions. In step 90 of Fig. 4A, the OCR software system 50 operates on the input bit map data structure by segmenting the bit map array into single horizontal text lines for processing one line of characters at a time. Each line is processed as a sequence of binary input values representing one or more characters extracted from the array of characters resident on the input document 60 as a whole. The binary input values, being part of a two-dimensional array definition of the input characters, necessarily define one or more dimensional characteristics of the characters, such as character height, character width and character position relative to a baseline reference. The baseline reference is calculated after text line segmentation in step 100 of Fig. 4A as a theoretical line passing through the bottom of a predetermined percentage of the characters. Fig. 3 illustrates a baseline reference 102 that has been estimated by the OCR software system 50. There are various known methods which may be utilized to calculate such a baseline and any one method could be utilized in conjunction with the present invention. Once the baseline information is obtained, character position (starting from the bottom of the characters) can be determined relative to the baseline as a character attribute in addition to character height and width. The nature of these dimensional characteristics is graphically illustrated in Figs. 2 and 3. Fig. 2 illustrates the single line of text 70 reading "Speed and Recognition Enhancement Using Normalized Height/Width Position." Fig. 3 is a partially enlarged view of the text line 70 of Fig. 2. It illustrates the baseline reference 102, an uppercase height attribute (H u ) 104, a lowercase height attribute (H l ) 106 and a width attribute (W) 108. In step 110 of Fig. 4A, the maximum character height, character width and character position relative to the baseline reference is calculated for each character of the input character line. The next step is to normalize these attribute values so that meaningful recognition comparisons can be made relative to a reference library database. Normalization is performed using a 'standard' attribute such as character height. Standard height may be thought of as an estimate of the height of typical upper case characters. This estimation is based on the "mode" in a statistical sense, which is used in preference to the highest value or an average value of the text because the heights of ordinary upper case, numeric, and some lower case characters (such as "b","d" and "h") have a small variation and are fairly stable. It is preferable not to use a:highest value because characters such as "/", "f" and "Q" have a larger variation and sometimes do not appear in a text line/paragraph/page. The average height is also unreliable because the value changes according to the relative frequency of characters. At the point where standard height is calculated, the text baselines have been estimated and the size and position of the character patterns are known. Thus each character is represented for purposes of this stage by three positional measurements: w=width, h=height, and b=distance of the character bottom above the baseline. Standard height is calculated from a sequence of text assumed to be printed in only one font. The process thus estimates standard height for each line of text although standard height for a paragraph or page of text could also be used. If a line contains only a relatively small amount of text printed in a secondary font, the estimate of standard height need not be greatly affected, since the calculation is statistical in nature, as explained below. The first step 120 (see Fig. 4A) in the calculation of standard height is to construct a histogram of character height. A size constraint is imposed so that very small characters such as hyphens are eliminated from the count. The result is a distribution graph 122, shown in Fig. 5, in which the "x" axis represents quantized character height ("h") and the "y" axis represents the frequency of occurrence ("f(h)") of the quantized height. In step 130 (see Fig. 4A), this distribution is smoothed by summation to generate: F(h) = f(h-1) + f(h) + f(h+1) The hypothesis that governs the remainder of the normalization process is that the smoothed histogram F(h) is multimodal. Its two major peaks 124 and 126 (if both are present) correspond to tall characters such as capital letters or letters with ascenders at one value of height (peak 126), and another peak for small lower case letters such as 'a' or 'e' at a smaller value of height (peak 124). The process must also take into account the possibility that the text is printed in upper case only, i.e., that there is no lower case peak. The major peaks are identified in step 140 of Fig. 4A. To do so, an initial peak h1 is first detected by determining the global maximum of F(h). This peak may be either the desired upper case peak (i.e., the desired standard height) or else the lower case peak. The peak identification step 140 thus proceeds to search for a second lower case peak h2 in the region: h1 * (1-d2) < h2 <h1 and a third upper case peak h3, in the region: h1 < h3 < h1 * (1 + d3) The value d3 is a predetermined positive parameter representing an estimate of the largest factor by which upper case height can exceed lower case height over the range of fonts considered. This implies the relation: d2 = d3/(1+d3) because 1/(1-d2) = (1+d3)/1 Once found, the proper peak to use for standard height is calculated in step 150 of Fig. 4A by comparing the amplitude of the identified peaks ("f") to the total character count "N". To qualify as a valid peak, F(h2) or F(h3) must be at least 10% (or some other reliable percentage) of N. In view of the definition of F(h), this means that at least 10% of the character heights must be within plus or minus one pixel of h2 or h3. If h3 passes this test and has amplitude greater than that of h2, it is selected for standard height. Otherwise h1 is returned for standard height Once the standard height is obtained for a text line/paragraph/page, a set of normalized height/width/position values are calculated for each character in steps 160, 170 and 180 of Fig. 4B, as follows: normalized height (NH) = height/standard height normalized width (NW) = width/standard height normalized position (NP) = (1/2 * height + bottom above base line)/standard height. The normalized character values can be used as input to a pre-generated character recognition library of conventional design in step 190 of Fig. 4B for generating a character code output set to complete the optical recognition process in step 200 of Fig. 4B. The optical recognition process implemented using the normalized character values can take several forms. It is assumed that each character has some n-dimensional feature and it is classified by comparing the feature with a pre-generated recognition library (each library member or "template" has an n-dimensional feature and its category). The comparison could be made using Euclidian distance or by other known methods. The n-dimensional feature could also be replaced by other kinds of features such as a geometrical feature. The n-dimensional feature vector used for comparisons between the input characters and the recognition library can be augmented using the normalized character values determined above as an extension of the vector. However, the normalized character values are perhaps best used to prescreen the library recognition template patterns to eliminate patterns unlikely to yield a positive n-dimensional comparison. The recognition library is configured to include six additional features for use in pre-screening comparisons. They are: minimum normalized height, maximum normalized height, minimum normalized position, maximum normalized position, minimum normalized width and maximum normalized width. At first the normalized height, normalized position and normalized width are compared with the minimum and maximum values of each template (prototype) in the library (the order H-P-W is preferable, because width has the most variations and is least reliable among the three). If the value of the input character doesn't satisfy the pre-screening conditions, the template is immediately ignored. If the six comparisons are satisfied, the comparison of n-dimensional features is executed for detailed classification. It has been observed that the six parameter comparison reduces the number of candidates very quickly to less than half. It also excludes upper/lower case and apostrophe/comma confusion and increases the recognition rate. Accordingly, a speed and recognition enhancement method for optical character recognition has been described. While various embodiments have been disclosed, it should be apparent that many variations and alternative embodiments would be apparent to those skilled in the an in view of the teachings herein.

Claims: An automated optical character recognition method for use on a programmable digital processing device (10), comprising the steps of: selecting (80) a sequence of bit map representations of one or more characters in an array (70) of characters to be optically recognised, said bit map representations defining one or more dimensional characteristics of said characters; generating (160,170,180) for each of said characters a set of normalised values determined from a standard dimensional value, said normalised values corresponding to said one or more character dimensional characteristics; and performing (200) optical character recognition by comparing character features with corresponding features in a library of character prototype templates; characterised by ; generating (120,130) a frequency distribution (122) of a selected one of said character dimensional characteristics as a series of summations representing a frequency of occurrence of the selected dimensional characteristic; identifying (140,150) a peak in the frequency distribution (122); generating (160) the standard dimensional value from the identified peak in the said frequency distribution (122); and pre-screening (190) the optical character recognition by comparing said normalised dimensional values with corresponding values in the library of character prototype templates. The method of claim 1, wherein said one or more characters are arranged on a single line (70) of printed text. The method of claim 1 or 2, wherein said dimensional characteristics include character height, character width and character position relative to a baseline reference (102). The method of any preceding claim, wherein said standard dimensional value is a value representing standard character height. The method of claim 4, wherein the standard dimensional value is selected from said frequency distribution as a standard uppercase character height, or if an insubstantial number of uppercase characters are present, as a standard lowercase character height. The method of any preceding claim, wherein said normalised values include normalised character height (NH), normalised character width (NW), and normalised character position (NP) relative to a baseline reference (102). The method of claim 6, wherein the step (190) of pre-screening the optical character recognition includes comparing the normalised values (NH,NW,NP) with corresponding ranges of minimum and maximum values in said library prototype template. The method of claim 7, wherein the step of comparing the normalised values (NH, NW, NP) with corresponding ranges of values in said library prototype template determines whether the normalised values fall within the ranges of values. The method of claim 8, wherein the normalised values (NH, NW, NP) are compared with the said ranges of values in the order of height, position and width and the library prototype template is ignored upon one of said normalised values falling outside of said ranges of values. The method of claim 9, wherein the step (200) of performing optical character recognition by comparing character features with corresponding features in a library of character prototype templates compares selected features of said characters with a feature vector corresponding to said library prototype template. The method of claim 10, wherein said selected features are n - dimensional features and are compared to said library feature vector using a distance method. An automated optical character recognition system (10) comprising; means (50) for selecting a sequence of bit map representations of one or more characters in an array (70) of characters to be optically recognised, said bit map representations defining one or more dimensional characteristics of said characters; means (50) for generating for each of said characters a set of normalised values determined from a standard dimensional value, said normalised values corresponding to said one or more character dimensional characteristics; and means (50) for performing optical character recognition by comparing character features with corresponding features in a library of character prototype templates; characterised by ; means (50) for generating a frequency distribution (122) of a selected one of said character dimensional characteristics as a series of summations representing a frequency of occurrence of the selected dimensional characteristic; means (50) for identifying a peak in the frequency distribution (122) ; means (50) for generating the standard dimensional value from the identified peak in the said frequency distribution (122); and means (50) for pre-screening the optical character recognition by comparing said normalised dimensional values with corresponding values in the library of character prototype templates. The system of claim 12, wherein said one or more characters are arranged on a single line (70) of printed text. The system of claim 12 or 13, wherein said dimensional characteristics include character height, character width and character position relative to a baseline reference (102). The system of claim 12, 13 or 14, wherein said standard dimensional value is a value representing standard character height. The system of claim 15, wherein the standard dimensional value is selected from said frequency distribution as a standard uppercase character height, or if an insubstantial number of uppercase characters are present, as a standard lowercase character height. The system of any of claims 12 to 16, wherein said normalised values include normalised character height (NH), normalised character width (NW), and normalised character position (NP) relative to a baseline reference (102). The system of claim 17, wherein the means (50) for pre-screening the optical character recognition includes means (50) for comparing the normalised values (NH,MW,NP) with corresponding ranges of minimum and maximum values in said library prototype template. The system of claim 18, wherein the means for comparing the normalised values (NH, NW, NP) with corresponding ranges of values in said library prototype template includes means (50) for determining whether the normalised values fall within the ranges of values. The system of claim 19, wherein the normalised values (NH, NW, NP) are compared with the said ranges of values in the order of height, position and width and the library prototype template is ignored upon one of said normalised values falling outside of said ranges of values. The system of claim 20, wherein the means (50) for performing optical character recognition by comparing character features with corresponding features in a library of character prototype templates comprises means (50) to compare selected features of said characters with a feature vector corresponding to said library prototype template. The system of claim 21, wherein said selected features are n - dimensional features and are compared to said library feature vector using a distance method.

Inventors: CASEY RICHARD G, TAKAHASHI HIROYASU, CASEY, RICHARD G., TAKAHASHI, HIROYASU
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1995
Main classification: G06K9
IPC codes: G06K9