WO1996010799A1 - Method and system for extracting features from handwritten text - Google Patents

Method and system for extracting features from handwritten text Download PDF

Info

Publication number
WO1996010799A1
WO1996010799A1 PCT/US1995/009842 US9509842W WO9610799A1 WO 1996010799 A1 WO1996010799 A1 WO 1996010799A1 US 9509842 W US9509842 W US 9509842W WO 9610799 A1 WO9610799 A1 WO 9610799A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
data frames
individual
sample
features
Prior art date
Application number
PCT/US1995/009842
Other languages
French (fr)
Inventor
Michael Chase Murdock
Shay-Ping T. Wang
Nicholas Mikulas Labun
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 AU36250/95A priority Critical patent/AU3625095A/en
Publication of WO1996010799A1 publication Critical patent/WO1996010799A1/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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • 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

Definitions

  • the present invention is related to the following invention which is assigned to the same assignee as the present invention: (1) "Method and System for Recognizing a Boundary
  • This invention relates generally to handwriting recognition systems and, in particular, to a method and system for extracting features from a sample of handwritten text .
  • a temporal pattern may be defined as a sequence of samples taken from a signal over a finite period of time, wherein each sample corresponds to a discrete interval during the period.
  • the prior art teaches four different techniques for performing temporal pattern recognition. These techniques are: tapped delay lines used in conjunction with a conventional pattern recognition, syntactic pattern recognition, time delay neural networks, and hidden Markov modeling. These approaches and their respective shortcomings are described in the following.
  • Syntactic pattern recognition is a pattern recognition technique based on the assumption that a temporal pattern is a composition of primitive sub-pattern elements. Under this assumption, sub-patterns may be related with a syntax. Using a syntax, it is then possible to define a formal grammar which recognizes the presence or absence of a particular pattern of primitives. The representational capability of this technique generally excons that found in other methods of pattern recognition and s tnus the primary appeal of syntactic pattern recognition. However, as the complexity of a pattern increases, it becomes increasingly difficult to define a formal grammar. Additionally, once a grammar has been defined it is adversely affected by unexpected variations in the patterns and class definitions.
  • Time delay neural networks are a class of neural networks in which the temporal dynamics of patterns are coded in the TDNN architecture with delay-like elements and captured during the training phase of the TDNN.
  • researchers have used this class of neural network for handwriting and speech recognition.
  • the disadvantage of using a TDNN for temporal pattern recognition is that pattern warping and compression must be captured during the training phase, resulting in a training phase which is very computational intensive and thus very time consuming.
  • Hidden Markov modeling is a probabilistic technique for the study of temporal patterns. This technique uses stochastic methods to generate a time series which is then analyzed by a parametric model.
  • a hidden Markov model has two components: a finite-state Markov chain and a finite set of output probability distributions.
  • HMM An immediate difficulty with HMM is its complexity, which leads to problems in implementation. In practice there are a large number of inter-related tuning parameters, and some of the tuning parameters require a priori knowledge that often isn't available. In addition, the training samples used for HMM must be selected according to fairly complex criteria. Another drawback of implementing HMM is that the computational costs in the forward-backward computation (which is used for maximum likelihood estimation of the model parameters) can be prohibitively expensive.
  • a handwritten stroke of text is an example of a temporal pattern.
  • prior art handwriting recognition systems have, at one time or another, incorporated the above-described techniques of performing temporal pattern recognition.
  • such handwriting recognition systems suffered from the same disadvantages as given above.
  • there is a need for a technique of performing temporal pattern recognition which is insensitive to unexpected variations in input patterns and does not require an overly complex classifier.
  • a technique offering such advantages could be used in a handwriting recognition system to vastly increase the system's performance.
  • an embodiment of the present invention provides a method for extracting a plurality of features.
  • the system utilizes a classifier which responds to the plurality of features extracted from the sample of handwritten text.
  • the method entails the following steps. First, handwritten text is received. Samples are taken from the handwritten text to form a plurality of individual sample datum. The sample datum are partitioned into a plurality of data frames, each data frame having at least two of the plurality of sample datum. Next, a plurality of individual-frame feature are extracted from the plurality of data frames. Each of the plurality of individual-frame features corresponds to one of the plurality of data frames.
  • a multi-frame feature is extracted which corresponds to a specific data frame of the plurality of data frames.
  • the multi-frame feature is extracted from one of the following: at least two of the plurality of individual-frame features; at least two of the plurality of data frames; or at least one of the plurality of individual-frame features and at least one of the plurality of data frames.
  • a method for recognizing a character from a sample of handwritten text includes the following steps. First, handwritten text is received. Samples are taken from the handwritten text to form a plurality of individual sample datum. The sample datum are partitioned into a plurality of data frames, each data frame having at least two of the plurality of sample datum. Next, a plurality of individual-frame feature are extracted from the plurality of data frames. Each of the plurality of individual-frame features corresponds to one of the plurality of data frames. Finally, a multi-frame feature is extracted which corresponds to a specific data frame of the plurality of data frames.
  • the multi-frame feature is extracted from one of the following: at least two of the plurality of individual-frame features; at least two of the plurality of data frames; or at least one of the plurality of individual-frame features and at least one of the plurality of data frames.
  • a feature frame is formed which corresponds to the specific data frame and includes the multi-frame feature.
  • the feature frame is classified by computing at least one discriminant function.
  • the character is recognized by examining the result of computing the at least one discriminant function.
  • a further embodiment of the present invention is provided in a system for recognizing a plurality of characters from a sample of handwritten text, the system utilizing a classifier which responds to a plurality of features extracted from the sample of handwritten text.
  • This embodiment of the present invention provides a sub ⁇ system for extracting the plurality of features.
  • the sub- system includes input means for receiving the sample of handwritten text and sampler means, operably coupled to the input means, for sampling the handwritten text to form a plurality of sample datum.
  • Partition means operably associated with the sampler means, are further provided for partitioning the plurality of sample datum into a plurality of data frames, each of the plurality of data frames having at least two of the plurality of sample datum.
  • First extraction means operably associated with the partition means, extract a plurality of individual-frame features from the plurality of data frames, each of the plurality of individual-frame features having a magnitude and corresponding to one of the plurality of data frames.
  • Second extraction means operably associated with the first extraction means, extract a multi-frame feature, which corresponds to a specific data frame of the plurality of data frames, from one of: at least two of the plurality of individual-frame features, at least two of the plurality of data frames, and at least one of the plurality of individual-frame features and at least one of the plurality of data frames.
  • FIG. 1 illustrates a block diagram of a handwriting recognition system.
  • FIG. 2 illustrates a flow diagram of a method of extracting multi-frame features in accordance with a preferred embodiment of the present invention.
  • FIG. 3 illustrates a conceptual diagram cf extracting a multi-frame feature from a data frame and an individual- frame feature in conformity with one embodiment cf the present invention.
  • FIG. 4 illustrates a conceptual diagram of extracting a multi-frame feature from two individual-frame features in conformity with another embodiment of the present invention.
  • FIG. 5 illustrates a conceptual diagram of extracting a multi-frame feature from two data frames in conformity with a further embodiment of the present invention.
  • FIG. 6 illustrates a flow diagram of a method of recognizing a character from handwritten text which uses an embodiment of the present invention.
  • FIG. 7 illustrates a block diagram of a handwriting recognition system which includes an embodiment of the present invention.
  • FIG. 1 illustrates a block diagram of a handwriting recognition system.
  • Pen or stylus 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 frame extractor 20.
  • Frame extractor 20 creates a plurality of data frames. Each data frame comprises a set of coordinate pairs.
  • the data frames generated by frame extractor 20 are passed across bus 22 to feature extractor 24.
  • Feature extractor 24 processes the data frame to extract a set of features, or measurements, that contain information which is similar to the data frame but with reduced dimensionality.
  • the features generated by feature extractor 24, which contains the method and system in accordance with several embodiments of the present invention, are passed across bus 26 to feature classifier 28.
  • Feature classifier 28 identifies characters from the handwritten text based on the extracted features it receives. The identity of the characters is generated as output of the handwriting recognition system on bus 30.
  • the system depicted by FIG. 1 may be used to identify characters from many different languages and alphabets.
  • a set of identifiable characters for recognizing English text would include the upper and lower case English alphabet, numerals, or punctuation marks .
  • a user of such a system uses pen 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. 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.
  • 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 frame extractor 20.
  • frame extractor 20 is not limited to receiving user input from a digitizer tablet and that other devices, for example a computer vision system or optical scanner, can also be used to provide user input to frame extractor 20.
  • 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.
  • a stroke comprises a sequence of coordinate pairs. Each coordinate pair is typically coded as one or more digital words and transmitted to frame extractor 20 using bus 6.
  • Frame extractor 20 creates a plurality of data frames from a stroke of handwriting. Each data frame comprises a plurality of coordinate pairs.
  • each data frame may contain any number of coordinate pairs, in a preferred embodiment of the present invention, each data frame includes a sequence of 15 coordinate pairs. Essentially, a data frame codes only a fraction of one character. A very high level of accuracy and robustness is obtained by incrementally accumulating recognition evidence by classifying the data frames. In addition, the use of data frames allows greater immunity to hand/pen jitter, character flourishes, and noise from digitizer tablet 4.
  • the data frames generated by frame extractor 20 are transferred across bus 22 to feature extractor 24.
  • Feature extractor 24 processes the data frames to extract a set of features, or measurements, that contain significant information from the data frame but with reduced dimensionality.
  • Feature extractor 24 also extracts multi- frame features by using a method, such as the method depicted by FIG. 2.
  • 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 are used to determine the class to which the extracted features belong. Each class is labeled with a character identity.
  • FIG. 2 illustrates a flow diagram of a method of extracting multi-frame features in accordance with a preferred embodiment of the present invention.
  • samples of handwritten text are received.
  • a plurality of samples are taken from the handwritten text. Generally, these samples are a sequence of coordinates, as described above for FIG. 1.
  • a plurality of data frames are formed from the samples. Each data frame includes at least one sample, and, in the preferred embodiment, the data frame includes a sequence of coordinate pairs.
  • a plurality of individual-frame features are extracted from the data frames.
  • Each individual-frame feature corresponds to one of the data frames, and more than one individual-frame feature may be extracted from a given data frame.
  • Examples of individual- frame features which may be extracted are average rectilinear velocity, curvilinear velocity, angular velocity, stroke angle, data frame index, stroke curvature, Fourier coefficients, or coefficients of a polynomial.
  • a multi-frame feature is extracted from the individual-frame features, the data frames, or a combination thereof.
  • Each multi-frame feature corresponds to one of the data frames. Two examples of multi-frame features, feature continuity and feature persistence, are described below.
  • Feature continuity is an indicator of whether the magnitudes of individual-frame features extracted from a sequence of data frames are stable between adjacent data frames.
  • One example of feature continuity is the following:
  • f mf (t) 0, if ⁇ f if (t) - f lf (t-l) ⁇ > u 1, if ⁇ f lf (t) - f lf (t-1) ⁇ ⁇ u
  • Equation 1 where f mf (t) represents a multi-frame feature corresponding to the t tn data frame; where f if (t) represents the magnitude of the individual-frame feature extracted from the t tn data frame; where f if (t-l) represents the magnitude of the individual-frame feature extracted from the (t-l) tn data frame; u represents a threshold value; and t represents an integer.
  • f mf (t) 0, if ⁇ f lf (t) - f lf (t+l) ⁇ > ⁇ 1, if ⁇ f lf (t) - f lf (t+1) ⁇ ⁇ u
  • f mf (t) represents a multi-frame feature corresponding to the t tn data frame
  • f lf (t) represents the magnitude of the individual-frame feature extracted from the t tn data frame
  • f lf (t+l) represents the magnitude of the individual-frame feature extracted from the (t+l) ⁇ data frame
  • u represents a threshold value
  • t represents an integer.
  • a further example of feature continuity is the following:
  • f mf (t) represents a multi-frame feature corresponding to the t th data frame; where fi f (t) represents the magnitude of the individual-frame feature extracted from the t tn data frame; where f if (t-l) represents the magnitude of the individual-frame feature extracted from the (t-l) tn data frame; where f if (t+l) represents the magnitude of the individual-frame feature extracted from the (t+l) tn data frame; u represents a threshold value; and t represents an integer.
  • Feature persistence is a way to quantify the degree to which the values of individual-frame features have remained constant over a sequence of data frames.
  • An example of feature persistence is the following:
  • f mf (t) n+1, if f if (t) > 0 AND f if (t-l) > 0 ... AND f if (t-n) >
  • f mf (t) represents a multi-frame feature corresponding to the t tn data frame; where fi f (t) represents the magnitude of the individual-frame feature extracted from the t th data frame; where f if (t-l) represents the magnitude of the individual-frame feature extracted from the (t-l) tn data frame; where f if (t-l) represents the magnitude of the individual-frame feature extracted from the (t-l) th data frame; and t and n represent integers.
  • FIG. 3 illustrates a conceptual diagram of extracting a multi-frame feature from a data frame and an individual- frame feature in conformity with one embodiment of the present invention.
  • Sample sequence 60 is partitioned into a sequence of data frames.
  • the sequence of data frames is represented by data frames 72, 74, 76, and 78.
  • a corresponding sequence of individual-frame features is extracted from the data frames.
  • the diagram shows that individual-frame features 80, 82, 84, and 86 are extracted from data frames 72, 74, 76, and 78, respectively.
  • Multi-frame feature 88 is extracted from data frame 72 and individual-feature frame 80.
  • FIG. 4 illustrates a conceptual diagram of extracting a multi-frame feature from two individual-frame features in conformity with another embodiment of the present invention.
  • Sample sequence 60 is processed in the same manner as described for FIG. 3 to generate a sequence of individual-frame features.
  • Multi-frame feature 90 is extracted from individual-frame feature 80 and individual- frame feature 82.
  • FIG. 5 illustrates a conceptual diagram of extracting a multi-frame feature from two data frames in conformity with a further embodiment of the present invention.
  • Sample sequence 60 is partitioned into a sequence of data frames, depicted by data frames 72, 74, 76, and 78.
  • Multi-frame feature 92 is extracted from data frames 72 and 74.
  • multi-frame features 88, 90, and 92 being respectively extracted from various pairs of data frames and individual- frame features, it will be apparent to one skilled in the art that the extraction of a multi-frame feature may rely on a plurality of data frames, individual-frame features or any combination thereof.
  • FIG. 6 illustrates a flow diagram of a method of recognizing a character from handwritten text which uses an embodiment of the present invention.
  • a multi- frame feature is extracted using the method shown in FIG. 2.
  • a feature frame is formed which includes the multi-frame feature.
  • the feature frame may also include data frames or individual feature frames.
  • the feature frame is classified by computing a discriminant function.
  • the discriminant function may be a polynomial expansion of the form given by Equation 5.
  • the character may be recognized by examining the result of computing the discriminant function. In some instances, it is not possible to identify the character solely on the basis of one feature frame.
  • FIG. 7 a block diagram of a handwriting recognition system which includes an embodiment of the present invention is shown.
  • the handwriting recognition system comprises frame 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 classifiers 202, 204, 206, and 208 are shown.
  • a handwritten stroke is fed into frame extractor 20 across bus 190.
  • Frame extractor 20 extracts a plurality of data frames from the handwritten stroke. These ⁇ ata frames 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. 7, 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”; character classifier 206 implements a discriminate function for the character "Y”; and character classifier 206 implements a discriminate function for the character "Z”.
  • the discriminate function implemented by each of the classifiers in recognition means 200 is a polynomial expansion of the form given by Equation 1.
  • each classifier 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 15
  • 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 15
  • a preferred embodiment of the present invention employs a polynomial expansion of which the general case is represented by Equation 5 as follows:
  • 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; the result of the discriminate function implemented toy character classifier 206 is passed across bus 216 to selector 210; and the result of the discriminate function implemented by character classifier 208 is passed across bus 218 to selector 210.
  • Selector 210 determines which of the classifier output signals has the largest magnitude and then produces a representation of the corresponding character identity on output 220.
  • the representation produced by selector 210 is digital word coded in a computer-readable format.
  • output 220 as with any of the signals herein described, could be an analog or optical signal .
  • Feature extractor 166 processes the coordinate pairs of one or more data frames to extract a set of features, or measurements, that contain the same information as the data frame 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.
  • Feature extractor 166 calculates the coefficients by estimating the instantaneous curvilinear velocity of each coordinate pair.
  • a velocity profile is formed by ordering these estimates sequentially according to the order of the coordinate pairs.
  • 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 6 as follows:
  • v(k) a ⁇ + aiv(k-l) + a2 V (k-2) + a3 v (k-3)
  • v ( ) ⁇ ) represents the curvilinear velocity of the kth coordinate pair
  • v(k-i) represents the curvilinear velocity of the (k-l)th coordinate pair
  • v(k_2) represents the curvilinear velocity of the (k-2)th coordinate pair
  • v (K -3 ) represents the curvilinear velocity of the (k- 3)th coordinate pair
  • k is an integer index
  • aQ , 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 coordinate pair.
  • a velocity profile is formed by ordering these estimates sequentially according to the order of the coordinate pairs.
  • 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 7 as follows :
  • v(k) o + ⁇ v(j ⁇ -i) + b2V(k_2) + b3V(k-3)
  • v(j ) represents the angular velocity of the kth coordinate pair
  • v(k-i) represents the angular velocity of the (k-l)th coordinate pair
  • v ( k-2 ) represents the angular velocity of the (k-2)th coordinate pair
  • v( K -3) represents the angular velocity of the (k-3)th coordinate pair
  • k is an integer index
  • e,, b;, 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 coordinate pair can be estimated as a linear combination of the velocities of the three previous coordinate pairs.
  • 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. 7 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. 7.

Abstract

A handwriting recognition system achieves a higher recognition rate by using a feature extraction method which computes features based on multiple data frames. A plurality of data frames is generated from handwritten text received by the system (42). Each data frame includes samples taken from the handwritten text (44). Individual-frame features are extracted from individual data frames (46), and in turn, multi-frame features are extracted from individual-frame features (48) which correspond to different data frames.

Description

METHOD AND SYSTEM FOR EXTRACTING FEATURES FROM 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) "Method and System for Recognizing a Boundary
Between Characters in Handwritten Text", having Serial No. , , filed on .
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 handwriting recognition systems and, in particular, to a method and system for extracting features from a sample of handwritten text .
Background of the Invention
In fields such as acoustics, seismology, economic forecasting, and handwriting recognition it is necessary utilize technologies which perform temporal pattern recognition. Generally speaking, a temporal pattern may be defined as a sequence of samples taken from a signal over a finite period of time, wherein each sample corresponds to a discrete interval during the period.
The prior art teaches four different techniques for performing temporal pattern recognition. These techniques are: tapped delay lines used in conjunction with a conventional pattern recognition, syntactic pattern recognition, time delay neural networks, and hidden Markov modeling. These approaches and their respective shortcomings are described in the following.
Some practitioners of the prior art have attempted to recognize temporal patterns by using a slightly modified method of conventional, or non-temporal, pattern recognition in which a sequence of input samples is partitioned with a tapped delay line. This means that if n delay elements are used in a tapped delay line, then a sequence of n+1 samples can be presented to a non-temporal classifier in parallel and processed as a single pattern. Thus, for a particular application, if a temporal pattern is composed of 100 samples, a 99-tap delay line is used to present the entire pattern, at once, to the classifier. The problem with this approach is that the number of inputs to the classifier can quickly grow too large, and thus become unmanageable, for temporal patterns that are defined over a large number of samples.
Syntactic pattern recognition is a pattern recognition technique based on the assumption that a temporal pattern is a composition of primitive sub-pattern elements. Under this assumption, sub-patterns may be related with a syntax. Using a syntax, it is then possible to define a formal grammar which recognizes the presence or absence of a particular pattern of primitives. The representational capability of this technique generally exceeas that found in other methods of pattern recognition and s tnus the primary appeal of syntactic pattern recognition. However, as the complexity of a pattern increases, it becomes increasingly difficult to define a formal grammar. Additionally, once a grammar has been defined it is adversely affected by unexpected variations in the patterns and class definitions.
Time delay neural networks (TDNNs) are a class of neural networks in which the temporal dynamics of patterns are coded in the TDNN architecture with delay-like elements and captured during the training phase of the TDNN. Researchers have used this class of neural network for handwriting and speech recognition. The disadvantage of using a TDNN for temporal pattern recognition is that pattern warping and compression must be captured during the training phase, resulting in a training phase which is very computational intensive and thus very time consuming. Hidden Markov modeling (HMM) is a probabilistic technique for the study of temporal patterns. This technique uses stochastic methods to generate a time series which is then analyzed by a parametric model. A hidden Markov model has two components: a finite-state Markov chain and a finite set of output probability distributions.
An immediate difficulty with HMM is its complexity, which leads to problems in implementation. In practice there are a large number of inter-related tuning parameters, and some of the tuning parameters require a priori knowledge that often isn't available. In addition, the training samples used for HMM must be selected according to fairly complex criteria. Another drawback of implementing HMM is that the computational costs in the forward-backward computation (which is used for maximum likelihood estimation of the model parameters) can be prohibitively expensive.
A handwritten stroke of text is an example of a temporal pattern. In fact, prior art handwriting recognition systems have, at one time or another, incorporated the above-described techniques of performing temporal pattern recognition. However, such handwriting recognition systems suffered from the same disadvantages as given above. In summary, there is a need for a technique of performing temporal pattern recognition which is insensitive to unexpected variations in input patterns and does not require an overly complex classifier. Furthermore, there is a need for a technique which does not require a lengthy training phase. A technique offering such advantages could be used in a handwriting recognition system to vastly increase the system's performance. Summary of the Invention
It is thus an advantage of the present invention to simplify temporal pattern recognition in a handwriting recognition system by providing a method for extracting features from an input pattern. The provided method reduces the overall complexity of the system.
In a system for recognizing a plurality of characters from a sample of handwritten text, an embodiment of the present invention provides a method for extracting a plurality of features. The system utilizes a classifier which responds to the plurality of features extracted from the sample of handwritten text. The method entails the following steps. First, handwritten text is received. Samples are taken from the handwritten text to form a plurality of individual sample datum. The sample datum are partitioned into a plurality of data frames, each data frame having at least two of the plurality of sample datum. Next, a plurality of individual-frame feature are extracted from the plurality of data frames. Each of the plurality of individual-frame features corresponds to one of the plurality of data frames. Finally, a multi-frame feature is extracted which corresponds to a specific data frame of the plurality of data frames. The multi-frame feature is extracted from one of the following: at least two of the plurality of individual-frame features; at least two of the plurality of data frames; or at least one of the plurality of individual-frame features and at least one of the plurality of data frames.
In another embodiment of the present invention there is provided a method for recognizing a character from a sample of handwritten text. The method includes the following steps. First, handwritten text is received. Samples are taken from the handwritten text to form a plurality of individual sample datum. The sample datum are partitioned into a plurality of data frames, each data frame having at least two of the plurality of sample datum. Next, a plurality of individual-frame feature are extracted from the plurality of data frames. Each of the plurality of individual-frame features corresponds to one of the plurality of data frames. Finally, a multi-frame feature is extracted which corresponds to a specific data frame of the plurality of data frames. The multi-frame feature is extracted from one of the following: at least two of the plurality of individual-frame features; at least two of the plurality of data frames; or at least one of the plurality of individual-frame features and at least one of the plurality of data frames. Next, a feature frame is formed which corresponds to the specific data frame and includes the multi-frame feature. The feature frame is classified by computing at least one discriminant function. Finally, the character is recognized by examining the result of computing the at least one discriminant function.
A further embodiment of the present invention is provided in a system for recognizing a plurality of characters from a sample of handwritten text, the system utilizing a classifier which responds to a plurality of features extracted from the sample of handwritten text. This embodiment of the present invention provides a sub¬ system for extracting the plurality of features. The sub- system includes input means for receiving the sample of handwritten text and sampler means, operably coupled to the input means, for sampling the handwritten text to form a plurality of sample datum. Partition means, operably associated with the sampler means, are further provided for partitioning the plurality of sample datum into a plurality of data frames, each of the plurality of data frames having at least two of the plurality of sample datum. First extraction means, operably associated with the partition means, extract a plurality of individual-frame features from the plurality of data frames, each of the plurality of individual-frame features having a magnitude and corresponding to one of the plurality of data frames. Second extraction means, operably associated with the first extraction means, extract a multi-frame feature, which corresponds to a specific data frame of the plurality of data frames, from one of: at least two of the plurality of individual-frame features, at least two of the plurality of data frames, and at least one of the plurality of individual-frame features and at least one of the plurality of data frames.
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 illustrates a block diagram of a handwriting recognition system. FIG. 2 illustrates a flow diagram of a method of extracting multi-frame features in accordance with a preferred embodiment of the present invention.
FIG. 3 illustrates a conceptual diagram cf extracting a multi-frame feature from a data frame and an individual- frame feature in conformity with one embodiment cf the present invention.
FIG. 4 illustrates a conceptual diagram of extracting a multi-frame feature from two individual-frame features in conformity with another embodiment of the present invention.
FIG. 5 illustrates a conceptual diagram of extracting a multi-frame feature from two data frames in conformity with a further embodiment of the present invention.
FIG. 6 illustrates a flow diagram of a method of recognizing a character from handwritten text which uses an embodiment of the present invention. FIG. 7 illustrates a block diagram of a handwriting recognition system which includes an embodiment of the present invention.
Detailed Description of a Preferred Embodiment
FIG. 1 illustrates a block diagram of a handwriting recognition system. Pen or stylus 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 frame extractor 20. Frame extractor 20 creates a plurality of data frames. Each data frame comprises a set of coordinate pairs. The data frames generated by frame extractor 20 are passed across bus 22 to feature extractor 24. Feature extractor 24 processes the data frame to extract a set of features, or measurements, that contain information which is similar to the data frame but with reduced dimensionality. The features generated by feature extractor 24, which contains the method and system in accordance with several embodiments of the present invention, are passed across bus 26 to feature classifier 28. Feature classifier 28 identifies characters from the handwritten text based on the extracted features it receives. The identity of the characters is generated as output of the handwriting recognition system on bus 30.
In an embodiment of the present invention herein disclosed, the system depicted by FIG. 1 may be used to identify characters from many different languages and alphabets. For example, a set of identifiable characters for recognizing English text would include the upper and lower case English alphabet, numerals, or punctuation marks .
A user of such a system uses pen 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 frame extractor 20.
One of ordinary skill in the art will appreciate that frame extractor 20 is not limited to receiving user input from a digitizer tablet and that other devices, for example a computer vision system or optical scanner, can also be used to provide user input to frame extractor 20.
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, a stroke comprises a sequence of coordinate pairs. Each coordinate pair is typically coded as one or more digital words and transmitted to frame extractor 20 using bus 6. Frame extractor 20 creates a plurality of data frames from a stroke of handwriting. Each data frame comprises a plurality of coordinate pairs. Although a data frame may contain any number of coordinate pairs, in a preferred embodiment of the present invention, each data frame includes a sequence of 15 coordinate pairs. Essentially, a data frame codes only a fraction of one character. A very high level of accuracy and robustness is obtained by incrementally accumulating recognition evidence by classifying the data frames. In addition, the use of data frames allows greater immunity to hand/pen jitter, character flourishes, and noise from digitizer tablet 4. The data frames generated by frame extractor 20 are transferred across bus 22 to feature extractor 24. Feature extractor 24 processes the data frames to extract a set of features, or measurements, that contain significant information from the data frame but with reduced dimensionality. Examples of features which can be extracted are average rectilinear and angular velocity, either of which may be calculated from the coordinate pairs of a data frame. Feature extractor 24 also extracts multi- frame features by using a method, such as the method depicted by FIG. 2.
The feature extraction, which is performed on the data frames, results in a representation of the data frames 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 are used to determine the class to which the extracted features belong. Each class is labeled with a character identity. After receiving a sufficient number of extracted features, feature classifier 28 generates the identity of the character as an output of the handwriting recognition system on bus 30. FIG. 2 illustrates a flow diagram of a method of extracting multi-frame features in accordance with a preferred embodiment of the present invention. In box 40, samples of handwritten text are received. In box 42, a plurality of samples are taken from the handwritten text. Generally, these samples are a sequence of coordinates, as described above for FIG. 1. In box 44, a plurality of data frames are formed from the samples. Each data frame includes at least one sample, and, in the preferred embodiment, the data frame includes a sequence of coordinate pairs.
Next, in box 46, a plurality of individual-frame features are extracted from the data frames. Each individual-frame feature corresponds to one of the data frames, and more than one individual-frame feature may be extracted from a given data frame. Examples of individual- frame features which may be extracted are average rectilinear velocity, curvilinear velocity, angular velocity, stroke angle, data frame index, stroke curvature, Fourier coefficients, or coefficients of a polynomial.
In box 48, a multi-frame feature is extracted from the individual-frame features, the data frames, or a combination thereof. Each multi-frame feature corresponds to one of the data frames. Two examples of multi-frame features, feature continuity and feature persistence, are described below.
Feature continuity is an indicator of whether the magnitudes of individual-frame features extracted from a sequence of data frames are stable between adjacent data frames. One example of feature continuity is the following:
fmf(t) = 0, if {fif(t) - flf(t-l) } > u 1, if {flf (t) - flf(t-1) } < u
Equation 1 where fmf(t) represents a multi-frame feature corresponding to the ttn data frame; where fif(t) represents the magnitude of the individual-frame feature extracted from the ttn data frame; where fif(t-l) represents the magnitude of the individual-frame feature extracted from the (t-l)tn data frame; u represents a threshold value; and t represents an integer.
Another example of feature continuity is the following:
fmf(t) = 0, if {flf(t) - flf(t+l) } > υ 1, if {flf (t) - flf (t+1) } < u
Equation 2
where fmf(t) represents a multi-frame feature corresponding to the ttn data frame; where flf(t) represents the magnitude of the individual-frame feature extracted from the ttn data frame; where flf(t+l) represents the magnitude of the individual-frame feature extracted from the (t+l)^ data frame; u represents a threshold value; and t represents an integer.
A further example of feature continuity is the following:
fmf(t) = 0, if N0T{{{fif(t) - flf(t-l) } < u} AND
{{flf (t) - flf (t+1) } < u}}; 1, if {{fif(t) - flf(t-l) } < u} AND {{fif (t) - flf (t+1) } < u} Equation 3
where fmf(t) represents a multi-frame feature corresponding to the tth data frame; where fif(t) represents the magnitude of the individual-frame feature extracted from the ttn data frame; where fif(t-l) represents the magnitude of the individual-frame feature extracted from the (t-l)tn data frame; where fif(t+l) represents the magnitude of the individual-frame feature extracted from the (t+l)tn data frame; u represents a threshold value; and t represents an integer.
Feature persistence is a way to quantify the degree to which the values of individual-frame features have remained constant over a sequence of data frames. An example of feature persistence is the following:
fmf(t) = n+1, if fif(t) > 0 AND fif(t-l) > 0 ... AND fif (t-n) >
0;
-(n+1), if flf(t) < 0 AND flf(t-l) < 0
... AND flf (t-n) < 0
Equation 4
where fmf(t) represents a multi-frame feature corresponding to the ttn data frame; where fif(t) represents the magnitude of the individual-frame feature extracted from the tth data frame; where fif(t-l) represents the magnitude of the individual-frame feature extracted from the (t-l)tn data frame; where fif(t-l) represents the magnitude of the individual-frame feature extracted from the (t-l)th data frame; and t and n represent integers.
FIG. 3 illustrates a conceptual diagram of extracting a multi-frame feature from a data frame and an individual- frame feature in conformity with one embodiment of the present invention. Sample sequence 60 is partitioned into a sequence of data frames. In the example shown, the sequence of data frames is represented by data frames 72, 74, 76, and 78. In turn, a corresponding sequence of individual-frame features is extracted from the data frames. The diagram shows that individual-frame features 80, 82, 84, and 86 are extracted from data frames 72, 74, 76, and 78, respectively. Multi-frame feature 88 is extracted from data frame 72 and individual-feature frame 80.
FIG. 4 illustrates a conceptual diagram of extracting a multi-frame feature from two individual-frame features in conformity with another embodiment of the present invention. Sample sequence 60 is processed in the same manner as described for FIG. 3 to generate a sequence of individual-frame features. Multi-frame feature 90 is extracted from individual-frame feature 80 and individual- frame feature 82.
FIG. 5 illustrates a conceptual diagram of extracting a multi-frame feature from two data frames in conformity with a further embodiment of the present invention. Sample sequence 60 is partitioned into a sequence of data frames, depicted by data frames 72, 74, 76, and 78. Multi-frame feature 92 is extracted from data frames 72 and 74.
Although the examples given in FIGs. 3, 4, and 5 show multi-frame features 88, 90, and 92 being respectively extracted from various pairs of data frames and individual- frame features, it will be apparent to one skilled in the art that the extraction of a multi-frame feature may rely on a plurality of data frames, individual-frame features or any combination thereof.
FIG. 6 illustrates a flow diagram of a method of recognizing a character from handwritten text which uses an embodiment of the present invention. In box 100, a multi- frame feature is extracted using the method shown in FIG. 2. Next, in box 102, a feature frame is formed which includes the multi-frame feature. The feature frame may also include data frames or individual feature frames. In box 104, the feature frame is classified by computing a discriminant function. The discriminant function may be a polynomial expansion of the form given by Equation 5. In box 106, the character may be recognized by examining the result of computing the discriminant function. In some instances, it is not possible to identify the character solely on the basis of one feature frame. Thus, in decision box 108, a check is made to determine if another multi-frame feature is to be extracted. If so, the method returns to box 100. If not, the method terminates. Turning now to FIG. 7, a block diagram of a handwriting recognition system which includes an embodiment of the present invention is shown. The handwriting recognition system comprises frame 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 classifiers 202, 204, 206, and 208 are shown.
A handwritten stroke is fed into frame extractor 20 across bus 190. Frame extractor 20 extracts a plurality of data frames from the handwritten stroke. These αata frames 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. 7, 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"; character classifier 206 implements a discriminate function for the character "Y"; and character classifier 206 implements a discriminate function for the character "Z". The discriminate function implemented by each of the classifiers in recognition means 200 is a polynomial expansion of the form given by Equation 1.
The discriminant function implemented by each classifier 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 15
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 5 as follows:
m y = Σ -i xι<3li 2^2i . . . xn9ni Equation 5 i=l
where xi represent 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 are any integers; where y represents the output of the classifier; where wi-i represent the coefficient for the ith term; where gϋ, . . ., gni represent the exponents for the ith term and are integers; and n is the number of classifier inputs. 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; the result of the discriminate function implemented toy character classifier 206 is passed across bus 216 to selector 210; and the result of the discriminate function implemented by character classifier 208 is passed across bus 218 to selector 210. Selector 210 determines which of the classifier output signals has the largest magnitude and then produces a representation of the corresponding character identity on output 220. In one embodiment of the present invention, the representation produced by selector 210 is digital word coded in a computer-readable format. However, one of ordinary skill in the art will appreciate that the representation provided on output 220 may vary in form depending on the application of the system. For example, output 220, as with any of the signals herein described, could be an analog or optical signal .
Feature extractor 166 processes the coordinate pairs of one or more data frames to extract a set of features, or measurements, that contain the same information as the data frame 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. Feature extractor 166 calculates the coefficients by estimating the instantaneous curvilinear velocity of each coordinate pair. A velocity profile is formed by ordering these estimates sequentially according to the order of the coordinate pairs. 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 6 as follows:
v(k) = aθ + aiv(k-l) + a2V(k-2) + a3v(k-3)
Equation 6
where v()ς) represents the curvilinear velocity of the kth coordinate pair; v(k-i) represents the curvilinear velocity of the (k-l)th coordinate pair; v(k_2) represents the curvilinear velocity of the (k-2)th coordinate pair; and v(K-3) represents the curvilinear velocity of the (k- 3)th coordinate pair; where k is an integer index; and where aQ , 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 coordinate pair. A velocity profile is formed by ordering these estimates sequentially according to the order of the coordinate pairs. 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 7 as follows :
v(k) = o + ιv(jς-i) + b2V(k_2) + b3V(k-3)
Equation 7
where v(j ) represents the angular velocity of the kth coordinate pair; v(k-i) represents the angular velocity of the (k-l)th coordinate pair; v(k-2) represents the angular velocity of the (k-2)th coordinate pair; and v(K-3) represents the angular velocity of the (k-3)th coordinate pair; where k is an integer index; and where e,, b;, 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 coordinate pair can be estimated as a linear combination of the velocities of the three previous coordinate pairs. 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. 7 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. 7.
Summary
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. What is claimed is:

Claims

1. In a system for recognizing a plurality of characters from a sample of handwritten text, the system utilizing a classifier which responds to a plurality of features extracted from the sample of handwritten text, a sub-system for extracting the plurality of features, the sub-system comprising: input means for receiving the sample of handwritten text; sampler means, operably coupled to the input means, for sampling the handwritten text to form a plurality of sample datum; partition means, operably associated with the sampler means, for partitioning the plurality of sample datum into a plurality of data frames, each of the plurality of data frames having at least two of the plurality of sample datum; first extraction means, operably associated with the partition means, for extracting a plurality of individual- frame features from the plurality of data frames, each of the plurality of individual-frame features having a magnitude and corresponding to one of the plurality of data frames; and second extraction means, operably associated with the first extraction means, for extracting a multi-frame feature, which corresponds to a specific data frame of the plurality of data frames, from one of: at least two of the plurality of individual-frame features, at least two of the plurality of data frames, and at least one of the plurality of individual-frame features and at least one of the plurality of data frames.
2. The sub-system of claim 1 further comprising: formation means, operably associated with the second extraction means, for forming a feature frame which corresponds to the specific data frame and includes the multi-frame feature.
3. The sub-system of claim 1 wherein the first extraction means derives the plurality of individual-frame features from coordinates of the sample of handwritten text, over time, as the sample is written.
4. The sub-system of claim 1 wherein the plurality of individual-frame features is selected from the group consisting of angular velocity, curvilinear velocity, stroke angle, stroke curvature, data frame index, Fourier coefficients, and coefficients of a polynomial.
5. The sub-system of claim 4 wherein the coefficients of a polynomial are based on a first order polynomial which is fitted to a curvilinear velocity profile:
v(k) = o + aιv(jζ-i) + a2v(k_2) + a3V(k- :
wherein v() represents the curvilinear velocity of a kth sample datum; wherein v(k-i) represents the curvilinear velocity of a (k-l)th sample datum; wherein v(]ς-2) represents the curvilinear velocity of a (k-2)th sample datum; wherein v(fc-3) represents the curvilinear velocity of a (k-3)th sample datum; wherein k is an integer index; and wherein ao, i, a2, and a3 represent coefficients of the first order polynomial fitted to the curvilinear velocity profile.
6. The sub-system of claim 4 wherein the coefficients of a polynomial are from a first order polynomial which is fitted to an angular velocity profile:
v(k) = o + bιv(jς-i) + b2v(k-2) + 3v(k-3)
wherein v(k) represents the angular velocity of a kth sample datum; wherein v(k-i) represents the angular velocity of a (k-l)th sample datum; wherein v(k-2) represents the angular velocity of a (k-2)th sample datum; wherein v(k-3) represents the angular velocity of a (k-3)th sample datum; wherein k is an integer index; and wherein bo, bι_, b2, and b3 represent coefficients of the first order polynomial fitted to the angular velocity profile .
7. The sub-system of claim 1 wherein the partition means arranges the plurality of data frames into a sequence.
8. The sub-system of claim 7 wherein the second extraction means determines whether a difference between the magnitude of an individual-frame feature extracted from the specific data frame and the magnitude of an individual- frame feature extracted from a data frame adjacent to the specific data frame is less than a threshold value:
(i) if so, setting the multi-frame feature to 1; and (ii) if not, setting the multi-frame feature to 0.
9. The sub-system of claim 7 wherein the step of extracting a multi-frame feature includes setting the multi-frame feature to n, wherein n is a positive integer which indicates that the magnitude of each of the plurality of individual-frame features corresponding to n data frames precedingly adjacent to the specific data frame has persisted within a range.
10. In a system for recognizing a plurality of characters from a sample of handwritten text, the system utilizing a classifier which responds to a plurality of features extracted from the sample of handwritten text, a method for extracting the plurality of features, the method comprising the steps of:
(a) receiving the sample of handwritten text;
(b) sampling the handwritten text to form a plurality of sample datum;
(c) partitioning the plurality of sample datum into a plurality of data frames, each of the plurality of data frames having at least two of the plurality of sample datum; (d) extracting a plurality of individual-frame features from the plurality of data frames, each of the plurality of individual-frame features having a magnitude and corresponding to one of the plurality of data frames; and (e) extracting a multi-frame feature, corresponding to a specific data frame of the plurality of data frames, from one of: at least two of the plurality of individual-frame features, at least two of the plurality of data frames, and at least one of the plurality of individual-frame features and at least one of the plurality of data frames.
PCT/US1995/009842 1994-09-30 1995-08-03 Method and system for extracting features from handwritten text WO1996010799A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU36250/95A AU3625095A (en) 1994-09-30 1995-08-03 Method and system for extracting features from handwritten text

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31578494A 1994-09-30 1994-09-30
US08/315,784 1994-09-30

Publications (1)

Publication Number Publication Date
WO1996010799A1 true WO1996010799A1 (en) 1996-04-11

Family

ID=23226042

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/009842 WO1996010799A1 (en) 1994-09-30 1995-08-03 Method and system for extracting features from handwritten text

Country Status (3)

Country Link
US (1) US5757960A (en)
AU (1) AU3625095A (en)
WO (1) WO1996010799A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933525A (en) * 1996-04-10 1999-08-03 Bbn Corporation Language-independent and segmentation-free optical character recognition system and method
EP1345163B2 (en) * 2002-03-15 2010-12-29 Computer Sciences Corporation Methods for analysis of writing in documents
US20040006628A1 (en) * 2002-07-03 2004-01-08 Scott Shepard Systems and methods for providing real-time alerting
US20040117188A1 (en) 2002-07-03 2004-06-17 Daniel Kiecza Speech based personal information manager
US20040083090A1 (en) * 2002-10-17 2004-04-29 Daniel Kiecza Manager for integrating language technology components
US20040243531A1 (en) * 2003-04-28 2004-12-02 Dean Michael Anthony Methods and systems for representing, using and displaying time-varying information on the Semantic Web
US8280719B2 (en) * 2005-05-05 2012-10-02 Ramp, Inc. Methods and systems relating to information extraction
US7428516B2 (en) * 2005-06-23 2008-09-23 Microsoft Corporation Handwriting recognition using neural networks
US20070065003A1 (en) * 2005-09-21 2007-03-22 Lockheed Martin Corporation Real-time recognition of mixed source text
US8131536B2 (en) * 2007-01-12 2012-03-06 Raytheon Bbn Technologies Corp. Extraction-empowered machine translation
US7974472B2 (en) * 2007-06-29 2011-07-05 Microsoft Corporation Feature design for HMM based Eastern Asian character recognition
US7890539B2 (en) * 2007-10-10 2011-02-15 Raytheon Bbn Technologies Corp. Semantic matching using predicate-argument structure
EP2138958A1 (en) 2008-06-27 2009-12-30 Honda Research Institute Europe GmbH Sensor signal processing with feature classifier cooperation
CN104463242B (en) * 2014-11-12 2017-10-13 天津理工大学 The multiple features action identification method that feature based is converted and dictionary learns
CN106156766B (en) * 2015-03-25 2020-02-18 阿里巴巴集团控股有限公司 Method and device for generating text line classifier

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058182A (en) * 1988-05-02 1991-10-15 The Research Foundation Of State Univ. Of New York Method and apparatus for handwritten character recognition
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
US5151951A (en) * 1990-03-15 1992-09-29 Sharp Kabushiki Kaisha Character recognition device which divides a single character region into subregions to obtain a character code
US5313528A (en) * 1990-11-29 1994-05-17 Ricoh Company, Ltd. Method for extracting features from on-line handwritten characters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058182A (en) * 1988-05-02 1991-10-15 The Research Foundation Of State Univ. Of New York Method and apparatus for handwritten character recognition
US5151951A (en) * 1990-03-15 1992-09-29 Sharp Kabushiki Kaisha Character recognition device which divides a single character region into subregions to obtain a character code
US5313528A (en) * 1990-11-29 1994-05-17 Ricoh Company, Ltd. Method for extracting features from on-line handwritten characters
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

Also Published As

Publication number Publication date
AU3625095A (en) 1996-04-26
US5757960A (en) 1998-05-26

Similar Documents

Publication Publication Date Title
US5854855A (en) Method and system using meta-classes and polynomial discriminant functions for handwriting recognition
US5768417A (en) Method and system for velocity-based handwriting recognition
US5802205A (en) Method and system for lexical processing
US5757960A (en) Method and system for extracting features from handwritten text
US5343537A (en) Statistical mixture approach to automatic handwriting recognition
US5805731A (en) Adaptive statistical classifier which provides reliable estimates or output classes having low probabilities
JP7028345B2 (en) Pattern recognition device, pattern recognition method, and program
US6556712B1 (en) Methods and apparatus for handwriting recognition
US5768422A (en) Method for training an adaptive statistical classifier to discriminate against inproper patterns
US5805730A (en) Method for training an adaptive statistical classifier with improved learning of difficult samples
US5903884A (en) Method for training a statistical classifier with reduced tendency for overfitting
US5796863A (en) Method for training an adaptive statistical classifier to balance unigram prior factors
US5818963A (en) Method and system for recognizing a boundary between characters in handwritten text
CN111103976B (en) Gesture recognition method and device and electronic equipment
WO2008005304A2 (en) A method and apparatus for recognition of handwritten symbols
Huang et al. Preprocessing techniques for online handwriting recognition
Ehrich et al. Experiments in the contextual recognition of cursive script
CN109933202B (en) Intelligent input method and system based on bone conduction
EP0762313A2 (en) Imprved method and apparatus for handwriting recognition using invariant features
Tanguay Hidden Markov models for gesture recognition
CN114397963A (en) Gesture recognition method and device, electronic equipment and storage medium
CN109766951A (en) A kind of WiFi gesture identification based on time-frequency statistical property
Toh Fingerprint and speaker verification decisions fusion
Stoll et al. Applications of HMM modeling to recognizing human gestures in image sequences for a man-machine interface
Yao et al. On-line handwritten Chinese word recognition based on lexicon

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
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA