# US 12,217,479 B2 · Using a probabilistic model for detecting an object in visual data

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

- Number: US 12,217,479 B2
- Document ID: US12217479B2
- Status: Granted
- Kind: B2
- Application number: 17/741,211
- Filed: 2022-05-10
- Published: 2022-09-01
- Granted: 2025-02-04
- Earliest claimed: 2017-01-31
- Assignees: Open Text Corporation
- Applicants: Open Text Corporation
- Inventors: George Saklatvala
- Web page: https://patentgrep.com/patent/US12217479B2

## CPC

- G06V 10/757: {Matching configurations of points or features}
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06V 10/75: Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V 20/653: {by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A probabilistic model is provided based on an output of a matching procedure that matches a particular object to representations of objects, where the probabilistic model relates a probability of an object being present to a number of matching features. The probabilistic model is used for detecting whether a particular object is present in received visual data.

## Claims

### Claim 1

A method, comprising:
building, by an object recognition system, a probabilistic model for each respective object of a plurality of objects representing different object types, the building utilizing statistics for matches between simulated views of the respective object and other objects and statistics for non-matches between reference images that do not contain the respective object and the other objects, wherein the building produces probabilistic models for the different object types;
receiving, by the object recognition system, input visual data; and
determining, by the object recognition system utilizing the probabilistic models for the different object types, whether objects of the different object types are present in the input visual data, wherein the determining comprises mapping, utilizing the probabilistic models, a probability threshold to different number thresholds for the different object types, and wherein each number threshold of the different number thresholds indicates a number of matching features above which an object of a corresponding object type is considered to be present in the input visual data.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
extracting features from each of the simulated views of the respective object; and
matching the features extracted from each of the simulated views of the respective object to object models representing different objects, the matching producing the statistics for the matches between the simulated views of the respective object and the different objects.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
extracting features from each of the reference images; and
matching the features extracted from each of the reference images to object models representing different objects, the matching producing statistics for the non-matches between the reference images and the different objects.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
storing the different number thresholds in a lookup data structure, wherein the determining comprises accessing the lookup data structure and retrieving a number threshold for a corresponding object type.

### Claim 5 (depends on 1)

The method according to claim 1, wherein whether the probability threshold is mappable by the probabilistic models to the different number thresholds for the different object types is deterministic to whether the objects of the different object types are present in the input visual data.

### Claim 6 (depends on 1)

The method according to claim 1, further comprising:
determining a probability value based on a conditional probability that an object is actually in an input image, given a model of the object matching an object in the input image and a number of point correspondences between the object in the input image and the model of the object;
comparing the probability value to the probability threshold; and
based on whether the probability value exceeds the probability threshold, indicating whether the object is actually in the input image.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the number of point correspondences between the object in the input image and the model of the object comprises a maximal subset of point correspondences that are consistent with a single view of the object in the input image.

### Claim 8

A system, comprising:
a processor;
a non-transitory computer-readable medium; and
instructions stored on the non-transitory computer-readable medium and translatable by the processor for:
building a probabilistic model for each respective object of a plurality of objects representing different object types, the building utilizing statistics for matches between simulated views of the respective object and other objects and statistics for non-matches between reference images that do not contain the respective object and the other objects, wherein the building produces probabilistic models for the different object types;
receiving input visual data; and
determining, utilizing the probabilistic models for the different object types, whether objects of the different object types are present in the input visual data, wherein the determining comprises mapping, utilizing the probabilistic models, a probability threshold to different number thresholds for the different object types, and wherein each number threshold of the different number thresholds indicates a number of matching features above which an object of a corresponding object type is considered to be present in the input visual data.

### Claim 9 (depends on 8)

The system of claim 8, wherein the instructions are further translatable by the processor for:
extracting features from each of the simulated views of the respective object; and
matching the features extracted from each of the simulated views of the respective object to object models representing different objects, the matching producing the statistics for the matches between the simulated views of the respective object and the different objects.

### Claim 10 (depends on 8)

The system of claim 8, wherein the instructions are further translatable by the processor for:
extracting features from each of the reference images; and
matching the features extracted from each of the reference images to object models representing different objects, the matching producing statistics for the non-matches between the reference images and the different objects.

### Claim 11 (depends on 8)

The system of claim 8, wherein the instructions are further translatable by the processor for:
storing the different number thresholds in a lookup data structure, wherein the determining comprises accessing the lookup data structure and retrieving a number threshold for a corresponding object type.

### Claim 12 (depends on 8)

The system of claim 8, wherein whether the probability threshold is mappable by the probabilistic models to the different number thresholds for the different object types is deterministic to whether the objects of the different object types are present in the input visual data.

### Claim 13 (depends on 8)

The system of claim 8, wherein the instructions are further translatable by the processor for:
determining a probability value based on a conditional probability that an object is actually in an input image, given a model of the object matching an object in the input image and a number of point correspondences between the object in the input image and the model of the object;
comparing the probability value to the probability threshold; and
based on whether the probability value exceeds the probability threshold, indicating whether the object is actually in the input image.

### Claim 14 (depends on 13)

The system of claim 13, wherein the number of point correspondences between the object in the input image and the model of the object comprises a maximal subset of point correspondences that are consistent with a single view of the object in the input image.

### Claim 15

A computer program product comprising a non-transitory computer-readable medium storing instructions translatable by a processor for:
building a probabilistic model for each respective object of a plurality of objects representing different object types, the building utilizing statistics for matches between simulated views of the respective object and other objects and statistics for non-matches between reference images that do not contain the respective object and the other objects, wherein the building produces probabilistic models for the different object types;
receiving input visual data; and
determining, utilizing the probabilistic models for the different object types, whether objects of the different object types are present in the input visual data, wherein the determining comprises mapping, utilizing the probabilistic models, a probability threshold to different number thresholds for the different object types, and wherein each number threshold of the different number thresholds indicates a number of matching features above which an object of a corresponding object type is considered to be present in the input visual data.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor for:
extracting features from each of the simulated views of the respective object; and
matching the features extracted from each of the simulated views of the respective object to object models representing different objects, the matching producing the statistics for the matches between the simulated views of the respective object and the different objects.

### Claim 17 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor for:
extracting features from each of the reference images; and
matching the features extracted from each of the reference images to object models representing different objects, the matching producing statistics for the non-matches between the reference images and the different objects.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor for:
storing the different number thresholds in a lookup data structure, wherein the determining comprises accessing the lookup data structure and retrieving a number threshold for a corresponding object type.

### Claim 19 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor for:
determining a probability value based on a conditional probability that an object is actually in an input image, given a model of the object matching an object in the input image and a number of point correspondences between the object in the input image and the model of the object;
comparing the probability value to the probability threshold; and
based on whether the probability value exceeds the probability threshold, indicating whether the object is actually in the input image.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein the number of point correspondences between the object in the input image and the model of the object comprises a maximal subset of point correspondences that are consistent with a single view of the object in the input image.
