Curvature correction and image processing

Information

  • Patent Grant
  • 8233200
  • Patent Number
    8,233,200
  • Date Filed
    Wednesday, November 26, 2008
    16 years ago
  • Date Issued
    Tuesday, July 31, 2012
    12 years ago
Abstract
A system and process for reading forms using a curvature distortion correction scheme is disclosed. A model image of a known form is partitioned into sectors defined by at least three alignment marks, and a transfer or correction function for each sector is generated by comparing the locations of alignment marks on a captured unread image of a form to those on a model image. The transfer function is then applied to the other marks within the sector to calculate a correct location of the marks. Each sector is sized to reasonably ensure curvature distortions are handled such that all the marks on a form are properly found and interpreted. Errors may be checked and, if they persist, smaller sectors may be defined and employed, if available.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates to an optical reader system employing a camera to capture a digital data image of an unread form and a computer system for processing the digital data to correct for distortions and derive and interpret information from the digital data. Herein, “camera” includes any photo-sensitive device that captures a scene in a photo-sensitive media that may be downloaded or read-out by a computer processing system that stores in memory the digital data representing the scene. Lenses, filters, apertures, etc., and a photo-sensitive surface, array, or arrays for holding the scene image may be included in the term “camera.”


2. Background Information


Printed documents, play slips, lottery scratch tickets, lottery instant tickets and the like are collectively defined herein as “forms.” Forms, often, have man-made marks at locations indicating a specific intent of the human. Correctly identifying a form and reading or processing the printed and man-made markings are not simple tasks.


Some of these tasks include: detecting the presence of the form, determining that the form is still or motion-less, identifying the existence of marks on the form, locating the marks on the form; and, then interpreting the meaning of the marks. For each task, there must be enough light to illuminate the form with enough contrast with respect to the background to detect and identify those marks.


In order to identify a form, printed markings may be detected and interpreted, or a human may indicate the form type. The printed markings will normally include logos or other special marks used to identify the form type. In addition, alignment marks may be printed and used by the processing system to accurately identify locations on the form. Then, the markings on the form may be accurately located and interpreted for their meaning.


The processing and identifying of marks on the form begins with a camera that captures an image of the form. The captured image may be downloaded, stored and analyzed by a computing system. Analyzing the image may be accomplished by an “application” that may be software running in a computer system, firmware embedded in a hardware framework, a hardware state machine, or a combination thereof.


One important and common problem when reading forms occurs when the form is bent, crumpled, rolled or folded, thereby creating distortions. Distortions are a major cause for errors in reading or rejecting a form. Distortions manifest, at least, as location and resolution errors.


Some prior art readers have drive mechanisms that flatten and position a form into an enclosed chamber. Such drive mechanisms are expensive and require routine service and technical support to maintain them, all leading to additional costs and expense in ownership.


Prior art attempts at compensating for distortions have been ineffectual and a convenient, reliable, comparatively inexpensive easy to use reader that corrects, reduces and/or compensates for such distortions would benefit the industry.


SUMMARY OF THE INVENTION

The present invention is directed to an optical reader that is capable of reading a wide assortment of forms and, more particularly, capable of reading forms that have been bent, rolled, crumpled, or folded, by using a system and a process for distortion correction. According to at least one embodiment of the present invention, model images of known form types such as, for example, printed documents, play slips, lottery scratch tickets or lottery instant tickets are stored on a computer system. Along with the model images, information is stored on the computer system that includes known logo or other form identifying marks and alignment marks that partition each model image into areas or sectors that are defined by at least three non-colinear alignment marks. The locations, attributes (see below) and the corresponding meanings of alignment marks, logos, other such identifying marks, and the locations of possible hand drawn marks and their meanings are also stored with each model image.


A coordinate system such as, for example, Cartesian, polar, etc., describes locations on a model image and on any captured images of unread forms. In a Cartesian coordinate system, for example, x and y may define locations on the model image, and x′ and y′ may be used for locations on a unread image of a form.


A transfer function may be applied to an apparent location of any mark within a sector of the unread image to yield a corrected location. The apparent location may then be compared to the corresponding location on the model image and that location may determine the mark's meaning. All the sections having marks therein may be processed in a like manner.


“Transfer function” is a phrase used herein that may be termed by others as “translation function,” or “equation,” or “correction function,” or “factor,” or other such terms or combinations of terms as may be found in the art.


Attributes may refer to shapes, sizes, the center of mass of the mark, etc. The location and the attributes of a mark may define an alignment mark or a logo. The type of form may be determined by a logo, or some other printed mark or marks, or may be manually made by an agent. For example, a pencil mark at a specific location on the form may indicate a selection by a human completing a form such as when playing a game.


An alignment mark on an unread image is easily detected and recognized by a computer system. The mark, found at a specific location, has attributes (large, round, square, oblong, long linear or any shape) that accommodate its detection as an alignment mark Logos are marks similar to alignment marks in their ease of detection and identification, and, as mentioned above, may be used to identify the type of form.


Partitioning a form into sectors allows for correction of curvature distortion by sizing the sectors. Smaller sectors may be relatively flat where curves in such a sector do not manifest to cause errors in reading marks in the sector.


Where a sector is defined by three non-colinear points, the following equations may represent a transfer function that corrects scaling, translation and rotation of marks within that sector:

x′=A′x+B′y+C′  Eq. 1, and
y′=D′x+E′y+F′  Eq. 2.


Once the six coefficients (A′, B′, C′, D′, E′, and F′) are derived for a specific captured image of the form, Equations 1 and 2 may be used to translate any location (x, y) in the model image to the corresponding coordinate (x′, y′) in the unread image of the form.


Where a sector is defined by four non-colinear points that define a four sided sector area, the following equations may represent a transfer function that corrects for scaling, translation, rotation and for perspective issues associated with a camera capturing the unread sector of a form:











x


=


Ax
+
By
+
C


Gx
+
Hy
+
1



,




and




Eq
.




3







y


=



Dx
+
Ey
+
F


Gx
+
Hy
+
1


.





Eq
.




4







Once the eight coefficients (A, B, C, D, E, F, G, and H) are derived for a specific unread image of the form, Equations 3 and 4 may be used to translate any location (x, y) in the model image to the corresponding coordinate (x′, y′) in the unread image of the form.


The coefficients of the above transfer function equations are found by comparing the actual x′, y′ locations of specific marks in the unread image to the corresponding x, y locations in the model image. In order to cover an area of the form, at least three non-colinear known alignment marks may be processed, however, four or more marks may be used to advantage. A system of equations result where the coefficients may be found by use of matrix algebra techniques as illustrated below.


In the following illustration, eight alignment marks are used to define a sector. According to this illustration, when eight alignment marks are used to define the sector, the following biquadratic transfer function equation (Equation 7) may be applied and correct for scaling, translation, rotation and perspective issues associated with a camera capturing the unread sector of a form:













x


=




a
1

+


a
2


x

+


a
3


y

+


a
4


xy

+


a
5



x
2


+


a
6



y
2


+


a
7



xy
2


+


a
8



x
2


y

















n
=
1

,
8





a
n




u
n



(

x
,
y

)





=

UA









y


=




b
1

+


b
2


x

+


b
3


y

+


b
4


xy

+


b
5



x
2


+


b
6



y
2


+


b
7



xy
2


+


b
8



x
2


y

















n
=
1

,
8





b
n




u
n



(

x
,
y

)





=

UB









Eq
.




7







After a form type is known and a transfer function is derived for every sector in the form, the same sectoring may be applied to the stored unread image and the transfer functions may be applied to the locations of the marks within every sector on the unread image. This results in corrected locations for the marks, if any, within each sector. The corrected locations of these other marks then may be compared to corresponding locations on the model image. The locations on the model image have stored meanings that determine the meanings of those other marks whose corrected locations match those of the model image.


In some applications, however the transfer function may be applied to areas immediately outside that area


If a sector includes other alignment marks or marks of known locations, those other marks may be used to calculate an error. The locations of those other marks on the stored unread image may be detected and their locations may be corrected by application of the transfer function. The corrected location may be compared to the actual location from the model image and an error may be calculated. An error threshold may be established, and if the error in any sector exceeds the threshold, the form may be rejected.


In other applications, other, closer alignment marks may be used to form yet another sector and another transfer function may be applied. This process may continue until there are no smaller sectors with acceptable errors, wherein the form may be rejected. If an acceptable error is formed for every sector in the form where a mark exists, the marked form may be accepted and may then be processed by the system.


It will be appreciated by those skilled in the art that although the following Detailed Description will proceed with reference being made to illustrative embodiments, the drawings, and the described methods of use, the present invention is not intended to be limited to these embodiments or methods of use. Rather, the present invention is of broad scope and is intended to be defined as only set forth in the accompanying claims.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention description below refers to the accompanying drawings, of which:



FIG. 1 is a system block diagram of a system embodying the present invention;



FIGS. 2A, 2B and 2C are a series of illustrations of curvature problems;



FIG. 3 is a flow chart illustrating a process of the present invention;



FIG. 4 is a layout of a form with markings;



FIGS. 5A, 6A and 7A are examples of examples of forms that may be read using one or more processes of the present invention; and



FIGS. 5B, 6B, and 7B illustrate the partitioning of the forms shown in FIGS. 5A, 6A, and 7A, respectively, into sectors in accord with one or more of the processes described in the present patent.





DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT


FIG. 1 illustrates a form 2 being illuminated by a light source 4 with the reflected light 6 from the form 2 being received by a camera 18. The form may, for example, represent a printed document, a play slip, a lottery scratch ticket or a lottery instant ticket. The form 2 may be located on a platen 5 positioned a few inches to a foot or more away from the camera 18. The arrangement allows the entire form 2 to be viewed by the camera 18, although sections of the camera scene, and, thus, the form 2 may be processed in sequence. An image is impressed on the cameras photo-sensitive surface and may be downloaded (scanned or read-out) by camera electronics 8 to produce a video signal 10, that is digitized and stored as pixels or pixel data, and where a processor 14 in a computer processing system 12, preferably a micro-processor, operates on the pixel data. The computer processing system 12 includes memory 180 and I/O device drivers 16 for handling, at least, displays, keyboards, buttons, printers, and communications. The computer processing system 12, in turn, may be connected with a computer network 17.


Memory 180 may include, at least, one or more image buffers, other buffers, cache, etc. An operating system and software applications may be stored in the memory 180. A processing application 13, discussed below, includes the processes for correcting or compensating for the curvature or distortion of a bent form. In one embodiment, an external, removable flash memory 19 may contain proprietary software, that is uploaded to the computer processor system 12. In this embodiment, removing the flash memory 19 removes the proprietary software from the computer processor system 12.


The computer network 17 may be a public network, such as the Internet, or a private network, etc., but in any case, information, such as, for example, financial information, may be encrypted to prevent outside interference and protection. In this example, information may be derived from the form and sent via the network 17 to a central controller 15. The central controller 15, in turn, verifies the financial information and authorizes agents to act accordingly.



FIGS. 2A and 2B (not to scale) illustrate some issues that are presented when a bent, rolled, folded or crumpled form 2 is placed before and viewed by a camera 18. In this illustration, a form 2 with a single bend 20 is placed on a platen 5 and illuminated by light 4 from a light source such as an LED array 22. In this illustration, a square mark 24 lies on the bent portion of the form 2, and light 26 from the light source is reflected from the square 24 to the camera 18 The beam of light 26 subtends an angle θ, which is the same angle θ that the light would strike the platen 5 at a location 24′ in the absence of the form 2. The size of the square 24 on the form 2, however, is smaller than the square 24′ on the platen 5 due to the spread of the light beam 26. The computer processor system 12 is ignorant of the bend 20 and processes the mark at location 24 as if it were at and as large as the mark at 24′. If the analysis of the camera image uses size as a factor in analyzing a mark, the bend will introduce a size error in the image.



FIG. 2B shows a side elevation view of the same illustration set forth in FIG. 2A, where the beam of light 26 intersects the bent form 2 at the square 24 and intersects the platen 5 at 24′. The length of the side view of the square 24 is much shorter than the length of the side view of the square 24′. There are additional problems, however, as illustrated by the diagram in FIG. 2C.


In FIG. 2C, a single dot A is on the bent portion of the form 2. A small beam of light 26 is reflected from A to the camera 18. As above, dot A will be smaller in size to the projection dot A′. But, note that when the bent portion is flattened 28 to the platen 5, the dot A is located at location A″. There is an offset 30, a position error, between the projections at A′ and A″. The image analyzer will process the mark A as if it were located at location A′ whereas the true position is at location A″.


The bend 20 in the form 2 produces at least a size error and a position error. If the form 2 is curved, curled or has multiple bends the resulting errors will be that much more difficult to accommodate.



FIG. 3 illustrates a method for processing pixel data of a known form according to the present invention. According to this process, and in broad terms, pixel data of an unread image is compared to a model image of the form stored in the processing system memory 180 (FIG. 1). The model image is used as a template that contains the locations of all the alignment marks. The model image form is divided into sectors where the number of alignment marks define each sector and include a transfer function for each sector. The locations of the alignments marks in the stored captured image and the model image determine the coefficients of the transfer functions. The transfer functions are then applied to the locations of marks in the corresponding sectors in the unread images to produce corrected locations, and the meanings of these marks are determined by reference to the corresponding locations in the model image. Meanings of locations of marks on the model image are stored.


To restate in more detail, the process illustrated in FIG. 3 starts with a captured unread image of a known form type that includes marks such as alignment dots or marks 31. A stored model image that corresponds with the unread image of the particular form is retrieved 32. The locations of the alignment marks on the captured image are found 33, and, using the locations of corresponding alignment marks on the model image, the coefficients of a transfer function are found 34.


When a transfer function has been determined for a sector, that function may be applied to other alignment marks in or near that sector. When the comparison is made of the corrected locations of alignment marks in the captured image to the locations of those marks in the model image, an error 35 may be calculated. An error threshold may be established for an error that can be tolerated, and if the error is within the threshold, the form may be processed further as discussed herein. If the error is too large other closer alignment marks may be used, as discussed herein, until an acceptable error is found. If an unacceptable error remains, the form may be rejected 46.


An acceptable error may be one that is smaller than the position error that an analyzing system assigns to an acceptable known location on the form. For example, the area where a mark may be made could be a square of 0.1 inches on a side. A position error of 0.05 inches may be an acceptable error.


If the errors are all acceptable 40, the transfer function for each sector is applied to all the marks within that sector 42, producing corrected locations for all the marks on the captured image 44. The meanings of all the marks, as mentioned above, are found 48 by reference to corresponding locations on the model image.


If the error remains unacceptable, smaller sectors may be successively employed 45 with other alignment marks until a transfer function results in acceptable error for marks in every section of the form. If acceptable errors are not found, the form may be rejected 46.


Illustratively, a form may be divided into triangular and rectangular sectors, but any figure encompassing an area may be used.


In other applications, acceptable errors may be determined by running sample or test forms until the rejection rates of the forms is acceptable. In some applications, acceptable error may be simply estimated.


The following describes a simplistic example illustrating an application of a linear correcting process. FIG. 4 illustrates a top view of a form 50 that is laid flat. Alignment marks 54a, 54b, 54c, and 54d, and 54a′, 54b′, 54c′, and 54d′ are arranged as shown. For example, for an illustrative rudimentary linear correction factor, the calculated distance in a stored captured image between alignment marks 54a and 54b may be only 80% of what that distance is on the model image. Using that factor, the distance on the captured image from mark C to mark 54a may be corrected by multiplying that distance by 1/0.8, or by 1.25. Mark C would then be interpreted as a mark at that location on the model image, and the significance of that location on the model will be assigned to mark C. Mark C could be a logo, another alignment mark, or a man-made mark. Note that if the alignment marks were closer together the actual distance error will be reduced accordingly. That is, if a distance of five inches is corrected by 1%, the correction is 0.05 inch, but if the distance is 2.5 inches the same correction factor would be only 0.025 inches. Thus, the closer the alignment marks the smaller the error.


Detection of marks of any kind on a form entails a contrast that allows the edges of the marks, and then characteristics or attributes of the marks to be found. Typically, every form type will have a logo, that is quite different in attributes so that it is easily found and recognized, if one is not found, the form type may be keyed in by an agent or the form rejected. Similarly, alignment marks are distinctive to ease detection.


There are known techniques for detecting edges or marks and for calculating attributes of marks, and are not further discussed herein.


In the embodiment of FIG. 4, analyzing four alignment marks, 54a, 54b, 54c, and 54d, at the four corners of the stored captured image and a model image form may produce a transfer function that when applied results in an acceptable error. If so, the other marks in the stored captured image may be processed by that transfer function. Such an example would quicken the processing of that form.


If any errors are deemed too large, in some applications, additional alignment marks (for example, 54a′, 54b′, 54c′, 54d′) may be employed. If these eight alignment marks are used, the form may be divided into three sectors, 52, 53, and 55. A transfer function may be developed for each sector and any marks found within each sector would be corrected using the corresponding transfer function. Alignment marks, moreover, may be placed, where acceptable, within the central portion D of the form. As more sections are used, the processing of the form may take longer. Note, however, that if no other marks are in a sector, that sector need not be processed.



FIGS. 5A, 6A and 7A illustrate three exemplary forms. FIG. 5A has eleven alignment marks 60 distributed around the outer periphery of the form. Each alignment mark 60 has a known shape for that form type. FIG. 6A depicts another form type with alignment marks 70 distributed also within the center portion of the form. This form type has ten peripheral alignment marks 72 along with the two 70 central alignment marks.



FIG. 7A is yet another form type. Here, the alignment marks are positioned similarly to those in FIG. 6A, but the center marks 76 and the periphery marks 74 are thinner and not as bold in comparison to those in FIG. 6A. In FIG. 7A, the alignment marks are less obvious and intrusive to a casual viewer.



FIGS. 5B, 6B, and 7B illustrate sectoring that may be applied to the corresponding form types shown in FIGS. 5A, 6A and 7A. In FIG. 5B, there are five triangular sectors 81, 82, 83, 84, and 85, and each is formed by three points, and would have a three point transfer function applied as shown herein. FIG. 5B has one rectangular sector 87 and another four-sided sector 86. These four-sided sectors would have a four point transfer function applied.



FIGS. 6B and 7B are shown with six rectangular or square sectors 90 and 92, respectively. Four point transfer functions would be developed for each of these sectors.


The Transfer Functions:


Restating from above, since a rectangular form, for example, is only a sheet of paper, it often will have distortions that might cause reading problems. Straight lines, etc. on the paper form will not necessarily be straight lines on the captured image. The template or model image of the form, however, will represent a flat, usually rectangle form with undistorted marks and lines. The present invention provides for non-linear transfer functions that compensate or correct for curvature distortions on the captured image.


As mentioned above, according to one or more embodiments of the present invention, each model image of a form may be partitioned into a number of sectors, some defined by three alignment marks, others by four alignment marks and yet others may be defined by more than four such marks.


Three Point Equations and Solution


If a sector is defined by three alignment marks, a transfer function that applies to the locations within the sector may be as follows:

x′=A′x+B′y+C′  Eq. 1, and
y′=D′x+E′y+F′  Eq. 2.


Once the six coefficients (A, B, C, D, E, and F) are derived for a specific captured image, Eqs. 1 and 2 may be applied to translate any location (x, y) on the model image to the corresponding coordinate (x′, y′) on the captured image.


The following discussion illustrates one way to solve these equations. Eqs. 1 and 2 may be arranged into matrix form as follows:


To Solve for A, B, and C:








(




x
0




y
0



1



x
0







x
1




y
1



1



x
1







x
2




y
2



1



x
2





)





To Solve for D, E, and F:








(




x
0




y
0



1



y
0







x
1




y
1



1



y
1







x
2




y
2



1



y
2





)





Because of the simplicity of the matrix, Cramer's Rule can be used to solve this easily. For example:






A
=


(




x
0





y
0



1





x
1





y
1



1





x
2





y
2



1



)


(




x
0




y
0



1





x
1




y
1



1





x
2




y
2



1



)







Four Point Equations and Solution


If a sector is defined by four alignment marks, a transfer function that may apply to the locations within the sector may be defined as follows:











x


=


Ax
+
By
+
C


Gx
+
Hy
+
1



,




and




Eq
.




3







y


=



Dx
+
Ey
+
F


Gx
+
Hy
+
1


.





Eq
.




4







Once the eight coefficients (A, B, C, D, E, F, G, and H) are derived for a specific captured image, Eqs. 3 and 4 can be used to translate any location (x, y) on the model image to the corresponding coordinate (x′, y′) in the captured image.


The following discussion illustrates one way to solve these equations. Eqs. 3 and 4 may be rearranged in more matrix-like form as follows:

A·x+B·y+C·1+D·0+E·0+F·0−G·x·x′−H·y·x′=x′  Eq. 5, and
0+B·0+C·0+D·x+E·y+F·1−G·x·y′−H·y·y′=y′  Eq. 6.


Eqs. 5 and 6, then, may be solved as a system of equations using Gaussian Elimination. According to Gaussian Elimination, assembly of the following 8×9 augmented matrix is required and upper triangulation and back substitution is applied:








(




x
0




y
0



1


0


0


0




-

x
0




x
0







-

y
0




x
0






x
0







x
1




y
1



1


0


0


0




-

x
1




x
1







-

y
1




x
1






x
1







x
2




y
2



1


0


0


0




-

x
2




x
2







-

y
2




x
2






x
2







x
3




y
3



1


0


0


0




-

x
3




x
3







-

y
3




x
3






x
3






0


0


0



x
0




y
0



1




-

x
0




y
0







-

y
0




y
0






y
0






0


0


0



x
1




y
1



1




-

x
1




y
1







-

y
1




y
1






y
1






0


0


0



x
2




y
2



1




-

x
2




y
2







-

y
2




y
2






y
2






0


0


0



x
3




y
3



1




-

x
3




y
3







-

y
3




y
3






y
3





)






Biquadratic Transformation Applied to Curvature Correction


When more than four alignment marks are used to define a sector, a transfer function that may apply to the locations within the sector may be defined by the following biquadratic equation, which represents a bi-quadratic transformation:














x


=




a
1

+


a
2


x

+


a
3


y

+


a
4


xy

+


a
5



x
2


+


a
6



y
2


+












a
7



xy
2


+


a
8



x
2


y
















n
=
1

,
8





a
n




u
n



(

x
,
y

)










=



UA
′′















y


=




b
1

+


b
2


x

+


b
3


y

+


b
4


xy

+


b
5



x
2


+


b
6



y
2


+












b
7



xy
2


+


b
8



x
2


y
















n
=
1

,
8





b
n




u
n



(

x
,
y

)










=


UB








Equation





7







Where A″ and B″ are coefficients matrices of the transformation and can be expressed as two 1×8 matrices respectively:







A
′′




[




a
1






a
2






a
3






a
4






a
5






a
6






a
7






a
8




]







B
′′




[




b
1






b
2






b
3






b
4






b
5






b
6






b
7






b
8




]






And U is an 1×8 matrix, its transpose matrix, UT, is an 8×1 matrix. UT instead of U is defined below for clarity:







U
T



[





u
1



(

x
,
y

)








u
2



(

x
,
y

)








u
3



(

x
,
y

)








u
4



(

x
,
y

)








u
5



(

x
,
y

)








u
6



(

x
,
y

)








u
7



(

x
,
y

)








u
8



(

x
,
y

)





]



[



1




x




y




xy





x
2






y
2






xy
2







x
2


y




]






That means, un=un(x, y), with n=1, 2, . . . , 8, are functions of x and y.


This eight-point transfer function needs eight reference points to determine the coefficients matrices A″ and B″.


Assume one has eight reference points in the template or model image:

P1(x1,y1),P2(x2,y2),P3(x3,y3),P4(x4,y4),P5(x5,y5),P6(x6,y6),P7(x7,y7),P8(x8,y8)


And also eight corresponding points in the captured space:

P1′(x′1,y′1),P2′(x′2,y′2),P3′(x′3,y′3),P4′(x′4,y′4),P5′(x′5,y′5),P6′(x′6,y′6),P7′(x′7,y′7),P8′(x′8,y′8)


Substituting these eight points to Eq. 1, one has (for j=1, 2, . . . , 8):







x
j


=





n
=
1

,
8





a
n




u
n



(


x
j

,

y
j


)











y
j


=





n
=
1

,
8





b
n




u
n



(


x
j

,

y
j


)








Or in matrix form, the above two lines become:

X′=QA″,
Y′=QB″  Equation 8


Where matrices A and B are the same as above, and matrices X′, Y′, Q are defined below:








X


=

[




x
1







x
2







x
3







x
4







x
5







x
6







x
7







x
8





]


,









Y



=

[




y
1







y
2







y
3







y
4







y
5







y
6







y
7







y
8





]









Q
jn




u
n



(


x
j

,

y
j


)






In Eq. 8, X′, Y′, Q are all known, but A and B are unknowns to be solved.


If matrix Q is singular, the above two linear systems given by Eq. 2 have no solution and one must select different 8 reference points than above.


If matrix Q is non-singular, one can solve the coefficient matrix A and B from Eq. 2 and obtain

A″=Q−1X′
B″=Q−1Y′  Equation 9

Where Q−1 is the inverse of matrix Q.


Substituting A and B into Eq. 1 leads to

x′=UA″=UQ−1X′
y′=UB″=UQ−1Y′  Equation 10

  • Or equivalently,











x


=





j
=
1

,
8








n
=
1

,
8





Q
nj

-
1





u
n



(

x
,
y

)




x
j













y


=





j
=
1

,
8








n
=
1

,
8





Q
nj

-
1





u
n



(

x
,
y

)




y
j










Equation





11







Here, x′j and y′j, with j=1, 2, . . . , 8, are known coordinates of the pre-selected eight reference points in the captured space. Q−1 is also known since it depends only on the coordinates (xj, yj) of the pre-selected eight reference points in the template or model image. For any given point (x, y) in the template, un(x, y), with n=1, 2, . . . , 8, can be calculated. Therefore, for any point (x, y) in the template, the corresponding point (x′, y′) of the captured space can be obtained from the above two equations.


Actually Q−1 can be computed offline to speed up the transformation. That means, we do not have to compute Q−1 for every pair of (x, y) to (x′, y′) transformation. It can be computed only once after the eight reference points in the template are selected.


It should be understood that above-described embodiments are being presented herein as examples and that many variations and alternatives thereof are possible. Accordingly, the present invention should be viewed broadly as being defined only as set forth in the hereinafter appended claims.

Claims
  • 1. A process for reading information on an unread form, the process comprising the steps of: storing a model image of a model of the unread form in a computer system, the model image containing alignment marks;storing an unread image of the unread form in the computer system, the unread image containing alignment marks that correspond to the alignment marks on the model image;partitioning the model image into a group of sectors, wherein each sector is defined by the locations of at least three alignment marks;detecting the sectors on the unread image that correspond to the sectors on the model image by comparing the alignment marks on the model image to the corresponding alignment marks on the unread image;generating a transfer function for each sector of the unread image from the locations of corresponding alignment marks of the model image and the unread image;applying each sector's transfer function to the locations of marks on the corresponding sector of the unread image to generate a corrected unread image with corrected locations of the marks; andreading information on the corrected unread image of the unread form.
  • 2. The process of claim 1, further comprising the steps of: forming a coordinate system for each sector of the unread image, wherein the transfer function for each sector compensated for distortions in the unread image, anddetermining the meanings of the corrected locations of the marks within each sector of the unread image by reference to corresponding locations within each sector of the model image.
  • 3. The process of claim 2, wherein the sector is defined by the location of three alignment marks and the process further comprises the step of: applying a three point transfer function equation to each sector defined by three alignment marks.
  • 4. The process of claim 3, further comprising the steps of: constructing an x, y coordinate system for the location of marks in the model image and an x′, y′ coordinate system for marks in the unread image, wherein the three mark transfer function is: x′=A′x+B′y+C′ and y′=D′x+E′y=F′.
  • 5. The process of claim 2, wherein the sector is defined by the location of four alignment marks and the process further comprises the step of: applying a four point transfer function equation to each sector defined by four alignment marks.
  • 6. The process of claim 5, further comprising the steps of: constructing an x, y coordinate system for the location of marks in the model form image and x′, y′ coordinate system for marks in the unread form image, wherein the four mark transfer function is:
  • 7. The process of claim 2, further comprising the steps of applying a multi-mark transfer function to each sector of the unread form image defined by eight alignment marks, wherein the transfer function is
  • 8. The process of claim 1, further comprising the steps of: generating corrected locations of specific marks on the unread image, wherein the locations of the specific marks on the model image are known;calculating a difference between the corrected locations of the specific marks on the unread image to the corresponding known locations of the specific marks on the model image;establishing an error threshold; andcomparing the difference to the threshold, and rejecting the form if the difference exceeds the threshold.
  • 9. The process of claim 1, wherein the unread form is selected from the group consisting of a printed document, a play slip, a lottery scratch ticket and a lottery instant ticket.
  • 10. A system for processing and correcting markings on a known form, the system comprising: a light source that illuminates a form that reflects some of the light;a camera arranged to receive the reflected light from the form and capture an unread image of the form;camera electronics to extract the unread image of the form from the camera, the unread image having alignment marks at locations;a computer processing system in communication with the camera electronics, the computer processing system comprising: at least one memory configured to store: the unread image of the form:a model image of the form having alignment marks;sectors defined by the locations of the alignment marks; anda transfer functions for each sector from the locations of corresponding alignment marks of the stored unread and model images; andat least one processor configured to execute an application that generates corrected locations of the alignment marks within each sector of the stored unread image by application of the transfer function to the alignment marks within each sector of the stored unread image.
  • 11. The system of claim 10, further comprising: a coordinate system for locations on the stored unread and the model images; and an application that determines the meanings of marks with corrected location by reference to the corresponding locations on the model image.
  • 12. The system of claim 11, further comprising: specific marks with corrected locations on the stored unread image and corresponding specific marks on the model image, wherein the locations of the specific marks on the model image are known;a calculator for calculating a difference between the corrected locations of the specific marks on the unread image to the corresponding known locations of the specific marks on the model image;an error threshold; anda comparator that compares the difference to the error threshold and rejects the form if the difference exceeds the threshold.
  • 13. The system of claim 10, wherein the known form is selected from the group consisting of a printed document, a play slip, a lottery scratch ticket and a lottery instant ticket.
  • 14. A computer readable medium encoded with computer executable program instructions for determining the location of marks on a known type of form, the computer executable program instructions comprising one or more program instructions for performing the steps of: storing a model image of a model of the unread form in a computer system, the model image containing alignment marks;storing an unread image of the unread form in the computer system, the unread image containing alignment marks that correspond to the alignment marks on the model image;partitioning the model image into a group of sectors, wherein each sector is defined by the locations of at least three alignment marks;detecting the sectors on the unread image that correspond to the sectors on the model image by comparing the alignment marks on the model image to the corresponding alignment marks on the unread image;generating a transfer function for each sector of the unread image from the locations of corresponding alignment marks of the model image and the unread image; andapplying each sector's transfer function to the locations of marks on the corresponding sector of the unread image to generate corrected locations of the marks, thereby enabling the reading of the unread form.
  • 15. The computer readable medium of claim 14, further comprising program instructions for performing the steps of: forming a coordinate system for each sector, wherein the transfer function for each sector compensates for distortions,determining the meanings of the corrected locations of the marks within each sector of the unread image by reference to corresponding locations of marks within each sectors of the model image; andapplying a three mark transfer function to each sector defined by three alignment marks.
  • 16. The computer readable medium of claim 15, wherein the three mark transfer function is: x′=A′x+B′y+C′ and y′=D′x+E′y=F′.
  • 17. The computer readable medium of claim 14, further comprising program instructions for performing the steps of: forming a coordinate system for each sector, wherein the transfer function for each sector compensates for distortions,determining the meanings of the corrected locations of the marks within each sector of the unread image by reference to corresponding locations of marks within each sector of the model image; andapplying a four mark transfer function to each sector defined by four alignment marks.
  • 18. The computer readable medium of claim 17, wherein the four mark transfer function is:
  • 19. The computer readable medium of claim 14, further comprising program instructions for performing the steps of: forming a coordinate system for each sector, wherein the transfer function for each sector compensates for distortions,determining the meanings of the corrected locations of the marks within each sector of the unread image by reference to corresponding locations of marks within each sector of the model image; andapplying a multi-mark transfer function to each sector defined by eight alignment marks, wherein the transfer function is
  • 20. The computer readable medium of claim 14, further comprising program instructions for performing the step of: determining the meanings of the corrected locations of the marks within each sector of the unread image by reference to corresponding locations of marks within each sector of the model image.
RELATED APPLICATIONS

The present invention is a continuation-in-part of U.S. patent application Ser. No. 11/376,052, filed Mar. 14, 2006 now U.S. Pat. No. 7,920,299 and entitled SYSTEM AND METHOD FOR PROCESSING A FORM, that claims priority from U.S. Provisional Patent Application Ser. No. 60/661,698, filed on Mar. 14, 2005. These patent applications are of common ownership with the present invention, and they are incorporated herein by reference.

US Referenced Citations (95)
Number Name Date Kind
4141036 Diehl Feb 1979 A
4240748 Blanc et al. Dec 1980 A
4724307 Dutton et al. Feb 1988 A
4736109 Dvorzsak Apr 1988 A
4760247 Keane et al. Jul 1988 A
4933778 Tufano et al. Jun 1990 A
5039847 Morii et al. Aug 1991 A
5103490 McMillin Apr 1992 A
5214470 Denber May 1993 A
5216595 Protheroe Jun 1993 A
5239165 Novak Aug 1993 A
5258605 Metlitsky et al. Nov 1993 A
5262624 Koch Nov 1993 A
5362105 Scott Nov 1994 A
5417424 Snowden et al. May 1995 A
5452379 Poor Sep 1995 A
5673125 Merecki et al. Sep 1997 A
5734153 Swartz et al. Mar 1998 A
5735094 Zember Apr 1998 A
5818026 Melling et al. Oct 1998 A
5821518 Sussmeier et al. Oct 1998 A
5834749 Durbin Nov 1998 A
5945655 Gilgeous et al. Aug 1999 A
6150930 Cooper Nov 2000 A
6157435 Slater et al. Dec 2000 A
6176429 Reddersen et al. Jan 2001 B1
6199044 Ackley et al. Mar 2001 B1
6223986 Bobba et al. May 2001 B1
6234899 Nulph May 2001 B1
6262670 Ballou Jul 2001 B1
6289125 Katoh et al. Sep 2001 B1
6340114 Correa et al. Jan 2002 B1
6356365 Oida et al. Mar 2002 B1
6357658 Garczynski et al. Mar 2002 B1
6366696 Hertz et al. Apr 2002 B1
6470099 Dowdy et al. Oct 2002 B1
6494372 Bruchlos et al. Dec 2002 B2
6650427 Brooks et al. Nov 2003 B2
6722569 Ehrhart et al. Apr 2004 B2
6736319 Swanson et al. May 2004 B2
6760476 Meder Jul 2004 B2
6776337 Irwin, Jr. et al. Aug 2004 B2
6816630 Werth et al. Nov 2004 B1
6875105 Behm et al. Apr 2005 B1
6887153 Walker et al. May 2005 B2
6929184 Barkan Aug 2005 B2
6954290 Braudaway et al. Oct 2005 B1
6971577 Tsikos et al. Dec 2005 B2
7060968 Leviton Jun 2006 B1
7070115 DeBiase Jul 2006 B2
7090131 Natsuno Aug 2006 B2
7124945 Kim Oct 2006 B2
7206008 Dejong et al. Apr 2007 B2
7247095 Nulph Jul 2007 B2
7317557 Pollard et al. Jan 2008 B2
7527206 Zhu et al. May 2009 B2
7574047 Cichielo et al. Aug 2009 B2
7635088 Chung et al. Dec 2009 B2
7674171 Walker et al. Mar 2010 B2
8117635 Hendricks et al. Feb 2012 B2
20010025880 Bruchlos et al. Oct 2001 A1
20010029513 Kuwano et al. Oct 2001 A1
20020010022 Vincent Jan 2002 A1
20020048403 Guerreri Apr 2002 A1
20020109866 Yang et al. Aug 2002 A1
20030102376 Meier et al. Jun 2003 A1
20030173404 Chung et al. Sep 2003 A1
20030186734 LeMay et al. Oct 2003 A1
20040029630 Walker et al. Feb 2004 A1
20040160652 Kimura et al. Aug 2004 A1
20040209665 Walker et al. Oct 2004 A1
20040218835 Loew Nov 2004 A1
20050092841 Barkan May 2005 A1
20050098633 Poloniewicz et al. May 2005 A1
20050161511 Parker et al. Jul 2005 A1
20050163385 Thakur Jul 2005 A1
20050233797 Gilmore et al. Oct 2005 A1
20050237580 Coleman et al. Oct 2005 A1
20050238260 Coleman et al. Oct 2005 A1
20060063589 Chong Mar 2006 A1
20060079311 Nulph Apr 2006 A1
20060122910 Chau et al. Jun 2006 A1
20060152595 Ryu et al. Jul 2006 A1
20060221354 Slaten et al. Oct 2006 A1
20060255145 Chung et al. Nov 2006 A1
20060290886 Santos Dec 2006 A1
20060291004 Dymetman Dec 2006 A1
20070109511 Kelly et al. May 2007 A1
20080240614 Garcia Oct 2008 A1
20090015883 Kim Jan 2009 A1
20090020606 Chung et al. Jan 2009 A1
20090021798 Abahri Jan 2009 A1
20090051814 Shirane et al. Feb 2009 A1
20090167960 Miyasato Jul 2009 A1
20100060943 Monga et al. Mar 2010 A1
Foreign Referenced Citations (5)
Number Date Country
1 172 756 Jan 2002 EP
1 441 315 Jul 2004 EP
WO 0004487 Jan 2000 WO
WO 0104571 Jan 2001 WO
WO 2007114241 Oct 2007 WO
Related Publications (1)
Number Date Country
20090074327 A1 Mar 2009 US
Provisional Applications (1)
Number Date Country
60661698 Mar 2005 US
Continuation in Parts (1)
Number Date Country
Parent 11376052 Mar 2006 US
Child 12323701 US