IP Library Granted Patent US 11,227,435
Granted Patent B2
US 11,227,435 · App. 16/593,745 · Granted Jan 18, 2022

Cross reality system

Inventors: Anush Mohan (Mountain View, CA); Rafael Domingos Torres (Boca Raton, FL); Daniel Olshansky (Mountain View, CA); Samuel A. Miller (Hollywood, FL); Jehangir Tajik (Fort Lauderdale, FL); Joel David Holder (Austin, TX); Jeremy Dwayne Miranda (Miramar, FL); Robert Blake Taylor (Porter Ranch, CA); Ashwin Swaminathan (Dublin, CA); Lomesh Agarwal (Fremont, CA); Hiral Honar Barot (Plantation, FL); Helder Toshiro Suzuki (Mountain View, CA); Ali Shahrokni (San Jose, CA); Eran Guendelman (Tel Aviv, IL); Prateek Singhal (Mountain View, CA); Xuan Zhao (San Jose, CA); Siddharth Choudhary (San Jose, CA); Nicholas Atkinson Kramer (Fort Lauderdale, FL); Kenneth William Tossell (Plantation, FL); Christian Ivan Robert Moore (Cupertino, CA)
Assignee: Magic Leap, Inc.
G06T17/05G06F3/012G06F16/29G06T7/74G06T19/006G06T2207/20216H04L67/42
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,227,435
App. No.
16/593,745
Granted
Jan 18, 2022
Kind
B2
Abstract

A cross reality system that provides an immersive user experience by storing persistent spatial information about the physical world that one or multiple user devices can access to determine position within the physical world and that applications can access to specify the position of virtual objects within the physical world. Persistent spatial information enables users to have a shared virtual, as well as physical, experience when interacting with the cross reality system. Further, persistent spatial information may be used in maps of the physical world, enabling one or multiple devices to access and localize into previously stored maps, reducing the need to map a physical space before using the cross reality system in it. Persistent spatial information may be stored as persistent coordinate frames, which may include a transformation relative to a reference orientation and information derived from images in a location corresponding to the persistent coordinate frame.

Claims (101)

1. An electronic system, comprising:

one or more sensors configured to capture information about a three-dimensional (3D) environment, the captured information comprising a plurality of images; and

at least one processor configured to execute computer executable instructions to generate a map of at least a portion of the 3D environment based on the plurality of images, wherein the computer executable instructions further comprise instructions for:

identifying a plurality of features in the plurality of images based at least in part on a criteria indicating persistence associated with the identified features;

selecting a plurality of key frames from among the plurality of images based, at least in part, on the plurality of features of the selected key frames;

generating one or more coordinate frames based, at least in part, on the identified features of the selected key frames; and

storing, in association with the map of the 3D environment, the one or more coordinate frames as one or more persistent coordinate frames.

2. The electronic system of claim 1 , wherein:

the one or more sensors comprises a plurality of pixel circuits arranged in a two-dimensional array such that each image of the plurality of images comprises a plurality of pixels; and

each feature corresponds to a plurality of pixels.

3. The electronic system of claim 1 , wherein storing the one or more coordinate frames comprises storing for each of the one or more coordinate frames:

descriptors representative of at least a subset of the features in a selected key frame from which the coordinate frame was generated.

4. The electronic system of claim 1 , wherein storing the one or more coordinate frames comprises storing for each of the one or more coordinate frames:

at least a subset of the features in a selected key frame from which the coordinate frame was generated.

5. The electronic system of claim 1 , wherein storing the one or more coordinate frames comprises storing for each of the one or more coordinate frames:

a transformation between a coordinate frame of the map of the 3D environment and the persistent coordinate frame; and

geographic information indicating a location within the 3D environment of a selected key frame from which the coordinate frame was generated.

6. The electronic system of claim 5 , wherein

the geographic information comprises a WiFi fingerprint of the location.

7. The electronic system of claim 1 , wherein the computer executable instructions comprise instructions for computing feature descriptors for individual features with an artificial neural network.

8. The electronic system of claim 7 , wherein:

the first artificial neural network is a first artificial neural network; and

the computer executable instructions comprise instructions for implementing a second artificial neural network configured to compute a frame descriptor to represent a key frame based, at least in part, on the computed feature descriptors for the identified features in the key frame.

9. The electronic system of claim 1 , wherein:

the computer executable instructions further comprise:

an application programming interface configured to provide to an application, executing on the portable electronic system, information characterizing a persistent coordinate frame of the one or more persistent coordinate frames;

instructions for refining the map of the 3D environment based on a second plurality of images;

adjusting one or more of the persistent coordinate frames based, at least in part, on the second plurality of images; and

instructions for providing through the application programming interface, notification of the adjusted persistent coordinate frames.

10. The electronic system of claim 9 , wherein:

adjusting the one or more persistent coordinate frames comprises adjusting a translation and rotation of the one or more persistent coordinate frames relative to an origin of the map of the 3D environment.

11. The electronic system of claim 10 , wherein:

the electronic system comprises a wearable device and the one or more sensors are mounted on the wearable device;

the map is a tracking map computed on the wearable device, and

the origin of the map is determined based on a location where the device is powered on.

12. An electronic system, comprising:

one or more sensors configured to capture information about a three-dimensional (3D) environment, the captured information comprising a plurality of images; and

at least one processor configured to execute computer executable instructions to generate a map of at least a portion of the 3D environment based on the plurality of images, wherein the computer executable instructions further comprise instructions for:

identifying a plurality of features in the plurality of images;

selecting a plurality of key frames from among the plurality of images based, at least in part, on the plurality of features of the selected key frames;

generating one or more coordinate frames based, at least in part, on the identified features of the selected key frames; and

storing, in association with the map of the 3D environment, the one or more coordinate frames as one or more persistent coordinate frames, wherein:

identifying the plurality of features in the plurality of images comprises selecting as the identified features a number, less than a predetermined maximum, of groups of the pixels based on a measure of similarity to groups of pixels depicting portions of persistent objects.

13. The electronic system of claim 12 , wherein:

the one or more sensors comprises a plurality of pixel circuits arranged in a two-dimensional array such that each image of the plurality of images comprises a plurality of pixels; and

each feature corresponds to a plurality of pixels.

14. The electronic system of claim 12 , wherein storing the one or more coordinate frames comprises storing for each of the one or more coordinate frames:

descriptors representative of at least a subset of the features in a selected key frame from which the coordinate frame was generated.

15. The electronic system of claim 12 , wherein storing the one or more coordinate frames comprises storing for each of the one or more coordinate frames:

at least a subset of the features in a selected key frame from which the coordinate frame was generated.

16. The electronic system of claim 12 , wherein storing the one or more coordinate frames comprises storing for each of the one or more coordinate frames:

a transformation between a coordinate frame of the map of the 3D environment and the persistent coordinate frame; and

geographic information indicating a location within the 3D environment of a selected key frame from which the coordinate frame was generated.

17. The electronic system of claim 12 , wherein the computer executable instructions comprise instructions for computing feature descriptors for individual features with an artificial neural network.

18. The electronic system of claim 17 , wherein:

the first artificial neural network is a first artificial neural network; and

the computer executable instructions comprise instructions for implementing a second artificial neural network configured to compute a frame descriptor to represent a key frame based, at least in part, on the computed feature descriptors for the identified features in the key frame.

19. The electronic system of claim 12 , wherein:

the computer executable instructions further comprise:

an application programming interface configured to provide to an application, executing on the portable electronic system, information characterizing a persistent coordinate frame of the one or more persistent coordinate frames;

instructions for refining the map of the 3D environment based on a second plurality of images;

adjusting one or more of the persistent coordinate frames based, at least in part, on the second plurality of images;

instructions for providing through the application programming interface, notification of the adjusted persistent coordinate frames.

20. The electronic system of claim 19 , wherein:

adjusting the one or more persistent coordinate frames comprises adjusting a translation and rotation of the one or more persistent coordinate frames relative to an origin of the map of the 3D environment.

21. The electronic system of claim 20 , wherein:

the electronic system comprises a wearable device and the one or more sensors are mounted on the wearable device;

the map is a tracking map computed on the wearable device, and

the origin of the map is determined based on a location where the device is powered on.

22. The electronic system of claim 12 , wherein:

the electronic system comprises a wearable device and the one or more sensors are mounted on the wearable device;

the computer executable instructions further comprise instructions, for:

tracking motion of the portable device; and

controlling the timing of execution of the instructions for generating one or more coordinate frames and/or the instructions for storing one or more persistent coordinate frames based on the tracked motion indicating motion of the wearable device exceeding a threshold distance, wherein the threshold distance is between two to twenty meters.

23. An electronic system, comprising:

one or more sensors configured to capture information about a three-dimensional (3D) environment, the captured information comprising a plurality of images; and

at least one processor configured to execute computer executable instructions to generate a map of at least a portion of the 3D environment based on the plurality of images, wherein the computer executable instructions further comprise instructions for:

identifying a plurality of features in the plurality of images;

selecting a plurality of key frames from among the plurality of images based, at least in part, on the plurality of features of the selected key frames;

generating one or more coordinate frames based, at least in part, on the identified features of the selected key frames; and

storing, in association with the map of the 3D environment, the one or more coordinate frames as one or more persistent coordinate frames, wherein:

the electronic system comprises a wearable device and the one or more sensors are mounted on the wearable device;

the computer executable instructions further comprise instructions, for:

tracking motion of the portable device; and

controlling the timing of execution of the instructions for generating one or more coordinate frames and/or the instructions for storing one or more persistent coordinate frames based on the tracked motion indicating motion of the wearable device exceeding a threshold distance, wherein the threshold distance is between two to twenty meters.

24. The electronic system of claim 23 , wherein the computer executable instructions comprise instructions for computing feature descriptors for individual features with an artificial neural network.

25. The electronic system of claim 24 , wherein:

the first artificial neural network is a first artificial neural network; and

the computer executable instructions comprise instructions for implementing a second artificial neural network configured to compute a frame descriptor to represent a key frame based, at least in part, on the computed feature descriptors for the identified features in the key frame.

26. The electronic system of claim 23 , wherein:

the computer executable instructions further comprise:

an application programming interface configured to provide to an application, executing on the portable electronic system, information characterizing a persistent coordinate frame of the one or more persistent coordinate frames;

instructions for refining the map of the 3D environment based on a second plurality of images;

adjusting one or more of the persistent coordinate frames based, at least in part, on the second plurality of images;

instructions for providing through the application programming interface, notification of the adjusted persistent coordinate frames.

27. The electronic system of claim 26 , wherein:

adjusting the one or more persistent coordinate frames comprises adjusting a translation and rotation of the one or more persistent coordinate frames relative to an origin of the map of the 3D environment.

28. The electronic system of claim 27 , wherein:

the electronic system comprises a wearable device and the one or more sensors are mounted on the wearable device;

the map is a tracking map computed on the wearable device, and

the origin of the map is determined based on a location where the device is powered on.

Assignments (4)
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 May 25, 2021
From: MOHAN, ANUSH; TORRES, RAFAEL DOMINGOS; OLSHANSKY, DANIEL; MILLER, SAMUEL A.; TAJIK, JEHANGIR; HOLDER, JOEL DAVID; TAYLOR, ROBERT BLAKE; SWAMINATHAN, ASHWIN; AGARWAL, LOMESH; BAROT, HIRAL HONAR; SUZUKI, HELDER TOSHIRO; SHAHROKNI, ALI; GUENDELMAN, ERAN; SINGHAL, PRATEEK; ZHAO, XUAN; CHOUDHARY, SIDDHARTH; KRAMER, NICHOLAS ATKINSON; TOSSELL, KENNETH WILLIAM; MOORE, CHRISTIAN IVAN ROBERT
To: MAGIC LEAP, INC.
Reel/Frame 056339/0722 →
PROPRIETARY INFORMATION AND INVENTIONS AGREEMENT Recorded May 25, 2021
From: MIRANDA, JEREMY DWAYNE
To: MAGIC LEAP, INC.
Reel/Frame 056365/0971 →
SECURITY INTEREST Recorded May 21, 2020
From: MAGIC LEAP, INC.; MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 052729/0791 →
Cited By (10)
US 12,243,178 US 12,283,011 US 12,283,012 US 12,293,471 US 12,307,004 US 12,315,097 US 12,430,861 US 12,499,618 US 12,536,706 US 12,670,675