Recognizing multi-stroke symbols
First Claim
1. A method of analyzing a symbol comprised of one or more drawn strokes, comprising:
- calculating the speed of drawing along each stroke;
calculating a curvature metric along each stroke;
identifying the segment points within said stroke using said calculated speed and curvature;
classifying each segment between segment points as a type of primitive; and
constructing a description of the symbol using the primitives and relationships between said primitives.
0 Assignments
0 Petitions
Accused Products
Abstract
We disclose a trainable recognizer for multi-stroke symbols. Pen speed and the curvature are examined to segment a stroke into the constituent primitives. The primitives are determined to be lines or arcs using, for example, a least squares best fit method. Symbol recognition (training) results in the construction of definitions consisting of the constituent geometric primitives (lines and arcs), the properties of individual primitives, and the geometric relationships between them. A definition is learned by examining a few examples of a symbol and identifying which properties and relationships occur frequently. Thereafter, during symbol recognition (matching), an unknown symbol is identified by determining which definition matches the unknown with the least error. We disclose two recognition methods. One assumes that the primitives of a symbol are always drawn in the same order. This method is fast, but requires some care from the drawer. The other method uses a form of best-first search, with a speculative quality metric and pruning, to recognize symbols when the drawing order is varied. During both training and recognition, multiple primitives can be drawn in the same pen stroke.
-
Citations
10 Claims
-
1. A method of analyzing a symbol comprised of one or more drawn strokes, comprising:
-
calculating the speed of drawing along each stroke;
calculating a curvature metric along each stroke;
identifying the segment points within said stroke using said calculated speed and curvature;
classifying each segment between segment points as a type of primitive; and
constructing a description of the symbol using the primitives and relationships between said primitives. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of recognizing an unknown symbol comprised of one or more drawn strokes, comprising:
-
calculating speed along each stroke;
calculating a curvature metric along each stroke;
identifying the segment points within said stroke using said calculated speed and curvature;
classifying each segment between segment points as a type of primitive;
constructing a description of the unknown symbol using the primitives and relationships between said primitives; and
using said description of said unknown symbol in conjunction with a plurality of stored definitions of known symbols to select one of said known symbols as corresponding to said unknown symbol. - View Dependent Claims (8, 9)
-
-
10. A memory device carrying a set of instructions for performing a method of analyzing a symbol comprised of one or more drawn strokes, the method comprising:
-
calculating the speed of drawing along each stroke;
calculating a curvature metric along each stroke;
identifying the segment points within said stroke using said calculated speed and curvature;
classifying each segment between segment points as a type of primitive; and
constructing a description of the symbol using the primitives and relationships between said primitives.
-
Specification