Claims
- 1. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for recognizing a handwritten character, said method steps comprising:
- (1) receiving character signals from an input device, said character signals representing training observation sequences of sample characters;
- (2) sorting said character signals according to lexemes which represent different writing styles for a given character, by mapping said character signals in lexographic space, said lexographic space containing one or more character-level feature vectors, to find high-level variations in said character signals;
- (3) selecting one of said lexemes;
- (4) generating sequences of feature vector signals representing feature vectors for said character signals associated with said selected lexeme by mapping in chirographic space, said chirographic space containing one or more frame-level feature vectors; and
- (5) generating a Markov model signal representing a hidden Markov model for said selected lexeme, said hidden Markov model having model parameter signals and one or more states, each of said states having emission transitions and non-emission transitions, wherein said step (5) comprises the steps of:
- (i) initializing said model parameters signals comprising the steps of:
- (a) setting a length for said hidden Markov model;
- (b) initializing state transition probabilities of said hidden Markov model to be uniform;
- (c) for each of said states, typing one or more output probability distributions for said emission transitions;
- (d) for each of said states, assigning a Gaussian density distribution for each of one or more codebooks; and
- (e) alternatively initializing one or more mixture coefficients to be values obtained from a statistical mixture model; and
- (ii) updating said model parameter signals.
- 2. The method of claim 1, further comprising the step of:
- (6) generating individual hidden Markov models for all lexemes by performing steps (3)-(5) for each of said lexemes.
- 3. The method of claim 2, further comprising the steps of:
- (7) receiving test characters;
- (8) generating sequences of feature vectors for said test characters by mapping in chirographic space;
- (9) selecting one of said test characters;
- (10) computing probabilities that said selected test character can be generated by said hidden Markov models;
- (11) selecting one of said hidden Markov models having a greatest probability; and
- (12) decoding said selected test character as a recognized character associated with said selected hidden Markov model.
- 4. The method of claim 3, further comprising the step of:
- (13) performing steps (9)-(12) for each of said test characters.
- 5. The method of claim 1, wherein said step (a) comprises the steps of:
- determining an average length of observed sequences;
- identifying one of said observed sequences closest in length to said average length; and
- setting a length for said hidden Markov model to a value longer than said identified observed sequence.
- 6. The method of claim 1, wherein step (d) comprises the steps of:
- generating multiple Gaussian density distributions by using said statistical mixture model;
- for each of said states, selecting one of said Gaussian density distributions based on cluster memberships g.sub.k of individual frames of an observation sequence; and
- alternatively initializing mixture coefficients to be values obtained from said statistical mixture model.
- 7. The method of claim 1, wherein said step (ii) comprises the step of performing Viterbi alignment of observation sequences to update said model parameters.
- 8. The method of claim 1, wherein said step (ii) comprises the steps of:
- (a) accumulating probabilities of each state transition and each observed value corresponding to all possible paths through said hidden Markov model for each training observation sequence; and
- (b) updating said model parameters based on relative frequencies of said state transitions and on observed values emitted during said state transitions.
- 9. The method of claim 1, wherein said step (ii) comprises the steps of:
- (a) determining a most probable path through said hidden Markov model for each training observation sequence; and
- (b) updating said model parameters based on relative frequencies of state transitions and on observed values emitted during said state transitions.
- 10. The method of claim 9, wherein step (ii)(b) comprises the steps of:
- (I) updating said one or more output probability distributions;
- (II) updating said one or more mixture coefficients; and
- (lII) updating station transition probabilities.
- 11. The method of claim 10, wherein said step (I) comprises the step of determining a probability of observing a feature vector x.sub.t at a state j according to an equation: ##EQU11## where: "x.sub.t " is one of one or more feature vectors which are grouped into one or more clusters; "s.sub.j " is a state of said hidden Markov model; "k" is the total number of said feature vector clusters; "g.sub.k.sup.1 " is one of said one or more clusters; "g.sub.k.sup.2 " is one of said one or more clusters; and ".alpha." is a weighting term.
- 12. The method of claim 10, wherein said step (II) comprises the step of updating mixture coefficients according to an equation: ##EQU12## where "s.sub.j " is a state of said hidden Markov model, and "g.sub.k " is one of one or more clusters of feature vectors.
- 13. The method of claim 10, wherein step (III) comprises the step of updating state transition probabilities according to an equation: ##EQU13## wherein "s.sub.i " is a state of said hidden Markov model and "s.sub.j " is a state of said hidden Markov model.
- 14. The method of claim 10, further comprising the step of:
- (IV) repeating steps (II)-(III) during each iteration.
- 15. The method of claim 3, wherein said step (10) comprises the step of applying a Viterbi algorithm to calculate, a posteriori, probabilities that said selected test character can be generated by said hidden Markov models.
- 16. The method of claim 3, wherein said step (10) comprises the step of applying a maximum likelihood algorithm to calculate, a posteriori, probabilities that said selected test character can be generated by said hidden Markov models.
- 17. A computer program product for recognizing handwriting, comprising:
- (a) a computer usable medium having computer readable program code means embodied in said medium for causing a computer to recognize a handwritten character, said computer readable program code means comprising,
- (b) computer readable program code means for causing a computer to receive character signals into a preprocessor unit from the input device representing training observation sequences of sample characters;
- (c) computer readable program code means for causing a computer to sort said character signals in said preprocessor unit according to lexemes which represent different writing styles for a given character, by mapping said sample characters in lexographic space, said lexographic space containing one: or more character-level feature vectors, to find high-level variations in said character signals;
- (d) computer readable program code means for causing a computer to generate sequences of feature vector signals in a front end unit representing feature vectors for said character signals by mapping in chirographic space, said chirographic space containing one or more frame-level feature vectors;
- (e) computer readable program code means for causing a computer to generate Markov model signals in the modeling component representing hidden Markov models for said lexemes, each of said hidden Markov models having model parameter signals and one or more states, each of said states having emission transitions and non-emission transitions, wherein said generating means comprises:
- (i) computer readable program code means for causing a computer to initialize said model parameter signals in each of said hidden Markov model, said initializing means comprising:
- computer readable program code means for causing a computer to set a length for said hidden Markov model;
- computer readable program code means for causing a computer to initialize state transition probabilities of said hidden Markov model to be uniform;
- computer readable program code means for causing a computer to tie one or more output probability distributions for said emission transitions for each of said states;
- computer readable program code means for causing a computer to assign a Gaussian density distribution for each one or more codebooks for each of said states; and
- computer readable program code means for causing a computer to alternatively initialize one or more mixture coefficients to be values obtained from a statistical mixture model; and
- (ii) computer readable program code means for causing a computer to update said model parameter signals in each of said hidden Markov models.
- 18. The computer program product of claim 17, further comprising:
- (f) computer readable program code means for receiving test characters;
- (g) computer readable program code means for generating sequences of feature vectors for said test characters by mapping in chirographic space;
- (h) computer readable program code means for computing probabilities that said test characters can be generated by said hidden Markov models; and
- (j) computer readable program code means for decoding said test characters as recognized characters associated with said selected hidden Markov models having greatest probabilities.
- 19. The computer program product of claim 17, wherein said means for updating comprises a computer readable program code means for causing a computer to perform Viterbi alignment of observation sequences to update said model parameters.
- 20. The computer program product of claim 17, wherein said means for updating comprises:
- computer readable program code means for causing a computer to accumulate probabilities of each state transition and each observed value corresponding to all possible paths through said hidden Markov model for each training observation sequence; and
- computer readable program code means for causing a computer to update said model parameters based on relative frequencies of said state transitions and on observed values emitted during said state transitions.
- 21. The computer program product of claim 17, wherein said updating means comprises:
- (1) computer readable program code means for causing a computer to determine a most probable path through said hidden Markov model for each training observation sequence;
- (2) computer readable program code means for causing a computer to update said model parameters based on a relative frequencies of state transitions and on observed values emitted during said state transitions, comprising:
- (I) computer readable program code means for causing a computer to update said one or more output probability distributions;
- (II) computer readable program code means for causing a computer to update said one or more mixture coefficients; and
- (III) computer readable program code means for causing a computer to update state transition probabilities.
- 22. The computer program product of claim 21, wherein said means for updating output distributions comprises computer readable program means for causing a computer to determine a probability of observing a feature vector x.sub.t at a state j according to an equation: ##EQU14## where: "x.sub.t " is one of one or more feature vectors which are grouped into one or more clusters; "s.sub.j " is a state of said hidden Markov model; "k" is the total number of said feature vector clusters; "g.sub.k.sup.1 " is one of said one or more clusters; "g.sub.k.sup.1 " is one of said one or more clusters; and ".alpha." is a weighting term.
- 23. The computer program product of claim 21, wherein said means for updating mixture coefficients comprises computer readable program code means for causing a computer to update mixture coefficients according to an equation: ##EQU15## where "s.sub.j " is a state of said hidden Markov model, and "g.sub.k " is one of one or more clusters of feature vectors.
- 24. The computer program product of claim 21, wherein said means for updating state transition probabilities comprises computer readable program code means for causing a computer to update state transition probabilities according to an equation: ##EQU16## where "s.sub.i " is a state of said hidden Markov model and "s.sub.j " is a state of said hidden Markov model.
- 25. The computer program product of claim 18, wherein said means for computing comprises computer readable program code means for causing a computer to apply a Viterbi algorithm to calculate, a posteriori, probabilities that said selected test character can be generated by said hidden Markov models.
- 26. The computer program product of claim 18, wherein said means for computing comprises computer readable program code means for causing a computer to apply a maximum likelihood algorithm to calculate, a posteriori, probabilities that said selected test character can be generated by said hidden Markov models.
Parent Case Info
This application is a continuation of application Ser. No. 07/818,193, filed Jan. 8, 1992, now U.S. Pat. No. 5,544,257.
US Referenced Citations (11)
Foreign Referenced Citations (1)
Number |
Date |
Country |
2237917 |
May 1991 |
GBX |
Continuations (1)
|
Number |
Date |
Country |
Parent |
818193 |
Jan 1992 |
|