# US 10,769,776 B2 · System and method for efficiently scoring probes in an image with a vision system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,776 B2
- Document ID: US10769776B2
- Status: Granted
- Kind: B2
- Application number: 15/429,336
- Filed: 2017-02-10
- Published: 2017-08-17
- Granted: 2020-09-08
- Earliest claimed: 2016-02-12
- Assignees: Cognex Corporation
- Applicants: Cognex Corporation
- Inventors: Nathaniel R. Bogan
- Web page: https://patentgrep.com/patent/US10769776B2

## CPC

- G06T 7/75: {involving models}
- G06F 18/28: Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
- G06T 7/001: {using an image reference approach}
- G06T 7/344: {involving models}
- G06V 10/44: Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V 10/46: Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features (colour feature extraction G06V10/56)
- G06V 10/752: {Contour matching}
- G06V 10/772: Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
- G06T 2207/20081: Training; Learning
- G06T 2207/30164: Workpiece; Machine component
- G06V 2201/06: Recognition of objects for industrial automation
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A system and method for scoring trained probes for use in analyzing one or more candidate poses of a runtime image is provided. A set of probes with location and gradient direction based on a trained model are applied to one or more candidate poses based upon a runtime image. The applied probes each respectively include a discrete set of position offsets with respect to the gradient direction thereof. A match score is computed for each of the probes, which includes estimating a best match position for each of the probes respectively relative to one of the offsets thereof, and generating a set of individual probe scores for each of the probes, respectively at the estimated best match position.

## Claims

### Claim 1

A method for scoring trained probes for use in analyzing one or more candidate poses of a runtime image with a vision system processor comprising:
providing a set of probes with location and gradient direction based on a trained model;
providing one or more candidate poses based upon a runtime image and applying the probes to at least one of the candidate poses, the applied probes each respectively including a discrete set of position offsets with respect to the gradient direction thereof; and
computing a match score for each of the probes, including estimating a best match score for each of the probes respectively relative to one of the offsets thereof, and generating a set of individual probe scores for each of the probes, respectively at the estimated best match position.

### Claim 2 (depends on 1)

The method as set forth in claim 1 wherein the set of probes is generated in a training step with a position and a direction that represents the trained model.

### Claim 3 (depends on 1)

The method as set forth in claim 1, further comprising computing a total score that is a weighted sum or product of the individual probe scores, the computing of the total score operating either (a) concurrently as the probe scores are generated or (b) subsequent to generating of some or all of the probe scores.

### Claim 4 (depends on 3)

The method as set forth in claim 3 further comprising selecting a best alignment match between the trained model and the runtime image based upon the total score.

### Claim 5 (depends on 1)

The method as set forth in claim 1 further comprising preregistering the set of probes with respect to each of the candidate poses before the step of applying.

### Claim 6 (depends on 1)

The method as set for in claim 1 further comprising, before the step of applying, computing a gradient for each location where each of the probes is to be applied.

### Claim 7 (depends on 6)

The method as set forth in claim 6 further comprising computing a gradient vector for each location where each of the probes is applied by one of:
(a) determining a gradient field pixel which contains that location, and using the gradient vector corresponding to that gradient field pixel,
(b) performing a sub-pixel interpolation of neighboring gradient field values with respect to that location,
(c) determining a set of image pixels that are located nearest to that location, and applying an X kernel and a Y kernel to compute a whole-pixel gradient, or
(d) determining X and Y gradients for a neighborhood of whole-pixel gradients around that location, and performing a sub-pixel interpolation of neighboring gradient field values with respect to that location.

### Claim 8 (depends on 1)

The method as set forth in claim 1, further comprising normalizing a magnitude of at least one of a direction vector of each of the probes and a gradient direction vector of each of the probes.

### Claim 9 (depends on 8)

The method as set forth in claim 8 wherein the step of normalizing includes one of:
(a) normalizing the magnitude of the direction vector to a predetermined magnitude, or
(b) normalizing the magnitude of the direction vector to a magnitude that is a predetermined function of its raw magnitude.

### Claim 10 (depends on 8)

The method as set forth in claim 8, further comprising normalizing the magnitude of a direction vector of each of the probes during a training stage.

### Claim 11 (depends on 8)

The method as set forth in claim 8 wherein the locations of applied probes on the runtime image are determined by:
(a) normalizing direction vectors of each of the probes to a magnitude of 1.0, and
(b) computing the offset positions as predetermined multiples of the normalized probe direction vector.

### Claim 12 (depends on 11)

The method as set forth in claim 11, further comprising computing offsets in a perpendicular direction to each of the direction vectors, respectively.

### Claim 13 (depends on 1)

The method as set forth in claim 1 wherein the step of computing includes performing a dot product of a probe direction vector of each of the probes and gradient vectors of the runtime image at a respective position of each of the probes.

### Claim 14 (depends on 1)

The method as set forth in claim 1, further comprising normalizing a magnitude of one or more vectors of the probes based on a normalizing function.

### Claim 15

A system for scoring trained probes for use in analyzing one or more candidate poses of a runtime image comprising:
one or more vision system processors configured to:
receive a set of probes with location and gradient direction based on a trained model of image data and provide one or more candidate poses based upon a runtime image and apply the probes to at least one of the candidate poses, the applied probes each respectively including a discrete set of position offsets with respect to the gradient direction thereof; and
compute a match score for each of the probes, including an estimate of a best match score for each of the probes respectively relative to one of the offsets thereof, and generate a set of individual probe scores for each of the probes, respectively at the estimated best match position.

### Claim 16 (depends on 15)

The system as set forth in claim 15 wherein the set of probes are generated in a training stage with a position and a direction that represents the trained model.

### Claim 17

A method for scoring trained probes for use in analyzing one or more candidate poses of a runtime image with a vision system processor comprising the steps of:
providing a set of probes with location and gradient direction based on a trained model;
providing one or more candidate poses based upon a runtime image and applying the probes to at least one of the candidate poses, the applied probes each respectively including a discrete set of position offsets with respect to the gradient direction thereof; and
computing a match score for each of the probes relative to a best match score associated with one of the discrete set of position offsets.

### Claim 18

A system for scoring trained probes for use in analyzing one or more candidate poses of a runtime image comprising:
one or more vision system processors configured to:
receive a set of probes with location and gradient direction based on a trained model of image data and provide one or more candidate poses based upon a runtime image and apply the probes to at least one of the candidate poses, the applied probes each respectively including a discrete set of position offsets with respect to the gradient direction thereof; and
compute a match score for each of the probes relative to a best match score associated with one of the discrete set of position offsets.
