IP Library Granted Patent US 11,367,273
Granted Patent B2
US 11,367,273 · App. 16/919,383 · Granted Jun 21, 2022

Detecting objects using a weakly supervised model

Inventors: Delun Du (Pittsburgh, PA); Zhe Lin (Fremont, CA); Baldo Faieta (San Francisco, CA)
Assignee: Adobe Inc.
G06V10/50G06K9/623G06K9/6253G06N3/04G06N3/08G06V10/22
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,367,273
App. No.
16/919,383
Granted
Jun 21, 2022
Kind
B2
Abstract

The present disclosure is directed toward systems and methods for detecting an object in an input image based on a target object keyword. For example, one or more embodiments described herein generate a heat map of the input image based on the target object keyword and generate various bounding boxes based on a pixel analysis of the heat map. One or more embodiments described herein then utilize the various bounding boxes to determine scores for generated object location proposals in order to provide a highest scoring object location proposal overlaid on the input image.

Claims (66)

1. A method for detecting one or more objects in a digital image comprising:

generating a heat map of an input image by identifying portions of the input image likely to include an object corresponding to a target object keyword;

determine one or more object location proposals in the input image based on the target object keyword;

determine a score, based on an overlap between an object location proposal and one or more hot spots in the heat map, for each of the determined one or more object location proposals in the input image; and

provide, based on a highest scoring object location proposal, the input image overlaid with an indication of an object location associated with the target object keyword.

2. The method as recited in claim 1 , wherein generating the heat map of the input image comprises utilizing an embedding neural network to generate a color value for every pixel of the heat map that conveys a likelihood that a given pixel is part of the object corresponding to the target object keyword.

3. The method as recited in claim 2 , further comprising identifying the one or more hot spots in the heat map by identifying regions of the heat map where one or more color values of each region match one or more a predetermined color values.

4. The method as recited in claim 3 , further comprising generating one or more boundary boxes in the heat map based on the one or more hot spots in the heat map with color values above a global threshold by:

identifying first pixels in the one or more hot spots in the heat map with color values greater than the global threshold;

determining connected first shapes based on the identified first pixels; and

fitting the one or more boundary boxes to the connected first shapes.

5. The method as recited in claim 4 , further comprising generating one or more center boxes in the heat map based on the one or more hot spots in the heat map by:

identifying second pixels associated with a local maximum color value in rows and columns in the one or more hot spots in the heat map;

determining connected second shapes based on the identified second pixels; and

fitting a center box to each connected second shape.

6. The method as recited in claim 5 , wherein determining the one or more object location proposals in the input image comprises identifying coordinates outlining one or more predicted regions in the input image that include at least one object corresponding to the target object keyword.

7. The method as recited in claim 6 , wherein determining the score for each of the determined one or more object location proposals comprises:

determining amounts of overlap between the one or more object location proposals and the one or more boundary boxes;

determining relevancies of the one or more object location proposals based on overlaps between the one or more object location proposals and the one or more center boxes;

determining mean pixel values of the one or more object location proposals; and

determining the scores for the determined one or more object location proposals based on the amounts of overlap, the relevancies of the one or more object location proposals, and the mean pixel values.

8. The method as recited in claim 7 , wherein determining the relevancies of the one or more object location proposals based on overlaps between the one or more object location proposals and the one or more center boxes comprises:

determining intersections over unions between the one or more center boxes and the one or more object location proposals;

determining first overlap scores based on amounts of overlap between the one or more center boxes and the one or more object location proposals;

determining second overlap scores based on amounts of overlap between the one or more object location proposals and the one or more center boxes; and

determining the relevancies of the one or more object location proposals based on the determined intersections over unions, the determined first overlap scores, and the determined second overlap scores.

9. The method as recited in claim 8 , further comprising filtering out object location proposals with determined scores lower than a predetermined threshold by:

filtering out object location proposals that are not covered by at least one boundary box; and

filtering out object location proposals that are not covered by at least one center box.

10. In a digital environment for detecting object locations in digital images, a non-transitory computer-readable storage medium having stored thereon computer-executable instructions that, when executed by a processor, cause a computing device to:

generate a heat map of an input image based on a target object keyword;

determine one or more object location proposals in the input image based on the target object keyword;

determine a score for each of the determined one or more object location proposals in the input image based on an overlap between an object location proposal and one or more hot spots of heat map; and

provide, based on a highest scoring object location proposal, an indication of an object location associated with the target object keyword.

11. The non-transitory computer-readable storage medium as recited in claim 10 , further comprising computer-executable instructions that cause the computing device to generate the heat map of the input image by utilizing an embedding neural network that maps the input image and associated tag lists into a common embedding space.

12. The non-transitory computer-readable storage medium as recited in claim 11 , further comprising computer-executable instructions that cause the computing device to generate the heat map of the input image by generating the heat map comprising a plurality of pixels, wherein a color value of every pixel of the heat map conveys a likelihood that a corresponding pixel in the input image is part of an object corresponding to the target object keyword.

13. The non-transitory computer-readable storage medium as recited in claim 12 , further comprising computer-executable instructions that cause the computing device to further generate the heat map such that pixels in the heat map with increased intensities of color values represent increased likelihoods that the corresponding pixels in the input image are part of an object corresponding to the target object keyword.

14. The non-transitory computer-readable storage medium as recited in claim 12 , wherein the embedding neural network comprises a fully-convolutional dense tagging neural network.

15. The non-transitory computer-readable storage medium as recited in claim 10 , further comprising computer-executable instructions that cause the computing device to generate a boundary box in the heat map based on the one or more hot spots in the heat map with color values above a global threshold by:

identifying first pixels in the one or more hot spots in the heat map with color values greater than the global threshold;

determining a connected first shape based on the identified first pixels; and

fitting the boundary box to the connected first shape.

16. The non-transitory computer-readable storage medium as recited in claim 15 , further comprising computer-executable instructions that cause the computing device to generate one or more center boxes in the heat map based on the one or more hot spots in the heat map by:

identifying second pixels associated with a local maximum color value in rows and columns in the one or more hot spots in the heat map;

determining connected second shapes based on the identified second pixels; and

fitting a center box to each connected second shape.

17. The non-transitory computer-readable storage medium as recited in claim 16 , further comprising computer-executable instructions that cause the computing device to determine the score for each of the determined one or more object location proposals in the input image by determining, for each of the one or more object location proposals:

an amount of overlap between the object location proposal and the boundary box;

a relevancy of the object location proposal based on an overlap between the object location proposal and each of the one or more center boxes;

a mean pixel value of the object location proposal; and

the score for the object location proposal based on the amount of overlap between the object location proposal and the boundary box, the relevancy of the object location proposal, and the mean pixel value of the object location proposal.

18. The non-transitory computer-readable storage medium as recited in claim 17 , further comprising computer-executable instructions that cause the computing device to:

in response to filtering out all of the one or more object location proposals due to low determined scores, resize one center box of the one or more center boxes; and

use the resized center box as the object location associated with the target object keyword.

19. A system comprising:

one or more memory devices comprising a dense tagging neural network; and

one or more computing devices configured to cause the system to:

receive, from a client computing device an input image and a target object keyword;

generate a heat map of the input image by utilizing the dense tagging neural network to identify portions of the input image likely to include an object corresponding to the target object keyword;

determine one or more object location proposals in the input image based on the target object keyword;

determine a score for each of the determined one or more object location proposals in the input image based on an overlap between an object location proposal and one or more hot spots in the heat map; and

provide, to the client computing device and based on a highest scoring object location proposal, an indication of an object location associated with the target object keyword.

20. The system as recited in claim 19 , wherein the one or more computing devices are further configured to cause the system to:

generate a boundary box in the heat map based on the one or more hot spots in the heat map with color values above a global threshold;

generate one or more center boxes in the heat map based on the one or more hot spots in the heat map with local maximum color values; and

determine the score for each of the determined one or more object location proposals in the input image based on overlaps between the object location proposal, the boundary box, and the one or more center boxes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2020
From: DU, DELUN; LIN, ZHE; FAIETA, BALDO
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 053107/0424 →
CHANGE OF NAME Recorded Jul 2, 2020
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 053119/0518 →
Continuity (2)
Continuation 15921492 · Mar 14, 2018
Related Publication 20200334487A1 · Oct 22, 2020
Cited By (1)
US 12,675,877