Fast high-accuracy multi-dimensional pattern inspection
First Claim
1. A sequential pose refinement module in a geometric pattern matching apparatus for refining a starting pose of an object in a run-time image, the object having an expected shape and a true pose in the run-time image, the starting pose representing an initial estimate of the true pose of the object in the run-time image, the geometric pattern matching apparatus having (1) a stored model pattern, the stored model pattern including a geometric description of the expected shape of the object, the geometric description including a plurality of pattern boundary points, and a vector-valued function of position within a region that includes the pattern boundary points, and (2) a feature detector configured to detect in the run-time image a plurality of image boundary points, the sequential pose refinement module comprising:
- a motion transform generator configured to use a plurality of image boundary points, and the vector-valued function of position, so as to provide a motion transform; and
a compose module configured to receive a current pose and the motion transform so as to provide a refined pose, the refined pose representing a refined estimate of the true pose of the object in the run-time image.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for identifying differences between a stored pattern and a matching image subset, where variations in pattern position, orientation, and size do not give rise to false differences. The invention is also a system for analyzing an object image with respect to a model pattern so as to detect flaws in the object image. The system includes extracting pattern features from the model pattern; generating a vector-valued function using the pattern features to provide a pattern field; extracting image features from the object image; evaluating each image feature, using the pattern field and an n-dimensional transformation that associates image features with pattern features, so as to determine at least one associated feature characteristic; and using at least one feature characteristic to identify at least one flaw in the object image. The invention can find at least two distinct kinds of flaws: missing features, and extra features. The invention provides pattern inspection that is faster and more accurate than any known prior art method by using a stored pattern that represents an ideal example of the object to be found and inspected, and that can be translated, rotated, and scaled to arbitrary precision much faster than digital image re-sampling, and without pixel grid quantization errors. Furthermore, since the invention does not use digital image re-sampling, there are no pixel quantization errors to cause false differences between the pattern and image that can limit inspection performance.
27 Citations
70 Claims
-
1. A sequential pose refinement module in a geometric pattern matching apparatus for refining a starting pose of an object in a run-time image, the object having an expected shape and a true pose in the run-time image, the starting pose representing an initial estimate of the true pose of the object in the run-time image, the geometric pattern matching apparatus having (1) a stored model pattern, the stored model pattern including a geometric description of the expected shape of the object, the geometric description including a plurality of pattern boundary points, and a vector-valued function of position within a region that includes the pattern boundary points, and (2) a feature detector configured to detect in the run-time image a plurality of image boundary points, the sequential pose refinement module comprising:
-
a motion transform generator configured to use a plurality of image boundary points, and the vector-valued function of position, so as to provide a motion transform; and a compose module configured to receive a current pose and the motion transform so as to provide a refined pose, the refined pose representing a refined estimate of the true pose of the object in the run-time image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A geometric pattern matching method for refining a starting pose of an object in a run-time image, the object having an expected shape and a true pose in the run-time image, the starting pose representing an initial estimate of the true pose of the object in the run-time image, the method comprising:
-
providing a stored model pattern, the stored model pattern including a geometric description of the expected shape of the object, the geometric description including a plurality of pattern boundary points, and information about the pattern boundary points; detecting in the run-time image a plurality of image boundary points; and using the stored model pattern, the starting pose, and the plurality of image boundary points in a sequence of pose refinements to provide at least a refined pose representing a refined estimate of the true pose of the object in the run-time image includes; using the plurality of image boundary points and a vector-valued function of position of the stored model pattern so as to provide a motion transform; and using a current pose and the motion transform so as to provide a refined pose, the refined pose representing a refined estimate of the true pose of the object in the run-time image. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A geometric pattern matching method for refining a starting pose of an object in a run-time image, the object having an expected shape and a true pose in the run-time image, the starting pose representing an initial estimate of the true pose of the object in the run-time image, the method comprising:
-
providing a stored model pattern, the stored model pattern including a geometric description of the expected shape of the object, the geometric description including a plurality of pattern boundary points, and information about the pattern boundary points including a vector-valued function of position that relates displacement vectors to pattern boundary points; detecting in the run-time image a plurality of image boundary points; and using the stored model pattern, the starting pose, and the plurality of image boundary points in a sequence of pose refinements to provide at least a refined pose pose representing a refined estimate of the true pose of the object in the run-time image includes; computing a normal tensor using a current pose; mapping at least the position of an image boundary point from image coordinates to vector-valued function coordinates using the current pose to provide an image boundary point position in vector-valued function coordinates; using the image boundary point position in vector-valued function coordinates to determine at least the displacement vector of a nearest pattern boundary point; using the normal tensor, the displacement vector, and the position of the image boundary point in vector-valued function coordinates to obtain the position of the image boundary point in displacement vector coordinates; using at least the displacement vector to compute a weight value; using the displacement vector, the position of the image boundary point in vector-valued function coordinates, and weight to compute a plurality of sums; using the plurality of sums and the normal tensor to compute a motion transform; and using the motion transform and the current pose to provide a new pose. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52)
-
-
53. A sequential pose refinement module in a geometric pattern matching apparatus for refining a starting pose of an object in a run-time image, the object having an expected shape and a true pose in the run-time image, the starting pose representing an initial estimate of the true pose of the object in the run-time image, the geometric pattern matching apparatus having (1) a stored model pattern, the stored model pattern including a geometric description of the expected shape of the object, the geometric description including a plurality of pattern boundary points, and a vector-valued function of position within a region that includes the pattern boundary points, and (2) a feature detector configured to detect in the run-time image a plurality of image boundary points, the sequential pose refinement module comprising:
-
a look-up table entry generator configured to use the plurality of image boundary points, a current pose look-up table configured to map image boundary points to pattern boundary points, and the vector-valued function of position, so as to provide a look-up table entry for each image boundary point of a plurality of the image boundary points; a look-up table for storing each entry provided by the look-up table entry generator; and a look-up table smoother configured to apply a smoothness constraint to the look-up table so as to provide a new pose look-up table, the new pose look-up table representing a further refined estimate of the true pose of the object in the run-time image. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70)
-
Specification