IP Library Granted Patent US 12,387,370
Granted Patent B2
US 12,387,370 · App. 18/170,978 · Granted Aug 12, 2025

Detection and identification of objects in images

Inventors: Ivan Zagaynov (Moscow Region, RU); Andrew Zharkov (Moscow Region, RU)
Assignee: ABBYY Development Inc.
G06T7/73G06N3/045G06N3/084G06N20/10G06N20/20G06T7/0002G06T7/70G06V10/764G06V10/82G06V20/00G06T2207/10024G06T2207/20081G06T2207/20084
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 12,387,370
App. No.
18/170,978
Granted
Aug 12, 2025
Kind
B2
Abstract

Aspects of the disclosure provide for mechanisms for identification of objects in images using neural networks. A method of the disclosure includes: obtaining an image, representing each element of a plurality of elements of the image via an input vector of a plurality of input vectors, each input vector having one or more parameters pertaining to visual appearance of a respective element of the image, providing the plurality of input vectors to a first subnetwork of a neural network to obtain a plurality of output vectors, wherein each of the plurality of output vectors is associated with an element of the image, identifying, based on the plurality of output vectors, a sub-plurality of elements of the image as belonging to the image of the object, and determining, based on locations of the sub-plurality of elements, a location of an image of an object within the image.

Claims (68)

1. A method, comprising:

obtaining an image, wherein the image comprises an image of an object (IO);

computing, using a first neural network, a plurality of output vectors, wherein each output vector of the plurality of output vectors is associated with a respective element of a plurality of elements of the image and depends on a visual context of at least a neighborhood of adjacent elements of the image;

forming, using the plurality of output vectors, a plurality of element-level hypotheses, wherein each element-level hypothesis predicts a likelihood that the respective element of the image is associated with the IO;

forming, using the plurality of element-level hypotheses, one or more object-level hypotheses, each of the object-level hypotheses prospectively associating a subset of the plurality of the elements of the image with the IO; and

selecting, using the plurality of output vectors, an object-level hypothesis of the one or more object-level hypotheses, the selected object-level hypothesis predicting one or more characteristics of the IO.

2. The method of claim 1 , wherein the one or more characteristics of the IO comprise a location of the IO and a type of the IO.

3. The method of claim 1 , wherein forming the plurality of element-level hypotheses comprises identifying a subplurality of spatially aggregated elements represented by the output vectors having a first component that satisfies a threshold condition.

4. The method of claim 1 , wherein forming the one or more object-level hypotheses comprises:

identifying a group of elements of the plurality of elements of the image, wherein at least a portion of elements of the identified group of elements is predicted, according to the plurality of element-level hypotheses, to be associated with the IO.

5. The method of claim 4 , wherein forming a first object-level hypothesis of the one or more object-level hypotheses comprises:

obtaining, using the output vectors associated with the identified group of elements, a plurality of first element-level scores, each first element-level score characterizing a likelihood of a corresponding element of the identified group of elements to be associated with the IO of a first type; and

obtaining, using the plurality of first element-level scores, an aggregated first object-level score characterizing a likelihood of the IO to be of the first type; and

wherein the method further comprises:

predicting, using the aggregated first object-level score, one or more characteristics of the IO.

6. The method of claim 5 , wherein forming a second object-level hypothesis of the one or more object-level hypotheses comprises:

obtaining, using the output vectors associated with the identified group of elements, a plurality of second element-level scores, each second element-level score characterizing a likelihood of the corresponding element of the identified group of elements to be associated with the IO of a second type; and

obtaining, using the plurality of second element-level scores, an aggregated second object-level score characterizing a likelihood of the IO to be of the second type; and

wherein predicting the one or more characteristics of the IO comprises:

determining the IO to be of the first type based on a predetermined relation between the aggregated first object-level score and the aggregated second object-level score.

7. The method of claim 1 , wherein computing the plurality of output vectors comprises processing, using the first neural network, a plurality of input vectors for the first neural network, where the plurality of input vectors for the first neural network is obtained using operations that comprise:

representing of the plurality of elements of the image via intensity values; and

processing the intensity values using a second neural network to obtain the plurality of input vectors for the first neural network.

8. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

obtain an image, wherein the image comprises an image of an object (IO);

compute, using a first neural network, a plurality of output vectors, wherein each output vector of the plurality of output vectors is associated with a respective element of a plurality of elements of the image and depends on a visual context of at least a neighborhood of adjacent elements of the image;

form, using the plurality of output vectors, a plurality of element-level hypotheses, wherein each element-level hypothesis predicts a likelihood that the respective element of the image is associated with the IO;

form, using the plurality of element-level hypotheses, one or more object-level hypotheses, each of the object-level hypotheses prospectively associating a subset of the plurality of the elements of the image with the IO; and

select, using the plurality of output vectors, an object-level hypothesis of the one or more object-level hypotheses, the selected object-level hypothesis predicting one or more characteristics of the IO.

9. The system of claim 8 , wherein the one or more characteristics of the IO comprise a location of the IO and a type of the IO.

10. The system of claim 8 , wherein to form the plurality of element-level hypotheses, the processing device is to identify a subplurality of spatially aggregated elements represented by the output vectors having a first component that satisfies a threshold condition.

11. The system of claim 8 , wherein to form the one or more object-level hypotheses, the processing device is to:

identify a group of elements of the plurality of elements of the image, wherein at least a portion of elements of the identified group of elements is predicted, according to the plurality of element-level hypotheses, to be associated with the IO.

12. The system of claim 11 , wherein to form a first object-level hypothesis of the one or more object-level hypotheses, the processing device is to:

obtain, using the output vectors associated with the identified group of elements, a plurality of first element-level scores, each first element-level score characterizing a likelihood of a corresponding element of the identified group of elements to be associated with the IO of a first type; and

obtain, using the plurality of first element-level scores, an aggregated first object-level score characterizing a likelihood of the IO to be of the first type; and

wherein the processing device is further to:

predict, using the aggregated first object-level score, one or more properties of the IO.

13. The system of claim 12 , wherein to form a second object-level hypothesis of the one or more object-level hypotheses, the processing device is to:

obtain, using the output vectors associated with the identified group of elements, a plurality of second element-level scores, each second element-level score characterizing a likelihood of the corresponding element of the identified group of elements to be associated with the IO of a second type; and

obtain, using the plurality of second element-level scores, an aggregated second object-level score characterizing a likelihood of the IO to be of the second type; and

wherein to predict the one or more properties of the IO, the processing device is to:

determine the IO to be of the first type based on a predetermined relation between the aggregated first object-level score and the aggregated second object-level score.

14. The system of claim 9 , wherein to compute the plurality of output vectors, the processing device is to process, using the first neural network, a plurality of input vectors for the first neural network, and wherein to obtain the plurality of input vectors for the first neural network, the processing device is to:

represent of the plurality of elements of the image via intensity values; and

process the intensity values using a second neural network to obtain the plurality of input vectors for the first neural network.

15. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to:

obtain an image, wherein the image comprises an image of an object (IO);

compute, using a first neural network, a plurality of output vectors, wherein each output vector of the plurality of output vectors is associated with a respective element of a plurality of elements of the image and depends on a visual context of at least a neighborhood of adjacent elements of the image;

form, using the plurality of output vectors, a plurality of element-level hypotheses, wherein each element-level hypothesis predicts a likelihood that the respective element of the image is associated with the IO;

form, using the plurality of element-level hypotheses, one or more object-level hypotheses, each of the object-level hypotheses prospectively associating a subset of the plurality of the elements of the image with the IO; and

select, using the plurality of output vectors, an object-level hypothesis of the one or more object-level hypotheses, the selected object-level hypothesis predicting one or more characteristics of the IO.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the one or more characteristics of the IO comprise a location of the IO and a type of the IO.

17. The non-transitory machine-readable storage medium of claim 16 , wherein to form the plurality of element-level hypotheses, the processing device is to identify a subplurality of spatially aggregated elements represented by the output vectors having a first component that satisfies a threshold condition.

18. The non-transitory machine-readable storage medium of claim 16 , wherein to form the one or more object-level hypotheses, the processing device is to:

identify a group of elements of the plurality of elements of the image, wherein at least a portion of elements of the identified group of elements is predicted, according to the plurality of element-level hypotheses, to be associated with the IO.

19. The non-transitory machine-readable storage medium of claim 18 , wherein to form a first object-level hypothesis of the one or more object-level hypotheses, the processing device is to:

obtain, using the output vectors associated with the identified group of elements, a plurality of first element-level scores, each first element-level score characterizing a likelihood of a corresponding element of the identified group of elements to be associated with the IO of a first type; and

obtain, using the plurality of first element-level scores, an aggregated first object-level score characterizing a likelihood of the IO to be of the first type; and

wherein the processing device is further to:

predict, using the aggregated first object-level score, one or more characteristics of the IO.

20. The non-transitory machine-readable storage medium of claim 19 , wherein to form a second object-level hypothesis of the one or more object-level hypotheses, the processing device is to:

obtain, using the output vectors associated with the identified group of elements, a plurality of second element-level scores, each second element-level score characterizing a likelihood of the corresponding element of the identified group of elements to be associated with the IO of a second type; and

obtain, using the plurality of second element-level scores, an aggregated second object-level score characterizing a likelihood of the IO to be of the second type; and

wherein to predict the one or more characteristics of the IO, the processing device is to:

determine the IO to be of the first type based on a predetermined relation between the aggregated first object-level score and the aggregated second object-level score.

Assignments (3)
SECURITY INTEREST Recorded Aug 14, 2023
From: ABBYY INC.; ABBYY USA SOFTWARE HOUSE INC.; ABBYY DEVELOPMENT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 064730/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2023
From: ABBYY PRODUCTION LLC
To: ABBYY DEVELOPMENT INC.
Reel/Frame 062758/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2023
From: ZAGAYNOV, IVAN; ZHARKOV, ANDREW
To: ABBYY PRODUCTION LLC
Reel/Frame 062735/0003 →