Unsupervised training of character templates using unsegmented samples
First Claim
1. A method of operating a machine to perform unsupervised training of a set of character templates, the machine including a processor and a memory device for storing data, the data including instruction data the processor executes to operate the machine, the processor being coupled to the memory device for accessing the data, the method comprising the steps of:
- A) receiving and storing an image glyph source including a plurality of image pixel positions defining an image, the image glyph source including a plurality of glyphs, each glyph being an image instance of a respective one of a plurality of characters in a character set, the set of character templates being trained representing respective ones of the plurality of characters in the character set;
B) performing a recognition operation on the image glyph source, the recognition operation producing a plurality of labeled glyph position data items, each labeled glyph position data item indicating one of the plurality of image pixel positions in the image glyph source and a respectively paired glyph label paired with the image pixel position, each image pixel position associating an image glyph source location with a glyph occurring in the image glyph source, each respectively paired glyph label identifying the glyph associated with the image pixel position as a respective one of the plurality of characters in the character set;
C) determining a sample image region included in the image glyph source for each labeled glyph position data item, the sample image region including the image pixel position indicating the image glyph source location of a glyph and being identified as a training data sample for the character template indicated by the respectively paired glyph label, each sample image region including a plurality of sample pixel positions in the image glyph source each sample pixel position indicating a sample pixel value;
D) for each respective character template to be trained producing a template image region including a plurality of template pixel positions for storing the respective character template; and
E) producing the set of character templates using the template image regions and the sample image regions by the sub-steps of;
(a) producing an image definition data structure for defining and storing an ideal image, the ideal image being represented as a function of the set of character templates being trained, and being a reconstruction of the image glyph source formed by positioning respective ones of the character templates in an image plane at image pixel positions identified as image glyph source locations of glyphs occurring in the image glyph source, each respective one of the character templates positioned in the ideal image being identified by the glyph label paired with the image glyph source location;
(b) computing pixel scores for template pixel positions in template image regions using selected ones of the sample pixel positions in selected ones of the sample image regions included in the image source of glyphs; and
(c) sequentially assigning a pixel value to selected template pixel positions in selected template image regions, the selected template pixel positions being selected on the basis of the pixel scores optimizing the function representing the ideal image such that, when all template pixel positions have been assigned pixel values, the pixel value assigned to each selected template pixel position optimizes a matching score measuring a match between the image glyph source and the ideal image.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for operating a machine to perform unsupervised training of a set of character templates uses as the source of training samples an image source of character images, called glyphs, that need not be manually or automatically segmented or isolated prior to training. A recognition operation performed on the image source of character images produces a labeled glyph position data structure that includes, for each glyph in the image source, a glyph image position in the image source associating an estimated image location of the glyph in the image source with a character label paired with the glyph image position that indicates the character in the character set being trained. The labeled glyph position data and the image source are then used to determine sample image regions in the image source; each sample image region is large enough to contain at least a single glyph but need not be restricted in size to only contain a single glyph. The template construction process using unsegmented samples is mathematically modeled as an optimization problem that optimizes a function that represents the set of character templates being trained as an ideal image to be reconstructed to match the input image. The method produces all of the character templates substantially contemporaneously by using a novel pixel scoring technique that implements an approximation of a maximum likelihood criterion subject to a constraint on the templates produced which holds that foreground pixels in adjacently positioned character images have substantially nonoverlapping foreground pixels. The character templates produced may be binary templates or arrays of probability values.
99 Citations
15 Claims
-
1. A method of operating a machine to perform unsupervised training of a set of character templates, the machine including a processor and a memory device for storing data, the data including instruction data the processor executes to operate the machine, the processor being coupled to the memory device for accessing the data, the method comprising the steps of:
-
A) receiving and storing an image glyph source including a plurality of image pixel positions defining an image, the image glyph source including a plurality of glyphs, each glyph being an image instance of a respective one of a plurality of characters in a character set, the set of character templates being trained representing respective ones of the plurality of characters in the character set; B) performing a recognition operation on the image glyph source, the recognition operation producing a plurality of labeled glyph position data items, each labeled glyph position data item indicating one of the plurality of image pixel positions in the image glyph source and a respectively paired glyph label paired with the image pixel position, each image pixel position associating an image glyph source location with a glyph occurring in the image glyph source, each respectively paired glyph label identifying the glyph associated with the image pixel position as a respective one of the plurality of characters in the character set; C) determining a sample image region included in the image glyph source for each labeled glyph position data item, the sample image region including the image pixel position indicating the image glyph source location of a glyph and being identified as a training data sample for the character template indicated by the respectively paired glyph label, each sample image region including a plurality of sample pixel positions in the image glyph source each sample pixel position indicating a sample pixel value; D) for each respective character template to be trained producing a template image region including a plurality of template pixel positions for storing the respective character template; and E) producing the set of character templates using the template image regions and the sample image regions by the sub-steps of; (a) producing an image definition data structure for defining and storing an ideal image, the ideal image being represented as a function of the set of character templates being trained, and being a reconstruction of the image glyph source formed by positioning respective ones of the character templates in an image plane at image pixel positions identified as image glyph source locations of glyphs occurring in the image glyph source, each respective one of the character templates positioned in the ideal image being identified by the glyph label paired with the image glyph source location; (b) computing pixel scores for template pixel positions in template image regions using selected ones of the sample pixel positions in selected ones of the sample image regions included in the image source of glyphs; and (c) sequentially assigning a pixel value to selected template pixel positions in selected template image regions, the selected template pixel positions being selected on the basis of the pixel scores optimizing the function representing the ideal image such that, when all template pixel positions have been assigned pixel values, the pixel value assigned to each selected template pixel position optimizes a matching score measuring a match between the image glyph source and the ideal image. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of operating a machine to perform unsupervised training of a set of character templates, the machine including a processor and a memory device for storing data, the data including instruction data the processor executes, the method comprising the steps of:
-
A) receiving and storing in the memory device an image glyph source including a plurality of image pixel positions defining an image and including a plurality of glyphs therein, each glyph being an image instance of a respective one of a plurality of characters in a character set, the set of character templates being trained representing respective ones of the plurality of characters in the character set; B) receiving and storing in the memory device an image source model modeling as a grammar a spatial image structure of a set of images each including a plurality of glyphs, the image glyph source being one of the set of images modeled by the image source model, the image source model including spatial positioning data modeling spatial positioning of the plurality of glyphs occurring in the image glyph source, the image source model further including mapping data mapping a respective one of the glyphs occurring in the image glyph source to a glyph label indicating the character in the character set represented by the glyph; C) performing a recognition operation on the image glyph source using the image source model, the recognition operation using the spatial positioning data to determine an image pixel position in the image glyph source associating an image glyph source location with a glyph occurring in the image glyph source;
the recognition operation further using the mapping data to pair a respectively paired glyph label with the image pixel position, each respectively paired glyph label identifying the glyph associated with the image pixel position as a respective one of the plurality of characters in the character set, the recognition operation producing a plurality of labeled glyph position data items each indicating an image pixel position of a glyph in the image glyph source and a respectively paired glyph label;D) determining a sample image region included in the image glyph source for each labeled glyph position data item, the sample image region including the image pixel position indicating the image glyph source location of a glyph and being identified as a training data sample for the character template indicated by the respectively paired glyph label each sample image region including a plurality of sample pixel positions in the image glyph source, each indicating a sample pixel value; E) for each respective character template to be trained producing a template image region including a plurality of template pixel positions for storing the respective character template; and F) producing the set of character templates using the template image regions and the sample image regions by the sub-steps of; (a) computing template pixel scores for respective ones of the template pixel positions in the template image regions using the sample pixel values indicated by the sample pixel positions included in the sample image regions; (b) assigning a foreground pixel value to a template pixel position, referred to as an assigned template pixel position, in one of the template image regions;
the assigned template pixel position being selected on the basis of the template pixel scores;(c) modifying the sample pixel values of the sample pixel positions used in computing the template pixel score for the assigned template pixel position to indicate modified sample pixel values that, when used in computing a subsequent template pixel score for an unassigned template pixel position, reduce the chance that a foreground pixel value will be assigned to the unassigned template pixel position on the basis of the subsequent template pixel score; and (d) repeating substeps (a), (b) and (c) until a stopping condition indicates that the set of character templates is complete. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A machine for use in training a set of bitmapped character templates for use in a recognition operation;
- the machine comprising;
A) a signal source for providing image definition data defining an image; B) image input circuitry connected for receiving the image definition data defining the image from the signal source; C) a processor connected for receiving the image definition data defining the image from the image input circuitry; and D) memory for storing data, the data including instructions the processor can execute; the processor being further coupled the memory; wherein the instructions comprise the steps of; 1) receiving from the image input circuitry an image glyph source including a plurality of image pixel positions defining an image, including a plurality of glyphs therein, each glyph being an image instance of a respective one of a plurality of characters in a character set;
the set of character templates being trained representing respective ones of the plurality of characters in the character set;2) performing a recognition operation on the image glyph source;
the recognition operation producing a plurality of labeled glyph position data items, each labeled glyph position data item indicating one of the plurality of image pixel positions in the image glyph source and a respectively paired glyph label paired with the image pixel position, each image pixel position associating an image glyph source location with a glyph occurring in the image glyph source, each respectively paired glyph label identifying the glyph associated with the image pixel position as a respective one of the plurality of characters in the character set;3) determining a sample image region included in the image glyph source for each labeled glyph position data item;
the sample image region including the image pixel position indicating the image glyph source location of a glyph and being identified as a training data sample for the character template indicated by the respectively paired glyph label;
each sample image region including a plurality of sample pixel positions in the image glyph source, each indicating a sample pixel value; and
for each respective character template to be trained further producing a template image region including a plurality of template pixel positions for storing the respective character template; and4) producing the set of character templates using the template image regions and the sample image regions by the sub-steps of; (a) producing an image definition data structure for defining and storing an ideal image;
the ideal image being represented as a function of the set of character templates being trained, and being a reconstruction of the image glyph source formed by positioning respective ones of the character templates in an image plane at image pixel positions identified as image glyph source locations of glyphs occurring in the image glyph source;
each respective one of the character templates positioned in the ideal image being identified by the glyph label paired with the image glyph source location;(b) computing pixel scores for template pixel positions in template image regions using selected ones of the sample pixel positions in selected ones of the sample image regions included in the image source of glyphs; and (c) sequentially assigning a pixel value to selected template pixel positions in selected template image regions;
the selected template pixel positions being selected on the basis of the pixel scores optimizing the function representing the ideal image such that, when all template pixel positions have been assigned pixel values, the pixel value assigned to each selected template pixel position optimizes a matching score measuring a match between the image glyph source and the ideal image.
- the machine comprising;
Specification