IP Library › Granted Patent US 12,067,758
Granted Patent B2
US 12,067,758 · App. 17/613,767 · Granted Aug 20, 2024

Object discovery in images through categorizing object parts

Inventors: Adam Roman Kosiorek (Oxford, GB); Geoffrey E. Hinton (Toronto, CA); Sara Sabour Rouh Aghdam (Toronto, CA); Yee Whye Teh (Oxford, GB)
Assignee: Google LLC
G06V10/44G06T7/70G06V10/82G06T2207/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,067,758
App. No.
17/613,767
Granted
Aug 20, 2024
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for detecting objects in images. One of the methods includes obtaining an input image; processing the input image to generate predicted part feature data, the predicted part feature data comprising, for each of a plurality of possible object parts: a part presence probability representing a likelihood that the possible object part is depicted in the input image, a predicted pose of the possible object part in the input image given that the possible object part is depicted in the input image, and an object part feature vector characterizing the depiction of the possible object part given that the possible object part is depicted in the input image; and processing the predicted part feature data for the plurality of possible object parts to generate an object detection output that identifies one or more objects depicted in the input image.

Claims (51)

1. A method comprising:

obtaining an input image;

processing the input image using an object part neural network to generate predicted part feature data, the predicted part feature data comprising, for each of a plurality of possible object parts:

a part presence probability representing a likelihood that the possible object part is depicted in the input image,

a predicted pose of the possible object part in the input image given that the possible object part is depicted in the input image, and

an object part feature vector characterizing the depiction of the possible object part given that the possible object part is depicted in the input image; and

processing the predicted part feature data for the plurality of possible object parts using an object detection neural network to generate an object detection output that identifies one or more objects depicted in the input image.

2. The method of claim 1 , wherein the object part neural network comprises a convolutional neural network that is configured to process the input image to generate the presence probability, the predicted pose, and the object part feature vector for each of the possible object parts.

3. The method of claim 1 , wherein the predicted part feature data further comprises a respective image template for each of the possible object parts that is a low-dimensional image of the possible object part.

4. The method of claim 1 , wherein processing the predicted part feature data comprises:

processing the predicted part feature data using a permutation-invariant encoder neural network to generate predicted object feature data, the predicted object feature data comprising, for each of a plurality of possible objects:

an object presence probability representing a likelihood that the possible object is depicted in the input image,

an object feature vector characterizing the depiction of the possible object given that the possible object is depicted in the input image;

a capsule-camera-relationship (CCR) matrix that represents an affine transformation between the possible object and a camera capturing the image;

for each possible object, generating, from the predicted object feature data and for each possible object part, a probability distribution over possible poses of the possible object part given that the possible object part is part of the possible object; and

generating the object detection output using the probability distributions.

5. The method of claim 4 , wherein generating, from the predicted object feature data and for each possible object part, a probability distribution over possible poses of the possible object part comprises:

generating, for each possible object and from the object feature vector for the possible object, candidate parameters that comprise (i) a respective capsule-part-relationship (CPR) matrix for each of the possible object parts that represents an affine transformation between the possible object and the possible object part and (ii) a respective predicted scalar precision for each of the possible object parts;

generating, for each possible object, an initial candidate prediction for each possible object part from the CCR matrix for the possible object and the CPR matrix for the possible object and the possible object part; and

generating, for each possible object and for each possible object part, the probability distribution over possible poses of the possible object part from the initial candidate prediction and the predicted scalar precision corresponding to the possible object and the possible object part.

6. The method of claim 5 , wherein generating, for each possible object and from the object feature vector for the possible object, candidate parameters comprises:

processing the object feature vector for the possible object using a feedforward neural network that is specific to the possible object to generate the candidate parameters.

7. The method of claim 5 , wherein generating, for each possible object and for each possible object part, the probability distribution over possible poses of the possible object part from the initial candidate prediction and the predicted scalar precision corresponding to the possible object and the possible object part comprises:

generating a Normal distribution that has the initial candidate prediction as a mean and the predicted scalar precision as a standard deviation.

8. The method of claim 4 , wherein the permutation-invariant encoder neural network has a Set Transformer architecture.

9. The method of claim 4 , wherein generating the object detection output using the probability distributions comprises:

for at least a subset of the possible object parts, assigning the possible object part to the possible object for which the predicted pose for the possible object part is assigned the highest probability in the probability distribution over possible poses of the possible object part given that the possible object part is part of the possible object; and

identifying, in the object detection output, the possible object parts that have been assigned to the same possible object.

10. The method of claim 1 , wherein the object part neural network is trained through unsupervised learning as part of an image autoencoder that autoencodes input images.

11. The method of claim 10 , wherein the object detection neural network is trained through unsupervised learning as part of an object part pose autoencoder that autoencodes poses of object parts from input images.

12. The method of claim 11 , wherein the object part pose autoencoder and the image encoder are trained jointly.

13. The method of claim 12 , wherein, during the training, gradients are backpropagated from the object detection neural network into the object part neural network.

14. The method of claim 13 , wherein a stop gradient is applied to all of the inputs to the object part neural network except for the object part feature vectors.

15. The method of claim 12 , wherein the joint training objective includes one or more terms that impose sparsity constraints.

16. The method of claim 12 , wherein the joint training objective includes one or more terms that impose entropy constraints.

17. One or more non-transitory computer-readable storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

obtaining an input image;

processing the input image using an object part neural network to generate predicted part feature data, the predicted part feature data comprising, for each of a plurality of possible object parts:

a part presence probability representing a likelihood that the possible object part is depicted in the input image,

a predicted pose of the possible object part in the input image given that the possible object part is depicted in the input image, and

an object part feature vector characterizing the depiction of the possible object part given that the possible object part is depicted in the input image; and

processing the predicted part feature data for the plurality of possible object parts using an object detection neural network to generate an object detection output that identifies one or more objects depicted in the input image.

18. One or more computers and one or more storage devices storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

obtaining an input image;

processing the input image using an object part neural network to generate predicted part feature data, the predicted part feature data comprising, for each of a plurality of possible object parts:

a part presence probability representing a likelihood that the possible object part is depicted in the input image,

a predicted pose of the possible object part in the input image given that the possible object part is depicted in the input image, and

an object part feature vector characterizing the depiction of the possible object part given that the possible object part is depicted in the input image; and

processing the predicted part feature data for the plurality of possible object parts using an object detection neural network to generate an object detection output that identifies one or more objects depicted in the input image.

19. The system of claim 18 , wherein the object part neural network comprises a convolutional neural network that is configured to process the input image to generate the presence probability, the predicted pose, and the object part feature vector for each of the possible object parts.

20. The system of claim 18 , wherein the predicted part feature data further comprises a respective image template for each of the possible object parts that is a low-dimensional image of the possible object part.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2021
From: KOSIOREK, ADAM ROMAN; HINTON, GEOFFREY E.; SABOUR ROUH AGHDAM, SARA; TEH, YEE WHYE
To: GOOGLE LLC
Reel/Frame 058484/0139 →
Continuity (3)
Provisional Application 62852293 · May 23, 2019
Provisional Application 62864390 · Jun 20, 2019
Related Publication 20220230425A1 · Jul 21, 2022
Cited By (1)
US 12,455,214