IP Library Granted Patent US 11,568,650
Granted Patent B2
US 11,568,650 · App. 17/121,400 · Granted Jan 31, 2023

Learning across 2D and 3D pipelines for improved object detection

Inventors: Qiangui Huang (Palo Alto, CA); Meng Gao (San Francisco, CA)
Assignee: WOVEN PLANET NORTH AMERICA, INC.
G06V20/58G06K9/6293G06N3/0454G06T7/50G06T7/74G06T17/10G06T2210/21
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,568,650
App. No.
17/121,400
Granted
Jan 31, 2023
Kind
B2
Abstract

A method includes accessing a training sample including an image of a scene, depth measurements of the scene, and a predetermined 3D position of an object in the scene. The method includes training a 3D-detection model for detecting 3D positions of objects based the depth measurements and the predetermined 3D position, and training a 2D-detection model for detecting 2D positions of objects within images. Training the 2D-detection model includes generating an estimated 2D position of the object by processing the image using the 2D-detection model, determining a subset of the depth measurements that correspond to the object based on the estimated 2D position and a viewpoint from which the image is captured, generating an estimated 3D position of the object based on the subset of the depth measurements, and updating the 2D-detection model based on a comparison between the estimated 3D position and the predetermined 3D position.

Claims (63)

1. A method comprising, by a computing system:

accessing a training sample comprising (1) an image of a scene including an object, (2) depth measurements of the scene, and (3) a predetermined 3D position of an object in the scene;

training a 3D-detection model for detecting 3D positions of objects based on at least the depth measurement of the scene and the predetermined 3D position of the object; and

training a 2D-detection model for detecting 2D positions of objects within images by:

generating an estimated 2D position of the object within the image by processing the image using the 2D-detection model;

determining a subset of the depth measurements that correspond to the object based on the estimated 2D position of the object within the image and a viewpoint from which the image is captured;

generating an estimated 3D position of the object based on the subset of the depth measurements; and

updating the 2D-detection model based on a comparison between the estimated 3D position of the object and the predetermined 3D position of the object.

2. The method of claim 1 , wherein generating the estimated 2D position of the object further comprises:

determining, by a first neural network of the 2D-detection model, a first set of feature vectors from the image of the scene, the first set of feature vectors corresponding to the object in the image of the scene; and

generating, by a 2D detector of the 2D-detection model, the estimated 2D position of the object in the image of the scene based on the first set of feature vectors received from the first neural network and a second set of feature vectors received from a second neural network of the 3D-detection model, the second set of feature vectors corresponding to the object in the depth measurements of the scene.

3. The method of claim 2 , wherein updating the 2D-detection model further comprises updating one or more parameters of the 2D detector, the first neural network, and the second neural network.

4. The method of claim 1 , wherein determining the subset of the depth measurements that correspond to the object further comprises generating a viewing frustum based on the estimated 2D position of the object, a pose associated with a sensor that captured the image of the scene, and the depth measurements of the scene.

5. The method of claim 4 , wherein generating the estimated 3D position of the object further comprises:

determining whether one or more of the depth measurements lying within the viewing frustum corresponds to the estimated 2D position of the object; and

in response to determining that the one or more of the depth measurements lying within the viewing frustum corresponds to the estimated 2D position of the object, generating the estimated 3D position for the one or more of the depth measurements.

6. The method of claim 1 , wherein training the 3D-detection model for detecting 3D positions of objects further comprises:

generating an estimated 3D position of the object by processing the depth measurements of the scene using the 3D-detection model; and

updating the 3D-detection model based on a comparison between the estimated 3D position of the object and the predetermined 3D position of the object.

7. The method of claim 6 , wherein generating the estimated 3D position of the object further comprises:

determining, by a first neural network of the 3D-detection model, a first set of feature vectors from the depth measurements of the scene, the first set of feature vectors corresponding to the object in the depth measurements of the scene; and

generating, by a 3D detector of the 3D-detection model, the estimated 3D position of the object in the depth measurements of the scene based on the first set of feature vectors received from the first neural network and a second set of feature vectors received from a second neural network of the 2D-detection model, the second set of feature vectors corresponding to the estimated 2D position of the object.

8. The method of claim 7 , wherein updating the 3D-detection model further comprises updating one or more parameters of the 3D detector, the first neural network, and the second neural network.

9. The method of claim 1 , further comprising:

accessing a second training sample comprising (1) a second image of the scene, (2) second depth measurements of the scene, and (3) a predetermined 2D position of the object in the scene; and

training the 2D-detection model for detecting 2D positions of objects based on at least the second image of the scene and the predetermined 2D position of the object.

10. The method of claim 9 , wherein training the 2D-detection model for detecting 2D positions of objects further comprises:

determining, by a first neural network of the 2D-detection model, a first set of feature vectors from the image of the scene, the first set of feature vectors corresponding to the object in the image of the scene; and

generating, by a 2D detector of the 2D-detection model, an estimated 2D position for the object in the image of the scene based on the first set of feature vectors received from the first neural network and a second set of feature vectors received from a second neural network of the 3D-detection model, the second set of feature vectors corresponding to the object in the depth measurements of the scene.

11. The method of claim 10 , further comprising updating the 2D-detection model based on a comparison between the estimated 2D position and the predetermined 2D position of the object.

12. The method of claim 1 , further comprising training the 3D-detection model and training the 2D-detection model concurrently.

13. A system comprising:

one or more non-transitory computer-readable storage media including instructions; and

one or more processors coupled to the one or more non-transitory computer-readable storage media, the one or more processors configured to execute the instructions to:

access a training sample comprising (1) an image of a scene including an object, (2) depth measurements of the scene, and (3) a predetermined 3D position of an object in the scene;

train a 3D-detection model for detecting 3D positions of objects based on at least the depth measurement of the scene and the predetermined 3D position of the object; and

train a 2D-detection model for detecting 2D positions of objects within images by:

generate an estimated 2D position of the object within the image by processing the image using the 2D-detection model;

determine a subset of the depth measurements that correspond to the object based on the estimated 2D position of the object within the image and a viewpoint from which the image is captured;

generate an estimated 3D position of the object based on the subset of the depth measurements; and

update the 2D-detection model based on a comparison between the estimated 3D position of the object and the predetermined 3D position of the object.

14. The system of claim 13 , wherein the instructions to generate the estimated 2D position of the object further comprises instructions to:

determine, by a first neural network of the 2D-detection model, a first set of feature vectors from the image of the scene, the first set of feature vectors corresponding to the object in the image of the scene; and

generate, by a 2D detector of the 2D-detection model, the estimated 2D position of the object in the image of the scene based on the first set of feature vectors received from the first neural network and a second set of feature vectors received from a second neural network of the 3D-detection model, the second set of feature vectors corresponding to the object in the depth measurements of the scene.

15. The system of claim 14 , wherein the instructions to update the 2D-detection model further comprises instructions to update one or more parameters of the 2D detector, the first neural network, and the second neural network.

16. The system of claim 13 , wherein the instructions to determine the subset of the depth measurements that correspond to the object further comprises instructions to generate a viewing frustum based on the estimated 2D position of the object, a pose associated with a sensor that captured the image of the scene, and the depth measurements of the scene.

17. The system of claim 16 , wherein the instructions to generate the estimated 3D position of the object further comprises instructions to:

determine whether one or more of the depth measurements lying within the viewing frustum corresponds to the estimated 2D position of the object; and

in response to determining that the one or more of the depth measurements lying within the viewing frustum corresponds to the estimated 2D position of the object, generate the estimated 3D position for the one or more of the depth measurements.

18. The system of claim 13 , wherein the instructions to train the 3D-detection model for detecting 3D positions of objects further comprises instructions to:

generate an estimated 3D position of the object by processing the depth measurements of the scene using the 3D-detection model; and

update the 3D-detection model based on a comparison between the estimated 3D position of the object and the predetermined 3D position of the object.

19. The system of claim 18 , wherein the instructions to generate the estimated 3D position of the object further comprises instructions to:

determine, by a first neural network of the 3D-detection model, a first set of feature vectors from the depth measurements of the scene, the first set of feature vectors corresponding to the object in the depth measurements of the scene; and

generate, by a 3D detector of the 3D-detection model, the estimated 3D position of the object in the depth measurements of the scene based on the first set of feature vectors received from the first neural network and a second set of feature vectors received from a second neural network of the 2D-detection model, the second set of feature vectors corresponding to the estimated 2D position of the object.

20. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the one or more processors to:

access a training sample comprising (1) an image of a scene including an object, (2) depth measurements of the scene, and (3) a predetermined 3D position of an object in the scene;

train a 3D-detection model for detecting 3D positions of objects based on at least the depth measurement of the scene and the predetermined 3D position of the object; and

train a 2D-detection model for detecting 2D positions of objects within images by:

generate an estimated 2D position of the object within the image by processing the image using the 2D-detection model;

determine a subset of the depth measurements that correspond to the object based on the estimated 2D position of the object within the image and a viewpoint from which the image is captured;

generate an estimated 3D position of the object based on the subset of the depth measurements; and

update the 2D-detection model based on a comparison between the estimated 3D position of the object and the predetermined 3D position of the object.

Assignments (3)
CHANGE OF NAME Recorded Jun 22, 2023
From: WOVEN PLANET NORTH AMERICA, INC.
To: WOVEN BY TOYOTA, U.S., INC.
Reel/Frame 064065/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: LYFT, INC.; BLUE VISION LABS UK LIMITED
To: WOVEN PLANET NORTH AMERICA, INC.
Reel/Frame 056927/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2021
From: HUANG, QIANGUI; GAO, MENG
To: LYFT, INC.
Reel/Frame 055204/0205 →
Continuity (1)
Related Publication 20220188554A1 · Jun 16, 2022