WO1996007980A1 - Method and system for recognizing a boundary between characters in handwritten text - Google Patents

Method and system for recognizing a boundary between characters in handwritten text Download PDF

Info

Publication number
WO1996007980A1
WO1996007980A1 PCT/US1995/009344 US9509344W WO9607980A1 WO 1996007980 A1 WO1996007980 A1 WO 1996007980A1 US 9509344 W US9509344 W US 9509344W WO 9607980 A1 WO9607980 A1 WO 9607980A1
Authority
WO
WIPO (PCT)
Prior art keywords
stroke
handwritten
characters
character
features
Prior art date
Application number
PCT/US1995/009344
Other languages
French (fr)
Inventor
Michael Murdock
Shay-Ping T. Wang
Original Assignee
Motorola Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc. filed Critical Motorola Inc.
Priority to DE19581757T priority Critical patent/DE19581757T1/en
Priority to AU32000/95A priority patent/AU3200095A/en
Priority to GB9705139A priority patent/GB2307085B/en
Priority to DE29521538U priority patent/DE29521538U1/en
Publication of WO1996007980A1 publication Critical patent/WO1996007980A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • G06F18/2453Classification techniques relating to the decision surface non-linear, e.g. polynomial classifier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Definitions

  • the present invention is related to the following invention which is assigned to the same assignee as the present invention: (1) "Neural Network and Method of Using Same", having Serial No. 08/076,601, filed on June 14, 1993.
  • This invention relates generally to character recognition and, in particular, to a method and system for identifying characters contained in handwritten text.
  • Prior art handwriting recognition systems are commonly of a design which limits their ability to reliably identify cursive or partially connected handwritten text.
  • a fundamental problem of current handwriting recognition systems is that they cannot consistently identify individual characters contained in a sample of cursively written text.
  • prior art systems have attempted to overcome this problem using one of three approaches. All three approaches rely on segmenting a continuous pen stroke in order to isolate individual characters within the stroke.
  • the characters are isolated by segmenting the cursive stroke based on pen pressure. The assumption is that as the end of character nears, the writer will ease up on the pen and not press as hard, thus allowing the beginning and end of a character to be recognized.
  • There are two problems with this approach first, not all writers vary their pen pressure; therefore, the system will not work reliably for all users; second, a device which senses and records pen pressure vastly increases the complexity and cost of a handwriting recognition system.
  • the second prior art approach attempts to isolate characters by segmenting the cursive text based on curvilinear velocity of the pen tip.
  • the assumption here is that as the end of the character nears, the writer will slow down. Conversely, at the start of the next character, the writer will speed up. This is a very unreliable approach as there are many situations, besides the beginning and ending of a character, when a writer will slow down and then speed up.
  • characters are isolated by segmenting the cursive text at points where the pen tip is not moving in the vertical direction. It is assumed that such points exist only between characters. This again is also a very unreliable assumption. Almost every writer has a style wherein the connecting stroke between at least some of the characters has a velocity in the vertical direction.
  • the method recognizes boundaries between characters, thereby vastly increasing the likelihood of correctly identifying characters.
  • Another advantage of the present invention is to provide a method and system for training a learning machine to identify characters from handwritten text wherein the method and system do not require a repetitive or lengthy training period.
  • a further advantage of the present invention is to provide a system which allows boundaries between characters in handwritten text to be identified in the same manner that characters are identified, thus reducing the overall complexity of the system.
  • a method for recognizing a boundary between two characters in a sample of handwritten text is applicable in a system for recognizing a plurality of characters from a sample of handwritten text.
  • the method comprises the following steps: receiving the sample of handwritten text; defining a segment stroke, which includes the boundary, as one of the plurality of characters; and recognizing the boundary by identifying the segment stroke in the sample of handwritten text.
  • a method of using a learning machine to recognize a segment stroke includes the following steps: training the learning machine, with a plurality of handwriting examples, to identify the segment stroke; receiving a handwritten stroke which includes the segment stroke; extracting a plurality of features from the handwritten stroke; and recognizing the segment stroke in the handwritten stroke by classifying the features.
  • a handwriting recognition system for recognizing at least one character from a handwritten stroke.
  • Such embodiment of the present invention includes a trainer which trains a learning machine to identify at least one character by creating a character classifier. Additionally, the trainer provides a plurality of handwriting examples.
  • the system also includes a substroke extractor which receives the handwritten stroke and generates a plurality of substrokes; a feature extractor which is responsive to the plurality of substrokes and extracts a plurality of features from the handwritten stroke; and a recognizing means which is operatively coupled to the feature extractor and the learning machine.
  • the recognizing means recognizes at least one character in the handwritten stroke by applying the character classifier to the plurality of features.
  • FIG. 1 shows a contextual diagram of a handwriting recognition system as used by the method and system of the present invention.
  • FIG. 2 illustrates a block diagram of a handwriting recognition system used by the method and system of the present invention.
  • FIG. 3 shows a flow diagram of a method of identifying a segment stroke from a sample of handwritten text in accordance with a preferred embodiment of the present invention.
  • FIG. 4 illustrates an example of typical cursive handwriting.
  • FIG. 5 shows a flow diagram of a method of using a learning machine to recognize characters in a stroke of handwritten text.
  • FIG. 6 illustrates a segment classifier which receives a plurality of extracted features.
  • FIG. 7 illustrates a segment classifier which receives a sequence of extracted features.
  • FIG. 8 is a block diagram of the segment classifier shown in FIG. 7 in accordance with a preferred embodiment of the present invention.
  • FIG. 9 shows a flow diagram of a method of training a learning machine to classify characters in handwritten text in accordance with a preferred embodiment of the present invention.
  • FIG. 10 shows a block diagram of a system to train a learning machine in accordance with an embodiment of the present invention.
  • FIG. 11 illustrates a block diagram of a handwriting recognition system in accordance with a further embodiment of the present invention.
  • FIG. 1 shows a contextual block diagram of a character recognition system used in one embodiment of the present invention.
  • Character recognition system 8 is connected to digitizer tablet 4 by bus 6 and to computer 12 by bus 10.
  • digitizer tablet 4 preprocesses user input, and character recognition system 8 receives the preprocessed user input across bus 6.
  • Character recognition system 8 then identifies characters included in the user input and transmits, in a suitable computer- readable form, the identity of the characters across bus 10 to computer 12.
  • character recognition system 8 is used to identify characters contained in handwritten text. Such a system may be used to identify characters from many different languages and alphabets. For example, a set of identifiable characters may include the upper and lower case English alphabet, numerals, or punctuation marks.
  • This character recognition system 8 contains the novel features for recognizing the boundary between two characters as will be described in further detail in conjunction with FIG. 3.
  • a user of such a system uses pen or stylus 2 to write text onto digitizer tablet 4.
  • Digitizer tablet 4 captures handwritten text and converts it into a digital format.
  • digitizer tablet 4 provides a flat surface upon which a user writes text. The surface may be represented as a coordinate plane which has an x-axis and y-axis.
  • a point on the surface may be represented by a coordinate pair (x, y) .
  • the surface includes a flat panel of charge coupled devices which are sensitive to the motion of the tip of pen 2, and the surface possibly includes a liquid crystal display (LCD) for pixel display of the motion of pen 2 .
  • LCD liquid crystal display
  • the position and movement of pen 2 is captured by the panel and digitized as a sequence of coordinate pairs, (x, y) , while the user is writing on the surface.
  • the sequence of coordinate pairs is then passed via bus 6 to character recognition system 8.
  • character recognition system 8 is not limited to receiving user input from a digitizer tablet and that other devices, for example an optical scanner, may instead be used to provide user input to character recognition system 8. Additionally, one of ordinary skill will understand that character recognition system 8 may transmit character identities to devices other than a computer. For example, a communication network, data storage system, or transcription device could be substituted for computer 12. In accordance with an embodiment of the present invention, character recognition system 8 performs as a handwriting recognition system. In this capacity, the functions of character recognition system 8 include substroke extraction, feature extraction, and feature classification. The functions of character recognition system 8 are further described in reference to FIG. 2.
  • FIG. 2 illustrates a block diagram of a handwriting recognition system used in conjunction with one embodiment of the present invention.
  • Pen 2 is used to enter handwritten text onto digitizer tablet 4.
  • Digitizer tablet 4 provides a plurality of coordinate pairs, which represent the handwritten text, via bus 6 to substroke extractor 20.
  • Substroke extractor 20 creates a plurality of substrokes. Each substroke comprises a set of coordinate pairs.
  • the substrokes generated by substroke extractor 20 are passed across bus 22 to feature extractor 24.
  • Feature extractor 24 processes substroke data to extract a set of features, or measurements, that contain the same information as the substroke but with reduced dimensionality.
  • the features generated by feature extractor 24 are passed across bus 26 to feature classifier 28.
  • Feature classifier 28 identifies a character from the handwritten text based on the extracted features it receives.
  • the novel boundary recognizing method and system are implemented in the feature classifier 28.
  • a signal which provides the identity of the character is generated as an output of the handwriting recognition system on bus 10.
  • Operation of the handwriting recognition system commences when a user writes a stroke of handwriting onto digitizer tablet 4 with pen 2.
  • a stroke is defined as a sequence of samples taken from the handwriting, beginning when the pen initially contacts the writing surface of digitizer tablet 4 and ending when the pen subsequently breaks contact with the writing surface.
  • a stroke may include part of a character, a complete character, or many characters.
  • the sequence of samples is a sequence of coordinate pairs, (x, y) , which represent points on the writing surface contacted by the tip of pen 2; thus, a stroke comprises a sequence of coordinate pairs.
  • Each coordinate pair is typically coded as one or more digital words and transmitted to substroke extractor 20 using bus 6.
  • Substroke extractor 20 creates a plurality of substrokes from a stroke of handwriting.
  • Each substroke comprises a plurality of coordinate pairs.
  • a substroke may contain any number of coordinate pairs, in a preferred embodiment of the present invention, each substroke includes a sequence of 15 coordinate pairs.
  • a substroke codes only a fraction of one character.
  • an embodiment of the present invention may obtain a very high level of accuracy and robustness by incrementally accumulating recognition evidence by classifying the substrokes.
  • the use of substrokes allows greater immunity to hand/pen jitter, character flourishes, and noise from digitizer tablet 4.
  • the substrokes generated by substroke extractor 20 are transferred across bus 22 to feature extractor 24.
  • Feature extractor 24 processes substroke data to extract a set of features, or measurements, that contain the same information as the substroke but with reduced dimensionality. Examples of features which might be extracted are average rectilinear and angular velocity, either of which may be calculated from the coordinate pairs of a substroke.
  • the feature extraction, which is performed on the substrokes, results in a representation of the substrokes which characterizes the relevant features of the handwritten text. It can be regarded as a data reduction procedure that retains vital characteristics of the handwritten text while eliminating the undesirable interference from irrelevant characteristics of the text, thus easing the decision-making process of feature classifier 28.
  • Feature classifier 28 identifies characters from the handwritten text based on the extracted features it receives across bus 26.
  • a feature classifier makes a decision as to which class an input pattern belongs.
  • feature classifier 28 implements one or more discriminant functions, each of which utilizes the extracted features. The discriminant functions assist in determining the class to which the extracted features belong.
  • Each class is labeled with a character identity. After receiving a sufficient number of extracted features to determine the identity of a character, feature classifier 28 generates the identity of the character as an output of the handwriting recognition system on bus 10.
  • FIG. 3 shows a flow diagram of a method of identifying a segment stroke from a sample of handwritten text in accordance with a preferred embodiment of the present invention.
  • a sample of handwritten text which comprises a stroke, is received.
  • a stroke may include more than one character.
  • a segment stroke is defined.
  • a segment stroke is the portion of a stroke which occurs between two characters. Essentially, a segment stroke contains the boundary between two characters which are included in a stroke.
  • a segment stroke may comprise one or more substrokes.
  • the boundary between two characters in the sample of handwritten text is recognized by identifying the segment stroke.
  • a segment stroke does not represent a textual character, it may be identified using a means or method similar to that used for identifying a character.
  • FIG. 4 illustrates an example of typical cursive handwriting.
  • Handwriting stroke 54 is of the word "animal” and is depicted as being written on a coordinate plane, the dimensions of which are given by axes 50 and 52.
  • Stroke 54 may be represented as a plurality of pixels, wherein each pixel is associated with a coordinate pair, (x,y). The y coordinate of each pixel is given by axis 50; and the x coordinate of each pixel is given by axis 52.
  • Sample 54 includes five segment strokes. The segment strokes are identified by numerals 56, 58, 60, 62, and 64.
  • FIG. 5 shows a flow diagram of a method of using a learning machine to recognize characters in a stroke of handwritten text.
  • a learning machine may be a neural network or any other system which may be inductively trained to classify patterns.
  • the learning machine is trained with a plurality of handwriting examples.
  • the plurality of handwriting examples includes examples of letters, numerals, punctuation marks and segment strokes.
  • a handwriting example is defined as a set of given inputs and a desired output(s) .
  • a handwriting example may include as given inputs a set of features extracted from a cursively written letter, and as desired output, the example may include a binary code which represents the letter in ASCII.
  • Training the learning machine transforms the learning machine into a device which is capable of classifying the data it receives; thus, in a preferred embodiment of the present invention, a trained learning machine is capable of classifying segment strokes.
  • the handwritten stroke may include a plurality of unidentified characters which are separated by segment strokes.
  • a substroke extractor generates a plurality of substrokes from the handwritten stroke.
  • a frame extractor extracts a plurality of features from the plurality of substrokes.
  • the extracted features may include angular velocity, curvilinear velocity, stroke angle, stroke curvature, Fourier coefficients, or the coefficients to a first order polynomial which is fitted to the curvilinear or angular velocity profiles of portions of the handwritten stroke.
  • at least one character in the handwritten stroke is identified by classifying the features.
  • the handwritten stroke comprises characters which are separated by segment strokes, the segment strokes must also be identified in order to determine the boundaries of each character. Determining the boundaries of a character increases the probability of correctly identifying the character. Segment strokes are identified in the same manner as characters.
  • FIG. 6 illustrates a classifier which receives a plurality of extracted features.
  • Classifier 80 receives extracted features on its inputs 82, 84, 86, 88, 90, 92, 94, and 96. The features may be simultaneously received on the inputs.
  • the set of features received by classifier 80 include coefficients ao, ai, . . ., and bo, bi, . . . of the first order polynomials which are fitted to the curvilinear and angular velocity profiles given by Equation 2 and Equation 3 which follow, respectively.
  • a parametric decision method is used by classifier 80 to determine whether a set of features belongs to a certain class.
  • a class may represent either a character or a segment stroke.
  • classifier 80 Upon receiving a set of features, classifier 80 computes its respective discriminant function and produces the result on output 98.
  • the amplitude of the result indicates whether a set of features belongs to the class which corresponds to the discriminant function.
  • the amplitude of the result is directly proportional to the likelihood that the set of features belongs to the corresponding class.
  • the discriminant function implemented by classifier 80 is based upon the use of a polynomial expansion and, in a loose sense, the use of an orthogonal function, such as a sine, cosine, exponential/logarithmic, Fourier transformation, Legendre polynomial, non-linear basis function such as a Volterra function or a radial basis function, or the like, or a combination of polynomial expansion and orthogonal functions.
  • an orthogonal function such as a sine, cosine, exponential/logarithmic, Fourier transformation, Legendre polynomial, non-linear basis function such as a Volterra function or a radial basis function, or the like, or a combination of polynomial expansion and orthogonal functions.
  • FIG. 7 illustrates a classifier which receives a sequence of extracted features. Each of the extracted features are fed across input 102 to classifier 100. Classifier 100 performs essentially the same functions as classifier 80 of FIG. 8. Classifier 100 provides the results of its operations on output 104. In the example shown, the set of features received by classifier 100, include coefficients ao, ai, . . ., and bo, bi, . . . of the first order polynomials which are fitted to the curvilinear and angular velocity profiles given by Equation 2 and Equation 3, respectively.
  • FIG. 8 illustrates a block diagram of the classifier shown in FIG. 7 in accordance with a preferred embodiment of the present invention.
  • Computer 110 implements segment classifier 100 of FIG. 7.
  • Computer 110 includes a plurality of computing elements, of which computing elements 111, 113, and 115 are shown. Computer 110 also includes summation circuit 117.
  • a polynomial expansion is calculated by computer 110 in the following manner.
  • a plurality of data inputs xi, X2, . . ., Xn are fed into computer 110 using bus 119 and then distributed to the plurality of computing elements, represented by 111, 113, and 115.
  • the data inputs would be extracted features.
  • Each computing element computes a term in the polynomial expansion and determines which of the data inputs to receive.
  • a computing element passes the term to summing circuit 117 which sums the terms computed by the computing elements and places the sum on computer output 133.
  • Computing element 111 computes the term xi ⁇ ii X 2 ⁇ 2i and then sends it to summing circuit 117 over bus 127;
  • computing element 113 computes the term x ⁇ 9i2 X 2 ⁇ 22 and then sends it to summing circuit 117 over bus 129; and computing element 115 computes the term x n 9nm and then sends it to summing circuit 117 over bus 131.
  • summing circuit 117 sums the terms and places the resulting polynomial expansion on computer output 133.
  • computer 110 is capable of computing polynomials of the form given by Equation 1 which have a number of terms different from the above example, and polynomials whose terms are composed of data inputs different from those of the above example.
  • the computer 110 is implemented by software running on a processor such as a microprocessor.
  • a processor such as a microprocessor.
  • a programmable logic array, ASIC or other digital logic device could also be used to implement the functions performed by the computer 110.
  • FIG. 9 shows a flow diagram of a method of training a learning machine to classify characters in handwritten text in accordance with a preferred embodiment of the present invention.
  • a handwriting recognition system constructed in accordance with an embodiment of present invention has principally two modes of operation: (1) a training mode in which examples of handwritten text are used to train one or more learning machines, and (2) a recognition mode in which unknown characters in a handwritten stroke are identified.
  • a user must train learning machine 176 by providing examples of all of the characters and segment strokes that the system is to recognize.
  • a learning machine may be trained to classify a segment stroke by using the same method used to train a learning machine to classify a character.
  • a learning machine may be trained to be a classifier which implements a discriminant function based on a polynomial expansion of the form given by Equation 1.
  • the coefficient, wi-i, of each term in the polynomial expansion must be determined. This can be accomplished by the use of the following training method.
  • a handwriting example comprises two components.
  • the first component is a set of handwriting examples
  • the second component is a corresponding desired output, that is, the desired character class to which that the stroke belongs.
  • the trainer compares the number of handwriting examples with the number of computing elements in the classifier.
  • decision box 144 a check is made to determine whether the number of computing elements is less than or equal to the number of handwriting examples. If so, the method proceeds to box 146. If not, the method proceeds to box 148.
  • a matrix inversion technique is used to solve for the value of each polynomial coefficient.
  • a least squares estimation technique is used to solve for the value of each polynomial coefficient.
  • Suitable least-squares estimation techniques include, for example, least-squares, extended least-squares, pseudo- inverse, Kalman filter, maximum-likelihood algorithm, Bayesian estimation, and the like.
  • FIG. 10 shows a block diagram of a system to train a learning machine in accordance with an embodiment of the present invention.
  • Handwriting samples are received by substroke extractor 20 via bus 160.
  • a handwriting sample comprises a sequence of coordinate pairs, wherein each coordinate pair is typically coded as one or more digital words.
  • Substroke extractor 20 in turn generates a plurality of substrokes from each sample and transmits the substrokes over bus 164 to feature extractor 166. Further description of substroke extractor 20 can be obtained by reference to FIG. 2.
  • Feature extractor 166 produces a plurality of features which are passed to trainer 172 over bus 168.
  • trainer 172 receives desired classifier outputs, which correspond to respective handwriting samples, over bus 170.
  • Trainer 172 computes polynomial coefficients according to the .method shown in FIG. 9. These coefficients are passed across bus 174 to learning machine 176. Learning machine 176 utilizes the polynomial coefficients received over bus 174 to create a character classifier. The character classifier is available from learning machine 176 on bus 180.
  • Feature extractor 166 processes the coordinate pairs of one or more substrokes to extract a set of features, or measurements, that contain the same information as the substroke but with reduced dimensionality.
  • features which may be extracted by feature extractor 166 are average rectilinear velocity, curvilinear velocity, angular velocity, stroke angle, stroke curvature, Fourier coefficients, or coefficients of a polynomial.
  • feature extractor 166 calculates coefficients of a first order polynomial which is fitted to a curvilinear velocity profile. These coefficients are then passed to trainer 172. Feature extractor 166 calculates the coefficients by estimating the instantaneous curvilinear velocity of each substroke. A velocity profile is formed by ordering these estimates sequentially according to the order of the substrokes. The polynomial coefficients are then computed using a least squares technique; in other words, the first order polynomial is fitted to the curvilinear velocity profile.
  • the first order polynomial fitted to the curvilinear velocity profile is represented by Equation 2 as follows:
  • v( k ) represents the curvilinear velocity of the kth sample
  • v(j ⁇ -i) represents the curvilinear velocity of the (k-l)th sample
  • v'j ⁇ -2) represents the curvilinear velocity of the (k-2)th sample
  • v(k-3) represents the curvilinear velocity of the (k-3)th sample
  • k is an integer index
  • ao, ai, a2, and a3 represent coefficients of the polynomial fitted to the curvilinear velocity profile.
  • feature extractor 166 calculates coefficients of a first order polynomial which is fitted to an angular velocity profile. These coefficients are then passed to trainer 172.
  • Feature extractor 166 calculates the coefficients by estimating the instantaneous angular velocity of each sample.
  • a velocity profile is formed by ordering these estimates sequentially according to the order of the samples.
  • the polynomial coefficients are then computed using a least squares technique; in other words, the first order polynomial is fitted to the angular velocity profile.
  • v(k) represents the angular velocity of the kth sample
  • v(k-i) represents the angular velocity of the (k- l)th sample
  • v(j ⁇ -2) represents the angular velocity of the (k-2)th sample
  • v(j ⁇ -3) represents the angular velocity of (k-3)th sample
  • k is an integer index
  • bo, bi, b2, and b3 represent coefficients of the polynomial fitted to the angular velocity profile.
  • a first order polynomial fitted to a velocity profile is based on the fact that the velocity corresponding to the kth sample can be estimated as a linear combination of the velocities of the three previous frames.
  • the polynomial coefficients will quantify the velocity in a distortion invariant manner, thereby increasing the accuracy of the handwriting recognition system.
  • the system shown in FIG. 10 is implemented by software running on a processor such as a microprocessor.
  • a programmable logic array, ASIC or other digital logic device could also be used to implement the functions performed by the system shown in FIG 10.
  • FIG. 11 illustrates a block diagram of a handwriting recognition system in accordance with a further embodiment of the present invention.
  • the handwriting recognition system comprises substroke extractor 20, feature extractor 166, and recognition means 200.
  • Recognition means 200 includes a plurality of classifiers and a selector. Of the plurality of classifiers, character classifier 202, 204, and 206 are shown. Also shown is segment classifier 208.
  • a handwritten stroke is fed into substroke extractor 20 across bus 190.
  • Substroke extractor 20 extracts a plurality of substrokes from the handwritten stroke. These substrokes are then fed via bus 164 to feature extractor 166.
  • Feature extractor 166 creates a set of relevant features. These features are then distributed by bus 198 to a plurality of classifiers included in recognition means 200. In the example given by FIG. 11, four of the plurality of classifiers are shown.
  • Each classifier implements a different discriminate function.
  • character classifier 202 implements a discriminate function for the character "A"; while character classifier 204 implements a discriminate function for the character "B"; and character classifier 206 implements a discriminate function for the character "Z”.
  • Segment classifier 208 implements a discriminate function for a segment stroke.
  • the discriminate functions implemented by each of the classifiers in recognition means 200 is a polynomial expansion of the form given by Equation 1.
  • the result of the discriminate function implemented by character classifier 202 is passed to selector 210 across bus 212; the result of the discriminate function implemented by character classifier 204 is passed across bus 214 to selector 210; and the result of the discriminate function implemented by character classifier 206 is passed across bus 216 to selector 210.
  • the result of the discriminate function implemented by segment classifier 208 is passed across bus 218 to selector 210.
  • Selector 210 determines which of the character classifier outputs has the largest amplitude and then produces a representation of the corresponding character identity on output 220.
  • the handwritten stroke comprises characters which are separated by segment strokes, the segment strokes must also be identified in order to determine the boundaries of each character.
  • Segment strokes are identified in the same manner as characters; that is, they are identified by classifying features.
  • the various embodiments of methods and systems for identifying boundaries between characters in handwritten text as herein-described do not require lengthy or repetitive training periods, they are more acceptable to users. Additionally, the various embodiments of the present invention as herein-described allow boundaries between characters in handwritten text to be identified in the same manner that characters are identified, thus reducing the overall complexity and cost of a handwriting recognition system.

Abstract

A method and system for identifying boundaries of characters in handwritten text by classifying segment strokes provides improved performance in a handwriting recognition system. A segment stroke is a portion of handwritten text which includes a boundary between two characters. The segment stroke is recognized by the same method used to recognize characters. Recognition of a segment stroke is accomplished by training a learning machine to act as a classifier (208) which implements a discriminant function based on a polynomial expansion.

Description

METHOD AND SYSTEM FOR RECOGNIZING A BOUNDARY BETWEEN CHARACTERS IN HANDWRITTEN TEXT
Related Inventions
The present invention is related to the following invention which is assigned to the same assignee as the present invention: (1) "Neural Network and Method of Using Same", having Serial No. 08/076,601, filed on June 14, 1993.
The subject matter of the above-identified related invention is hereby incorporated by reference into the disclosure of this invention.
Technical Field
This invention relates generally to character recognition and, in particular, to a method and system for identifying characters contained in handwritten text.
Background of the Invention
Prior art handwriting recognition systems are commonly of a design which limits their ability to reliably identify cursive or partially connected handwritten text. A fundamental problem of current handwriting recognition systems is that they cannot consistently identify individual characters contained in a sample of cursively written text. In general, prior art systems have attempted to overcome this problem using one of three approaches. All three approaches rely on segmenting a continuous pen stroke in order to isolate individual characters within the stroke. Using the first prior art approach, the characters are isolated by segmenting the cursive stroke based on pen pressure. The assumption is that as the end of character nears, the writer will ease up on the pen and not press as hard, thus allowing the beginning and end of a character to be recognized. There are two problems with this approach: first, not all writers vary their pen pressure; therefore, the system will not work reliably for all users; second, a device which senses and records pen pressure vastly increases the complexity and cost of a handwriting recognition system.
The second prior art approach attempts to isolate characters by segmenting the cursive text based on curvilinear velocity of the pen tip. The assumption here is that as the end of the character nears, the writer will slow down. Conversely, at the start of the next character, the writer will speed up. This is a very unreliable approach as there are many situations, besides the beginning and ending of a character, when a writer will slow down and then speed up. In a third prior art approach, characters are isolated by segmenting the cursive text at points where the pen tip is not moving in the vertical direction. It is assumed that such points exist only between characters. This again is also a very unreliable assumption. Almost every writer has a style wherein the connecting stroke between at least some of the characters has a velocity in the vertical direction. The three prior art approaches discussed above will isolate some characters. However, the number of mistakes that they induce seriously reduces the ability of a handwriting recognition system to achieve a high level of accuracy. Another limitation of many available handwriting recognition systems is that they require an extensive amount of time to train. Generally, the burden of training a recognition system falls on the user, thus making the use of the system a time consuming chore. Therefore, there is a significant need for a handwriting recognition system which allows cursive handwritten text to be accurately processed in a manner that reduces the overall complexity of the handwriting recognition system. Such a system must reliably isolate individual characters contained in the text. In addition, there is a need for a handwriting recognition system which doesn't require repetitive training.
Summary of Invention
It is thus an advantage of the present invention to provide a method for identifying characters from cursively written text. The method recognizes boundaries between characters, thereby vastly increasing the likelihood of correctly identifying characters.
Another advantage of the present invention is to provide a method and system for training a learning machine to identify characters from handwritten text wherein the method and system do not require a repetitive or lengthy training period.
A further advantage of the present invention is to provide a system which allows boundaries between characters in handwritten text to be identified in the same manner that characters are identified, thus reducing the overall complexity of the system.
In one embodiment of the present invention there is provided a method for recognizing a boundary between two characters in a sample of handwritten text. This method is applicable in a system for recognizing a plurality of characters from a sample of handwritten text. The method comprises the following steps: receiving the sample of handwritten text; defining a segment stroke, which includes the boundary, as one of the plurality of characters; and recognizing the boundary by identifying the segment stroke in the sample of handwritten text.
In another embodiment of the present invention there is provided a method of using a learning machine to recognize a segment stroke. This embodiment of the present invention includes the following steps: training the learning machine, with a plurality of handwriting examples, to identify the segment stroke; receiving a handwritten stroke which includes the segment stroke; extracting a plurality of features from the handwritten stroke; and recognizing the segment stroke in the handwritten stroke by classifying the features.
In a further embodiment of the present invention, there is provided a handwriting recognition system for recognizing at least one character from a handwritten stroke. Such embodiment of the present invention includes a trainer which trains a learning machine to identify at least one character by creating a character classifier. Additionally, the trainer provides a plurality of handwriting examples. The system also includes a substroke extractor which receives the handwritten stroke and generates a plurality of substrokes; a feature extractor which is responsive to the plurality of substrokes and extracts a plurality of features from the handwritten stroke; and a recognizing means which is operatively coupled to the feature extractor and the learning machine. The recognizing means recognizes at least one character in the handwritten stroke by applying the character classifier to the plurality of features.
Brief Description of the Drawings
The invention is pointed out with particularity in the appended claims. However, other features of the invention will become more apparent and the invention will be best understood by referring to the following detailed description in conjunction with the accompanying drawings in which:
FIG. 1 shows a contextual diagram of a handwriting recognition system as used by the method and system of the present invention. FIG. 2 illustrates a block diagram of a handwriting recognition system used by the method and system of the present invention.
FIG. 3 shows a flow diagram of a method of identifying a segment stroke from a sample of handwritten text in accordance with a preferred embodiment of the present invention.
FIG. 4 illustrates an example of typical cursive handwriting. FIG. 5 shows a flow diagram of a method of using a learning machine to recognize characters in a stroke of handwritten text.
FIG. 6 illustrates a segment classifier which receives a plurality of extracted features. FIG. 7 illustrates a segment classifier which receives a sequence of extracted features.
FIG. 8 is a block diagram of the segment classifier shown in FIG. 7 in accordance with a preferred embodiment of the present invention. FIG. 9 shows a flow diagram of a method of training a learning machine to classify characters in handwritten text in accordance with a preferred embodiment of the present invention.
FIG. 10 shows a block diagram of a system to train a learning machine in accordance with an embodiment of the present invention.
FIG. 11 illustrates a block diagram of a handwriting recognition system in accordance with a further embodiment of the present invention.
Detailed Description of a Preferred Embodiment
It will be understood by one of ordinary skill in the art that the methods of the present invention may be implemented in hardware or software, or any combination thereof, and that the terms "stroke", "handwritten stroke", and "handwriting stroke" are used interchangeably in this description.
FIG. 1 shows a contextual block diagram of a character recognition system used in one embodiment of the present invention. Character recognition system 8 is connected to digitizer tablet 4 by bus 6 and to computer 12 by bus 10. In the example shown, digitizer tablet 4 preprocesses user input, and character recognition system 8 receives the preprocessed user input across bus 6. Character recognition system 8 then identifies characters included in the user input and transmits, in a suitable computer- readable form, the identity of the characters across bus 10 to computer 12.
In an embodiment of the present invention herein disclosed, character recognition system 8 is used to identify characters contained in handwritten text. Such a system may be used to identify characters from many different languages and alphabets. For example, a set of identifiable characters may include the upper and lower case English alphabet, numerals, or punctuation marks. This character recognition system 8 contains the novel features for recognizing the boundary between two characters as will be described in further detail in conjunction with FIG. 3. A user of such a system uses pen or stylus 2 to write text onto digitizer tablet 4. Digitizer tablet 4 captures handwritten text and converts it into a digital format. Essentially, digitizer tablet 4 provides a flat surface upon which a user writes text. The surface may be represented as a coordinate plane which has an x-axis and y-axis. Thus, a point on the surface may be represented by a coordinate pair (x, y) . The surface includes a flat panel of charge coupled devices which are sensitive to the motion of the tip of pen 2, and the surface possibly includes a liquid crystal display (LCD) for pixel display of the motion of pen 2 . The position and movement of pen 2 is captured by the panel and digitized as a sequence of coordinate pairs, (x, y) , while the user is writing on the surface. The sequence of coordinate pairs is then passed via bus 6 to character recognition system 8.
One of ordinary skill in the art will appreciate that character recognition system 8 is not limited to receiving user input from a digitizer tablet and that other devices, for example an optical scanner, may instead be used to provide user input to character recognition system 8. Additionally, one of ordinary skill will understand that character recognition system 8 may transmit character identities to devices other than a computer. For example, a communication network, data storage system, or transcription device could be substituted for computer 12. In accordance with an embodiment of the present invention, character recognition system 8 performs as a handwriting recognition system. In this capacity, the functions of character recognition system 8 include substroke extraction, feature extraction, and feature classification. The functions of character recognition system 8 are further described in reference to FIG. 2.
FIG. 2 illustrates a block diagram of a handwriting recognition system used in conjunction with one embodiment of the present invention. Pen 2 is used to enter handwritten text onto digitizer tablet 4. Digitizer tablet 4 provides a plurality of coordinate pairs, which represent the handwritten text, via bus 6 to substroke extractor 20. Substroke extractor 20 creates a plurality of substrokes. Each substroke comprises a set of coordinate pairs. The substrokes generated by substroke extractor 20 are passed across bus 22 to feature extractor 24. Feature extractor 24 processes substroke data to extract a set of features, or measurements, that contain the same information as the substroke but with reduced dimensionality. The features generated by feature extractor 24 are passed across bus 26 to feature classifier 28. Feature classifier 28 identifies a character from the handwritten text based on the extracted features it receives. In a preferred embodiment of the present invention, the novel boundary recognizing method and system are implemented in the feature classifier 28. A signal which provides the identity of the character is generated as an output of the handwriting recognition system on bus 10.
Operation of the handwriting recognition system commences when a user writes a stroke of handwriting onto digitizer tablet 4 with pen 2. A stroke is defined as a sequence of samples taken from the handwriting, beginning when the pen initially contacts the writing surface of digitizer tablet 4 and ending when the pen subsequently breaks contact with the writing surface. A stroke may include part of a character, a complete character, or many characters. Essentially, the sequence of samples is a sequence of coordinate pairs, (x, y) , which represent points on the writing surface contacted by the tip of pen 2; thus, a stroke comprises a sequence of coordinate pairs. Each coordinate pair is typically coded as one or more digital words and transmitted to substroke extractor 20 using bus 6.
Substroke extractor 20 creates a plurality of substrokes from a stroke of handwriting. Each substroke comprises a plurality of coordinate pairs. Although a substroke may contain any number of coordinate pairs, in a preferred embodiment of the present invention, each substroke includes a sequence of 15 coordinate pairs. Essentially, a substroke codes only a fraction of one character. By creating substrokes, an embodiment of the present invention may obtain a very high level of accuracy and robustness by incrementally accumulating recognition evidence by classifying the substrokes. In addition, the use of substrokes allows greater immunity to hand/pen jitter, character flourishes, and noise from digitizer tablet 4. The substrokes generated by substroke extractor 20 are transferred across bus 22 to feature extractor 24. Feature extractor 24 processes substroke data to extract a set of features, or measurements, that contain the same information as the substroke but with reduced dimensionality. Examples of features which might be extracted are average rectilinear and angular velocity, either of which may be calculated from the coordinate pairs of a substroke. The feature extraction, which is performed on the substrokes, results in a representation of the substrokes which characterizes the relevant features of the handwritten text. It can be regarded as a data reduction procedure that retains vital characteristics of the handwritten text while eliminating the undesirable interference from irrelevant characteristics of the text, thus easing the decision-making process of feature classifier 28. Feature classifier 28 identifies characters from the handwritten text based on the extracted features it receives across bus 26. In general, a feature classifier makes a decision as to which class an input pattern belongs. Specifically, feature classifier 28 implements one or more discriminant functions, each of which utilizes the extracted features. The discriminant functions assist in determining the class to which the extracted features belong. Each class is labeled with a character identity. After receiving a sufficient number of extracted features to determine the identity of a character, feature classifier 28 generates the identity of the character as an output of the handwriting recognition system on bus 10.
A difficulty with classifying characters occurs when a user writes cursively, that is, when a user writes a stroke which contains a plurality of characters. In order to correctly identify each of the characters, a handwriting recognition system must identify where one character ends and the next begins in a stroke. Thus, there is provided by a preferred embodiment of the present invention a method for identifying the boundary between two characters in a stroke of handwritten text. FIG. 3 shows a flow diagram of a method of identifying a segment stroke from a sample of handwritten text in accordance with a preferred embodiment of the present invention. In box 40, a sample of handwritten text, which comprises a stroke, is received. A stroke may include more than one character.
In box 42, a segment stroke is defined. A segment stroke is the portion of a stroke which occurs between two characters. Essentially, a segment stroke contains the boundary between two characters which are included in a stroke. A segment stroke may comprise one or more substrokes.
Next, in box 44, the boundary between two characters in the sample of handwritten text is recognized by identifying the segment stroke. Although a segment stroke does not represent a textual character, it may be identified using a means or method similar to that used for identifying a character.
FIG. 4 illustrates an example of typical cursive handwriting. Handwriting stroke 54 is of the word "animal" and is depicted as being written on a coordinate plane, the dimensions of which are given by axes 50 and 52. Stroke 54 may be represented as a plurality of pixels, wherein each pixel is associated with a coordinate pair, (x,y). The y coordinate of each pixel is given by axis 50; and the x coordinate of each pixel is given by axis 52. Sample 54 includes five segment strokes. The segment strokes are identified by numerals 56, 58, 60, 62, and 64.
FIG. 5 shows a flow diagram of a method of using a learning machine to recognize characters in a stroke of handwritten text. A learning machine may be a neural network or any other system which may be inductively trained to classify patterns.
In box 70, the learning machine is trained with a plurality of handwriting examples. In one embodiment of the present invention, the plurality of handwriting examples includes examples of letters, numerals, punctuation marks and segment strokes. A handwriting example is defined as a set of given inputs and a desired output(s) . For instance, a handwriting example may include as given inputs a set of features extracted from a cursively written letter, and as desired output, the example may include a binary code which represents the letter in ASCII.
Training the learning machine transforms the learning machine into a device which is capable of classifying the data it receives; thus, in a preferred embodiment of the present invention, a trained learning machine is capable of classifying segment strokes.
In box 72, a handwritten stroke is provided. The handwritten stroke may include a plurality of unidentified characters which are separated by segment strokes.
Next, in box 74, a substroke extractor generates a plurality of substrokes from the handwritten stroke.
In box 76, a frame extractor extracts a plurality of features from the plurality of substrokes. As an example, the extracted features may include angular velocity, curvilinear velocity, stroke angle, stroke curvature, Fourier coefficients, or the coefficients to a first order polynomial which is fitted to the curvilinear or angular velocity profiles of portions of the handwritten stroke. In box 78, at least one character in the handwritten stroke is identified by classifying the features. When the handwritten stroke comprises characters which are separated by segment strokes, the segment strokes must also be identified in order to determine the boundaries of each character. Determining the boundaries of a character increases the probability of correctly identifying the character. Segment strokes are identified in the same manner as characters. That is, they are identified by classifying features. FIG. 6 illustrates a classifier which receives a plurality of extracted features. Classifier 80 receives extracted features on its inputs 82, 84, 86, 88, 90, 92, 94, and 96. The features may be simultaneously received on the inputs. In the example shown, the set of features received by classifier 80, include coefficients ao, ai, . . ., and bo, bi, . . . of the first order polynomials which are fitted to the curvilinear and angular velocity profiles given by Equation 2 and Equation 3 which follow, respectively.
In a preferred embodiment of the present invention, a parametric decision method is used by classifier 80 to determine whether a set of features belongs to a certain class. A class may represent either a character or a segment stroke. Using a parametric decision method, classifier 80 implements a discriminant function y(X), where X = lxχ, 2, ..., i) is the set of features and i is an integer index. Upon receiving a set of features, classifier 80 computes its respective discriminant function and produces the result on output 98. Generally, the amplitude of the result indicates whether a set of features belongs to the class which corresponds to the discriminant function. In a preferred embodiment of the present invention, the amplitude of the result is directly proportional to the likelihood that the set of features belongs to the corresponding class.
The discriminant function implemented by classifier 80 is based upon the use of a polynomial expansion and, in a loose sense, the use of an orthogonal function, such as a sine, cosine, exponential/logarithmic, Fourier transformation, Legendre polynomial, non-linear basis function such as a Volterra function or a radial basis function, or the like, or a combination of polynomial expansion and orthogonal functions.
A preferred embodiment of the present invention employs a polynomial expansion of which the general case is represented by Equation 1 as follows: m y = Σ i-ι*xι9li*x292i* . . . *xn9ni Equation 1 i=l
where i represents the classifier inputs and can be a function such as xi = fj.(zj), wherein zj is any arbitrary variable, and where the indices i, j, and m may be any integers; where y represents the output of the classifier; where wi-i represents the coefficient for the ith term; where gii, . . ., gni represent the exponents for the ith term and are integers; and n is the number of classifier inputs.
FIG. 7 illustrates a classifier which receives a sequence of extracted features. Each of the extracted features are fed across input 102 to classifier 100. Classifier 100 performs essentially the same functions as classifier 80 of FIG. 8. Classifier 100 provides the results of its operations on output 104. In the example shown, the set of features received by classifier 100, include coefficients ao, ai, . . ., and bo, bi, . . . of the first order polynomials which are fitted to the curvilinear and angular velocity profiles given by Equation 2 and Equation 3, respectively. FIG. 8 illustrates a block diagram of the classifier shown in FIG. 7 in accordance with a preferred embodiment of the present invention. Computer 110 implements segment classifier 100 of FIG. 7. Computer 110 includes a plurality of computing elements, of which computing elements 111, 113, and 115 are shown. Computer 110 also includes summation circuit 117.
A polynomial expansion is calculated by computer 110 in the following manner. A plurality of data inputs xi, X2, . . ., Xn are fed into computer 110 using bus 119 and then distributed to the plurality of computing elements, represented by 111, 113, and 115. Typically, the data inputs would be extracted features. Each computing element computes a term in the polynomial expansion and determines which of the data inputs to receive. After computing a term, a computing element passes the term to summing circuit 117 which sums the terms computed by the computing elements and places the sum on computer output 133.
For example, FIG. 8 depicts the computation of the polynomial y = xi^n X2 2i + xι9l2 X2^22 + . . . xn9nm, where n is the number of inputs and m is the number of terms in the polynomial. Computing element 111 computes the term xi^ii X2^2i and then sends it to summing circuit 117 over bus 127; computing element 113 computes the term xι9i2 X2^22 and then sends it to summing circuit 117 over bus 129; and computing element 115 computes the term xn9nm and then sends it to summing circuit 117 over bus 131. Upon receiving the terms from the computing elements, summing circuit 117 sums the terms and places the resulting polynomial expansion on computer output 133.
It will be apparent to one of ordinary skill that computer 110 is capable of computing polynomials of the form given by Equation 1 which have a number of terms different from the above example, and polynomials whose terms are composed of data inputs different from those of the above example.
In one embodiment of the present invention, the computer 110 is implemented by software running on a processor such as a microprocessor. However, one of ordinary skill in the art will recognize that a programmable logic array, ASIC or other digital logic device could also be used to implement the functions performed by the computer 110.
FIG. 9 shows a flow diagram of a method of training a learning machine to classify characters in handwritten text in accordance with a preferred embodiment of the present invention. A handwriting recognition system constructed in accordance with an embodiment of present invention has principally two modes of operation: (1) a training mode in which examples of handwritten text are used to train one or more learning machines, and (2) a recognition mode in which unknown characters in a handwritten stroke are identified. Referring to FIG. 10, generally, a user must train learning machine 176 by providing examples of all of the characters and segment strokes that the system is to recognize. In a preferred embodiment of the present invention, a learning machine may be trained to classify a segment stroke by using the same method used to train a learning machine to classify a character. In a preferred embodiment of the present invention, a learning machine may be trained to be a classifier which implements a discriminant function based on a polynomial expansion of the form given by Equation 1. For the discriminant function to effectively classify input data, the coefficient, wi-i, of each term in the polynomial expansion must be determined. This can be accomplished by the use of the following training method.
Referring back to FIG. 9, in box 140, a plurality of handwriting examples is provided to a trainer. A handwriting example comprises two components. The first component is a set of handwriting examples, and the second component is a corresponding desired output, that is, the desired character class to which that the stroke belongs. Next, in box 142, the trainer compares the number of handwriting examples with the number of computing elements in the classifier.
In decision box 144, a check is made to determine whether the number of computing elements is less than or equal to the number of handwriting examples. If so, the method proceeds to box 146. If not, the method proceeds to box 148.
In box 146, a matrix inversion technique is used to solve for the value of each polynomial coefficient.
In box 148, a least squares estimation technique is used to solve for the value of each polynomial coefficient. Suitable least-squares estimation techniques include, for example, least-squares, extended least-squares, pseudo- inverse, Kalman filter, maximum-likelihood algorithm, Bayesian estimation, and the like.
In implementing a classifier of the present invention, one generally selects the number of computing elements in the classifier to be equal to or less than the number of examples presented to the learning machine.
FIG. 10 shows a block diagram of a system to train a learning machine in accordance with an embodiment of the present invention. Handwriting samples are received by substroke extractor 20 via bus 160. A handwriting sample comprises a sequence of coordinate pairs, wherein each coordinate pair is typically coded as one or more digital words. Substroke extractor 20, in turn generates a plurality of substrokes from each sample and transmits the substrokes over bus 164 to feature extractor 166. Further description of substroke extractor 20 can be obtained by reference to FIG. 2. Feature extractor 166 produces a plurality of features which are passed to trainer 172 over bus 168. In addition, trainer 172 receives desired classifier outputs, which correspond to respective handwriting samples, over bus 170. Trainer 172 computes polynomial coefficients according to the .method shown in FIG. 9. These coefficients are passed across bus 174 to learning machine 176. Learning machine 176 utilizes the polynomial coefficients received over bus 174 to create a character classifier. The character classifier is available from learning machine 176 on bus 180.
Feature extractor 166 processes the coordinate pairs of one or more substrokes to extract a set of features, or measurements, that contain the same information as the substroke but with reduced dimensionality. Examples of features which may be extracted by feature extractor 166 are average rectilinear velocity, curvilinear velocity, angular velocity, stroke angle, stroke curvature, Fourier coefficients, or coefficients of a polynomial.
In one embodiment of the present invention, feature extractor 166 calculates coefficients of a first order polynomial which is fitted to a curvilinear velocity profile. These coefficients are then passed to trainer 172. Feature extractor 166 calculates the coefficients by estimating the instantaneous curvilinear velocity of each substroke. A velocity profile is formed by ordering these estimates sequentially according to the order of the substrokes. The polynomial coefficients are then computed using a least squares technique; in other words, the first order polynomial is fitted to the curvilinear velocity profile. The first order polynomial fitted to the curvilinear velocity profile is represented by Equation 2 as follows:
v(k) = ao + aιv( -l) + a2V(k-2) + a3V(k-3) Equation 2
where v(k) represents the curvilinear velocity of the kth sample; v(jζ-i) represents the curvilinear velocity of the (k-l)th sample; v'jς-2) represents the curvilinear velocity of the (k-2)th sample; and v(k-3) represents the curvilinear velocity of the (k-3)th sample ; where k is an integer index; and where ao, ai, a2, and a3 represent coefficients of the polynomial fitted to the curvilinear velocity profile. In another embodiment of the present invention, feature extractor 166 calculates coefficients of a first order polynomial which is fitted to an angular velocity profile. These coefficients are then passed to trainer 172. Feature extractor 166 calculates the coefficients by estimating the instantaneous angular velocity of each sample. A velocity profile is formed by ordering these estimates sequentially according to the order of the samples. The polynomial coefficients are then computed using a least squares technique; in other words, the first order polynomial is fitted to the angular velocity profile. The first order polynomial fitted to the angular velocity profile is represented by Equation 3 as follows: v(k) = bo + bιv(k-l) + 2V( -2) + b3v(k-3)
Equation 3
where v(k) represents the angular velocity of the kth sample; v(k-i) represents the angular velocity of the (k- l)th sample; v(jς-2) represents the angular velocity of the (k-2)th sample; and v(jς-3) represents the angular velocity of (k-3)th sample ; where k is an integer index; and where bo, bi, b2, and b3 represent coefficients of the polynomial fitted to the angular velocity profile.
The use of a first order polynomial fitted to a velocity profile is based on the fact that the velocity corresponding to the kth sample can be estimated as a linear combination of the velocities of the three previous frames. The polynomial coefficients will quantify the velocity in a distortion invariant manner, thereby increasing the accuracy of the handwriting recognition system. In one embodiment of the present invention, the system shown in FIG. 10 is implemented by software running on a processor such as a microprocessor. However, one of ordinary skill in the art will recognize that a programmable logic array, ASIC or other digital logic device could also be used to implement the functions performed by the system shown in FIG 10.
FIG. 11 illustrates a block diagram of a handwriting recognition system in accordance with a further embodiment of the present invention. The handwriting recognition system comprises substroke extractor 20, feature extractor 166, and recognition means 200. Recognition means 200, in turn, includes a plurality of classifiers and a selector. Of the plurality of classifiers, character classifier 202, 204, and 206 are shown. Also shown is segment classifier 208.
A handwritten stroke is fed into substroke extractor 20 across bus 190. Substroke extractor 20 extracts a plurality of substrokes from the handwritten stroke. These substrokes are then fed via bus 164 to feature extractor 166. Feature extractor 166 creates a set of relevant features. These features are then distributed by bus 198 to a plurality of classifiers included in recognition means 200. In the example given by FIG. 11, four of the plurality of classifiers are shown.
Each classifier implements a different discriminate function. In the example shown, character classifier 202 implements a discriminate function for the character "A"; while character classifier 204 implements a discriminate function for the character "B"; and character classifier 206 implements a discriminate function for the character "Z". Segment classifier 208 implements a discriminate function for a segment stroke. The discriminate functions implemented by each of the classifiers in recognition means 200 is a polynomial expansion of the form given by Equation 1.
In the example, the result of the discriminate function implemented by character classifier 202 is passed to selector 210 across bus 212; the result of the discriminate function implemented by character classifier 204 is passed across bus 214 to selector 210; and the result of the discriminate function implemented by character classifier 206 is passed across bus 216 to selector 210. In addition, the result of the discriminate function implemented by segment classifier 208 is passed across bus 218 to selector 210.
Selector 210 determines which of the character classifier outputs has the largest amplitude and then produces a representation of the corresponding character identity on output 220. When the handwritten stroke comprises characters which are separated by segment strokes, the segment strokes must also be identified in order to determine the boundaries of each character.
Determining the boundaries of a character increases the probability of correctly identifying the character. Segment strokes are identified in the same manner as characters; that is, they are identified by classifying features.
Summary
Thus there has been described herein a concept, as well as several embodiments including a preferred embodiment, of a method and system for identifying boundaries between characters in handwritten text.
Because the various embodiments of methods and systems for identifying boundaries between characters in handwritten text as herein-described do not require lengthy or repetitive training periods, they are more acceptable to users. Additionally, the various embodiments of the present invention as herein-described allow boundaries between characters in handwritten text to be identified in the same manner that characters are identified, thus reducing the overall complexity and cost of a handwriting recognition system.
It will be apparent to those skilled in the art that the disclosed invention may be modified in numerous ways and may assume many embodiments other than the preferred form specifically set out and described above. Accordingly, it is intended by the appended claims to cover all modifications of the invention which fall within the true spirit and scope of the invention.

Claims

1. In a system for recognizing a plurality of characters from a handwritten text, a method for recognizing a boundary between two characters in the handwritten text, the method comprising the steps of:
(a) receiving the handwritten text;
(b) defining a segment stroke, which includes the boundary, as one of the plurality of characters; and (c) recognizing the boundary by identifying the segment stroke in the handwritten text.
2. The method of claim 1 wherein each of the plurality of characters is recognized by extraction of a plurality of features from the handwritten text.
3. The method of claim 2 wherein the plurality of features are derived from at least one coordinate of the handwritten text, over time, as the handwritten text is written.
4. The method of claim 3 wherein the plurality of features are angular velocity, curvilinear velocity, stroke angle, stroke curvature, Fourier coefficients, or coefficients of a polynomial that are derived from a plurality of samples of the handwritten text.
5. The method of claim 4 wherein the coefficients of a polynomial are based on a first order polynomial which is fitted to a curvilinear velocity profile:
vj = ao + aιv(k-l) + a2v(k-2) + 3v(k-3)
wherein v(k) represents a curvilinear velocity of a kth sample; wherein v(k-l) represents a curvilinear velocity of a
(k-l)th sample; wherein v(k-2) represents a curvilinear velocity of a (k-2)th sample; wherein v(k-3) represents a curvilinear velocity of a (k-3)th sample; wherein k is an integer index; and wherein ao, ai, a2, and a3 represent coefficients of the first order polynomial fitted to the curvilinear velocity profile.
6. The method of claim 4 wherein the coefficients of a polynomial are from a first order polynomial which is fitted to an angular velocity profile:
vk - bo + bιv(k-l) + b2V(k-2) + b3v(k-3)
wherein v(k) represents the angular velocity of a kth sample; wherein v(k-i) represents the angular velocity of a (k-l)th sample; wherein v(k-2) represents the angular velocity of a (k-2)th sample; wherein v(k-3) represents the angular velocity of a (k-3)th sample; wherein k is an integer index; and wherein ao, ai, a2, and a3 represent coefficients of the first order polynomial fitted to the angular velocity profile.
7. A method of using a learning machine to recognize a segment stroke, the method comprising the following steps: training the learning machine, with a plurality of handwriting examples, to identify the segment stroke; receiving a handwritten stroke which includes the segment stroke; extracting a plurality of features from the handwritten stroke; and recognizing the segment stroke in the handwritten stroke by classifying the features.
8. The method of claim 7 wherein the learning machine includes a computing device which implements a polynomial expansion.
9. The method of claim 8 wherein the polynomial expansion has the form:
m y = Σ Wi-i*Xι9li*X292i* • . . *xn gni i=l
wherein y represents an output of the computing device; wherein i, m, and n are integers; wherein wi-χ represents a coefficient of the ith term in the expansion; wherein xi, X2, • • •, xn represent inputs to the computing device; and wherein gn, . . ., gni represent exponents for the ith term in the expansion and which are applied to the inputs.
10. A handwriting recognition system for recognizing at least one character from a handwritten stroke, the system comprising: a trainer for training a learning machine to identify the at least one character by creating a character classifier, the trainer providing a plurality of handwriting examples; a substroke extractor for receiving the handwritten stroke and generating a plurality of substrokes; a feature extractor, responsive to the plurality of substrokes, for extracting a plurality of features from the handwritten stroke; and recognizing means, operatively coupled to the feature extractor and the learning machine, for recognizing the at least one character in the handwritten stroke by applying the character classifier to the plurality of features.
PCT/US1995/009344 1994-09-09 1995-07-19 Method and system for recognizing a boundary between characters in handwritten text WO1996007980A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE19581757T DE19581757T1 (en) 1994-09-09 1995-07-19 Method and system for recognizing a boundary between characters in handwritten text
AU32000/95A AU3200095A (en) 1994-09-09 1995-07-19 Method and system for recognizing a boundary between characters in handwritten text
GB9705139A GB2307085B (en) 1994-09-09 1995-07-19 Method and system for recognizing a boundary between characters in handwritten text
DE29521538U DE29521538U1 (en) 1994-09-09 1995-07-19 Device for recognizing the boundary between characters in handwritten text

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30400894A 1994-09-09 1994-09-09
US08/304,008 1994-09-09

Publications (1)

Publication Number Publication Date
WO1996007980A1 true WO1996007980A1 (en) 1996-03-14

Family

ID=23174632

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/009344 WO1996007980A1 (en) 1994-09-09 1995-07-19 Method and system for recognizing a boundary between characters in handwritten text

Country Status (5)

Country Link
US (1) US5818963A (en)
AU (1) AU3200095A (en)
DE (2) DE19581757T1 (en)
GB (1) GB2307085B (en)
WO (1) WO1996007980A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3335538B2 (en) * 1996-11-08 2002-10-21 日本サイバーサイン株式会社 Method and apparatus for collating a handwritten character string
US6226403B1 (en) * 1998-02-09 2001-05-01 Motorola, Inc. Handwritten character recognition using multi-resolution models
US6131089A (en) * 1998-05-04 2000-10-10 Motorola, Inc. Pattern classifier with training system and methods of operation therefor
US6952803B1 (en) * 1998-12-29 2005-10-04 Xerox Corporation Method and system for transcribing and editing using a structured freeform editor
US6567548B2 (en) * 1999-01-29 2003-05-20 International Business Machines Corporation Handwriting recognition system and method using compound characters for improved recognition accuracy
US6707942B1 (en) * 2000-03-01 2004-03-16 Palm Source, Inc. Method and apparatus for using pressure information for improved computer controlled handwriting recognition, data entry and user authentication
AUPR824501A0 (en) 2001-10-15 2001-11-08 Silverbrook Research Pty. Ltd. Methods and systems (npw003)
AUPR824301A0 (en) * 2001-10-15 2001-11-08 Silverbrook Research Pty. Ltd. Methods and systems (npw001)
US7249116B2 (en) * 2002-04-08 2007-07-24 Fiske Software, Llc Machine learning
US7751623B1 (en) * 2002-06-28 2010-07-06 Microsoft Corporation Writing guide for a free-form document editor
AU2003900865A0 (en) * 2003-02-26 2003-03-13 Silverbrook Research Pty Ltd Methods, systems and apparatus (NPW010)
US8019705B2 (en) * 2003-03-24 2011-09-13 Fiske Software, LLC. Register and active element machines: commands, programs, simulators and translators
US7292726B2 (en) * 2003-11-10 2007-11-06 Microsoft Corporation Recognition of electronic ink with late strokes
US10268843B2 (en) 2011-12-06 2019-04-23 AEMEA Inc. Non-deterministic secure active element machine
US9710157B2 (en) * 2015-03-12 2017-07-18 Lenovo (Singapore) Pte. Ltd. Removing connective strokes
US10013603B2 (en) * 2016-01-20 2018-07-03 Myscript System and method for recognizing multiple object structure
US10878231B2 (en) * 2018-05-10 2020-12-29 International Business Machines Corporation Writing recognition using wearable pressure sensing device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4149081A (en) * 1976-11-29 1979-04-10 Varian Associates, Inc. Removal of spectral artifacts and utilization of spectral effects in computerized tomography
US4654873A (en) * 1982-11-27 1987-03-31 Hitachi, Ltd. System and method for segmentation and recognition of patterns
US4764972A (en) * 1985-05-23 1988-08-16 Nec Corporation Continuous characters recognition system
US5042001A (en) * 1989-10-02 1991-08-20 Cyrix Corporation Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
US5105468A (en) * 1991-04-03 1992-04-14 At&T Bell Laboratories Time delay neural network for printed and cursive handwritten character recognition
US5335166A (en) * 1992-01-24 1994-08-02 Halliburton Company Method of operating a sand screw
US5343537A (en) * 1991-10-31 1994-08-30 International Business Machines Corporation Statistical mixture approach to automatic handwriting recognition

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2147474B (en) * 1983-10-03 1987-05-07 Shaken Kk Method of processing character or pictorial image data
IE852259L (en) * 1985-09-13 1987-03-13 Scottish & Newcastle Breweries A method and apparatus for constructing, storing and¹displaying characters
JPS6282486A (en) * 1985-10-08 1987-04-15 Hitachi Ltd Recognizing device for online handwritten graphic form
WO1987006371A1 (en) * 1986-04-10 1987-10-22 Hewlett Packard Limited Expert system using pattern recognition techniques
JP2790815B2 (en) * 1988-08-10 1998-08-27 株式会社リコー Image data compression method
US5233671A (en) * 1989-02-22 1993-08-03 Ricoh Company Ltd. Image coding method for coding characters using a modified Bezier curve
US5161204A (en) * 1990-06-04 1992-11-03 Neuristics, Inc. Apparatus for generating a feature matrix based on normalized out-class and in-class variation matrices
JPH0458378A (en) * 1990-06-28 1992-02-25 Mitsubishi Heavy Ind Ltd Method for dividing and developing bezier curve
DE69032542T2 (en) * 1990-10-27 1999-04-22 Ibm Automatic signature check
US5101437A (en) * 1991-02-11 1992-03-31 Ecole Polytechnique Method and apparatus for comparing a test handwritten signature with a reference signature by using information relative to curvilinear and angular velocities of the signature
JP3068304B2 (en) * 1992-01-21 2000-07-24 日本電気株式会社 Video coding and decoding systems
US5323470A (en) * 1992-05-08 1994-06-21 Atsushi Kara Method and apparatus for automatically tracking an object
US5321768A (en) * 1992-09-22 1994-06-14 The Research Foundation, State University Of New York At Buffalo System for recognizing handwritten character strings containing overlapping and/or broken characters
US5479523A (en) * 1994-03-16 1995-12-26 Eastman Kodak Company Constructing classification weights matrices for pattern recognition systems using reduced element feature subsets
US5602938A (en) * 1994-05-20 1997-02-11 Nippon Telegraph And Telephone Corporation Method of generating dictionary for pattern recognition and pattern recognition method using the same

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4149081A (en) * 1976-11-29 1979-04-10 Varian Associates, Inc. Removal of spectral artifacts and utilization of spectral effects in computerized tomography
US4654873A (en) * 1982-11-27 1987-03-31 Hitachi, Ltd. System and method for segmentation and recognition of patterns
US4764972A (en) * 1985-05-23 1988-08-16 Nec Corporation Continuous characters recognition system
US5042001A (en) * 1989-10-02 1991-08-20 Cyrix Corporation Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
US5105468A (en) * 1991-04-03 1992-04-14 At&T Bell Laboratories Time delay neural network for printed and cursive handwritten character recognition
US5343537A (en) * 1991-10-31 1994-08-30 International Business Machines Corporation Statistical mixture approach to automatic handwriting recognition
US5335166A (en) * 1992-01-24 1994-08-02 Halliburton Company Method of operating a sand screw

Also Published As

Publication number Publication date
GB2307085A (en) 1997-05-14
US5818963A (en) 1998-10-06
GB2307085B (en) 1998-09-23
DE29521538U1 (en) 1997-06-26
AU3200095A (en) 1996-03-27
DE19581757T1 (en) 1997-08-21
GB9705139D0 (en) 1997-04-30

Similar Documents

Publication Publication Date Title
US5818963A (en) Method and system for recognizing a boundary between characters in handwritten text
Dehghan et al. Handwritten Farsi (Arabic) word recognition: a holistic approach using discrete HMM
US5768417A (en) Method and system for velocity-based handwriting recognition
Jayadevan et al. Offline recognition of Devanagari script: A survey
US5854855A (en) Method and system using meta-classes and polynomial discriminant functions for handwriting recognition
Ashwin et al. A font and size-independent OCR system for printed Kannada documents using support vector machines
Kolcz et al. A line-oriented approach to word spotting in handwritten documents
Al-Helali et al. Arabic online handwriting recognition (aohr) a survey
US5802205A (en) Method and system for lexical processing
Zhao et al. Two-stage segmentation of unconstrained handwritten Chinese characters
US20080008387A1 (en) Method and apparatus for recognition of handwritten symbols
Qiao et al. Offline signature verification using online handwriting registration
Chang et al. Spatio-temporal hough forest for efficient detection–localisation–recognition of fingerwriting in egocentric camera
US5757960A (en) Method and system for extracting features from handwritten text
Patel Point Pattern Matching algorithm for recognition of 36 ASL gestures
Schomaker et al. Stroke versus character-based recognition of on-line connected cursive script
Arnia et al. Moment invariant-based features for Jawi character recognition
Shwetha et al. Comparison of smoothing techniques and recognition methods for online Kannada character recognition system
Ali et al. UOCR: A ligature based approach for an Urdu OCR system
Bhowmik et al. Character segmentation for handwritten Bangla words using artificial neural network
Safdar et al. A novel similar character discrimination method for online handwritten Urdu character recognition in half forms
Urala et al. Recognition of open vocabulary, online handwritten pages in Tamil script
James et al. Handwritten Malayalam Character Recognition using Regional Zoning and Structural Features
Karthick et al. Pre-processing Techniques for Offline Tamil Handwritten Character Recognition
Parker Simple distances between handwritten signatures

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AM AT AU BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LT LU LV MD MG MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TT UA UG UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

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
RET De translation (de og part 6b)

Ref document number: 19581757

Country of ref document: DE

Date of ref document: 19970821

WWE Wipo information: entry into national phase

Ref document number: 19581757

Country of ref document: DE

122 Ep: pct application non-entry in european phase