IP Library › Granted Patent US 11,971,955
Granted Patent B1
US 11,971,955 · App. 17/381,833 · Granted Apr 30, 2024

Example-based image annotation

Inventors: Ria Chakraborty (Howrah, IN); Madhur Popli (Ludhiana, IN); Rachit Lamba (Delhi, IN); Santosh Kumar Sahu (Bangalore, IN); Rishi Kishore Verma (Bangalore, IN)
Assignee: Amazon Technologies, Inc.
G06F18/2148G06F18/2155G06F18/2163G06F18/2178G06F18/22G06F18/2413G06F18/40G06N3/04G06N3/08G06T7/73G06V10/751G06F3/0482G06T2207/20081G06T2207/20084G06V2201/09
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 11,971,955
App. No.
17/381,833
Filed
Jul 21, 2021
Granted
Apr 30, 2024
Kind
B1
Examiner
ALAVI, AMIR
Art Unit
2668
USPC
382/157
Abstract

Techniques are generally described for machine learning exampled-based annotation of image data. In some examples, a first machine learning model may receive a query image comprising a first depiction of an object-of-interest. In some examples, the first machine learning model may receive a target image representing a scene in which a second depiction of the object-of-interest is visually represented. In various examples, the first machine learning model may generate annotated output image data that identifies a location of the second depiction of the object-of-interest within the target image. In some examples, an object detection model may be trained based at least in part on the annotated output image data.

Claims (83)

1. A computer-implemented method of annotating images, comprising:

receiving, by a first convolutional neural network (CNN), a query image representing a first depiction of an object-of-interest;

generating, by the first CNN, first feature data representing the first depiction of the object-of-interest;

receiving, by a second CNN a target image representing a scene in which a second depiction of the object-of-interest is visually represented, at least in part;

generating, by the second CNN, second feature data representing the target image;

determining, using the first feature data and the second feature data, an emphasized representation of the target image using the first feature data and the second feature data, the emphasized representation of the target image encoding a similarity between portions of the target image and the first depiction of the object-of-interest in the query image;

inputting the emphasized representation of the target image into a transformer-based model;

determining, by the transformer-based model using the emphasized representation of the target image and positional embeddings, a location of the second depiction of the object-of-interest in the target image;

generating an annotated image comprising the target image with a bounding box surrounding a portion of the scene that includes the second depiction of the object-of-interest; and

generating a label classifying the second depiction of the object-of-interest.

2. The computer-implemented method of claim 1 , further comprising:

causing the annotated image to be displayed on a graphical user interface (GUI) used for image data annotation;

causing the query image to be displayed on the GUI;

providing a first selectable control on the GUI to accept the annotated image as an accurate annotation;

providing a second selectable control on the GUI to reject the annotated image as an accurate annotation; and

providing a third selectable control on the GUI to modify at least one of a location of the bounding box or the label.

3. The computer-implemented method of claim 2 , further comprising:

receiving a selection of the first selectable control;

incorporating the annotated image in a training data set; and

training a class-specific object detector using the annotated image and the training data set.

4. A method, comprising:

receiving, as a first input to a first machine learning model for a first annotation task, a query image comprising a first depiction of an object-of-interest, wherein the first machine learning model has not been trained to detect the object-of-interest;

receiving, as a second input to the first machine learning model for the first annotation task, a target image representing a scene in which a second depiction of at least a portion of the object-of-interest is visually represented;

generating, by the first machine learning model using the first input and the second input during the first annotation task, annotated output image data that identifies a location of the second depiction of at least the portion of the object-of-interest within the target image;

receiving an input causing the annotated output image data to be stored in non-transitory computer-readable memory as part of a training data set for training an object detection model; and

training the object detection model based at least in part on the annotated output image data.

5. The method of claim 4 , wherein:

the object-of-interest is a first class of object; and

the first machine learning model is trained using a data set that does not include annotations related to the first class of object.

6. The method of claim 4 , further comprising:

generating, by a first convolutional neural network (CNN) of the first machine learning model, a first feature representation of the first depiction of the object-of-interest; and

generating, by a second CNN of the first machine learning model, a second feature representation of the second depiction of at least the portion of the object-of-interest.

7. The method of claim 6 , further comprising:

determining, using a feature mapping component of the first machine learning model, a similarity between the first feature representation and the second feature representation; and

generating the annotated output image data based at least in part on the similarity.

8. The method of claim 4 , further comprising:

generating bounding box data that identifies the location of the second depiction of at least the portion of the object-of-interest within the target image; and

generating label data identifying a class of the object-of-interest, wherein the annotated output image data comprises the label data and the bounding box data.

9. The method of claim 4 , further comprising:

generating segmentation mask data that identifies the location of the second depiction of at least the portion of the object-of-interest within the target image; and

generating label data identifying a class of the object-of-interest, wherein the annotated output image data comprises the label data and the segmentation mask data.

10. The method of claim 4 , further comprising:

providing the annotated output image data via a first graphical user interface (GUI);

providing, via the GUI, a first option to accept the annotated output image data as an accurate annotation for the object-of-interest; and

providing, via the GUI, a second option to modify a bounding box or segmentation mask defining a location of the second depiction of at least the portion of the object-of-interest in the target image.

11. The method of claim 4 , further comprising:

receiving, by the first machine learning model, a second query image comprising a logo or pictogram;

receiving, by the first machine learning model, a second target image representing a second scene;

determining, by the first machine learning model that an instance of the logo or the pictogram are present in the second target image; and

generating second annotated output image data that identifies the location of the instance of the logo or the pictogram within the second target image.

12. The method of claim 4 , wherein the second depiction of at least the portion of the object-of-interest is deformed, rotated, scaled, and/or incomplete with respect to the first depiction of the object-of-interest.

13. A system comprising:

at least one processor; and

non-transitory computer-readable memory storing instructions that, when executed by the at least one processor, are effective to:

receive, as a first input to a first machine learning model for a first annotation task, a query image comprising a first depiction of an object-of-interest, wherein the first machine learning model has not been trained to detect the object-of-interest;

receive, as a second input to the first machine learning model for the first annotation task, a target image representing a scene in which a second depiction of at least a portion of the object-of-interest is visually represented;

generate, by the first machine learning model using the first input and the second input during the first annotation task, annotated output image data that identifies a location of the second depiction of at least the portion of the object-of-interest within the target image;

receive an input causing the annotated output image data to be stored in the non-transitory computer-readable memory as part of a training data set for training an object detection model; and

train the object detection model based at least in part on the annotated output image data.

14. The system of claim 13 , wherein:

the object-of-interest is a first class of object; and

the first machine learning model is trained using a data set that does not include annotations related to the first class of object.

15. The system of claim 13 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to:

generate, by a first convolutional neural network (CNN) of the first machine learning model, a first feature representation of the first depiction of the object-of-interest; and

generate, by a second CNN of the first machine learning model, a second feature representation of the second depiction of at least the portion of the object-of-interest.

16. The system of claim 15 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to:

determine, using a feature mapping component of the first machine learning model, a similarity between the first feature representation and the second feature representation; and

generate the annotated output image data based at least in part on the similarity.

17. The system of claim 13 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to:

generate bounding box data that identifies the location of the second depiction of at least the portion of the object-of-interest within the target image; and

generate label data identifying a class of the object-of-interest, wherein the annotated output image data comprises the label data and the bounding box data.

18. The system of claim 13 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to:

generate segmentation mask data that identifies the location of the second depiction of at least the portion of the object-of-interest within the target image; and

generate label data identifying a class of the object-of-interest, wherein the annotated output image data comprises the label data and the segmentation mask data.

19. The system of claim 13 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to:

provide the annotated output image data via a first graphical user interface (GUI);

provide, via the GUI, a first option to accept the annotated output image data as an accurate annotation for the object-of-interest; and

provide, via the GUI, a second option to modify a bounding box or segmentation mask defining a location of the second depiction of at least the portion of the object-of-interest in the target image.

20. The system of claim 13 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to:

receive, by the first machine learning model, a second query image comprising a logo or pictogram;

receive, by the first machine learning model, a second target image representing a second scene;

determine, by the first machine learning model that an instance of the logo or the pictogram are present in the second target image; and

generate second annotated output image data that identifies the location of the instance of the logo or the pictogram within the second target image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2021
From: CHAKRABORTY, RIA; POPLI, MADHUR; LAMBA, RACHIT; SAHU, SANTOSH KUMAR; VERMA, RISHI KISHORE
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 056936/0556 →
Cited By (14)
US 12,266,065 US 12,313,727 US 12,380,712 US 12,380,715 US 12,416,730 US 12,430,934 US 12,444,055 US 12,494,045 US 12,524,254 US 12,579,609 US 12,657,526 US 12,657,861 US 12,657,878 US 12,736,626