IP Library Granted Patent US 11,475,593
Granted Patent B2
US 11,475,593 · App. 17/087,489 · Granted Oct 18, 2022

Methods and apparatus for processing image data for machine vision

Inventors: Nathaniel Bogan (Natick, MA); Zihan Hans Liu (Cambridge, MA)
Assignee: Cognex Corporation
G06T7/75G06T2207/10028
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 11,475,593
App. No.
17/087,489
Granted
Oct 18, 2022
Kind
B2
Abstract

The techniques described herein relate to methods, apparatus, and computer readable media configured to test a pose of a model to image data. Image data of an object is received, the image data comprising a set of data entries. A set of regions of the image data are determined, wherein each region in the set of regions comprises an associated set of neighboring data entries in the set of data entries. Processed image data is generated, wherein the processed image data comprises a set of cells that each have an associated value, and generating the processed image data comprises, for each region in the set of regions, determining a maximum possible score of each data entry in the associated set of neighboring data entries from the image data, setting one or more values of the set of values based on the determined maximum possible score, and testing the pose of the model using the processed image data.

Claims (75)

1. A computerized method for testing a pose of a model to image data, the method comprising:

receiving image data of an object, the image data comprising a set of data entries;

determining a set of regions of the image data, wherein each region in the set of regions comprises an associated set of neighboring data entries in the set of data entries;

generating processed image data, wherein:

the processed image data comprises a set of cells that each have an associated value; and

generating the processed image data comprises, for each region in the set of regions:

determining a maximum possible score of each data entry in the associated set of neighboring data entries from the image data; and

setting one or more values of the set of cells based on the determined maximum possible score; and

testing the pose of the model using the processed image data, wherein testing the pose of the model comprises:

determining a score for the pose meets a predetermined threshold, comprising testing a plurality of probes of the model to associated values of the processed image data; and

storing the pose of the model to test the pose of the model using second processed image data generated based on a second set of regions of the image data having a second region size smaller than a first region size of the set of regions of the image data.

2. The method of claim 1 , wherein testing the pose of the model using the processed image data comprises:

determining the pose does not score above a predetermined threshold, comprising testing a plurality of probes of the model to associated values of the processed image data; and

eliminating a set of poses associated with each of the set of regions used to determine the associated values from further testing.

3. The method of claim 1 , wherein:

receiving the image data comprises receiving 2D image data, wherein each data entry comprises a 2D vector; and

determining the maximum possible score for each processed image data value of the set of cells comprises determining a scalar value based on the 2D vectors in the region associated with the value.

4. The method of claim 3 , wherein testing the plurality of probes of the model to associated values of the processed image data comprises testing the plurality of probes of the model to associated scalar values of the processed image data.

5. The method of claim 1 , wherein:

receiving the image data comprises receiving 3D image data, wherein each data entry comprises a 3D vector; and

determining the maximum possible score for each processed image data value of the set of cells comprises determining a scalar value based on the 3D vectors in the region associated with the value.

6. The method of claim 5 , wherein testing the plurality of probes of the model to associated values of the processed image data comprises testing the plurality of probes of the model to associated scalar values of the processed image data.

7. The method of claim 1 , further comprising:

converting the image data to the second processed image data comprising a second set of cells that are each associated with a second value, comprising determining, for each second value of the second set of cells, representative data based on one or more data entries from the set of data entries of the image data; and

testing the pose of the model with the second processed image data.

8. A system for testing a pose of a model to image data, the system comprising one or more processors configured to:

receive image data of an object, the image data comprising a set of data entries;

determine a set of regions of the image data, wherein each region in the set of regions comprises an associated set of neighboring data entries in the set of data entries;

generate processed image data, wherein:

the processed image data comprises a set of cells that each have an associated value; and

generating the processed image data comprises, for each region in the set of regions:

determining a maximum possible score of each data entry in the associated set of neighboring data entries from the image data; and

setting one or more values of the set of cells based on the determined maximum possible score; and

test the pose of the model using the processed image data, wherein testing the pose of the model comprises:

determining a score for the pose meets a predetermined threshold, comprising testing a plurality of probes of the model to associated values of the processed image data; and

storing the pose of the model to test the pose of the model using second processed image data generated based on a second set of regions of the image data having a second region size smaller than a first region size of the set of regions of the image data.

9. The system of claim 8 , wherein testing the pose of the model using the processed image data comprises:

determining the pose does not score above a predetermined threshold, comprising testing a plurality of probes of the model to associated values of the processed image data; and

eliminating a set of poses associated with each of the set of regions used to determine the associated values from further testing.

10. The system of claim 8 , wherein:

receiving the image data comprises receiving 2D image data, wherein each data entry comprises a 2D vector; and

determining the maximum possible score for each processed image data value of the set of cells comprises determining a scalar value based on the 2D vectors in the region associated with the value.

11. The system of claim 10 , wherein testing the plurality of probes of the model to associated values of the processed image data comprises testing the plurality of probes of the model to associated scalar values of the processed image data.

12. The system of claim 8 , wherein:

receiving the image data comprises receiving 3D image data, wherein each data entry comprises a 3D vector; and

determining the maximum possible score for each processed image data value of the set of cells comprises determining a scalar value based on the 3D vectors in the region associated with the value.

13. The system of claim 12 , wherein testing the plurality of probes of the model to associated values of the processed image data comprises testing the plurality of probes of the model to associated scalar values of the processed image data.

14. The system of claim 8 , wherein the one or more processors are further configured to:

convert the image data to the second processed image data comprising a second set of cells that are each associated with a second value, comprising determining, for each second value of the second set of cells, representative data based on one or more data entries from the set of data entries of the image data; and

test the pose of the model with the second processed image data.

15. At least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform the acts of:

receiving image data of an object, the image data comprising a set of data entries;

determining a set of regions of the image data, wherein each region in the set of regions comprises an associated set of neighboring data entries in the set of data entries;

generating processed image data, wherein:

the processed image data comprises a set of cells that each have an associated value; and

generating the processed image data comprises, for each region in the set of regions:

determining a maximum possible score of each data entry in the associated set of neighboring data entries from the image data; and

setting one or more values of the set of cells based on the determined maximum possible score; and

testing a pose of the model using the processed image data, wherein testing the pose of the model comprises:

determining a score for the pose meets a predetermined threshold, comprising testing a plurality of probes of the model to associated values of the processed image data; and

storing the pose of the model to test the pose of the model using second processed image data generated based on a second set of regions of the image data having a second region size smaller than a first region size of the set of regions of the image data.

16. The non-transitory computer-readable storage medium of claim 15 , wherein testing the pose of the model using the processed image data comprises:

determining the pose does not score above a predetermined threshold, comprising testing a plurality of probes of the model to associated values of the processed image data; and

eliminating a set of poses associated with each of the set of regions used to determine the associated values from further testing.

17. The non-transitory computer-readable storage medium of claim 15 , wherein:

receiving the image data comprises receiving 2D image data, wherein each data entry comprises a 2D vector; and

determining the maximum possible score for each processed image data value of the set of cells comprises determining a scalar value based on the 2D vectors in the region associated with the value.

18. The non-transitory computer-readable storage medium of claim 17 , wherein testing the plurality of probes of the model to associated values of the processed image data comprises testing the plurality of probes of the model to associated scalar values of the processed image data.

19. The non-transitory computer-readable storage medium of claim 15 , wherein:

receiving the image data comprises receiving 3D image data, wherein each data entry comprises a 3D vector; and

determining the maximum possible score for each processed image data value of the set of cells comprises determining a scalar value based on the 3D vectors in the region associated with the value.

20. The non-transitory computer-readable storage medium of claim 19 , wherein testing the plurality of probes of the model to associated values of the processed image data comprises testing the plurality of probes of the model to associated scalar values of the processed image data.

21. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions are further configured to cause the at least one computer hardware processor to:

convert the image data to the second processed image data comprising a second set of cells that are each associated with a second value, comprising determining, for each second value of the second set of cells, representative data based on one or more data entries from the set of data entries of the image data; and

testing the pose of the model with the second processed image data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: BOGAN, NATHANIEL; LIU, ZIHAN HANS
To: COGNEX CORPORATION
Reel/Frame 060777/0827 →
Continuity (2)
Continuation 16129148 · Sep 12, 2018
Related Publication 20210118176A1 · Apr 22, 2021