# US 10,499,608 B2 · Vision system with teat detection

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

- Number: US 10,499,608 B2
- Document ID: US10499608B2
- Status: Granted
- Kind: B2
- Application number: 16/192,535
- Filed: 2018-11-15
- Published: 2019-04-18
- Granted: 2019-12-10
- Earliest claimed: 2016-08-17
- Assignees: Technologies Holdings Corp.
- Applicants: Technologies Holdings Corp.
- Inventors: Mark A. Foresman; Bradley J. Prevost
- Web page: https://patentgrep.com/patent/US10499608B2

## CPC

- A01J 5/007: Monitoring milking processes; Control or regulation of milking machines
- A01J 5/017: Automatic attaching or detaching of clusters
- G06F 18/2113: by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06T 7/001: {using an image reference approach}
- G06T 7/12: Edge-based segmentation
- G06T 7/13: Edge detection
- G06T 7/136: involving thresholding
- G06T 7/251: {involving models}
- G06T 7/33: using feature-based methods
- G06T 7/50: Depth or shape recovery
- G06T 7/521: from laser ranging, e.g. using interferometry; from the projection of structured light
- G06T 7/74: {involving reference images or patches}
- G06T 7/75: {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 20/10: Terrestrial scenes (scenes under surveillance with static cameras G06V20/52; scenes perceived from the exterior of a vehicle G06V20/56; scenes perceived from the interior of a vehicle G06V20/59)
- G06V 40/10: Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- G06T 2207/30204: Marker
- A01J: MANUFACTURE OF DAIRY PRODUCTS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A system that includes a laser configured to generate a profile signal of at least a portion of a dairy livestock and a processor. The processor is configured to obtain the profile signal and detect one or more edge pair candidates in the profile signal, compare the complementary distance gradients of each of the one or more edge pair candidates to a minimum distance gradient length to be considered an edge pair, and identify an edge pair from among the one or more edge pair candidates as a teat candidate based on the comparison. The processor is further configured to determine position information for the teat candidate.

## Claims

### Claim 1

A vision system comprising:
a laser configured to generate a profile signal of at least a portion of a dairy livestock, wherein the profile signal comprises:
one or more rising distance gradients indicating an increase in the distance between the dairy livestock and the laser; and
one or more falling distance gradients indicating a decrease in the distance between the dairy livestock and the laser; and
a processor operably coupled to the laser, and configured to:
obtain the profile signal;
detect one or more edge pair candidates in the profile signal, wherein each of the one or more edge pair candidates comprises complementary distance gradients comprising a rising distance gradient and a falling distance gradient;
compare the complementary distance gradients of each of the one or more edge pair candidates to a threshold value to be considered an edge pair;
identify an edge pair from among the one or more edge pair candidates as a teat candidate based on the comparison; and
determine position information for the teat candidate.

### Claim 2 (depends on 1)

The system of claim 1, wherein identifying the edge pair from among the one or more edge pair candidates as the teat candidate further comprises:
comparing the edge pair to a teat model; and
identifying the edge pair as the teat candidate in response to determining the edge pair corresponds with the teat model.

### Claim 3 (depends on 1)

The system of claim 1, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing a complementary distance gradient spacing of the edge pair to a minimum complementary distance gradient spacing to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient spacing greater than or equal to the minimum complementary distance gradient spacing to be considered a teat candidate.

### Claim 4 (depends on 1)

The system of claim 1, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing a complementary distance gradient spacing of the edge pair to a maximum complementary distance gradient spacing to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient spacing less than or equal to the maximum complementary distance gradient spacing to be considered a teat candidate.

### Claim 5 (depends on 1)

The system of claim 1, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing the complementary distance gradient lengths of the edge pair to a maximum distance gradient length to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient length less than or equal to the maximum distance gradient length to be considered a teat candidate.

### Claim 6 (depends on 1)

The system of claim 1, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing the complementary distance gradient lengths of the edge pair to a minimum distance gradient length to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient length greater than or equal to the minimum distance gradient length to be considered a teat candidate.

### Claim 7

An apparatus comprising:
a processor in signal communication with a laser, configured to:
obtain a profile signal of at least a portion of a dairy livestock, wherein the profile signal comprises:
one or more rising distance gradients indicating an increase in the distance between the dairy livestock and the laser; and
one or more falling distance gradients indicating a decrease in the distance between the dairy livestock and the laser; and
detect one or more edge pair candidates in the profile signal, wherein each of the one or more edge pair candidates comprises complementary distance gradients comprising a rising distance gradient and a falling distance gradient;
compare the complementary distance gradients of each of the one or more edge pair candidates to a threshold value to be considered an edge pair;
identify an edge pair from among the one or more edge pair candidates as a teat candidate based on the comparison; and
determine position information for the teat candidate.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein identifying the edge pair from among the one or more edge pair candidates as the teat candidate further comprises:
comparing the edge pair to a teat model; and
identifying the edge pair as the teat candidate in response to determining that the edge pair corresponds with the teat model.

### Claim 9 (depends on 7)

The apparatus of claim 7, wherein obtaining the profile signal of at least the portion of the dairy livestock comprises performing a laser scan of a surface of the dairy livestock.

### Claim 10 (depends on 7)

The apparatus of claim 7, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing a complementary distance gradient spacing of the edge pair to a minimum complementary distance gradient spacing to be considered a teat candidate; and
identifying the edge pairs from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient spacing greater than or equal to the minimum complementary distance gradient spacing to be considered a teat candidate.

### Claim 11 (depends on 7)

The apparatus of claim 7, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing a complementary distance gradient spacing of the edge pair to a maximum complementary distance gradient spacing to be considered a teat candidate; and
identifying the edge pairs from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient spacing less than or equal to the maximum complementary distance gradient spacing to be considered a teat candidate.

### Claim 12 (depends on 7)

The apparatus of claim 7, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing complementary the distance gradient lengths of the edge pair to a maximum distance gradient length to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient length less than or equal to the maximum distance gradient length to be considered a teat candidate.

### Claim 13 (depends on 7)

The apparatus of claim 7, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing the complementary distance gradient lengths of the edge pair to a minimum distance gradient length to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient length greater than or equal to the minimum distance gradient length to be considered a teat candidate.

### Claim 14

A teat detection method comprising:
obtaining, by a processor, a profile signal of at least a portion of a dairy livestock, wherein the profile signal comprises:
one or more rising distance gradients indicating an increase in the distance between the dairy livestock and a laser; and
one or more falling distance gradients indicating a decrease in the distance between the dairy livestock and the laser;
detecting, by the processor, one or more edge pair candidates in the profile signal, wherein each of the one or more edge pair candidates comprises complementary distance gradients comprising a rising distance gradient and a falling distance gradient;
comparing, by the processor, one or more complementary distance gradient lengths for each of the one or more edge pair candidates to a threshold value to be considered an edge pair;
identifying, by the processor, an edge pair from among the one or more edge pair candidates as a teat candidate based on the comparison; and
determining, by the processor, position information for the teat candidate.

### Claim 15 (depends on 14)

The method of claim 14, wherein identifying the edge pair from among the one or more edge pair candidates as the teat candidate further comprises:
comparing each of the edge pair to a teat model; and
identifying the edge pair as the teat candidate in response to determining that the edge pair corresponds with the teat model.

### Claim 16 (depends on 14)

The method of claim 14, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing a complementary distance gradient spacing of the edge pair to a minimum complementary distance gradient spacing to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient spacing greater than or equal to the minimum complementary distance gradient spacing to be considered a teat candidate.

### Claim 17 (depends on 14)

The method of claim 14, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing a complementary distance gradient spacing of the edge pair to a maximum complementary distance gradient spacing to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient spacing less than or equal to the maximum complementary distance gradient spacing to be considered a teat candidate.

### Claim 18 (depends on 14)

The method of claim 14, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing the complementary distance gradient lengths of the edge pair to a maximum distance gradient length to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient length less than or equal to the maximum distance gradient length to be considered a teat candidate.

### Claim 19 (depends on 14)

The method of claim 14, wherein comparing the complementary distance gradients of each of the one or more edge pair candidates to the threshold value comprises:
comparing the complementary distance gradient lengths of the edge pair to a minimum distance gradient length to be considered a teat candidate; and
identifying the edge pair from the one or more edge pair candidates as the teat candidate when the edge pair has a complementary distance gradient length greater than or equal to the minimum distance gradient length to be considered a teat candidate.

### Claim 20 (depends on 14)

The method of claim 14, wherein obtaining the profile signal of at least the portion of the dairy livestock comprises performing a laser scan of a surface of the dairy livestock.
