IP Library Granted Patent US 10,825,199
Granted Patent B2
US 10,825,199 · App. 16/129,148 · Granted Nov 3, 2020

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 10,825,199
App. No.
16/129,148
Granted
Nov 3, 2020
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 (78)

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;

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, wherein testing the pose of the model 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.

2. The method of claim 1 , wherein:

receiving 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 values comprises determining a scalar value based on the 2D vectors in the region associated with the value.

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

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

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

4. The method of claim 1 , wherein:

receiving 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 values comprises determining a scalar value based on the 3D vectors in the region associated with the value.

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

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

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

6. The method of claim 1 , further comprising:

converting the image data to second processed image data comprising a second set of cells that are each associated with a second value, comprising determining, for each second cell value, 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 based on the testing of the pose of the model with the processed image data.

7. 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;

setting one or more values of the set of values 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 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.

8. The system of claim 7 , wherein:

receiving 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 values comprises determining a scalar value based on the 2D vectors in the region associated with the value.

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 the predetermined threshold, comprising testing the plurality of probes of the model to associated scalar values of the processed image data; and

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

10. The system of claim 7 , wherein:

receiving 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 values comprises determining a scalar value based on the 3D vectors in the region associated with the value.

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

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

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

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

convert the image data to second processed image data comprising a second set of cells that are each associated with a second value, comprising determining, for each second cell value, 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 based on the testing of the pose of the model with the processed image data.

13. 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;

setting one or more values of the set of values 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 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.

14. The non-transitory computer-readable storage medium of claim 13 , wherein:

receiving 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 values comprises determining a scalar value based on the 2D vectors in the region associated with the value.

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

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

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

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions are further configured to cause the one or more processors to:

converting the image data to second processed image data comprising a second set of cells that are each associated with a second value, comprising determining, for each second cell value, 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 based on the testing of the pose of the model with the processed image data.

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

receiving 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 values comprises determining a scalar value based on the 3D vectors in the region associated with the value.

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

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

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2019
From: BOGAN, NATHANIEL; HANS LIU, ZIHAN
To: COGNEX CORPORATION
Reel/Frame 049061/0858 →
Continuity (1)
Related Publication 20200082566A1 · Mar 12, 2020