WO1994007214A1 - Method and apparatus for recognizing cursive writing from sequential input information - Google Patents
Method and apparatus for recognizing cursive writing from sequential input information Download PDFInfo
- Publication number
- WO1994007214A1 WO1994007214A1 PCT/US1993/008024 US9308024W WO9407214A1 WO 1994007214 A1 WO1994007214 A1 WO 1994007214A1 US 9308024 W US9308024 W US 9308024W WO 9407214 A1 WO9407214 A1 WO 9407214A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- metastrokes
- word
- metastroke
- candidate
- vocabulary
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2264—Character recognition characterised by the type of writing of cursive writing using word shape
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2268—Character recognition characterised by the type of writing of cursive writing using stroke segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2268—Character recognition characterised by the type of writing of cursive writing using stroke segmentation
- G06V30/2272—Character recognition characterised by the type of writing of cursive writing using stroke segmentation with lexical matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
- G06V30/373—Matching; Classification using a special pattern or subpattern alphabet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Definitions
- This invention relates to cursive script recognition and in particular to cursive handwriting recognition methods and apparatus, that is, recognition of characters and words formed by a continuous stroke, wherein information on stroke order is provided in connection with input of stroke position information.
- U.S. Patent No. 3,969,698 to Bollinger et al. describes an apparatus for post processing of words which have been misrecognized by a character recognition machine, a speech analyzer, or a standard keyboard.
- U.S. Patent No. 4,610,025 to Blum et al. describes the isolation of ascenders and descenders as part of an early analytical step and the isolation of words for identification.
- U.S. Patent No. 4,754,489 to Bosker describes a system for recognizing letter groupings called digrams and trigrams.
- U.S. Patent No. 5,034,989 to Loh describes a method for identifying individual handwritten letters.
- Metastrokes are elements or fractions of a strok shape which are used to represent a stroke.
- a stroke is defined as the continuous segment which begins when the pen touches the digitizer tablet's surface and ends when the pen i lifted from the surface, comprising one or more written letters.
- a cursive word may comprise one or more strokes depending upon whether or not the pen is lifted from the surface during the writing of the word.
- a minimum of twenty metastrokes is typical to form the necessary vocabulary or set of allowable stroke elemental shapes, although as many as seventy metastrokes may be used.
- Techniques fo interpreting the input metastroke segments as words include comparing the input metastroke segment with metastroke segment in a dictionary of words "spelled" as metastrokes and assignin a value for the likelihood of a match value to each word so identified.
- the assigned value for the likelihood of match is referred to as the "word metric.”
- this technique involves comparing the input to each word in the dictionary, metastroke by metastroke, assigning a metastroke score to each position where a metastroke match is found, then adding the scores for the matched metastrokes for each segment so tested to obtain the word metric, ranking the words by word metric by comparing the word metrics against a preselected threshold as well as against each other for closeness to one another, then, either simultaneously or consecutively, substituting, adding and deleting metastrokes in the sequence and then comparing the input metastroke segment so modified with the dictionary to obtain further word metrics until a wor metric is found which satisfies the threshold criteria.
- recognition equipment may include a digitizing pad for inputting signals having values representing a sequence of points in a coordinate system with indicia of a beginning poin and an end point and processing means for performing various functions on the signals, which may be incorporated in dedicated computer equipment or into data preprocessing means of a computer operating system.
- the preprocessing means may perform the following processes: segmenting the sequence of points bounded by the beginning point and the ending point into candidate words, strings or segments, differentiating between the ending point of a word segment and that of an individual word, combining word segments to form complete words, establishing a bottom baseline and a top baseline for the candidate word to determine height and scale of the candidate word, reconstructing the candidate word as a reconstructed word with a substitute sequence of points, wherein there are interpolated points inserted and spurious points deleted, locating and tabulating, in sequential order, critical points in the reconstructed word, including maxima, minima, intersections, dots and crossovers, replacing the reconstructed word with a sequence of metastrokes according to the vocabulary of metastrokes according to the invention, wherein each metastroke is representative of an element of a handwritten cipher.
- this replacing step may comprise comparing the critical points against indicia of known critical points to obtain a preliminary metastroke sequence for each said reconstructed word.
- the technique contemplates selecting, by means of a matrix of likelihood of matching between each of said metastrokes, from entries in a dictionary of entries compiled from variants of known sequences of said metastrokes, many of the most likely matches in likelihood order.
- This selecting step may comprise choosing the preferred metastroke at selected positions according to a maximum score calculation. There may be an analysis performed on i) a forward sequence of the metastrokes, on ii) a reverse sequence of the metastrokes, and on iii) most likely beginnings of words and simultaneously on most likely endings of words.
- the maximum score calculation may comprise an analysis of the weighting of the results of additions, deletions, and substitutions of metastrokes relative to adjacent metastrokes.
- the results are provided to an output device in the form of preferably only one, but possibly several, candidate words based on a listing of most likely matches from the dictionary. There is typically an indication of positive recognition of a single candidate word if the likelihood of match figure of merit exceeds a preselected threshold value.
- the methods may include measuring the average slant of sequences of points of each candidate word segment and then dividing the candidate word segment along horizontal boundaries into a middle zone between the lower baseline and the upper baseline, where bodies of letters are predicted to reside, into an upper zone wherein ascenders of letters are predicted to reside, and into a lower zone wherein descenders of letters are predicted to reside.
- This height information along with the shape information provided by the identification of metastrokes, assists the dictionary in determining the merit of any metastroke at a position in a sequence of acceptable metastrokes in its dictionary.
- the height information is also weighted as part of the correlation.
- Figure 1 is a block diagram of a general recognition system according to the invention.
- FIG. 2 is a block diagram of functional elements of the invention.
- Figure 3 is a table illustrating the metastrokes in accordance with the preferred embodiment of the present invention.
- Figure 4 is a first flow chart of a method according to the invention.
- Figure 5 is a second flow chart of a method according to the invention.
- Figure 6A is an illustration of the handwritten word "may.”
- Figure 6B is a possible metastroke sequence based on the word "may” in Figure 6A.
- Figure 7 is a possible dictionary spelling of the word “may.”
- Figure 8 is a possible correlation matrix for the word “may.”
- Figure 9 is an illustration of a sample metastroke feature correlation table of data for substitutions used to force an input sequence to look like a vocabulary sequence.
- Figure 10A illustrates sample penalties for the addition of selected metastrokes used to force an input sequence to look like a vocabulary sequence.
- Figure 10B illustrates sample penalties for the deletion of selected metastrokes used to force an input sequence to look like a vocabulary sequence.
- Figure 11 is an illustration of a height correlation table corresponding to the table of Fig. 9 used in substitutions to force an input sequence to look like a vocabulary sequence.
- Figure 12A indicates sample height penalties corresponding to the table of Fig. 10A used in additions to force an input sequence to look like a vocabulary sequence.
- Figure 12B indicates sample height penalties corresponding to the table of Fig. 10B used in deletions to force an input sequence to look like a vocabulary sequence.
- Figure 13 is a complete metastroke feature correlation table of data for weights for substitutions used t force an input sequence to look like a vocabulary sequence, fo penalties for additions (column 1) , and for penalties for deletions (row 1) defining the similarity measure for metastrokes for one embodiment of the invention.
- Figure 14 is a complete height correlation table for the embodiment corresponding to the feature correlation table of Figure 13 illustrating the weights and penalties for substitution, additions (column 1) and deletions (row 1) used to force an input sequence to look like a vocabulary sequence.
- the apparatus 10 comprises first of all as its input device a digitizer pad 12 or equivalent mechanism, which produces as output in response to input from a stylus 14, "input" signals having values representative of a sequence of points symbolizing handwriting in a coordinate system defined by the digitizer together with a symbol or indication of the beginning point and ending point of each sequence of points.
- Th apparatus 10 further comprises a processor 20 with associated program storage means 22, such as read only memory (ROM), and in-process storage means 24, such as random access memory (RAM) . Control and data lines are provided between the processor 20 and the in-process storage means 24 and the program storage means 22.
- program storage means 22 such as read only memory (ROM)
- RAM random access memory
- the program storage means 22 is for storing, permanently or semipermanently, executable computer programs, a features table for identifying metastrokes as hereinafter explained, correlation matrixes or tables related to the metastrokes, and dictionaries of metastrokes for identifying words or the like.
- the in-process storage means 24 is for the temporary storage of candidate words derived from the input data, baselines computed from the words, reconstructed words based o interpretation and normalization, as well as other related processes, critical points of the reconstructed words for comparison with the features, metastroke sequences derived fro the features tables, substitute metastroke sequences generated as the result of maximum score calculations and figures of merit for various maximum score calculations developed from us of the correlation tables.
- the processor 20 executes the programs of the program memory means 22 to eventually generate a word identification or a word to be supplied to an output device or output interface 26.
- the digitizer 12 through the -Input interface 16, provides the start mark, the stop mark and the position data to buffer means 18.
- the input buffer means 18 may identify the boundaries of a candidate word by means of th start mark and the stop mark, indicative of a break in the input sequence of data.
- the input buffer means 18 may also identify the boundaries of a candidate word segment by comparing the length of different data sequence breaks; determining which breaks are indicative of a word break and which breaks are indicative of a break within a word.
- Means 28 are provided for establishing orientation and specifically for determining the direction of writing to in such a way that the direction of writing becomes parallel to a horizontal reference.
- Means 30 are thereafter provided for reconstructing the candidate word (as a "reconstructed word") with a substitute sequence of points.
- the substitute sequence of points may have points inserted in the candidate word at interpolated locations and spurious points deleted from the candidate word.
- Spurious points are those points which seem t have no relation to any sequence of strokes, either as a continuation of a segment or as a point, such as a period or a accent mark.
- means 32 are provided for establishing a bottom baseline and a top baseline for each candidate word to determine height and scale. More specifically, the baseline establishing means 32 incorporates therein means for dividing the candidate word horizontally into a middle zone between a lower baseline and an upper baseline calculated by examining, for example, the density of points above and below each baseline, and designates the space above the baseline as ascenders of letters and designates the zone below the baselin as descenders of letters.
- the element 32 also includes means for measuring average slant of the selected sequences of points, for example, as determined by average trajectory of each of the selected ascenders and descenders in the ascender zone and the descender zone, respectively. Means 32 also includes means for normalizing the data to a desired scale.
- the means 32 then conveys its data to a critical point locator 34.
- the purpose of the critical point locator 34 is to locate and tabulate in sequential order all relevant critical points in the reconstructed word segment produced by the point interpolator 32. Examples of critical points are maxima, minima, intersections of line segments, dots and crossovers.
- the critical points thus tabulated can then be compared with a table containing known critical points identifying metastrokes.
- metastroke recognizer 36 is provided which processes the features evidenced as critical points and substitutes for the reconstructed word segment a string of metastroke identification codes.
- a minimum of twent metastrokes is typical to form the necessary vocabulary or set of allowable stroke elemental shapes, although as many as seventy metastrokes may be used.
- metastrokes increase the invention's recognition accuracy.
- FIG 3 there is shown a table of metastrokes with the definitions thereof for the preferred embodiment. These metastrokes have been determined, according to the invention, to provide for identification of English- language words in a computer-stored dictionary.
- the metastrokes identified in the table of Figure 3 are as follows: a stroke with a wide break, a "wild card" stroke which could be anything, a generalized horizontal stroke, a feature maximum, a ⁇ feature minimum, an angle without a loop, a stroke with a small break, a dot representing a period or the like, a crossover, a backward up arc with a free end at the beginning of the arc, a backward up arc with a free end at the termination of the arc, a backward up arc with no free end, an upside down gamma drawn wi" ⁇ h counter-clockwise strokes, a circle drawn with counter clockwise strokes, a gamma drawn with a counter clockwise stroke, a forward down arc without a free end, a forward down end with a free end at the start, a forward down arc with a free end at its termination, a forward up arc with a free end at its termination, a forward up arc with a free end at its start
- the metastroke string generated by the metastroke recognizer 36 is provided to a word recognition subsystem 38 according to the invention for recognizing words in a specific language, such as English.
- the processing function of one element thereof will be explained in greater detail hereinafter.
- Elements of the word recognition subsystem 38 include a "whole-word”-based analyzer means 44 for performing maximum score analysis by dynamic programming procedures as hereinafter explained to attain optimal matching between a string of input metastrokes and a "vocabulary" metastroke string forming a known whole word.
- Subsystem 38 may optionally also include a "letter”-based analyzer means 42 for analyzing metastrokes by letter (alphanumeric character) . Some of these types of "letter"-based analyzer means 42 are known in connection with character-based or segmented string recognition. Such analysis is not to be confused with whole- word-based analysis techniques which are hereinafter explained.
- the letter-based analyzer means 42 may work in combination with or complement the whole-word analyzer means 44.
- the word recognition means 38 may include for example a stored dictionary 40 of whole words comprising metastrokes in direct order and in reverse order.
- the letter-based analyzer means 42 may use some of the same dictionary entries as the whole-word analyzer means 44 in procedures operating independently and in parallel to the whole-word analyzer means, in an attempt to recognize characters as strings of letters forming meaningful words.
- the output of the word recognizer 38 which may be some form of best selection chosen from a variety of analysis procedures, is provided to a word output device 26 as previously noted.
- the input sequence is provided as a string of x and y coordinate values for points, along with a start and stop indicator (step A) , then a bounded string is selected as a candidate whole word from the input string received from the input device (step B) ; thereafter direction of writing is established and the candidate word is "rotated" (oriented in its frame of reference) to make the orientation of the writing parallel to a horizontal reference (step C) .
- the candidate word is then reconstructed as a reconstructed word to remove spurious points and add missing points (step D) .
- a top baseline and a bottom baseline are established (step E) , and the candidate word is normalized (step F) .
- critical points are located in the sequence of points (step G) .
- Critical points such as maxima, minima and intersections, as well as the order of critical points, are useful for identifying metastrokes and the order of metastrokes.
- Critical points are then matched against allowable vocabulary metastrokes to identify the string of input metastrokes used to "spell" a candidate word (step H) .
- Step H is repeated for each critical point of the input word until all of the critical points have been matched against metastrokes (step I) .
- the result is the string of input metastrokes used to "spell" the candidate word.
- the metastroke string is then tabulated for further processing (step J) .
- FIG. 5 A flow chart for a portion of the whole-word-based analyzer system 44 according to the invention is shown in Figure 5.
- words in the dictionary are excluded so they need not be analyzed further.
- the process first tests using the direct vocabulary (the forward direction) and then the reverse vocabulary (in the reverse direction) .
- an "empty" word is created (step K) and placed in a buffer (step L) .
- An "empty" word is a "null" set, that is, a word having all of the characteristics that words should have but having no meaningful value. It is a place-holder, much as zero is a place-holder in an initialized storage register.
- step M The content of the word buffer is then tested to see if the word buffer is empty (step M) . If the word buffer is not empty, then the next entry (the string representing the candidate word) is retrieved from the word buffer for analysis against the dictionary(step N) . This will occur whenever an input string from the input device is placed in the word buffer.
- a list is then compiled of all ("n") possible words which are candidates to match the latest entry retrieved from word buffer (step O) .
- step P The compiled list is thereafter tested to be sure it is not empty (step P) . (The list could be empty at the outset if the critical point test, above, has been performed and no matches were found.
- the list will also be empty at the end of a whole-word analysis when the list has been exhausted.) Afte testing to determine that this list is not empty, the "next" vocabulary word in the list is retrieved for use in analysis against the retrieved entry, namely, against the input candidate word retrieved from the word buffer (step Q) .
- the retrieved vocabulary word is compared as a whole word to the retrieved input entry according to the invention by dynamic programming techniques as hereinafter explained, from which an "optimal cost value" or maximum score is derived to determine the degree of match between the input candidate word and the vocabulary word (step R) . Steps P through R are repeated unti the list is exhausted (Step P) or until the maximum score meet certain criteria for acceptability (step S) .
- step T the word output buffer
- the step of optimal match calculation employs two inputs: the input sequence of metastrokes forming a string fo a word and the pattern or sequence of "vocabulary" metastrokes from the dictionary representing a known word. Each vocabular sequence of metastrokes describes one of the accepted ways of rendering a word.
- Data for analyzing the optimal match is extracted from a feature correlation table and a height correlation table, as hereinafter explained.
- the input metastroke string is a series of metastrokes, rather than points or letters.
- the vocabulary of metastrokes for tha string is limited to an established number of choices, such as 20, 30, 40 or 50 different stroke shapes.
- Figure 3 above is an example of one functional embodiment.
- the input string can be represented compactly in a computer by a string of symbols, for example the string of arbitrary symbols or their ASCII equivalents: f ⁇ J V,N'— ⁇ /V ⁇ V .
- a sample dictionary may for example comprise the entries: Vocabulary Segments
- comparing can be done by testing for a match between the input metastroke string and each metastroke-spelled word in the dictionary, metastroke by metastroke, noting by a score or a value each position where a match between input metastrokes and vocabulary metastrokes is found, and then adding the scores of the matched metastrokes for each input metastroke segment so tested to obtain a "word" metric (i.e., matching score) for each entry, that process is not what is undertaken in the word analyzer means 44 in accordance with the preferred embodiment of the invention.
- word metric
- the dash “-” appears wherever there is no match with the metastroke at that position.
- the metastroke-spelled words are typically grouped together by English-language definition, so the "hit” is manifest (listed) as the English-language word with a score which is the highest score of any of the metastroke-spelled words in that grouping. This is indicated by the asterisk "*" in the left margin, above.
- the normalized word metrics in this simplified example can then be compared against a preselected threshold to determine acceptability, as well as against each other for closeness to one another to determine "confusibility.” If the word is determined to be acceptable, then the word is sent to a word output buffer. If the word metric does not surpass the threshold, then the input metastroke segment is changed by substituting, adding and deleting metastrokes from the list of candidate English-language words. In the above example, if a normalized metric of 0.77 did not surpass the threshold, various metastrokes might be added, deleted or substituted in the input metastroke string to try to obtain a better match with a known string in the dictionary and a further comparison to the dictionary word would be made.
- Additions and deletions are assigned negative weights, whereas substitutions are assigned positive weights depending upon the "direction" and position of the substitution. If the last metastroke of the input segment was deleted, the normalized metric of the first "definition” of "run” would increase from 0.77 to 0.83, possibly meeting a preselected threshold.
- Figures 6 - 12 show a second, more accurate example of the whole word recognition process according to the invention more exactly illustrating how the dynamic programming process of the present invention is carried out to attain recognition of a whole word.
- Figure 6A shows the handwritten word "may.” In one embodiment of the invention this word can be expressed as the sequence of metastrokes shown in Figure 8B. The numbers next to particular features of the word indicate the corresponding metastrokes (see the horizontal axis of Figure 6B) .
- the dictionary can have numerous metastroke “spellings” for an individual word, due to the variations in possible writing style.
- there is only one spelling of "may” in the dictionary as shown in Figure 7. Comparing the metastroke sequence of Figure 6B with that of Figure 7 shows that the match is not exact. (Note the letter "a”.) Due to the many variations in writing style, this is commonly the case.
- a word correlation table is constructed comparing, as a whole, the input metastroke string with each vocabulary metastroke string which is a candidate for a match.
- a word metric i.e., a value defined by the likelihood of a match existing
- an optimal "path" through the sequence of metastrokes results, but only after the processing of the whole input metastroke string is completed. The larger the word metric, the closer the match.
- Figure 10 is an example of a resultant word correlation table for the word "may” wherein the input metastroke string of Figure 6B is matched against the vocabulary metastroke string of Figure 7.
- the values in each cell is derived from computations of added value based on transitions between a preceding diagonal position, a preceding row position and a preceding column position, wherein the highest valued transition of these three choices is selected and then the cell is assigned the sum of the weigh of the transition and the value of the preceding cell. This is a process of dynamic programming.
- the source of weights is obtained by reference to a feature correlation table and a height correlation table, the values of which are based on the size and nature of the vocabulary of metastrokes and an analysis of allowed and disallowed substitutions, insertions and deletions between all metastrokes in the vocabulary.
- each column entry represents a metastroke found in the input string; each row entry represents a metastroke found in the dictionary built from this (limited) vocabulary of metastrokes.
- the highest value or metric is assigned to a substitution of a vocabulary metastroke for an identical input metastroke, i.e., along the diagonal. Lower metrics are assigned to substitution of vocabulary metastrokes for input metastrokes which are close in shape.
- Disallowed substitutions are shown as blanks in the table, and a large negative value is assigned to those positions in the table: (-1000) , so that computations based on those substitutions always produce a result which is outside the range of consideration for an overall match.
- Input metastroke additions and deletions are allowed by the invention although there is a penalty associated with each.
- Figure 10A shows sample penalties for the addition of selected metastrokes while Figure 10B shows sample penalties for the deletion of selected metastrokes.
- a height comparison (relative to a word's baseline) is also made.
- Figure 11 is a height correlation table while Figures 12A-B indicate height penalties associated with the tables of Figures 10A-B, relating respectively to additions and deletions.
- the word correlation table of Figure 8 for each vocabulary word can be derived from data from the tables of Figures 9, 10A, 10B, 11, 12A and 12B, which is a simplified example, or from data of Figures 13 or 14, which is from an actual working system.
- Figures 13 and 14 the addition vectors corresponding respectively to Figures 10A and 12A are shown as the top row of the tables, and the deletion vectors corresponding respectively to Figures 10B and 12B are shown as the left-most column of the tables.
- the word correlation table of Fig. 8 is computed based upon a dynamic programming technique for computing "optimal cost" as it is called in the art and "path" for a transformation of one sequence into another.
- the transformation or mapping is made upon an entire input sequence to force it into the length and form of any one of a number of known vocabulary metastroke strings. It is therefore necessary to execute the transformation upon the entire sequence before conclusions can be reached about the results.
- Figure 13 is a data table for showing the transformations of input metastrokes into vocabulary metastrokes.
- the left margin lists the vocabulary metastrokes, i.e., the metastrokes found in the vocabulary.
- the top margin may be labeled with the same metastrokes in the same order.
- the diagonal of the table is the value assigned to a direct transformation of an input metastroke to the identical metastroke in the vocabulary.
- Off-diagonal values represent values assigned for substitution of other vocabulary metastrokes for the input metastroke in a process of building a metastroke string which matches a metastroke string found in the dictionary.
- Figure 14 is a height correlation table for nine levels of height.
- Penalties are assigned for deletions and additions, as illustrated along the zeroeth row and the zeroeth column, respectively, of Figure 13 and as shown separately in the example using Fig. 10A (corresponding to column 0 of Figure 13) and Figure 10B (corresponding to row 0 of Figure 13.)
- a metastroke is deleted from the input string.
- a deletion is indicated by a negative value of preselected magnitude (Row Zero, any column) .
- a metastroke is added to a position in the input metastroke string, and the action is indicated by a negative value of a preselected magnitude (Column Zero, any row) .
- substitution (where a vocabulary metastroke is substituted for an input metastroke) is indicated by a positive value, as indicated by the position in the matrix.
- substitution of a metastroke for itself is the diagonal, and is therefore assigned the highest value.
- the steps of the dynamic programming technique include a process of comparing an entire input metastroke string with all relevant metastroke strings in a dictionary of words "spelled" as metastrokes to build a path for the transformation of the input string into one of the dictionary metastroke strings and determining the one maximum value or so- called "optimal cost" for processing the entire input metastroke string against each vocabulary metastroke string.
- the entire input metastroke string could be processed against all strings in the dictionary.
- certain streamlining steps are typically taken to speed up the processing. (To streamline the processing, not all dictionary entries need to be examined, although the techniques to so limit the processing are not a part of this aspect of the invention.
- optimization techniques may take advantage of features of the dictionary.
- the dictionary may for example be arranged by number of strokes, or be "alphabetized”- by metastroke. Analysis may be performed on a forward sequence of metastrokes, on a reverse sequence of metastrokes, on most likely beginnings of words and on most likely endings of words.) As previously described, included in the dictionary is a "definition", an English-language (or any other language) word, spelled out in Roman characters, i.e., the ASCII strings corresponding to Roman characters, which is the single word to be recognized. Thus there may be several dictionary entries with the same "definition", to take into account handwriting variations.
- the metastroke feature correlation matrix (i.e., the data for transformation of all metastrokes into each other) , as illustrated in Figure 13, is used as an integral part of the dynamic programming process, namely, in the path building and the optimal cost calculation.
- the height correlation matrix is also used in the same processing steps.
- the optimal cost calculation is a calculation of the following three formulas, followed by a selection of a maximum based on a straight- forward comparison. The maximum among three values is inserted in the cell corresponding to the input metastroke-to-vocabulary metastroke transformation in the word correlation table (e.g., Figure 8) for each vocabulary word so processed.
- Figure 8 is an example built from a dynamic programming process using the data from Figures 9-12.
- the calculation is performed by selecting the maximum value ( ⁇ ) for the cell at position (a,b) in the word correlation table from among a values calculated for addition, deletion and substitution at those cell positions.
- ⁇ l ⁇ is the "cost value" (as used in the vocabulary of dynamic programming), or cumulative score at the cell (i,j) for passing from the origin via cell (i-l,j-l) in substituting the vocabulary metastroke "a” at row position (i) for the input metastroke "b” at column position (j) (Fig. 8);
- p(a i ,b j ) is a similarity weighting value (extracted from Fig. 13 or from Fig. 9) of the substitution of an input metastroke "a L n by a vocabulary metastroke "b j ";
- q(a ,b ) is the height weighting value (from the height correlation table, Fig. 14 or Fig.
- ⁇ 2 is the "cost value” or cumulative score for passing from the origin via cell (i-l,j) to cell (i,j) in inserting the vocabulary metastroke "a” at row position (i) after the input metastroke "b” at column position (j);
- ⁇ 3 is the "cost value” for cumulative score for passing from the origin via cell (i,j-l) to cell (i,j) in deleting the input metastroke "b” at column (j) along a sequence of metastrokes;
- p(a ⁇ ) is a penalty value (from Fig. 13, column 0, row i; or from position i of Fig.
- the preferred metastroke string at any cell (i,j) is the maximum cumulative score value alpha ( ⁇ ) at cell (i,j) selected from among the first cumulative score value ( ⁇ l) , the second cumulative score value ( ⁇ 2) and the third cumulative score value ( ⁇ 3) .
- This maximum score at any cell is the "optimal cost" at that cell along any path from the origin in the word correlation table of Fig. 8.
- Equation [1] is applied.
- the value a ⁇ - ⁇ is 7 from examination of the adjacent diagonal cell Figure 10.
- the substitution shown in Figure 8 for cell (4,4) is from the upward arc (along the top row) to a downward point (along the side column).
- the value p (a L ,b j ) is -1000 indicating a disallowed transition.
- the corresponding height substitution from the fourth position of Fig. 6B to the fourth position of Fig. 7 is from height 3 to height 5.
- a transition from height 3 to height 5 has a value of -1000 from Figure 11.
- the sum of P and q is thus -1993.
- Equation [2] is applied for insertion.
- the value ⁇ is 11, from the adjacent row above cell (4,4) in Figure 8.
- the penalty value p(a j .) from Figure 10A, for insertion of an downward arrow is -2.
- the corresponding height penalty value qfa ⁇ for the downward arrow at height 5 ( Figure 7) from Figure 12A is 0.
- the sum ⁇ 2 and thus a candidate value for cell (4,4) is 9.
- Equation [3] is applied for deletion.
- the value ⁇ " ⁇ is 12, from the adjacent column left of cell (4,4) in Figure 8.
- the penalty value p(b j ) from Figure 10B, for deletion of a upward arc is -2.
- the corresponding height penalty value q(a i ) for the upward arc at height 3 ( Figure 7) from Figure 12B is 0.
- the sum ⁇ 3 and candidate value for cell (4,4) is 10. Comparing ⁇ l, ⁇ 2 and ⁇ 3, as through a simple sort, the maximum value is 10. Hence the value 10 is inserted in cell (4,4).
- This process is continued for every cell of the word correlation table. For every cell, the maximum ⁇ of the substitution, addition and deletion is used. As the word correlation table is computed, the path to each cell from the adjacent cell which resulted in the maximum score is tabulated. At the completion of the process, paths from any cell can be traced back (e.g., from the right boundary or lower boundary) to the origin (0,0). Each such path represents the optimal path between the origin and the selected cell. In the present invention, the right-most and lowest-most cell position from the origin represents the "optimal cost" value for the optimal path through the word correlation matrix for the specific input string tested and terminated with its end mark.
- the specific input metastroke string is matched to each vocabulary metastroke string from the dictionary (built from the vocabulary of allowable metastroke strings) to obtain numerous word correlation tables.
- the optimal cost value for the input metastroke string (which value is found at the cell in the last column and last row and which corresponds to the termination of the input metastroke string and vocabulary metastroke string) of each word correlation table is then compared against all corresponding optimal cost values from the other word correlation tables.
- the maximum of these various optimal cost values is used to identify the vocabulary metastroke string which most closely correlates the input metastroke string with a word ("definition") in the dictionary, assuming minimum recognition criteria have been met. (In other words, a maximum lower than an acceptable minimum is a basis for an indication of a failure to recognize the input string as a word.
- the system according to the invention provides a high likelihood of recognizing words produced by the process of cursive handwriting. There is enough redundancy built into this system that even words written in poor handwriting with missing letters and misspellings are given a reasonable likelihood of recognition.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9505976A GB2286075B (en) | 1992-09-24 | 1993-08-26 | Method and apparatus for determining a possible match for cursive handwritten words |
DE4394624T DE4394624T1 (en) | 1992-09-24 | 1993-08-26 | Method and device for handwriting recognition from sequential input information |
DE4394624A DE4394624B4 (en) | 1992-09-24 | 1993-08-26 | Cursive handwritten word recognition from sequential input information - using construction word correlation tables to select strings of vocabulary metastrokes corresponding to candidate word and identifies most likely match |
EP93920353A EP0662229A4 (en) | 1992-09-24 | 1993-08-26 | Method and apparatus for recognizing cursive writing from sequential input information. |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/954,351 | 1992-09-24 | ||
US07/954,351 US5313527A (en) | 1991-06-07 | 1992-09-24 | Method and apparatus for recognizing cursive writing from sequential input information |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1994007214A1 true WO1994007214A1 (en) | 1994-03-31 |
Family
ID=25495306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1993/008024 WO1994007214A1 (en) | 1992-09-24 | 1993-08-26 | Method and apparatus for recognizing cursive writing from sequential input information |
Country Status (6)
Country | Link |
---|---|
US (2) | US5313527A (en) |
EP (1) | EP0662229A4 (en) |
CA (1) | CA2105494C (en) |
DE (1) | DE4394624T1 (en) |
GB (1) | GB2286075B (en) |
WO (1) | WO1994007214A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393395B1 (en) | 1999-01-07 | 2002-05-21 | Microsoft Corporation | Handwriting and speech recognizer using neural network with separate start and continuation output scores |
GB2394348A (en) * | 2002-10-16 | 2004-04-21 | Canon Kk | Handwriting synthesis |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953735A (en) * | 1991-03-20 | 1999-09-14 | Forcier; Mitchell D. | Script character processing method and system with bit-mapped document editing |
US6434581B1 (en) * | 1991-03-20 | 2002-08-13 | Microsoft Corporation | Script character processing method for interactively adjusting space between writing element |
US5220649A (en) * | 1991-03-20 | 1993-06-15 | Forcier Mitchell D | Script/binary-encoded-character processing method and system with moving space insertion mode |
US5313527A (en) * | 1991-06-07 | 1994-05-17 | Paragraph International | Method and apparatus for recognizing cursive writing from sequential input information |
CA2089784C (en) * | 1992-04-15 | 1996-12-24 | William Joseph Anderson | Apparatus and method for disambiguating an input stream generated by a stylus-based user interface |
JP3260843B2 (en) * | 1992-08-25 | 2002-02-25 | 株式会社リコー | Character recognition method |
JPH0773190A (en) * | 1993-04-29 | 1995-03-17 | Matsushita Electric Ind Co Ltd | Pictograph naming for pen base computer system |
JP3167500B2 (en) * | 1993-05-19 | 2001-05-21 | 富士通株式会社 | Handwritten information input processing method |
US5666442A (en) * | 1993-05-23 | 1997-09-09 | Infoglide Corporation | Comparison system for identifying the degree of similarity between objects by rendering a numeric measure of closeness, the system including all available information complete with errors and inaccuracies |
US5710831A (en) * | 1993-07-30 | 1998-01-20 | Apple Computer, Inc. | Method for correcting handwriting on a pen-based computer |
US5454046A (en) * | 1993-09-17 | 1995-09-26 | Penkey Corporation | Universal symbolic handwriting recognition system |
US6366697B1 (en) | 1993-10-06 | 2002-04-02 | Xerox Corporation | Rotationally desensitized unistroke handwriting recognition |
US5596656B1 (en) * | 1993-10-06 | 2000-04-25 | Xerox Corp | Unistrokes for computerized interpretation of handwriting |
US6243493B1 (en) * | 1994-01-21 | 2001-06-05 | At&T Corp. | Method and apparatus for handwriting recognition using invariant features |
US5699456A (en) * | 1994-01-21 | 1997-12-16 | Lucent Technologies Inc. | Large vocabulary connected speech recognition system and method of language representation using evolutional grammar to represent context free grammars |
US5473742A (en) * | 1994-02-22 | 1995-12-05 | Paragraph International | Method and apparatus for representing image data using polynomial approximation method and iterative transformation-reparametrization technique |
IL110137A (en) * | 1994-06-27 | 2000-06-29 | Advanced Recognition Tech | Handwriting recognition system |
EP0769175B9 (en) | 1994-07-01 | 2005-01-12 | Palm Computing, Inc. | Multiple pen stroke character set and handwriting recognition system |
EP0691623B1 (en) * | 1994-07-04 | 2001-10-04 | Hewlett-Packard Company, A Delaware Corporation | Scribble matching |
US6101280A (en) * | 1994-07-04 | 2000-08-08 | Hewlett-Packard Company | Method and apparatus for compression of electronic ink |
US5802205A (en) * | 1994-09-09 | 1998-09-01 | Motorola, Inc. | Method and system for lexical processing |
DE69422406T2 (en) * | 1994-10-28 | 2000-05-04 | Hewlett Packard Co | Method for performing data chain comparison |
US5745719A (en) * | 1995-01-19 | 1998-04-28 | Falcon; Fernando D. | Commands functions invoked from movement of a control input device |
US5757959A (en) * | 1995-04-05 | 1998-05-26 | Panasonic Technologies, Inc. | System and method for handwriting matching using edit distance computation in a systolic array processor |
TW397951B (en) * | 1995-06-05 | 2000-07-11 | Motorola Inc | Method and microprocessor for preprocessing handwriting having characters composed of a preponderance of straight line segments |
US5991441A (en) * | 1995-06-07 | 1999-11-23 | Wang Laboratories, Inc. | Real time handwriting recognition system |
US5917941A (en) * | 1995-08-08 | 1999-06-29 | Apple Computer, Inc. | Character segmentation technique with integrated word search for handwriting recognition |
US6282324B1 (en) * | 1995-08-31 | 2001-08-28 | Northrop Grumman Corporation | Text image deblurring by high-probability word selection |
US6094506A (en) * | 1995-10-25 | 2000-07-25 | Microsoft Corporation | Automatic generation of probability tables for handwriting recognition systems |
US5894525A (en) * | 1995-12-06 | 1999-04-13 | Ncr Corporation | Method and system for simultaneously recognizing contextually related input fields for a mutually consistent interpretation |
JP3052997B2 (en) * | 1996-01-12 | 2000-06-19 | 日本電気株式会社 | Handwriting input display device |
US5832474A (en) * | 1996-02-26 | 1998-11-03 | Matsushita Electric Industrial Co., Ltd. | Document search and retrieval system with partial match searching of user-drawn annotations |
EP0896704A1 (en) * | 1996-03-08 | 1999-02-17 | Motorola, Inc. | Method and device for handwritten character recognition |
US5825923A (en) * | 1996-09-05 | 1998-10-20 | Faxtrieve, Inc. | Method for performing character recognition on a pixel matrix |
US5889888A (en) | 1996-12-05 | 1999-03-30 | 3Com Corporation | Method and apparatus for immediate response handwriting recognition system that handles multiple character sets |
US6061472A (en) * | 1997-06-06 | 2000-05-09 | Microsoft Corporation | Method and mechanism to reduce handwriting recognizer errors using multiple decision trees |
US6272243B1 (en) * | 1997-09-15 | 2001-08-07 | Motorola, Inc. | Method and apparatus for entering characters into a writing recognizer |
US6249605B1 (en) * | 1998-09-14 | 2001-06-19 | International Business Machines Corporation | Key character extraction and lexicon reduction for cursive text recognition |
US6792146B2 (en) * | 1999-04-13 | 2004-09-14 | Qualcomm, Incorporated | Method and apparatus for entry of multi-stroke characters |
US6654496B1 (en) * | 1999-07-06 | 2003-11-25 | Xerox Corporation | Method and apparatus for selecting symbols using strokes on a user interface |
US6501855B1 (en) | 1999-07-20 | 2002-12-31 | Parascript, Llc | Manual-search restriction on documents not having an ASCII index |
US6304667B1 (en) | 2000-06-21 | 2001-10-16 | Carmen T. Reitano | System and method for incorporating dyslexia detection in handwriting pattern recognition systems |
US7177473B2 (en) * | 2000-12-12 | 2007-02-13 | Nuance Communications, Inc. | Handwriting data input device with multiple character sets |
US20020107885A1 (en) * | 2001-02-01 | 2002-08-08 | Advanced Digital Systems, Inc. | System, computer program product, and method for capturing and processing form data |
US6950555B2 (en) * | 2001-02-16 | 2005-09-27 | Parascript Llc | Holistic-analytical recognition of handwritten text |
SE519014C2 (en) * | 2001-03-07 | 2002-12-23 | Decuma Ab Ideon Res Park | Method and apparatus for recognizing a handwritten pattern |
US7039234B2 (en) * | 2001-07-19 | 2006-05-02 | Microsoft Corporation | Electronic ink as a software object |
US6973214B1 (en) * | 2001-07-30 | 2005-12-06 | Mobigence, Inc. | Ink display for multi-stroke hand entered characters |
US20030172030A1 (en) * | 2002-03-06 | 2003-09-11 | Parascript, Llc | Payee match positive pay banking |
US7020320B2 (en) * | 2002-03-06 | 2006-03-28 | Parascript, Llc | Extracting text written on a check |
US6889147B2 (en) * | 2002-09-17 | 2005-05-03 | Hydrogenics Corporation | System, computer program product and method for controlling a fuel cell testing device |
US7729542B2 (en) * | 2003-04-04 | 2010-06-01 | Carnegie Mellon University | Using edges and corners for character input |
WO2004092756A1 (en) * | 2003-04-17 | 2004-10-28 | Hydrogenics Corporation | Alarm recovery system and method for fuel cell testing systems |
US20040229954A1 (en) * | 2003-05-16 | 2004-11-18 | Macdougall Diane Elaine | Selective manipulation of triglyceride, HDL and LDL parameters with 6-(5-carboxy-5-methyl-hexyloxy)-2,2-dimethylhexanoic acid monocalcium salt |
US7353085B2 (en) * | 2003-09-22 | 2008-04-01 | Hydrogenics Corporation | Electrolyzer cell stack system |
US7639876B2 (en) * | 2005-01-14 | 2009-12-29 | Advanced Digital Systems, Inc. | System and method for associating handwritten information with one or more objects |
US9137417B2 (en) | 2005-03-24 | 2015-09-15 | Kofax, Inc. | Systems and methods for processing video data |
US9769354B2 (en) | 2005-03-24 | 2017-09-19 | Kofax, Inc. | Systems and methods of processing scanned data |
US7720286B2 (en) | 2005-05-25 | 2010-05-18 | Advanced Digital Systems, Inc. | System and method for associating handwritten information with one or more objects via discontinuous regions of a printed pattern |
JP3930894B1 (en) * | 2006-02-15 | 2007-06-13 | 株式会社コナミデジタルエンタテインメント | Trajectory information processing apparatus, trajectory information processing method, and program |
JP4807618B2 (en) * | 2006-03-06 | 2011-11-02 | 富士ゼロックス株式会社 | Image processing apparatus and image processing program |
US20070263932A1 (en) * | 2006-05-12 | 2007-11-15 | Waterloo Maple Inc. | System and method of gesture feature recognition |
US7742642B2 (en) * | 2006-05-30 | 2010-06-22 | Expedata, Llc | System and method for automated reading of handwriting |
US7945097B2 (en) * | 2007-05-21 | 2011-05-17 | Microsoft Corporation | Classifying digital ink into a writing or a drawing |
US8879846B2 (en) | 2009-02-10 | 2014-11-04 | Kofax, Inc. | Systems, methods and computer program products for processing financial documents |
US8774516B2 (en) | 2009-02-10 | 2014-07-08 | Kofax, Inc. | Systems, methods and computer program products for determining document validity |
US9767354B2 (en) | 2009-02-10 | 2017-09-19 | Kofax, Inc. | Global geographic information retrieval, validation, and normalization |
US9349046B2 (en) | 2009-02-10 | 2016-05-24 | Kofax, Inc. | Smart optical input/output (I/O) extension for context-dependent workflows |
US9576272B2 (en) | 2009-02-10 | 2017-02-21 | Kofax, Inc. | Systems, methods and computer program products for determining document validity |
US8958605B2 (en) | 2009-02-10 | 2015-02-17 | Kofax, Inc. | Systems, methods and computer program products for determining document validity |
US20110058356A1 (en) | 2009-02-25 | 2011-03-10 | Black & Decker Inc. | Power tool with light emitting assembly |
US8317350B2 (en) | 2009-02-25 | 2012-11-27 | Black & Decker Inc. | Power tool with a light for illuminating a workpiece |
US8328381B2 (en) | 2009-02-25 | 2012-12-11 | Black & Decker Inc. | Light for a power tool and method of illuminating a workpiece |
JP5487208B2 (en) * | 2009-08-27 | 2014-05-07 | 株式会社東芝 | Information retrieval device |
US9028088B2 (en) | 2010-09-30 | 2015-05-12 | Black & Decker Inc. | Lighted power tool |
US9058580B1 (en) | 2012-01-12 | 2015-06-16 | Kofax, Inc. | Systems and methods for identification document processing and business workflow integration |
US10146795B2 (en) | 2012-01-12 | 2018-12-04 | Kofax, Inc. | Systems and methods for mobile image capture and processing |
US9483794B2 (en) | 2012-01-12 | 2016-11-01 | Kofax, Inc. | Systems and methods for identification document processing and business workflow integration |
US9058515B1 (en) | 2012-01-12 | 2015-06-16 | Kofax, Inc. | Systems and methods for identification document processing and business workflow integration |
US8989515B2 (en) | 2012-01-12 | 2015-03-24 | Kofax, Inc. | Systems and methods for mobile image capture and processing |
US8866769B2 (en) | 2012-03-13 | 2014-10-21 | Blackberry Limited | Device cover with drawing pad input device |
US9242355B2 (en) | 2012-04-17 | 2016-01-26 | Black & Decker Inc. | Illuminated power tool |
KR101686363B1 (en) * | 2012-10-10 | 2016-12-13 | 모토로라 솔루션즈, 인크. | Method and apparatus for identifying a language used in a document and performing ocr recognition based on the language identified |
US9355312B2 (en) | 2013-03-13 | 2016-05-31 | Kofax, Inc. | Systems and methods for classifying objects in digital images captured using mobile devices |
US9208536B2 (en) | 2013-09-27 | 2015-12-08 | Kofax, Inc. | Systems and methods for three dimensional geometric reconstruction of captured image data |
EP2973226A4 (en) | 2013-03-13 | 2016-06-29 | Kofax Inc | Classifying objects in digital images captured using mobile devices |
US20140316841A1 (en) | 2013-04-23 | 2014-10-23 | Kofax, Inc. | Location-based workflows and services |
JP2016518790A (en) | 2013-05-03 | 2016-06-23 | コファックス, インコーポレイテッド | System and method for detecting and classifying objects in video captured using a mobile device |
WO2015073920A1 (en) | 2013-11-15 | 2015-05-21 | Kofax, Inc. | Systems and methods for generating composite images of long documents using mobile video data |
US9503612B1 (en) * | 2014-10-20 | 2016-11-22 | Evernote Corporation | Glare mitigation for dynamic document scanning |
US9760788B2 (en) | 2014-10-30 | 2017-09-12 | Kofax, Inc. | Mobile document detection and orientation based on reference object characteristics |
US10242285B2 (en) | 2015-07-20 | 2019-03-26 | Kofax, Inc. | Iterative recognition-guided thresholding and data extraction |
US9779296B1 (en) | 2016-04-01 | 2017-10-03 | Kofax, Inc. | Content-based detection and three dimensional geometric reconstruction of objects in image and video data |
US10296788B1 (en) * | 2016-12-19 | 2019-05-21 | Matrox Electronic Systems Ltd. | Method and system for processing candidate strings detected in an image to identify a match of a model string in the image |
US11062176B2 (en) | 2017-11-30 | 2021-07-13 | Kofax, Inc. | Object detection and image cropping using a multi-detector approach |
EP3895045A4 (en) | 2018-12-10 | 2022-09-07 | Conflu3nce, Ltd. | System and method for user recognition based on cognitive interactions |
US11270153B2 (en) * | 2020-02-19 | 2022-03-08 | Northrop Grumman Systems Corporation | System and method for whole word conversion of text in image |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4918740A (en) * | 1985-10-01 | 1990-04-17 | Palantir Corporation | Processing means for use in an optical character recognition system |
US5034989A (en) * | 1987-12-11 | 1991-07-23 | Loh Shiu Chang | On-line handwritten character recognition apparatus with non-ambiguity algorithm |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3127588A (en) * | 1959-04-24 | 1964-03-31 | Bell Telephone Labor Inc | Automatic reading of cursive script |
NL265383A (en) * | 1960-05-31 | |||
US3133266A (en) * | 1960-06-14 | 1964-05-12 | Bell Telephone Labor Inc | Automatic recognition of handwriting |
US3969698A (en) * | 1974-10-08 | 1976-07-13 | International Business Machines Corporation | Cluster storage apparatus for post processing error correction of a character recognition machine |
US3996557A (en) * | 1975-01-14 | 1976-12-07 | MI2 Corporation | Character recognition system and method |
US4610025A (en) * | 1984-06-22 | 1986-09-02 | Champollion Incorporated | Cryptographic analysis system |
US4731857A (en) * | 1984-06-29 | 1988-03-15 | International Business Machines Corporation | Recognition system for run-on handwritten characters |
US4764972A (en) * | 1985-05-23 | 1988-08-16 | Nec Corporation | Continuous characters recognition system |
US4754489A (en) * | 1985-10-15 | 1988-06-28 | The Palantir Corporation | Means for resolving ambiguities in text based upon character context |
US4752890A (en) * | 1986-07-14 | 1988-06-21 | International Business Machines Corp. | Adaptive mechanisms for execution of sequential decisions |
JP2619429B2 (en) * | 1987-11-05 | 1997-06-11 | グローリー工業株式会社 | How to separate contact characters |
US4987603A (en) * | 1988-09-22 | 1991-01-22 | Glory Kogyo Kabushiki Kaisha | Recognition method for letter patterns |
US5313527A (en) * | 1991-06-07 | 1994-05-17 | Paragraph International | Method and apparatus for recognizing cursive writing from sequential input information |
JP3576570B2 (en) * | 1991-11-19 | 2004-10-13 | ゼロックス コーポレイション | Comparison method |
-
1992
- 1992-09-24 US US07/954,351 patent/US5313527A/en not_active Expired - Lifetime
-
1993
- 1993-08-26 GB GB9505976A patent/GB2286075B/en not_active Expired - Lifetime
- 1993-08-26 WO PCT/US1993/008024 patent/WO1994007214A1/en not_active Application Discontinuation
- 1993-08-26 EP EP93920353A patent/EP0662229A4/en not_active Withdrawn
- 1993-08-26 DE DE4394624T patent/DE4394624T1/en active Pending
- 1993-09-03 CA CA002105494A patent/CA2105494C/en not_active Expired - Lifetime
-
1994
- 1994-03-23 US US08/216,752 patent/US5467407A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4918740A (en) * | 1985-10-01 | 1990-04-17 | Palantir Corporation | Processing means for use in an optical character recognition system |
US5034989A (en) * | 1987-12-11 | 1991-07-23 | Loh Shiu Chang | On-line handwritten character recognition apparatus with non-ambiguity algorithm |
Non-Patent Citations (1)
Title |
---|
See also references of EP0662229A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393395B1 (en) | 1999-01-07 | 2002-05-21 | Microsoft Corporation | Handwriting and speech recognizer using neural network with separate start and continuation output scores |
GB2394348A (en) * | 2002-10-16 | 2004-04-21 | Canon Kk | Handwriting synthesis |
GB2394348B (en) * | 2002-10-16 | 2005-09-28 | Canon Kk | Handwriting synthesis |
Also Published As
Publication number | Publication date |
---|---|
US5313527A (en) | 1994-05-17 |
CA2105494C (en) | 2005-05-03 |
DE4394624T1 (en) | 1995-10-19 |
GB2286075A8 (en) | 1999-03-03 |
GB2286075B (en) | 1996-09-11 |
EP0662229A4 (en) | 1996-01-03 |
US5467407A (en) | 1995-11-14 |
GB9505976D0 (en) | 1995-05-31 |
GB2286075A (en) | 1995-08-02 |
CA2105494A1 (en) | 1994-03-25 |
EP0662229A1 (en) | 1995-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5313527A (en) | Method and apparatus for recognizing cursive writing from sequential input information | |
Amin | Off-line Arabic character recognition: the state of the art | |
KR100297482B1 (en) | Method and apparatus for character recognition of hand-written input | |
US4573196A (en) | Confusion grouping of strokes in pattern recognition method and system | |
US4718102A (en) | Process and apparatus involving pattern recognition | |
US5923778A (en) | Hierarchical representation of reference database for an on-line Chinese character recognition system | |
US5454046A (en) | Universal symbolic handwriting recognition system | |
Amin | Recognition of printed Arabic text based on global features and decision tree learning techniques | |
EP0439743B1 (en) | Constraint driven on-line recognition of handwritten characters and symbols | |
Aparna et al. | Online handwriting recognition for Tamil | |
EP1564675B1 (en) | Apparatus and method for searching for digital ink query | |
Sharma et al. | Online handwritten Gurmukhi character recognition using elastic matching | |
Davis et al. | Recognition of handwritten characters—a review | |
JPH0844826A (en) | Collating method of handwritten input | |
Saabni et al. | Comprehensive synthetic Arabic database for on/off-line script recognition research | |
Amin | Arabic character recognition | |
Manke et al. | A connectionist recognizer for on-line cursive handwriting recognition | |
Tou et al. | Recognition of handwritten characters by topological feature extraction and multilevel categorization | |
Singh et al. | Recognition of online unconstrained handwritten Gurmukhi characters based on Finite State Automata | |
Singh et al. | Online handwritten Gurmukhi words recognition: An inclusive study | |
JPH0610829B2 (en) | Handwriting recognition method | |
CA2497586C (en) | Method and apparatus for recognizing cursive writing from sequential input information | |
Lee et al. | A hierarchical HMM network-based approach for on-line recognition of multi-lingual cursive handwritings | |
JP3675511B2 (en) | Handwritten character recognition method and apparatus | |
Powalka | An algorithm toolbox for on-line cursive script recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): DE GB JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 9505976.2 Country of ref document: GB |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1993920353 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1993920353 Country of ref document: EP |
|
RET | De translation (de og part 6b) |
Ref document number: 4394624 Country of ref document: DE Date of ref document: 19951019 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 4394624 Country of ref document: DE |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1993920353 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8607 |