IP Library Granted Patent US 11,257,300
Granted Patent B2
US 11,257,300 · App. 16/899,878 · Granted Feb 22, 2022

Scalable three-dimensional object recognition in a cross reality system

Inventors: Siddharth Choudhary (San Jose, CA); Divya Ramnath (Sunnyvale, CA); Shiyu Dong (Santa Clara, CA); Siddharth Mahendran (Mountain View, CA); Arumugam Kalai Kannan (Sunnyvale, CA); Prateek Singhal (Mountain View, CA); Khushi Gupta (Mountain View, CA); Nitesh Sekhar (Mountain View, CA); Manushree Gangwar (San Francisco, CA)
Assignee: Magic Leap, Inc.
G06T19/20G06K9/00624G06T7/50G06T2207/10024G06T2207/10028G06T2207/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 11,257,300
App. No.
16/899,878
Granted
Feb 22, 2022
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for scalable three-dimensional (3-D) object recognition in a cross reality system. One of the methods includes maintaining object data specifying objects that have been recognized in a scene. A stream of input images of the scene is received, including a stream of color images and a stream of depth images. A color image is provided as input to an object recognition system. A recognition output that identifies a respective object mask for each object in the color image is received. A synchronization system determines a corresponding depth image for the color image. A 3-D bounding box generation system determines a respective 3-D bounding box for each object that has been recognized in the color image. Data specifying one or more 3-D bounding boxes is received as output from the 3-D bounding box generation system.

Claims (64)

1. A computer-implemented method, the method comprising:

maintaining object data specifying objects that have been recognized in a scene in an environment;

receiving a stream of input images of the scene, wherein the stream of input images comprises a stream of color images and a stream of depth images;

for each of a plurality of color images in the stream of color images:

providing the color image as input to an object recognition system;

receiving, as output from the object recognition system, a recognition output that identifies a respective object mask in the color image for each of one or more objects that have been recognized in the color image;

providing the color image and a plurality of depth images in the stream of depth images as input to a synchronization system that determines a corresponding depth image for the color image based on a timestamp of the corresponding depth image and a timestamp of the color image;

providing the object data, the recognition output identifying the object masks, and the corresponding depth image as input to a three-dimensional (3-D) bounding box generation system that determines, from the object data, the object masks, and the corresponding depth image, a respective 3-D bounding box for each of one or more of the objects that have been recognized in the color image; and

receiving, as output from the 3-D bounding box generation system, data specifying one or more 3-D bounding boxes for one or more of the objects recognized in the color image; and

providing, as output, data specifying the one or more 3-D bounding boxes.

2. The method of claim 1 , wherein the 3-D bounding box generation system comprises:

a multi-view fusion system that generates an initial set of 3-D object masks.

3. The method of claim 2 , wherein the object recognition system, the synchronization system, the multi-view fusion system operate in a stateless manner and independently from one another.

4. The method of claim 2 , wherein the multi-view fusion system comprises:

an association system that identifies, from the maintained object data, matched object data specifying a corresponding object with the respective object mask of each recognized object in the color image; and

a fusion system that generates, for each recognized object in the color image, an initial 3-D object mask by combining the object mask in the color image with the matched object data.

5. The method of claim 2 , wherein the 3-D bounding box generation system further comprises an object refinement system that refines the initial set of 3-D object masks to generate an initial set of 3-D bounding boxes.

6. The method of claim 2 , wherein the 3-D bounding box generation system further comprises a bounding box refinement system that refines the initial set of 3-D bounding boxes to generate the one or more 3-D bounding boxes.

7. The method of claim 1 , wherein the object recognition system comprises a trained deep neural network (DNN) model that takes the color image as input and generates a respective two-dimensional (2-D) object mask for each of the one or more objects that have been recognized in the color image.

8. The method of claim 1 , wherein determining, by the synchronization system, a corresponding depth image for the color image based on timestamps of the corresponding depth images and timestamp of the color image comprises:

identifies a candidate depth image which has a closest timestamp to the timestamp of the color image;

determining that a time difference between the candidate depth image and the color image is less than a threshold; and

in response, determining the candidate depth image as the corresponding depth image for the color image.

9. The method of claim 1 , wherein the 3-D bounding box generation system determines, from the object masks and the corresponding depth image, a respective 3-D object mask for each of the one or more of the objects that have been recognized in the color image, and wherein the method further comprises:

receiving, as output from the 3-D bounding box generation system, data specifying one or more 3-D object masks for the one or more of the objects recognized in the color image; and

providing, as output, data specifying the one or more 3-D object masks.

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

maintaining object data specifying objects that have been recognized in a scene in an environment;

receiving a stream of input images of the scene, wherein the stream of input images comprises a stream of color images and a stream of depth images;

for each of a plurality of color images in the stream of color images:

providing the color image as input to an object recognition system;

receiving, as output from the object recognition system, a recognition output that identifies a respective object mask in the color image for each of one or more objects that have been recognized in the color image;

providing the color image and a plurality of depth images in the stream of depth images as input to a synchronization system that determines a corresponding depth image for the color image based on a timestamp of the corresponding depth image and a timestamp of the color image;

providing the object data, the recognition output identifying the object masks, and the corresponding depth image as input to a three-dimensional (3-D) bounding box generation system that determines, from the object data, the object masks, and the corresponding depth image, a respective 3-D bounding box for each of one or more of the objects that have been recognized in the color image; and

receiving, as output from the 3-D bounding box generation system, data specifying one or more 3-D bounding boxes for one or more of the objects recognized in the color image; and

providing, as output, data specifying the one or more 3-D bounding boxes.

11. The system of claim 10 , wherein the 3-D bounding box generation system comprises a multi-view fusion system that generates an initial set of 3-D object masks, wherein the object recognition system, the synchronization system, the multi-view fusion system operate in a stateless manner and independently from one another.

12. The system of claim 11 , wherein the multi-view fusion system comprises:

an association system that identifies, from the maintained object data, matched object data specifying a corresponding object with the respective object mask of each recognized object in the color image; and

a fusion system that generates, for each recognized object in the color image, an initial 3-D object mask by combining the object mask in the color image with the matched object data.

13. The system of claim 11 , wherein the 3-D bounding box generation system further comprises an object refinement system that refines the initial set of 3-D object masks to generate an initial set of 3-D bounding boxes.

14. The system of claim 11 , wherein the 3-D bounding box generation system further comprises a bounding box refinement system that refines the initial set of 3-D bounding boxes to generate the one or more 3-D bounding boxes.

15. The system of claim 10 , wherein the object recognition system comprises a trained deep neural network (DNN) model that takes the color image as input and generates a respective two-dimensional (2-D) object mask for each of the one or more objects that have been recognized in the color image.

16. The system of claim 10 , wherein determining, by the synchronization system, a corresponding depth image for the color image based on timestamps of the corresponding depth images and timestamp of the color image comprises:

identifies a candidate depth image which has a closest timestamp to the timestamp of the color image;

determining that a time difference between the candidate depth image and the color image is less than a threshold; and

in response, determining the candidate depth image as the corresponding depth image for the color image.

17. The system of claim 10 , wherein the 3-D bounding box generation system determines, from the object masks and the corresponding depth image, a respective 3-D object mask for each of the one or more of the objects that have been recognized in the color image, and wherein the operations further comprise:

receiving, as output from the 3-D bounding box generation system, data specifying one or more 3-D object masks for the one or more of the objects recognized in the color image; and

providing, as output, data specifying the one or more 3-D object masks.

18. A computer program product encoded on one or more non-transitory computer readable media, the computer program product comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

maintaining object data specifying objects that have been recognized in a scene in an environment;

receiving a stream of input images of the scene, wherein the stream of input images comprises a stream of color images and a stream of depth images;

for each of a plurality of color images in the stream of color images:

providing the color image as input to an object recognition system;

receiving, as output from the object recognition system, a recognition output that identifies a respective object mask in the color image for each of one or more objects that have been recognized in the color image;

providing the color image and a plurality of depth images in the stream of depth images as input to a synchronization system that determines a corresponding depth image for the color image based on a timestamp of the corresponding depth image and a timestamp of the color image;

providing the object data, the recognition output identifying the object masks, and the corresponding depth image as input to a three-dimensional (3-D) bounding box generation system that determines, from the object data, the object masks, and the corresponding depth image, a respective 3-D bounding box for each of one or more of the objects that have been recognized in the color image; and

receiving, as output from the 3-D bounding box generation system, data specifying one or more 3-D bounding boxes for one or more of the objects recognized in the color image; and

providing, as output, data specifying the one or more 3-D bounding boxes.

19. The non-transitory computer readable media of claim 18 , wherein the 3-D bounding box generation system comprises a multi-view fusion system that generates an initial set of 3-D object masks, wherein the object recognition system, the synchronization system, the multi-view fusion system operate in a stateless manner and independently from one another.

20. The non-transitory computer readable media of claim 19 , wherein the multi-view fusion system comprises:

an association system that identifies, from the maintained object data, matched object data specifying a corresponding object with the respective object mask of each recognized object in the color image; and

a fusion system that generates, for each recognized object in the color image, an initial 3-D object mask by combining the object mask in the color image with the matched object data.

Assignments (3)
SECURITY INTEREST Recorded Oct 28, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073388/0027 →
SECURITY INTEREST Recorded May 24, 2022
From: MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC; MAGIC LEAP, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060338/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2022
From: CHOUDHARY, SIDDHARTH; RAMNATH, DIVYA; DONG, SHIYU; MAHENDRAN, SIDDHARTH; KANNAN, ARUMUGAM KALAI; SINGHAL, PRATEEK; GUPTA, KHUSHI; SEKHAR, NITESH; GANGWAR, MANUSHREE
To: MAGIC LEAP, INC.
Reel/Frame 058627/0038 →
Continuity (5)
Provisional Application 63024291 · May 13, 2020
Provisional Application 63006408 · Apr 7, 2020
Provisional Application 62968023 · Jan 30, 2020
Provisional Application 62861784 · Jun 14, 2019
Related Publication 20200394848A1 · Dec 17, 2020