IP Library Granted Patent US 11,715,269
Granted Patent B1
US 11,715,269 · App. 17/409,490 · Granted Aug 1, 2023

Systems and methods for presenting digital assets within artificial environments via a loosely coupled relocalization service and asset management service

Inventors: Alvaro Collet Romea (Seattle, WA); Jingming Dong (Seattle, WA); Xiaoyang Gao (Palo Alto, CA); Jiawen Zhang (Menlo Park, CA); Yuheng Ren (Bothell, WA); Raul Mur Artal (Redmond, WA); Christopher Sweeney (Redwood City, CA); Jakob Julian Engel (Seattle, WA)
Assignee: Meta Platforms Technologies, LLC
G06T19/006G06F16/538G06T7/73G06T2207/30244
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,715,269
App. No.
17/409,490
Granted
Aug 1, 2023
Kind
B1
Abstract

The disclosed computer-implemented method may include acquiring, from a client device within a real-world environment, information representative of the real-world environment, and transmitting the information representative of the real-world environment to a relocalization service. The method may further include receiving, from the relocalization service, (1) an anchor point that may include a mapped position within the real-world environment, and (2) a determined position within the real-world environment of a client device relative to the mapped position of the anchor point. The method may further include sending an identifier of the anchor point to an asset management service, and obtaining, from the asset management service, a digital asset. The method may further include presenting the digital asset at a position within an artificial environment relative to the mapped position of the anchor point. Various other methods, systems, and computer-readable media are also disclosed.

Claims (88)

1. A computer-implemented method comprising:

directing a client device to:

acquire, via an imaging device included in the client device, an image of a real-world environment;

detect, via a feature detection algorithm, an image feature included in the image; and

identify a feature ray associated with the imaging device and the detected image feature;

transmitting the feature ray to a relocalization service that relocalizes the client device within the real-world environment based on at least the feature ray; and

receiving, from the relocalization service in response to the feature ray:

information associated with an anchor point comprising a mapped position within the real-world environment; and

a determined position within the real-world environment of the client device relative to the mapped position of the anchor point.

2. The computer-implemented method of claim 1 , wherein acquiring the image of the real-world environment comprises

detecting an orientation of the imaging device at a time of capturing the image of the real-world environment.

3. The computer-implemented method of claim 2 , wherein acquiring the image of the real-world environment further comprises adjusting the image by reducing an effect of an intrinsic parameter of the imaging device on the image.

4. The computer-implemented method of claim 3 , wherein the intrinsic parameter comprises at least one of:

a focal length of the imaging device;

a principal point of the imaging device; or

a skew coefficient of the imaging device.

5. The computer-implemented method of claim 2 , wherein acquiring the image of the real-world environment further comprises:

generating a feature descriptor based on the image feature included in the image.

6. The computer-implemented method of claim 5 , wherein

identifying the feature ray comprises identifying:

an origin at a point associated with the imaging device; and

a direction that causes the feature ray to intersect with the image feature.

7. The computer-implemented method of claim 1 , further comprising:

directing the client device to acquire additional information representative of the real-world environment, the additional information comprising at least one of:

an orientation of the imaging device at a time of capturing the image by the imaging device;

an intrinsic parameter of the imaging device;

an image feature included in the image; or

a feature descriptor based on the image feature included in the image; and

transmitting the additional information representative of the real-world environment to the relocalization service.

8. The computer-implemented method of claim 7 , wherein the additional information representative of the real-world environment further comprises at least one of:

a previously determined position of the client device relative to at least one mapped position within the real-world environment;

a confidence level associated with the previously determined position of the client device;

a global positioning system (GPS) coordinate associated with the client device; or

a network identifier associated with the real-world environment.

9. The computer-implemented method of claim 1 , wherein:

the method further comprises tracking a motion of the client device within the real-world environment; and

updating the determined position within the real-world environment of the client device based on the motion of the client device within the real-world environment.

10. The computer-implemented method of claim 9 , wherein tracking the motion of the client device within the real-world environment comprises:

determining, at a time of transmitting the feature ray to the relocalization service, an initial position of the client device within the real-world environment;

generating an additional anchor point that corresponds to the initial position; and

tracking the motion of the client device within the real-world environment relative to the additional anchor point.

11. The computer-implemented method of claim 1 , further comprising:

determining a coarse position of the client device;

identifying a fine position of the client device based on the coarse position and the feature ray; and

selecting the anchor point based on the fine position of the client device.

12. A system comprising:

an acquiring module, stored in memory, that directs a client device to:

acquire, via an imaging device included in the client device, an image of a real-world environment;

detect, via a feature detection algorithm, an image feature included in the image; and

identify a feature ray associated with the imaging device and the detected image feature;

a transmitting module, stored in memory, that transmits the feature ray to a relocalization service that relocalizes the client device within the real-world environment based on at least the feature ray;

a receiving module, stored in memory, that receives, from the relocalization service in response to the feature ray:

information associated with an anchor point comprising a mapped position within the real-world environment; and

a determined position within the real-world environment of the client device relative to the mapped position of the anchor point; and

at least one physical processor that executes the acquiring module, the transmitting module, and the receiving module.

13. The system of claim 12 , wherein the acquiring module acquires the image of the real-world environment by

detecting an orientation of the imaging device at a time of capturing the image of the real-world environment.

14. The system of claim 13 , wherein the acquiring module further acquires the image of the real-world environment by adjusting the image by reducing an effect of an intrinsic parameter of the imaging device on the image.

15. The system of claim 13 , wherein the acquiring module further acquires the image of the real-world environment by:

generating a feature descriptor based on the image feature included in the image.

16. The system of claim 15 , wherein

identifying the feature ray comprises identifying:

an origin at a point associated with the imaging device; and

a direction that causes the feature ray to intersect with the image feature.

17. The system of claim 12 , wherein:

the system further comprises a tracking module, stored in memory, that:

tracks a motion of the client device within the real-world environment; and

updates the determined position within the real-world environment of the client device based on the motion of the client device within the real-world environment; and

the physical processor further executes the tracking module.

18. The system of claim 17 , wherein the tracking module tracks the motion of the client device within the real-world environment by:

determining, at a time of transmitting feature ray to the relocalization service, an initial position of the client device within the real-world environment;

generating an additional anchor point that corresponds to the initial position; and

tracking the motion of the client device within the real-world environment relative to the additional anchor point.

19. The system of claim 12 , wherein:

the system further comprises a positioning module, stored in memory, that:

determines a coarse position of the client device;

identifies a fine position of the client device based on the coarse position and the feature ray; and

selects the anchor point based on the fine position of the client device; and

the physical processor further executes the positioning module.

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

direct a client device to:

acquire, via an imaging device included in the client device, an image of a real-world environment;

detect, via a feature detection algorithm, an image feature included in the image; and

identify a feature ray associated with the imaging device and the detected image feature;

transmit the feature ray to a relocalization service that relocalizes the client device within the real-world environment based on at least the feature ray;

receive, from the relocalization service in response to the feature ray:

information associated with an anchor point comprising a mapped position within the real-world environment; and

a determined position within the real-world environment of the client device relative to the mapped position of the anchor point.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: COLLET ROMEA, ALVARO; DONG, JINGMING; GAO, XIAOYANG; ZHANG, JIAWEN; REN, YUHENG; MUR ARTAL, RAUL; SWEENEY, CHRISTOPHER; ENGEL, JAKOB JULIAN
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 060780/0671 →
CHANGE OF NAME Recorded Jun 7, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060291/0526 →