IP Library Granted Patent US 11,830,148
Granted Patent B2
US 11,830,148 · App. 16/944,045 · Granted Nov 28, 2023

Reconstruction of essential visual cues in mixed reality applications

Inventors: James Allan Booth (Zurich, CH); Gaurav Chaurasia (Zurich, CH); Alexandru-Eugen Ichim (Ruschlikon, CH); Alex Locher (Oberrohrdorf, CH); Gioacchino Noris (Zurich, CH); Alexander Sorkine Hornung (Zurich, CH); Manuel Werlberger (Zurich, CH)
Assignee: Meta Platforms, Inc.
G06T19/006G06T15/04G06T17/20
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,830,148
App. No.
16/944,045
Granted
Nov 28, 2023
Kind
B2
Abstract

A mixed reality (MR) simulation system includes a console and a head mounted device (HMD). The MR system captures stereoscopic images from a real-world environment using outward-facing stereoscopic cameras mounted to the HMD. The MR system preprocesses the stereoscopic images to maximize contrast and then extracts a set of features from those images, including edges or corners, among others. For each feature, the MR system generates one or more two-dimensional (2D) polylines. Then, the MR system triangulates between 2D polylines found in right side images and corresponding 2D polylines found in left side images to generate a set of 3D polylines. The MR system interpolates between 3D vertices included in the 3D polylines or extrapolates additional 3D vertices, thereby generating a geometric reconstruction of the real-world environment. The MR system may map textures derived from the real-world environment onto the geometric representation faster than the geometric reconstruction is updated.

Claims (48)

1. A computer-implemented method, comprising:

receiving a first image of a real-world scene and a second image of the real-world scene, wherein the real-world scene includes one or more objects;

generating a first two-dimensional (2D) geometry corresponding to the first image, the first 2D geometry representing a first 2D view of the real-world scene;

generating a second 2D geometry corresponding to the second image, the second 2D geometry representing a second 2D view of the real-world scene;

generating three-dimensional (3D) geometry based on the first 2D geometry and the second 2D geometry, the 3D geometry comprising a partial representation of the one or more objects of the real-world scene;

generating additional 3D vertices for the 3D geometry based on extrapolating from 3D vertices included in the 3D geometry; and

rendering, based on the 3D geometry, one or more graphical representations of the real-world scene for display.

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

identifying, in the first image, a first set of one or more features associated with the one or more objects; and

identifying, in the second image, a second set of one or more features associated with the one or more objects.

3. The computer-implemented method of claim 2 , wherein identifying the first set of one or more features comprises identifying at least one of an edge, a corner, or a surface within the first image, and wherein identifying the second set of one or more features comprises identifying at least one of an edge, a corner or a surface within the second image.

4. The computer-implemented method of claim 2 , wherein generating the first 2D geometry is based on the first set of one or more features, and wherein generating the second 2D geometry is based on the second set of one or more features.

5. The computer-implemented method of claim 4 , wherein generating the first 2D geometry includes generating, for each feature of the first set of one or more features, a corresponding portion of the first 2D geometry, and wherein generating the second 2D geometry includes generating, for each feature of the second set of one or more features, a corresponding portion of the second 2D geometry.

6. The computer-implemented method of claim 1 , wherein generating the 3D geometry includes determining a plurality of depth values based on the first 2D geometry and the second 2D geometry.

7. The computer-implemented method of claim 1 , wherein generating the 3D geometry includes generating a triangulated mesh based on the first 2D geometry and the second 2D geometry.

8. The computer-implemented method of claim 1 , wherein generating the 3D geometry further includes generating a plurality of 3D vertices based on the first 2D geometry and the second 2D geometry.

9. The computer-implemented method of claim 1 , wherein rendering the one or more graphical representations includes extracting one or more textures from one of the first image or the second image.

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

receiving one or more additional images of the real-world scene;

updating the 3D geometry based on the one or more additional images; and

rendering, based on the updated 3D geometry, one or more second graphical representations of the real-world scene for display.

11. The computer-implemented method of claim 1 , further comprising: generating additional 3D vertices for the 3D geometry based on interpolating between a first polyline included in the 3D geometry and a second polyline included in the 3D geometry.

12. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform steps of:

receiving a first image of a real-world scene and a second image of the real-world scene, wherein the real-world scene includes one or more objects;

generating a first two-dimensional (2D) geometry corresponding to the first image, the first 2D geometry representing a first 2D view of the real-world scene;

generating a second 2D geometry corresponding to the second image, the second 2D geometry representing a second 2D view of the real-world scene;

generating three-dimensional (3D) geometry based on the first 2D geometry and the second 2D geometry, the 3D geometry comprising a partial representation of the one or more objects of the real-world scene;

generating additional 3D vertices for the 3D geometry based on extrapolating from 3D vertices included in the 3D geometry; and

rendering, based on the 3D geometry, one or more graphical representations of the real-world scene for display.

13. The non-transitory computer-readable medium of claim 12 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to perform the steps of:

identifying, in the first image, a first set of one or more features associated with the one or more objects; and

identifying, in the second image, a second set of one or more features associated with the one or more objects.

14. The non-transitory computer-readable medium of claim 13 , wherein identifying the first set of one or more features comprises identifying at least one of an edge, a corner, or a surface within the first image, and wherein identifying the second set of one or more features comprises identifying at least one of an edge, a corner or a surface within the second image.

15. The non-transitory computer-readable medium of claim 13 , wherein generating the first 2D geometry is based on the first set of one or more features, and wherein generating the second 2D geometry is based on the second set of one or more features.

16. The non-transitory computer-readable medium of claim 15 , wherein generating the first 2D geometry includes generating, for each feature of the first set of one or more features, a corresponding portion of the first 2D geometry, and wherein generating the second 2D geometry includes generating, for each feature of the second set of one or more features, a corresponding portion of the second 2D geometry.

17. The non-transitory computer-readable medium of claim 13 , wherein rendering the one or more graphical representations includes extracting one or more textures from one of the first image or the second image.

18. The non-transitory computer-readable medium of claim 12 , wherein generating the 3D geometry includes determining a plurality of depth values based on the first 2D geometry and the second 2D geometry.

19. The non-transitory computer-readable medium of claim 12 , wherein generating the 3D geometry includes generating a triangulated mesh based on the first 2D geometry and the second 2D geometry.

20. The non-transitory computer-readable medium of claim 12 , wherein generating the 3D geometry further includes generating a plurality of 3D vertices based on the first 2D geometry and the second 2D geometry.

21. A system comprising:

a memory storing program instructions;

one or more processors that executes the program instructions to perform steps of:

receiving a first image of a real-world scene and a second image of the real-world scene, wherein the real-world scene includes one or more objects;

generating a first two-dimensional (2D) geometry corresponding to the first image, the first 2D geometry representing a first 2D view of the real-world scene;

generating a second 2D geometry corresponding to the second image, the second 2D geometry representing a second 2D view of the real-world scene;

generating three-dimensional (3D) geometry based on the first 2D geometry and the second 2D geometry, the 3D geometry comprising a partial representation of the one or more objects of the real-world scene;

generating additional 3D vertices for the 3D geometry based on extrapolating from 3D vertices included in the 3D geometry; and

rendering, based on the 3D geometry, one or more graphical representations of the real-world scene for display.

Assignments (2)
CHANGE OF NAME Recorded Jul 12, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060637/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: BOOTH, JAMES ALLAN; CHAURASIA, GAURAV; ICHIM, ALEXANDRU-EUGEN; LOCHER, ALEX; NORIS, GIOACCHINO; HORNUNG, ALEXANDER SORKINE; WERLBERGER, MANUEL
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 054242/0305 →
Continuity (2)
Continuation 16133601 · Sep 17, 2018
Related Publication 20210012571A1 · Jan 14, 2021
Cited By (2)
US 12,518,307 US 12,626,470