IP Library Granted Patent US 8,254,695
Granted Patent B1
US 8,254,695 · App. 11/026,003 · Granted Aug 28, 2012

Method for fast, robust, multi-dimensional pattern recognition

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,254,695
App. No.
11/026,003
Granted
Aug 28, 2012
Kind
B1
Abstract

Disclosed is a method for determining the absence or presence of one or more instances of a predetermined pattern in an image, and for determining the location of each found instance within a multidimensional space. A model represents the pattern to be found, the model including a plurality of probes. Each probe represents a relative position at which a test is performed in an image at a given pose, each such test contributing evidence that the pattern exists at the pose. The method further includes a comparison of the model with a run-time image at each of a plurality of poses. A match score is computed at each pose to provide a match score surface. Then, the match score is compared with an accept threshold, and used to provide the location any instances of the pattern in the image.

Claims (40)

1. A method for measuring arc length along a boundary in an image including a plurality of pixels, the method comprising the steps of:

providing an image processor programmed to perform the steps of:

determining an arc position for each boundary point along a segment of the boundary, starting with zero at a first boundary point at a first end of the segment, and increasing while moving away from the first end by an amount equal to the distance between the boundary points along the segment; and

determining total arc length of the segment as being the arc position of a boundary point most distal from the first boundary point of the segment.

2. The method of claim 1 , wherein determining an arc position for each boundary point along a segment of the boundary results in a distance between boundary points that is smaller than one pixel.

3. The method of claim 1 , wherein determining an arc position for each boundary point along a segment of the boundary results in a distance between boundary points that is larger than one pixel.

4. The method of claim 3 , wherein the segment of the boundary is a diagonal.

5. The method of claim 1 , wherein the total arc length of the segment is expressed in units of pixels.

6. The method of claim 1 , wherein the distance between the boundary points along the segment is determined using a sub-pixel position of each boundary point of each pair of boundary points to compute a root mean squared distance between each pair of boundary points.

7. The method of claim 1 , wherein determining an arc position for each boundary point along a segment of the boundary includes:

determining a sub-pixel position of each boundary point;

determining a pair distance between each pair of boundary points along the segment using a sub-pixel position of each boundary point of each pair of boundary points along the segment of the boundary;

computing a running sum of pair differences; and

assigning a value of the running sum as the arc position of a boundary point along the segment.

8. The method of claim 7 , wherein the running sum of position differences is initialized with a starting value.

9. The method of claim 7 wherein the running sum of position differences starts at zero.

10. A method for measuring arc length along a boundary in an image including a plurality of pixels, the method comprising the steps of:

providing an image processor programmed to perform the steps of:

determining an arc position for each boundary point along a segment of the boundary, starting with a starting value at a first boundary point at a first end of the segment, and increasing while moving away from the first end by an amount equal to the distance between the boundary points along the segment.

11. The method of claim 10 , further comprising:

determining total arc length of the segment as being the arc position of a boundary point most distal from the first boundary point of the segment, minus the starting value.

12. The method of claim 10 , wherein the starting value is zero.

13. The method of claim 10 , wherein the starting value is an arc position of a boundary point.

14. The method of claim 10 , wherein determining an arc position for each boundary point along a segment of the boundary includes:

determining a sub-pixel position of each boundary point;

determining a pair distance between each pair of boundary points along the segment using the sub-pixel position of each boundary point of each pair of boundary points along the segment of the boundary;

computing a running sum of pair differences; and

assigning a value of the running sum as the arc position of a boundary point along the segment.

15. The method of claim 14 , wherein the running sum of position differences is initialized with a starting value.

16. The method of claim 14 , wherein the running sum of position differences starts at zero.

17. The method of claim 14 , wherein determining a pair distance between each pair of boundary points along the segment includes:

using the sub-pixel position of each boundary point of each pair of boundary points to compute a root mean squared distance between each pair of boundary points.

18. The method of claim 10 , wherein determining a pair distance between each pair of boundary points results in a distance between boundary points that is larger than one pixel.

19. The method of claim 10 , wherein the segment of the boundary is a diagonal.

20. The method of claim 10 , wherein the arc position for each boundary point is expressed in units of pixels.

21. An computerized apparatus for measuring arc length along a two-dimensional boundary in an image including a plurality of pixels, the apparatus comprising:

an arc position module for calculating an arc position of boundary points in a segment of the boundary, starting with an initial value for the first boundary point at a first end of the segment and moving along the boundary to the next boundary point position by an amount substantially equal to the distance along the segment between the boundary points, where any of the boundary point positions along the boundary may differ from a pixel center; and

an arc length module for computing the total arc length of the segment as being the arc position of a boundary point most distal from the first boundary point of the segment.

22. The apparatus of claim 21 , wherein calculating an arc position of boundary points in a segment of the boundary results in at least one distance between boundary points that is smaller than one pixel.

23. The apparatus of claim 22 , wherein calculating an arc position of boundary points in a segment of the boundary results in at least one distance between boundary points that is larger than one pixel.

Assignments (2)
CHANGE OF NAME Recorded Oct 6, 2014
From: COGNEX TECHNOLOGY AND INVESTMENT CORPORATION
To: COGNEX TECHNOLOGY AND INVESTMENT LLC
Reel/Frame 033897/0457 →
CORRECTION OF ERROR IN A PREVIOUSLY RECORDED COVERSHEET AT REEL 016247 FRAME 0924 TO CORRECT NAME OF RECEIVING PARTY Recorded May 15, 2014
From: SILVER, WILLIAM; MCGARRY, E. JOHN; HILL, MATTHEW; FOSTER, NIGEL; NICHANI, SANJAY; FOSTER, WILLARD P.; WAGMAN, ADAM
To: COGNEX TECHNOLOGY AND INVESTMENT CORPORATION
Reel/Frame 032897/0460 →