IP Library Granted Patent US 11,087,479
Granted Patent B1
US 11,087,479 · App. 16/722,391 · Granted Aug 10, 2021

Artificial reality system with 3D environment reconstruction using planar constraints

Inventors: David James Geraghty (Seattle, WA); Richard Szeliski (Bellevue, WA)
Assignee: Facebook Technologies, LLC
G06T7/38G06T7/60G06T15/205G06T19/006
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,087,479
App. No.
16/722,391
Granted
Aug 10, 2021
Kind
B1
Abstract

An artificial reality system is configured to more accurately and efficiently construct a 3D virtual representation of a real-world environment from a set of 2D images. The system identifies points and/or lines within the images that define a plane along an orientation and then performs a planar sweep along a perpendicular path to identify surfaces in which the plane intersects with multiple points. Points that appear to be in the same plane are “collapsed” into a cohesive plane to conserve processing power by estimating and/or storing parameters for the cohesive plane, rather than all of the individual 3D points. In this way, the system also “averages out” random variation in the planar surface that would otherwise result from random noise in the estimation of the individual 3D points. The system may then generate a 3D map from a constrained alignment of all of the identified planes.

Claims (58)

1. An artificial reality (AR) system comprising:

at least one image capture device configured to capture image data representative of a real world environment; and

a mapping engine configured to:

construct a 3D point cloud comprising a plurality of points from the image data;

define a first planar surface and a first axis orthogonal to the first planar surface;

perform a planar sweep of the first planar surface along the first axis through the plurality of points to identify a first subset of points that intersect with the first planar surface;

define a cohesive planar surface based on the first subset of points;

determine planar constraints based on a distance between the at least one image capture device and the cohesive planar surface; and

generate a 3D virtual map of the real world environment based at least in part on the planar constraints.

2. The system of claim 1 , wherein, to construct the 3D point cloud, the mapping engine is configured to:

receive a first set of two or more images from the at least one image capture device, wherein the two or more images within the first set at least partially overlap;

identify common points within the first set of images; and

construct the 3D point cloud from the common points within the first set of images.

3. The system of claim 2 , wherein the mapping engine defines the cohesive planar surface based on the common points within the first set of images, and wherein the mapping engine is further configured to stitch together two or more sets of images into a global image used to generate the 3D virtual map.

4. The system of claim 3 , wherein, to stitch together the two or more sets of images, the mapping engine is configured to match common points between the sets of images.

5. The system of claim 3 , wherein, to stitch together the two or more sets of images, the mapping engine is configured to match overlapping portions of planar surfaces between the sets of images.

6. The system of claim 1 , wherein the planar sweep along the first axis comprises a first planar sweep, and wherein the mapping engine is further configured to:

define a second planar surface orthogonal to the first planar surface and a second axis orthogonal to the first axis and to the second planar surface; and

perform a second planar sweep of the second planar surface along the second axis to identify a second subset of points that intersect with the second planar surface.

7. The system of claim 6 , wherein the mapping engine is further configured to:

define a third planar surface orthogonal to the first planar surface and to the second planar surface; and

perform a third planar sweep along a third axis orthogonal to the first axis and to the second axis to identify a third subset of points that intersect with the third planar surface.

8. The system of claim 1 , further comprising:

a head-mounted display (HMD) configured to output artificial reality content; and

a rendering engine configured to render the artificial reality content corresponding to the 3D virtual map for display on the HMD.

9. The system of claim 1 , wherein each point of the plurality of points comprises an intersection of two lines, an external surface, or an edge.

10. The system of claim 1 , wherein defining the first planar surface comprises performing a vanishing-point analysis on the image data.

11. The system of claim 1 , wherein, to define the cohesive planar surface, the mapping engine is configured to compute a weighted average of distances of each of the first subset of points from an arbitrary plane, as measured along a respective line tangent to the arbitrary plane.

12. A method comprising:

constructing, by a mapping engine, a 3D point cloud comprising a plurality of points from image data representing a real-world environment;

defining a first planar surface and a first axis orthogonal to the first planar surface;

performing a planar sweep of the first planar surface along the first axis though the plurality of points to identify a second subset of points that intersect with the first planar surface;

defining a cohesive planar surface based on the first subset of points;

determining planar constraints based on a distance between the at least one image capture device and the cohesive planar surface; and

generating a 3D virtual map of the real world environment based at least in part on the planar constraints.

13. The method of claim 12 , wherein constructing the 3D point cloud comprises:

receiving a first set of two or more images from the at least one image capture device, wherein the two or more images within the first set at least partially overlap;

identifying common points within the first set of images; and

constructing the 3D point cloud from the common points within the first set of images.

14. The method of claim 13 , wherein defining the cohesive planar surface comprises defining the cohesive planar surface based on the common points within the first set of images, the method further comprising stitching together two or more sets of images into a global image used to generate the 3D virtual map.

15. The method of claim 12 , wherein the planar sweep along the first axis comprises a first planar sweep, the method further comprising:

defining a second planar surface orthogonal to the first planar surface and a second axis orthogonal to the first axis and to the planar surface; and

performing a second planar sweep of the second planar surface along the second axis through the plurality of points to identify a second subset of points that intersect with the second planar surface.

16. The method of claim 15 , further comprising:

defining a third planar surface orthogonal to the first planar surface and to the second planar surface; and

performing a third planar sweep through the plurality of points along a third axis orthogonal to the first axis and to the second axis to identify a third subset of points that intersect with the third planar surface.

17. The method of claim 12 , further comprising:

rendering, by a rendering engine, artificial reality content corresponding to the 3D virtual map; and

outputting for display the artificial reality content.

18. The method of claim 12 , wherein defining the first planar surface comprises performing a vanishing-point analysis on the image data.

19. The method of claim 12 , wherein defining the cohesive planar surface comprises computing a weighted average of distances of each point in the second subset of points from an arbitrary plane, as measured along a respective line tangent to the arbitrary plane.

20. A non-transitory computer-readable medium comprising instructions for causing one or more processors of an artificial reality system to perform operations comprising:

constructing, by a mapping engine, a 3D point cloud comprising a plurality of points from image data representing a real-world environment;

defining a first planar surface and a first axis orthogonal to the first planar surface;

performing a planar sweep from of the first planar surface along the first axis through the plurality of points to identify a first subset of points that intersect with the first planar surface;

defining a cohesive planar surface based on the first subset of points;

determining planar constraints based on a distance between the at least one image capture device and the cohesive planar surface; and

generating a 3D virtual map of the real world environment based at least in part on the planar constraints.

Assignments (2)
CHANGE OF NAME Recorded Jul 21, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060802/0799 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2020
From: GERAGHTY, DAVID JAMES; SZELISKI, RICHARD
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 051573/0629 →
Cited By (11)
US 12,229,905 US 12,244,782 US 12,277,780 US 12,309,449 US 12,367,636 US 12,445,590 US 12,505,618 US 12,542,946 US 12,586,305 US 12,643,044 US 12,675,962