On-line handwriting recognizer
First Claim
1. A method for recognizing an input handwritten character digitized as a sequence of coordinate points in two dimensional space representative of a trajectory making up an input character, the method comprising:
- gathering the sequence of points for the input character;
building an input graph with nodes representative of significant points along the trajectory of the input character and with edges between nodes representative of the trajectory formed by the sequence of points of the input character between the significant points;
describing each edge in the input graph based on the shape and orientation of the trajectory that the edge represents, wherein describing each edge includes determining, for each described edge of the input graph, a character-part shape from one or more codebooks that is closest to a portion of the trajectory represented by that edge;
describing individual edges in one or more model graphs based on a similarity of a given edge in the model graph to multiple shapes in the one or more codebooks;
evaluating the input graph against the one or more model graphs, using the described edges of the input graph and the model graph, for all possible characters to find a model graph having the most similar path to a path of the input graph and identifying the input character as an answer character represented by the model graph with the most similar path.
11 Assignments
0 Petitions
Accused Products
Abstract
A character recognizer recognizes a handwritten input character. A sequence of points in two dimensional space representative of a stroke trajectory forming the input character is gathered. An input Directed Acyclic Graph is built with nodes representative of singular points at the beginning, end, and along the trajectory of the input character and with edges between nodes representative of an edge trajectory formed by the sequence of points of the input character between the singular points. Each edge in the input graph is described based on the shape, orientation and pen lift of the edge trajectory that the edge represents. The input graph is evaluated against model graphs, which are also Directed Acyclic Graphs, for all possible characters to find a path through a model graph that produces a best path similarity score with a corresponding path through the input graph. The input character is identified as an answer character represented by the model graph producing the best path similarity score. Each model graph for a reference character has nodes representative of singular points at the beginning, end, and along the stroke trajectory of the reference character. Edges between nodes in the model graph are representative of an edge trajectory formed by the sequence of points of the reference character between the singular points. Further each edge of the model graph has an “i” vector, a “j” vector and a “k” vector, and the “i,j,k” vectors indicate similarity values associated with the edge trajectory of the reference character and typical shapes, shape rotation and pen lift, respectively.
-
Citations
34 Claims
-
1. A method for recognizing an input handwritten character digitized as a sequence of coordinate points in two dimensional space representative of a trajectory making up an input character, the method comprising:
-
gathering the sequence of points for the input character; building an input graph with nodes representative of significant points along the trajectory of the input character and with edges between nodes representative of the trajectory formed by the sequence of points of the input character between the significant points; describing each edge in the input graph based on the shape and orientation of the trajectory that the edge represents, wherein describing each edge includes determining, for each described edge of the input graph, a character-part shape from one or more codebooks that is closest to a portion of the trajectory represented by that edge; describing individual edges in one or more model graphs based on a similarity of a given edge in the model graph to multiple shapes in the one or more codebooks; evaluating the input graph against the one or more model graphs, using the described edges of the input graph and the model graph, for all possible characters to find a model graph having the most similar path to a path of the input graph and identifying the input character as an answer character represented by the model graph with the most similar path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for recognizing an input handwritten character digitized as a sequence of coordinate points in two dimensional space representative of a trajectory making up the input character, the method comprising:
-
gathering the sequence of points for the input character; building an input graph with nodes representative of significant points along the trajectory of the input character and with edges between nodes representative of the trajectory formed by the sequence of points of the input character between the significant points; describing each edge in the input graph based on the shape and orientation of the trajectory that the edge represents; evaluating the input graph against model graphs for all possible characters to find a model graph having the most similar path to a path of the input graph and identifying the input character as an answer character represented by the model graph with the most similar path; creating a model graph for each character against which the input graph is evaluated to find an answer character; creating a form model graph for each character form; merging form model graphs into a model graph for all character forms of the same character; describing edges of each model graph based on similarity to multiple typical shapes, orientations, and lifts; adjusting similarity values of all edges for optimum recognition of input characters. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system for recognizing handwritten characters based on trajectory segments of one or more strokes making up each character, the system comprising:
-
a find module that is configured to identify singular points of each character trajectory defining a beginning point and end point of each stroke of the character and points of significant curvature along each stroke of the character, wherein the character trajectory corresponds to any one of a cursive or mixed handwriting character set; a graph module that is configured to graph each character as an input graph made up of nodes connected by edges in which each node corresponds to a singular point, each edge corresponds to one or more trajectory segments connecting two singular points; an edge definition module that is configured to describe each edge based on the shape, orientation and air percentage value of the trajectory segment associated with the edge; and an evaluation module that is configured to evaluate the input graph against all model graphs of a set of reference characters to identify the model graph of a reference character most similar to the input character. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A system for recognizing handwritten characters based on trajectory segments of one or more strokes making up each character, the system comprising:
-
a find module that is configured to identify singular points of each character trajectory defining a beginning point and end point of each stroke of the character and points of significant curvature along each stroke of the character; a graph module that is configured to graph each character as an input graph made up of nodes connected by edges where each node corresponds to a singular point, each edge corresponds to one or more trajectory segments connecting two singular points; an edge definition module that is configured to describe each edge based on the shape, orientation and air percentage value of the trajectory segment associated with the edge; and an evaluation module that is configured to evaluate the input graph against all model graphs of a set of reference characters to identify the model graph of a reference character most similar to the input character; wherein said graph module comprises; a node assign module that is configured to find all singular points in an input character and assigning a node to each singular point; an edge assign module that is configured to create multiple order edge candidates between nodes;
an edge complexity test module testing the complexity of each edge; anda reject module that is configured to reject complex edge candidates and removing the complex edge candidates leaving the remaining edge candidates as the edges between nodes in the input graph; wherein said evaluating module comprises; a load module that is configured to load model graphs for evaluation against the input graph; a pair path evaluating module that is configured to compute the similarity score between edges making up a path in the input graph and edges making up a path in the model graph; said pair path evaluating module being configured to repeat the computing operation for the input graph against paths in all model graphs until locating the best path similarity score so as to identify the character most similar to the input character; wherein each edge of a model graph includes a shape vector, an orientation vector and an air percentage vector, together the vectors indicate the similarity of each edge of the model graph to predefined shapes, orientations, and air percentage values and wherein said path evaluating module is configured to perform steps comprising; computing a edge pair similarity score indicative of the similarity of the edge in the input graph and the corresponding edge in the model graph; and computing a path similarity score indicative of the similarity of all the edges along a path in the input graph to all corresponding edges along the pair path in the model graph; where said path evaluating module further comprises; reducing the path similarity score for a unbalanced pair path where one path of the pair has more edges than the other path of the pair; and varying correspondence between edge pairs in an unbalanced pair path until all variants of edge pairs for the unbalanced pair path have been evaluated for a path similarity score.
-
-
25. A computer readable medium readable by a computing system and encoding a computer program of instructions for executing a computer process for recognizing a handwritten input character, said computer process comprising steps that include:
-
gathering a sequence of points in two dimensional space representative of a trajectory forming the input character; building an input graph with nodes representative of singular points at the beginning, end, and along the trajectory of the input character and with edges between nodes representative of an edge trajectory formed by the sequence of points of the input character between the singular points; describing each edge in the input graph based on the shape, orientation and air lift of the edge trajectory that the edge represents, wherein describing each edge includes determining, for each described edge of the input graph, a character-part shape from one or more codebooks that is closest to a portion of the trajectory represented by that edge; describing individual edges in one or more model graphs based on a similarity of a given edge in the model graph to multiple shapes in the one or more codebooks; evaluating the input graph against one or more model graphs, using the described edges of the input graph and the model graph, for all possible characters to find a path through a model graph that produces a best path similarity score with a corresponding path through the input graph and identifying the input character as an answer character represented by the model graph. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for recognizing an input handwritten character digitized as a sequence of coordinate points in two dimensional space representative of a trajectory making up the input character, the method comprising the acts of:
-
gathering the sequence of points for the input character; building an input graph with nodes representative of significant points along the trajectory of the input character and with edges between nodes representative of the trajectory formed by the sequence of points of the input character between the significant points; describing each edge in the input graph based on the shape and orientation of the trajectory that the edge represents; evaluating the input graph against model graphs for all possible characters to find a model graph having the most similar path to a path of the input graph and identifying the input character as an answer character represented by the model graph with the most similar path; creating a model graph for each character against which the input graph is evaluated to find an answer character wherein describing each edge in the input graph includes calculating an air portion of the trajectory that the edge represents, the air portion being that portion of the trajectory where the pen is lifted off of the two dimensional space of the input character, and assigning to the edge an air percentage value indicative of the air portion. - View Dependent Claims (34)
-
Specification