CA2043593C - Methods and apparatus for image analysis - Google Patents

Methods and apparatus for image analysis

Info

Publication number
CA2043593C
CA2043593C CA002043593A CA2043593A CA2043593C CA 2043593 C CA2043593 C CA 2043593C CA 002043593 A CA002043593 A CA 002043593A CA 2043593 A CA2043593 A CA 2043593A CA 2043593 C CA2043593 C CA 2043593C
Authority
CA
Canada
Prior art keywords
defects
defect
image
pixel
specified
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CA002043593A
Other languages
French (fr)
Other versions
CA2043593A1 (en
Inventor
Henry Spalding Baird
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co 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 American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of CA2043593A1 publication Critical patent/CA2043593A1/en
Application granted granted Critical
Publication of CA2043593C publication Critical patent/CA2043593C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)
  • Character Input (AREA)

Abstract

Apparatus and methods for generating a set of defective images from a model image.
Defect parameters used with the apparatus and methods specify classes of defectsincluding resolution, blur, threshold, speckle, jitter, skew, distortion of width and height, offset from a baseline, and kerning The parameters further permit specification of a range of sizes of the defects and a distribution of the defects within the range. Within the apparatus, actual values for the defects are generated randomly within the specified ranges and distributions. The model image may be represented by means of pixels or by a format which describes the model image's shape. The user may specify the number and the size of the defective images. The defective images are useful for inferring accurate and efficient image classifiers for use in image recognition devices such as optical character readers.

Description

, 2043~9~

METHODS AND APPARATUS FOR IMAGE ANALYSIS

Back~round of the Invention L Field of the Invention A problem of increasing importance in conlpuler technology is the s extraction of information from images which are ~ sented as arrays of pixels (picture element intensity values). On the one hand, col~ule~ technology has successfully aulolllaled the acquisition, storage, and tr~nsmi~ion of images of ~ocumçnt~; on the other hand, it has even more succes~fully ~ o..~ed the storageand manipulation of info, ~ ;on represented by strings of digital codes lepl.,se..t;ng 0 text characters.
What has been much less succes~fully ~utom~te~ is the conversion of character infollllation in images into character-string data. Often, the same technique is used as was used to convert character info. " .Al iOn on pieces of paper into character-string data: a data entry clerk reads the image and uses a keyl,oard to 15 enter character-string data equivalent to the inform~tion on the image into a data base. The difficulties with this procedure are obvious: it is eYpensive~ slow, and error-prone.
The key to the problem of converting ch~r~ctçr i.~, ...~I;on into character-string data is the ~lto...~ l recognition of portions of images as symbols 20 such as letters or numbers. Devices which pelrollll such recognition are termed image classifiers in the art. Image cl~csifiers are generally imple~lentc;d as programs which run on a con~ul~ system and analyze a digital le~l~,s~ ;on of the image which is stored in the COlllpUIel system's memory.
One source of difficulty in the design of image cl~c~ifiçrs has been 2s dealing with defective pixel represçnt~fions of the symbols. If the image classifier is to successfully recognize portions of images which may be symbols, it must not only be able to recognize those portions of the image which are good representations of the symbols, but also those which are defective lepl~s~ tions. The defects can have a number of sources. For ins~nce~ the paper docum~nt which was the source of 30 the image may be defective: it may have spots of dirt, it may have been folded, or it may have been made by a defective printing device. Further, when the paper document was sc~nne~l, it might not have been pl~elly placed in the scanner, with the result that the image is distorted. The optics of the sc~nning process may produce additional defects, and there are finally the defects which are inherent in the 3s l~pfeselltation of the continuous features of the docum~nt by means of an array of pixels.

_ - 2 - 2043593 In the image analysis art, the process of modifying an image classifier so that it successfully handles defective representations of symbols is termed training the image classifier. Training may be manual or automatic; in the manual case, the image classifier is operated on images with defective symbols and the 5 classifier's algorithms are modified until it works with the defective symbols. In automatic training, artificial intelligence or neural network techniques are used which permit the image classifier to respond to defective images by modifying itself so that it properly analyzes them.
2. DescriPtion of the Prior Art As is clear from the foregoing, proper training requires that the image classifier be tested with, or in the case of automatic training, exposed to, a set of defective symbols which includes virtually the entire range of defects which theimages to be classified by the image classifier may contain. In the prior art, such sets of defective symbols have been collected manually, and the provision of an 15 adequately large set of defective symbols has proved in practice to be impossible.
What is needed, and what is provided by the present invention, is a technique which permits automatic generation of sets of defective symbols.
Summary of the Invention In accordance with one aspect of the invention there is provided a 20 method of generating examples of defective pixel representations of symbols comprising the steps of: receiving one or more defect parameters selected from aset thereof by a user, each defect parameter in the set specifying one class of pixel representation defects of one or more classes thereof; receiving a set of one ormore model symbols; and generating a set of defective pixel representations of the 25 symbols from the set of model symbols in response to the defect parameters, the defective pixel representations including pixel representation defects belonging to the classes specified by the defect parameters.
In accordance with another aspect of the invention there is provided a method of inferring a classifier of pixel representations of symbols for use in an 30 optical image recognition system comprising the steps of: receiving the set of model symbols; receiving one or more defect parameters selected from a set thereof ~B

- 2a-by a user, each defect parameter in the set specifying a class of pixel representation defects; producing defective pixel representations which include pixel representation defects belonging to the classes specified by the defect parameters; and employing the set of defective pixel representations to infer the classifier.
Also disclosed is apparatus for performing the above method. Further aspects of the technique include specification of a range of defects and specification of a distribution of defects in the range in the defect parametersand specification of the number of defective images to be produced from a given model image and the range of sizes of the defective image. Defects for which it has proved useful to provide defect parameters include resolution, blur, threshold, speckle, jitter, skew, distortions of width and height, defective position relative to a baseline, and kerning. The model images may have either representations which described the shape of the ' E~

2043~93 model images or pixel lep-~,sel1~tions. The defective images gcncl~led using thedisclosed m~thod and app~.llus may be employed to infer cl~csifier~ used in image recognition systems.
It is thus an object of the invention to provide an improved image 5 recognition system;
It is another object of the invention to provide a method and apparatus for generating sets of defective inventions;
It is a further object of the invention to provide a method and app~lus for genl,.aling images with defects specified by defect ~ ,t~lS; and It is an additional object of the invention to provide a method and a~pal~lus for generating images with defects having ranges and distributions specified by the defect par~ ,ntc s.
These and other objects and advantages of the invention will be apparent to those of ordinary skill in the art to which the invention pertains after consideration 15 of the following Detailed Description and Drawing, wherein:
Brief Description of the Drawin~
FIG. 1 shows eY~mrles of defect classes;
FIG. 2 shows further eY~mrles of defect classes;
FIG. 3 is a block ~ ~m of an image defect ~nel~lor 301 FIG. 4 is a high-level flowchart of the operation of defect maker 307;
FIG. S shows examples of the defective images output by image defect generator 301;
FIG. 6 is a let~iled flowchart of block 415 or 421 of the flowchart of FIG. 4 FIG. 7 is a de~iled flowchart of block 615 of the flowchart of FIG. 6;
FIG. 8 is a det~il~l flowchart of block 711 of the flowchart of FIG. 7;
and FIG. 9 is a block diagram of the use of image defect genel~or 301 with an inrell.,l to produce a classifier in an image recognition system.
Reference numbers in the figures have two parts: the rightmost two digits specify an element number within a figure; the lr...~ ing digits specify the figure in which the elem~,nt specified by the reference number first appears. Thus, elem~,nt 801 is first shown in FIG. 8.

Detailed Description The following Detailed Description of the techniques for generating examples of defective characters and the applications of those techniques which are the subject matter of the present application will begin with a description of the S classes of defects for which p~"el,l~ are provided in a p~ere.l~d embo lim~nt, will then continue with a ~let~ile(l description of the techniques, and will conclude with a ~i~r,llcsion of some applications of the techniques.
Classes of Local ~m9~in~ Defects: FIGS. 1 and 2 In a preferred embo~iment, the e~mples of defective characters may 10 include defects belonging to one or more of 10 classes of defects. FIGS. 1 and 2 show the 10 classes 101 and give examples of the defects over a range of p~dll~ele values. In the following ~ cllssion, the name of each defect is followed by the reference number of the exarnple.
Resolution 103: The degraded image will be spatially-qu~nti7ç~1 In practice, this is the result of both the absolute size of the symbol and the scanning digitizing resolution, specified se~al~lely as size (in points), and resolution (in pixels/inch). For experiments in characterrecognition the distribution of sizes is ul~iro~ on [5,14]
point, at a resol~ltiQn of 300 pixels/inch (roughly equivalent here totherange[10,30]pixels/character-height). Referencenumber 103 shows examples from 5 to 11 point, scaled to the same absolute size for clarity.
Blur 105: The point-spread (or, impulse respon~e) function of the combined printing-and-im~ging process is mrylel~3 as a circularly-symmetric G~s~i~n filter with a standard error of blur in units of output pixel size. Note that blur 0.7 implies effectively zero cross-talk between non-8-connectod pixels: thus 0.7 may be close to the optimal hal.lware design for bi-level sc~nners. In a plerell~ d embodiment, ~lur is distributed normally with mean m =
0.7 and standard error e = 0.3. The images at 105 illustrate the effects of blur parameter values ~ m-3e, m-2e, m-e, m, m+e, m+2e, m+3e 3, which will be explained in detail later. (this set of parameters is also used in illustrations below, unless noted).

2~4~93 Threshold 107: Bin~ri7~tion is mode~ as a test on each pixel: if its intensity 2threshold, the pixel is black. A threshold of 0.25 gu~llees that a stroke that is one output-pixel wide will not be broken under the mean blur of 0.7. In a p.efe.l.,d embo~imçnt, threshold is norm~lly set to mean 0.25 and standard error 0.04. On coarsely-qll~nti7sA input, other choices are appf~.iate.
Speckle 109: Speckle models v~ri~tion~ in the sensitivity of the photoreceptors used to capture the origin~l image. Each pixel's photoreceptor sensitivity is r~n~lomi7ed in two stages: for each char, speckle is selected, in units of intensity ~ [0,1]; then, for each pixel, a sensitivity adjnctment is chosen randomly, distributed normally with mean 0 and standard error speckle, and added to each pixel's intensity. For expçrim~nt~ in character recognition speckle may vary from image to image, normally with mean 0.125 and standard error 0.04.
Jitter 109: Jitter models variations in the loc~tions of the photoreceptors usedto capture the original image from a square grid. Slight variations are p~ ed in the model, again in two stages: for each symbol, jitter is specified, in units of output pixel size; then, for each pixel in the symbol, a vector offset (x,y) is chosen (each component indepçn~ently) from the normal distribution having mean 0 and standard error jitter . Since it is clearly unlikely that two pixel centers will touch, jitter may vary, from image to image, normally with mean 0.2 and standard error 0.1. The effects are often subtle.
25 Skew 111: The symbol may rotate (about a given fiducial point) by a skew angle (in degrees). Experiments on over 1000 pages of books, m~gP7ines, and letters, placed on a flatbed do~ullle.ll scanner by hand with ordinary care, have shown a distribution of angles that is applv~il-lately normal with a mean 0 and a standard error 0.7.
The actual distribution is somewhat long-tailed: absolute skew angles greater than 2 degrees occur more often than in a true Gaus~i~n. For e~c~ ;...~nts in character recognition a distribution with twice this standard error is useful.

20~3593 Width 113: Width variations are model~ by a multiplicative pal~le~
x-scale, that stretches the image horizontally about the symbol's center. Measurements on low-quality im~ges~ such as produced by FAX m~c~lin~s~ suggest that this is a~pru~c;...~lely normal with mean 1.0 and standard error 0.05. However, a distribution unirolm in the interval [0.85,1.15], is useful for e~ in character recognition. Such a range permits modeling a range of font deformations (the "conden~ed" and "eYp~nded" font varieties). Reference 201 shows samples placed unirolll.ly across the range.
Height 203: Height variations are modeled by a mllltiplir~tive p~-let~
y-scale, that stretches the image vertically about the basçline Mea~ ts on low-quality im~ges~ such as produced by FAX
machines, suggest that this is appru~il~ately normal with mean 1.0 and standard error 0.05.
R~eline 205: In machine-printed text, the height of a symbol above the convention~l ba~eline (or, in some writing ~yslems, below a top-line) is often signifir~nt this baseline p~ r~cl is in units of ems. In mea~ule.l~nts on over 120,000 characters from leu~ ss books (printed so.ll~,~l,at more erratically than is usual), a long-tailed normal distribution was again observed, with a mean 0 and a standard error 0.03. For e~ in character recognition a di~tribution with twice this standard error is useful.
Kt~rning 207: The pal~lleler kern varies the horizontal pl~rçment of the imagewith respect to the output pixel grid. Of course, in most writing ~y~Lems the horizontal position is irrelevant for segmented syrnbol recognition. The tivation is to avoid ~y~ tiC ~ligiti7ing artifacts. This is easily accomplished by letting it vary unifo~ ly in [-0.5,0.5], in units of output pixel size; Reference 207 shows examples spaced uniformly across the range. The effects are often subtle.

Ov~. ~;e.. of the D~f~live Ima~e Ge..e~tor: FIG. 3 In a p~f~ d embofliment, images having the defects listed in the preceding section are gcn~.~ted by means of the image defect ge.lclatol shown inFIG. 3. Image defect generator 301 has four components: model images 303, defect5 palalll~ te.~ 305, defect maker 307, and defective images 309. Beginning with model images 303, the model images are one or more images which serve as models of good im~geS The model images may be represented by means of a variety of techniques, including pixel represent~fions or represent~tions by means of geometTic descripdons of edges of the im~ges~ Defect p~a~ tc ~ 305 specify the defects 10 which are ~u~osed to be included in the images gen~ lated by gem ~atOl 301. In a plcr~ll~l embo~lim~nt, defect p~alllete,s 305 further specify a range of size of the defect and a distribudon for a r~n~omi7e~ set of defects within the specified range.
In a plef~ d embo lim~nt, the defect p~lel~ j specify the defects listed in the prece~1ing section; however, in some applications, fewer than all of the defects listed 15 in the prece-ling section may be useful, and in others, defects dirr~,ent from those listed may be useful. Defect maker 307 takes model images 303 and produces defective images 309 from them which have the defects speçifi~cl by defect l~a~ et~"~ 305.
In a l,ler.,.l~d embodiment, defect maker 307 is a program executing on 20 a processor in a digital data processing system. Model images 303 are stored in files in the digital data processing system and defect p~llete.s 305 are provided via a co~ n(l line when defect maker 307 is executed. Defective images 309 are output to files in the digital data processing system. In other embo.1iment~, the parameters may be provided by means of a file, menu, screen, or the like, and defective images 25 309 may be directly output to a display device or to a~)pald~us for inferring a cl~ifier.
ImplementP~i~n of Defect Maker 307, FIGS. 4-8 In a ~leÇell~d embo-lim~nt, defect maker 307 is executed in a co~ utel system running the well-known UNIX~ operating system. The colllmalld line used 30 to execute defect maker 307 specifies an input file which contains one or more model images 303, an output file which is to receive defecdve images 309, and defect pa,all,ele.s 305. Defect pal~lcters 305 appear in the con~alld line as command line options. The following ~i~cnssion of defect maker 307 will first describe the input file, then the output file, then the relevant command line opdons, and will 35 finally describe the operadon of the program.

~puts and Outputs: FIG. 5 Defect maker 307 in a p~efe.l~d embo~im~nt operates on two diLre.ent kinds of model im~ges One kind is a single model image which is specified in theinput file by means of a bec format. This type of format, which is well known in the 5 art, is used by makers of co~ ule. typesetters to le~resent characters. The format employs ASCII characters to specify three types of info~ tion about the character:
. the character's outline;
. its size in points; and . the resolution in pixels per inch of the image to be made from the bec format.The other kind of model image is one or more l~,rese~ ions in pixels of images for which defective images are to be r~lese.-te~l Which variety of model image is being used is specified by means of an option in the co~ nd line. Modelimages in the bec format are useful for character recognition l~sea,.;h and for training cl~csifiers to deal with documents employing the conventions of typesetting.
15 Model pixel images are useful for training cl~c~ifiers to deal with doc~
employing symbols for which bec rep~sel tations are not available.
For a given model image, defect maker 309 may produce the following sets of output im~ges:
. a single output image with the kinds and sizes of defects specified by defect ~ t~ 305;
. a set of output images with the kinds of defects specified by defect parameters 305 and sizes of defects which are randomized within a range and with a distribution specifie~l by defect parameters 305; and either of the above in a range of point sizes.
Again the kind of output is specified by options in the command line when defect maker 307 is invoked. The sets of output images are form~tted as lines of images on a page. FIG. 5 shows format 501 of the output. In this case, the model image was a 5-point upper-case R specified in bec format. Each line 503 shows a set of defective images 505 with a dirrt;lel~t range of defect sizes. The range of defect sizes for each line 503 is expressed by a range of Mahalanobis distances 507. The h~l~nobis ~ t~nce is a st~ti~tic~l measure expressing the Euclidean distance from the mean, scaled component-wise by standard error.

20~3~3 Defect parameters 305 are defined by means of options in the co~ lland line. The options are the following:

The options specify distributions for pseudo-random variables 'v'.
Each has two numeric options 'm' and 'e': the random variable 'v' lies in the range [m- e ,m+ e ] with a distribution specified as follows:
e~O v is normally distributed with mean = m & standard error = e/3 e<O v is uniformly distributed e==O v = m (constant) If either mean or err is omitted, the default is used (see below).
-am,e SKEW ANGLE: rotation (degrees) (default: -aO,4.0; that is, ssi~n with stderr 1.33, which is 2x worse than the 0.66 seen in a sample of 1898 columns read from the Informator).
-bm,e BASELINE: height above (Ems) (default: -bO,.18; that is, Gaussian with stderr 0.06, which is 2x worse than the 0.03 seen in a sample of 120,054 characters read from the Informator).
-em,e BLURRING: (point-spread) function is a circularly-symmetric Gaussian filter with a standard_error of v in units of output pixel-height (i.e. at resolution 'R'), truncated to zero where it falls below 0.1 of maximum. Its radius is thus 2.12*v.
tdefault: -e.7,.9; v=.7 implies radius = 1.5 and therefore zero cross-talk between non-8-connected pixels: this may be close to the optimal hardware design.
jm,e JI l-l ~R: each pixel's photo-receptor location is randomized in two stages: for each char, 'v' is selected as specified by jm,e; then, for each pixel in that char, a vector offset (x,y) is chosen (each component independently) from the Gaussian distribution having mean=O and stderr= v . In units of output pixel-height. (default: j.2,.3) -km,e KERNING: horizontal shift (pixels) (default: -kO,-.5) This varies the horizontal placement of the image with respect to the underlying pixel grid, uniformly. In units of output pixel-width.
-sm,e SPECKLE: each pixel's photo-receptor sensitivity is randomized in two stages: for each char, 'v' is selected as specified by -sm,e; then, for each pixel, a sensitivity adjustment is chosen randomly, distributed normally with mean=O.O and stderr= v /3.
The adjustme~t is added to each pixel's brightness before the threshold test (see -t). (default: -s0.125,0.125) -tm,e THRESHOLD: in [0,1): a pixel is black iff its darkness value >thresh (see effects of -s) (default: -t.25,.125; .25 is halfway between the expected intensities at: (a) a black pixel just off center of a l-pixel-wide line, and (b) the white pixel next to it, assuming that -e.7, and thus the lowest threshold ensuring the line will not be broken.) -xm,e X-SCALING: (width adjustment) (default: -x1,-.15) -ym,e Y-SCALING: (height adjustment) (default: -yl,.05) . ~

- 2043~93 Operation of Defect Maker 307: FIGS. 4, 6-8 Operation of defect maker 307 is shown by means of the flowch~t~ in FM. 4 and FIGS. 6-8. Each suçcee~ling flowchart shows a co~ onent of the preceding flowchart in greater detail. Beginning with FIG. 4, which shows top-level 5 flowchart 401, the first step in execution of defect maker 307 is reading the commAn~1 line, as shown in box 403. Reading the coll~lland line of course includes reading the options specifying defect parameters 305 and the names of the input and output files. The values specified in the con.,..~n-l line are saved in variables for later use. The next step, at box 405, is to open the input file cont~ ing model 10 images 303 and the output file which is to contain defective images 309. Then, at box 407, the format of the page which is to contain defective images 309 is set up.
Next comes loop 425, which is controlled by decision diamond 409. As intli~Ate~ above, among the things which may be specified by cc,...."An~l line options is a range of font sizes for the defective images 309. The range is specified in the 15 ccl"~ nll line by means of a list of font sizes; loop 425 is executed once for each font size; if no list is specified, the default font size is 8 point. Once defective images have been gel-f,l-,lf,~ for all font sizes on the list, the program termin~teS~ as in~licAte~l by end box 411. Within loop 425, the kind of pl~cessin~ is dete~ ed by the format of model image 303. As in~lic~te~l by decision ~iAmon~ 413, when model 20 image 303 is in bec format, the bec represe-ntAtion of the image is processed at 415;
otherwise, as inlliçat~A by loop 423 and decision diamond 417, for each model image in the input file, the pixel image is converted to bec format by means of techniques well-known in the art and the bec representation is processed at box 421 in the sarne fashion as at box 415.
Co.. tin~ -g with F~G. 6, the flowchart of that FIG. shows the processing of the bec l~lesenl~tion of box 415 or box 421 of FIG. 4 in detail. As indicatedabove, one of the c~mm~n.1 line options permits the user to specify the number of defective images 309 to be created for each point size. The default is 1.
Accordingly, flowchart 601 consists of loop 619, which is executed until the number 30 of images specified in the coll-.l-and line option have been made. The loop is controlled by diamond 605, and when the llul-l~l of images has been made, control returns to flowchart 401, as shown by return box 607.
Within the loop, processing depends on whether it is the first or a subsequent execution of the loop. On the first execution, as shown by decision 35 diamond 607 and box 609, the sizes of the defects used to make defective image 309 2û~3~9~

are simply set from the sizes specified in the input pa.~ll~te,~, without regard to error range or rli~trib~ltion On subsequent execution~, the sizes are set from randomized values which are within *e range and have the distribution specified in the input paldll~Cle.~. In a plcre.l~,d embc!lliment, randomization is by means of the S UNIX~ frand function, with the seed for frand being con~uled using a comllland line ar~ t The next step is shown in box 613. It is the colllpu~tion of ~r~h~l~nobis ~ t~nce for the defect p~r~mçters which will be used to make the defective image. The C language code for the colll~u~tion follows. In the code, 10 variables beginning with me_ in~ tç the defect sizes specified in the colllmand line;
those beginning with er_ specify the ranges specified in the command line; thosebeginning with rp-> specify the parameters which will actually be used in the colllpu~tion (henceforth termed actual p~alllcters). On the first time through loop 619, these are set from the command line pal~lle~,.s, on the other times, they are set 15 to the randomized values compu~cd in step 611. Here is the code:

/* colll~u~e l~h~l~nobis ~i~t~n~e from mean p~lle~cl vector */
da= (er_skcw--0.0)? 0.0: (3*abs(rp->skew-me_skew)/er_skew);
db= (er_bhgt==0.0)? 0.0: (3*abs(rp->bhgt-me bhgt)/er_bhgt);
de= (er_blur_er--0.0)? 0.0: (3*abs(rp->blur-me_blur_er)/er_blur er);
dj= (erjiK_er==0.0)? 0.0: (3*abs(rp->jitter-mejitt_er)/erjitt_er);
dk= (er_kern==0.0)? 0.0: (3*abs(rp-~kern-me_kern)/er_kern);
ds= (er_sens_er==0.0)? 0.0: (3*abs(rp->speckle-me_sens_er)/er_sens_er);
dt= (er_thrs--0.0)? 0.0: (3*abs(rp->thresh-me_thrs)/er_thrs);
dx= (er_xscl==0.0)? 0.0: t3*abs(rp->xscale-me_xscl)/er_xscl);
dy= (er_yscl==0.0)? 0.0: (3*abs(rp->yscale-me_yscl)/er_yscl);
Mdist = sqrt( (sqr(da) /* + sqr(db) */ + sqr(de) /* + sqr(dj) + sqr(dk) */ + sqr(ds) + sqr(dt) + sqr(dx) + sqr(dy) ) / 6.0 /* 9.0 */ );

The next step after computing the M~h~l~nobis ~ t~n~e in box 613 is making the 30 defective image from the bec represen~ion in box 615; this step will be discussed in more detail below. The last step in the loop is writing the defective image to the current line of the output file. A further detail which is not shown in FIG. 6 is that a co~lalld line option permits the user to specify a range of ~h~l~nobis distances.
If the Mahalanobis distance compuLed in step 613 is not within the range, loop 619 35 continues without execution of steps 615 and 617.

20435~3 Turning to FIG. 7, that figure shows box 615 of FIG. 7 in greater detail.
The bec represent~tion being processed is turned into a defective image as follows:
first, the bec representation is rotated about its center by the amount specified in the actual skew p~i ---f ~ter value, as shown in step 703. Next, the bec representation is 5 scaled as specified by the actual x and y scale parameters (box 705). Next, the bec representation is tr~n~l~te~ up or down as specified by the actual base height p~alllel~ and left or right as specified by the actual kern p~-llcter, as shown at box 707. The foregoing operations are performed on the bec represent~tif n instead of the image g~n~ed the~eÇ~om in order to increase pc.rOl . . .~nce.
The next step (box 709) is to make a pixel reprecent~tion of the image from the bec represent~fion as altered by the actual skew, srJale, base height, and kern p~r~m~ters. The pixel represent~tion is an array of pixels represçnting points in the image. Each pixel has a real number value. In the image made from the bec represçnt~tion, those pixels representing parts of the image which are black have the 15 value 1.0; those replese~ g parts which are white have the value 0Ø There are no shades of gray in the image. Then, as shown in box 711, the image produced in step 709 is m~lifieA as specifi~l by the actual blur, spef~ , and jitter parameters. This m~ifir~fion will be e~cpl~ine~ in more detail below. The image resulting from the mo-lifif~ation is a gray scale image, i.e., the pixels may have any value in the range 20 [0.0,1.0]. A thre~holfling function converts the gray scale image into a black and white image, as shown at 713. One of the values supplied to the thresholding function is the thresholding defect ~ ete., and the function does the thresholding in accordance with the defect p~llele.. While some of the defect par~llele.~ in the present embo~lim~nt are applied to the bec l~prese~.t~tion of the image, and others to 25 the pixel lepl~sc-~ on~ in other embotlim~nr~, any or all of the p~lletel~ may be applied to either repres~nt~tion.
FIG. 8, finally, shows step 711 of FIG. 7 in greater detail. The blur defect p~,ele. is concerned with image defects resulting from the fact that the sensors used to digitize images are affected not only by the value of a given point in 30 the image, but also by the values of surrounding points. The degree to which one of the surrounding points affects the sensor is of course a function of the resolution of the sensor and the ~ t~nce of the surrounding point from the given point. In a plerell d emboliment, the effect of the surrounding points is modele~ as a circularly-symmetric G~us~i~n filter centered on the pixel representing the given 35 point. In the implementation, effects below a certain level are ignored, and -consequently, the filter deals with points within a given radius of the given point.
The blur actual lJal~llclel is used to compule both the radius and the degree to which the effects decrease with ~ict~nce from the given point.
Continuing with the flow chart of FIG. 8, the first step, shown in box 5 803, is to make the Gallcsi~n filter. In the plefc.l~,d embodiment, this is done by making a pixel array which is the same size as the output image. The actual blurllelel is used to coll.~ule the radius of the ~'J~lssi~n filter, and the center of the radius is placed at the center of the filter pixel array. For each point within the radius, a floating point value specifying the amount of effect which that point has on 10 the point at the center is co,ll~u~ed using the blur p~let~,. and the pixel is set to that value.
Next, the image made from the bec ~ en~;on in step 709 is scaled as required for the size of the defective image which the defect maker will output (box 807). Next comes loop 823, in which the (}~ussi~n filter pixel array is applied 15 to every pixel in the scaled image, as shown by ~eçision ~ nll 809. When that is done, the scaled image, which is now a gray scale image instead of a black and white image, is returned to be operated on by step 713 of FIG. 7.
Within loop 823, the following steps are performed for each pixel of the scaled image: first, as shown in box 813, the actual jitter p~ tel iS again 20 r~nd~mi7~A and used to col~ull; the x and y coordinates of the center of the s~i~n filter from the x and y coordinates of the current pixel. This ~im~ tes the effect of the fact that the l~,ceplols which record the image are not actually located at the center points of the grid which the pixel represe.~t~tion m~el~
The next step is to apply the ~J~ n filter pixel array to the pixel of 25 the scaled image currently being processe~l by loop 823. This is done via another loop 819, in which, for each point within the radius of the filter, the effect of that point on the pixel being processed is co~ led, as shown in box 817. As indicatcdby decision diamond 815, when this is done, the next step is to co.llpule the effect of the speckle actual ~a~ lete. on the point. As should be clear from the foregoing, ~hc 30 blur, jitter, and speckle parameters work together to transform the black and whi~c scaled image into the gray scale image which is returned to step 713 for thresholding.

Applic~tions for Defect Generator 301: FIG. 9 Applications for image defect generator 301 include providing sets of images for inferring cl~csifi~rs and character generation lesealcl . A block diagram of an example of the first type of application is shown in FIG. 9. Appalalus 9015 employs an image defect generator 301 to provide a set of images to inferrer 903, which in turn provides cl~csifisation data 907 based on the set of images to classifier 905. Cl~g.sifiçr 905 is a colllpone.lt of an image r~ ;..ilion system which takes images of symbols 909 as input and produces a list of symbol code pos~ibilities 911 as output. Each of the symbol code possibilities is a code in a system of digital 10 codes used to lepl~,sent symbols. One example of such a system of digital codes is the well-known ASCII set of codes for alph~nllmeric characters. The list of possibilities is provided to another component of the image recognition system which employs contextual informadon to choose among the pos~ibilitiçs on the list.
As is evident from the foregoing, the effectiveness and efficiency of the 15 image recognition system is strongly depender~t on the quality and number of symbol code possibilities produced by cl~sifier 905. The image recognidon system will be effectdve only if there is an c~ llely high probability that the code which actually corresponds tO the input symbol image is on the list, and will be efficient only if the list of symbol code possibilities is short. An e~ nt has shown that defect 20 generator 301 can be used with an inferrer 903 to gener~te a cl~cifi~r 905 in which there is a high probability that the correct symbol code will be in the top 5 possibilides provided by cl~ifier 905.
In the c~ elhllent~ a cl~c~ifier 905 was inferred using a method explained in Baird, H.S.., "Feature Tdentific~tiQn for Hybrid Structuravst~ti~t~25 Pattern C'l~ssifit ~tion," Computer Vision, Graphics, and Image Processing, vol. 42, 1988, pp. 318-333. The data base of images used to infer the cl~ifi~r was genc.~lcd by image defect generator 301 from the symbols in each of 39 fonts which corresponded to the 94 printable characters specified in the ASCII character code.
Each character was specified in the bec represent~tion. For each font, images were 30 generated for 10 point sizes, ranging from 5 to 14 points. 25 images were generated for each of the 94 symbols in each of the 10 point sizes in each of the 39 fonts, leading to a total of 804,500 images. The images in the odd point sizes were used to infer the classifier, the images in the even point sizes were used to test it; ignoring confusions between characters such as l,l,I or 0,0 that appear to be inevitable when 35 a cl~sifi~r must work with more than one font, the success rates were 98.21% top _~ 2~d~3~93 choice and 99.45% within the top 5. The rates were even better if the smallest point size was dropped; in this case, the success rates were 99.19% top choice and 99.87%
top five.
In an e~-pe ;...~nt using images represented by pixels as input, a 5 cl~ccifiçr was inferred which cl~csifiç~ images of characters in a Tibetan alphabet into a set of user-defined ASCII codes for the alphabet. The source of the images was a machine-printed Tibetan dictionary. Sample images of each symbol in each font style were selected, and these were provided as input to image defect generator 301. For each sample image, 25 images were generated in each of three sizes. These 10 images were then used by inferrer 903 to infer cl~csifier 905. ~l~cifier 905 was then used with 61,124 symbols from the dictionary to translate the symbols into theirASCII codes. An accuracy of appr~ ately 95% was achieved.
In another application, image defect generators 301 can be built which generate defective images 309 according to dirrel..lt models of the causes of image 15 defects. By sharing an image defect generator 301 for a given model for imagedefects, rese~chll~ could generate llnlimite~ numbers of images having the defects and distributions thereof specified by the model. The ability to generate large numbers of images is particularly LlpClL~t with neural-net pattern recognition ~ySLclllS, since present le~ming ~lgorithmc require a large number of pl~ sen~l ;ons of 20 training images to achieve convergence.
Conclusion The foregoing Detailed Description has shown how defects in images may be çl~csifieA~ how an image defect generator 301 may be constructed which receives a model image as input and generates defective images as specified by 25 defect p~el~, and shown how the images ge.lel~.ted by the image defect generator 301 may be used to infer cl~csifiers which operate with a high degree of accuracy. While the Detailed Description has disclosed the best mode presently known of making and using image defect generator 301, alt~rn~tives are possible.For example, the image defect generator 301 licclosed herein generates defective 30 images according to the cl~csificatio~ of defects described herein; image defect generators may of course be constructed which generate defective images according to other classificadons of defects. Such image defect g~.le.~tol~ would have different defect pard,lle~el~ and would modify the model image to produce the defective images in ways different from those disclosed herein. Further, descriptions of the model image other than the bec representation and the pixel represerlt~tion employed 20~35~3 herein may be employed in the image defect generator. Addidonally, the manner inwhich the actual defect parameters are derived from the defect p~le~ provided in the co"-"-And line may vary, and the manner in which image defect genel~tor 301 m~ifies the model image in accordance with the actual defect p~all~tel~ may vary.
5 For example, as previously pointed out, in some embo~ t~ _11 mo lifiç~tiQns may be made on the bec represçnt~ion; in others, all m~ification~ may be made on thepixel representadon.
The above being the case, the Detailed Descripdon is to be understood as being in all respects as çxçmpl~ry but not restricdve, and the scope of the 10 invendon is to be detçrmined not from the Detailed Descripdon, but rather from the appended claims as hlLel~l~,t~d in light of the Detailed Des~ ~ion and the doctrine of equivalents.
What is cl~imçd is:

Claims (9)

1. A method of generating examples of defective pixel representations of symbols comprising the steps of:
receiving one or more defect parameters selected from a set thereof by a user, each defect parameter in the set specifying one class of pixel representation defects of one or more classes thereof;
receiving a set of one or more model symbols; and generating a set of defective pixel representations of the symbols from the set of model symbols in response to the defect parameters, the defective pixel representations including pixel representation defects belonging to the classes specified by the defect parameters.
2. The method set forth in claim 1 wherein:
the step of receiving the defect parameters includes for a given defect parameter the step of receiving values selected by the user from a set thereof which specify a range for the defects in the class specified by the parameter; and the step of generating the set of defective pixel representations generates defective pixel representations whose pixel representation defects in the class specified by the given parameter are within the range specified by the received values.
3. The method set forth in claim 2 wherein:
the step of receiving the defect parameters further includes for the given defect parameter the step of receiving further values selected by the user whichspecify a distribution of the image defects in the class specified by the given parameter within the received range; and the step of generating the set of defective pixel representations generates defective pixel representations whose pixel representation defects in the class specified by the given parameter have the distribution specified by the received further set of values within the range specified by the received set ofvalues.
4. The method set forth in claim 3 wherein:
the step of generating the set of defective pixel representations generates defective pixel representations whose pixel representation defects in the class specified by the given parameter are randomized within the received valuesand the received further values.
5. The method set forth in claim 1 wherein:
one or more classes of pixel representation defects are classes of image defects which result from faulty printing of a document.
6. The method set forth in claim 1 wherein:
one or more classes of pixel representation defects are classes of image defects which result from the optics of a scanner.
7. The method set forth in claim 1 wherein:
one or more classes of pixel representation defects are classes of pixel representation defects which result from improper placement of a document on a scanner.
8. The method set forth in claim 3 wherein:
one of the classes of pixel representation defects is blurring; and when the defect parameters specify blurring, the step of generating a set of defective pixel representations includes the steps of:
making a circularly-symmetric Gaussian filter for a blurring defect within the received distribution and the received range; and applying the Gaussian filter to the model symbol.
9. A method of inferring a classifier of pixel representations of symbols for use in an optical image recognition system comprising the steps of:
receiving the set of model symbols;
receiving one or more defect parameters selected from a set thereof by a user, each defect parameter in the set specifying a class of pixel representation defects;
producing defective pixel representations which include pixel representation defects belonging to the classes specified by the defect parameters;
and employing the set of defective pixel representations to infer the classifier.
CA002043593A 1990-06-12 1991-05-30 Methods and apparatus for image analysis Expired - Fee Related CA2043593C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/536,910 US5796410A (en) 1990-06-12 1990-06-12 Generation and use of defective images in image analysis
US536,910 1990-06-12

Publications (2)

Publication Number Publication Date
CA2043593A1 CA2043593A1 (en) 1991-12-13
CA2043593C true CA2043593C (en) 1996-01-16

Family

ID=24140423

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002043593A Expired - Fee Related CA2043593C (en) 1990-06-12 1991-05-30 Methods and apparatus for image analysis

Country Status (5)

Country Link
US (1) US5796410A (en)
EP (1) EP0461793B1 (en)
JP (1) JPH04233094A (en)
CA (1) CA2043593C (en)
DE (1) DE69130135T2 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE469245B (en) * 1991-10-07 1993-06-07 Televerket DEVICE FOR SATISFACTION OF IMAGE QUALITY WITH OPTICAL PATTERN APPROACH
CA2201557A1 (en) * 1996-04-05 1997-10-05 John D. Hobby Degraded character image restoration
GB9703191D0 (en) * 1997-02-15 1997-04-02 Ncr Int Inc Method and apparatus for screening documents
DE19755133A1 (en) * 1997-12-11 1999-06-24 Siemens Ag Process monitoring system
US6469706B1 (en) * 1999-11-16 2002-10-22 International Business Machines Corporation Method and apparatus for detecting regions belonging to a specified color surface in an unsegmented image
US20010048436A1 (en) * 2000-04-03 2001-12-06 Sanger Terence David Method and apparatus for sending electronic mail using human handwriting
US6304667B1 (en) * 2000-06-21 2001-10-16 Carmen T. Reitano System and method for incorporating dyslexia detection in handwriting pattern recognition systems
JP4100885B2 (en) * 2001-07-11 2008-06-11 キヤノン株式会社 Form recognition apparatus, method, program, and storage medium
JP3978098B2 (en) * 2002-08-12 2007-09-19 株式会社日立製作所 Defect classification method and apparatus
DE10245834A1 (en) * 2002-10-01 2004-04-15 Siemens Ag Method for generating learning and / or test samples
RU2251738C2 (en) * 2003-01-28 2005-05-10 "Аби Софтвер Лтд." Method for synchronizing filled machine-readable form and its template in case of presence of deviations
EP1575002A1 (en) * 2004-03-11 2005-09-14 De La Rue International Limited Bank note simulation
CN100357957C (en) * 2004-08-10 2007-12-26 富士通株式会社 Character recognition apparatus and method for recognizing characters in image
CN100377171C (en) * 2004-08-13 2008-03-26 富士通株式会社 Method and apparatus for generating deteriorated numeral image
CN100373399C (en) * 2004-08-18 2008-03-05 富士通株式会社 Method and apparatus for establishing degradation dictionary
US8687212B2 (en) * 2009-02-24 2014-04-01 Xerox Corporation Method for protecting content of a fax confirmation sheet
HUP1200018A2 (en) 2012-01-11 2013-07-29 77 Elektronika Mueszeripari Kft Method of training a neural network, as well as a neural network
CN107274345A (en) * 2017-06-07 2017-10-20 众安信息技术服务有限公司 A kind of Chinese printable character image combining method and device
CN110689477B (en) * 2019-09-07 2023-01-10 创新奇智(重庆)科技有限公司 Universal flaw image simulation method
CN111681162B (en) * 2020-06-09 2023-09-01 创新奇智(成都)科技有限公司 Defect sample generation method and device, electronic equipment and storage medium
CN112001396B (en) * 2020-08-12 2022-08-23 浙江大学 Bearing surface deformation and character mixed defect image detection method
CN113633304B (en) * 2021-06-28 2023-11-24 北京工业大学 Method for detecting jugular vein ball socket bone wall missing in temporal bone CT image
CN113643406B (en) * 2021-08-12 2022-03-25 北京的卢深视科技有限公司 Image generation method, electronic device, and computer-readable storage medium

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3634822A (en) * 1969-01-15 1972-01-11 Ibm Method and apparatus for style and specimen identification
US3706071A (en) * 1970-06-22 1972-12-12 Information Int Inc Binary image processor
US4658429A (en) * 1983-12-29 1987-04-14 Hitachi, Ltd. System and method for preparing a recognition dictionary
US4599693A (en) * 1984-01-16 1986-07-08 Itt Corporation Probabilistic learning system
US5054093A (en) * 1985-09-12 1991-10-01 Cooper Leon N Parallel, multi-unit, adaptive, nonlinear pattern class separator and identifier
US5077807A (en) * 1985-10-10 1991-12-31 Palantir Corp. Preprocessing means for use in a pattern classification system
US4944022A (en) * 1986-12-19 1990-07-24 Ricoh Company, Ltd. Method of creating dictionary for character recognition
US4850026A (en) * 1987-10-13 1989-07-18 Telecommunications Laboratories Dir. Gen'l Of Telecom. Ministry Of Communications Chinese multifont recognition system based on accumulable stroke features
US4876731A (en) * 1988-02-19 1989-10-24 Nynex Corporation Neural network model in pattern recognition using probabilistic contextual information
EP0356432A4 (en) * 1988-02-22 1990-12-12 Brandeau, Edward P. Digital image noise suppression method using svd block transform
US5048100A (en) * 1988-12-15 1991-09-10 Michael Kuperstein Self organizing neural network method and system for general classification of patterns
JPH0782544B2 (en) * 1989-03-24 1995-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーション DP matching method and apparatus using multi-template
US5077809A (en) * 1989-05-30 1991-12-31 Farshad Ghazizadeh Optical character recognition
US5058180A (en) * 1990-04-30 1991-10-15 National Semiconductor Corporation Neural network apparatus and method for pattern recognition
US5052043A (en) * 1990-05-07 1991-09-24 Eastman Kodak Company Neural network with back propagation controlled through an output confidence measure

Also Published As

Publication number Publication date
EP0461793A3 (en) 1993-04-28
EP0461793A2 (en) 1991-12-18
US5796410A (en) 1998-08-18
DE69130135D1 (en) 1998-10-15
EP0461793B1 (en) 1998-09-09
CA2043593A1 (en) 1991-12-13
JPH04233094A (en) 1992-08-21
DE69130135T2 (en) 1999-02-25

Similar Documents

Publication Publication Date Title
CA2043593C (en) Methods and apparatus for image analysis
JP2818448B2 (en) System and method for automatic document segmentation
JP6139396B2 (en) Method and program for compressing binary image representing document
JP3754716B2 (en) Method and apparatus for selecting text and / or non-text blocks of a document
EP0535992B1 (en) Method and apparatus for image enhancement
US5856877A (en) Apparatus and method for processing and reproducing image information
KR20190095651A (en) Apparatus for generating training data for character learning and method thereof
EP0621541A2 (en) Method and apparatus for automatic language determination
US7805022B2 (en) Image processing apparatus, image processing method and computer program
EP0621542A2 (en) Method and apparatus for automatic language determination of a script-type document
JPH10506733A (en) Method and apparatus for separating foreground from background in text-containing images
DE60020038T2 (en) Method for processing a numerical image
JPH0773329A (en) Method and device for processing image
JPH07168948A (en) Improving method for quality of document image
CN114005123A (en) System and method for digitally reconstructing layout of print form text
CA2267828A1 (en) Multiple size reductions for image segmentation
JP4232679B2 (en) Image forming apparatus and program
JPH1027214A (en) Method and device for separating contact character in optical character recognizing computer
CN114565702A (en) Text image generation method and device and electronic equipment
EP0975146A1 (en) Locating the position and orientation of multiple objects with a smart platen
EP0923045A2 (en) Image recognition through localized interpretation
Konya et al. Adaptive methods for robust document image understanding
Avgunštincic et al. Optical Character Recognition for Expiration Dates Validation
Shelke A Tabulation method for Character Recognition using Haar wavelet in 2D images
EP0974931A1 (en) Method and apparatus for identifying a plurality of sub-images in an input image

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed