IP Library Granted Patent US 11,315,329
Granted Patent B1
US 11,315,329 · App. 16/801,016 · Granted Apr 26, 2022

Scene reconstruction from sparse data

Inventors: Alexander Sorkine Hornung (Zurich, CH); Alessia Marra (Zurich, CH); Fabian Langguth (Zurich, CH); Matthew James Alderman (Redmond, WA)
Assignee: Facebook Technologies, LLC.
G06T19/006G06T2210/12
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,315,329
App. No.
16/801,016
Granted
Apr 26, 2022
Kind
B1
Abstract

In one embodiment, a method includes accessing a plurality of points, wherein each point (1) corresponds to a spatial location associated with an observed feature of a physical environment and (2) is associated with a patch representing the observed feature, determining a density associated with each of the plurality of points based on the spatial locations of the plurality of points, scaling the patch associated with each of the plurality of points based on the density associated with the point, and reconstructing a scene of the physical environment based on at least the scaled patches.

Claims (53)

1. A method comprising, by one or more computing systems:

accessing a plurality of points, wherein each point (1) corresponds to a spatial location associated with an observed feature of a physical environment and (2) is represented by a patch, wherein each patch corresponds to a single point of the plurality of points;

determining, based on the spatial locations of the plurality of points, a density associated with each of the plurality of points;

adjusting a size of the patch associated with each of the plurality of points based on a multiplier determined based on the density associated with the point; and

reconstructing a scene of the physical environment based on at least the size-adjusted patches.

2. The method of claim 1 , further comprising:

generating, based on the plurality of size-adjusted patches, a bounding box, wherein the bounding box comprises a plurality of uncolored cubes; and

adding a blurred data color to each of the plurality of uncolored cubes based on a data color of a proximate size-adjusted patch, wherein the uncolored cube and the proximate size-adjusted patch have a proximity below a threshold value.

3. The method of claim 2 , wherein reconstructing the scene of the physical environment is further based on the bounding box and the blurred data colors corresponding to the plurality of uncolored cubes.

4. The method of claim 2 , wherein generating the bounding box is further based on a geometry shader.

5. The method of claim 2 , further comprising identifying one or more boundaries associated with the bounding box based on one or more of:

a viewing direction associated with the physical environment;

a reduction of a geometry associated with the plurality of points; or

an extrapolation of the geometry associated with the plurality of points.

6. The method of claim 5 , further comprising:

determining one or more background colors associated with the bounding box; and

blending the one or more background colors with the one or more boundaries.

7. The method of claim 5 , further comprising:

identifying, for each boundary, one or more patches associated with the boundary; and

randomly decimating the one or more patches with a gradient for each boundary.

8. The method of claim 5 , further comprising:

applying gradient mapping to the bounding box and the one or more boundaries.

9. The method of claim 5 , further comprising:

generating, for each of the boundaries, a color ramp; and

applying patch animation to one or more patches associated with each of the boundaries.

10. The method of claim 1 , wherein the plurality of points are generated based on one or more of an image or a video, wherein the generation comprises applying one or more aggregation algorithms to the one or more images or videos.

11. The method of claim 1 , further comprising:

determining, based on the plurality of points, a gradient background associated with the physical environment.

12. The method of claim 11 , further comprising:

adding one or more patches at random locations in the gradient background, wherein each of the added patches is of a random size.

13. The method of claim 1 , wherein each patch is generated based on geometric approximation of the corresponding point.

14. The method of claim 1 , wherein each patch is associated with one or more of a spatial location, a normal, or a color.

15. The method of claim 14 , wherein each patch is associated with a normal, wherein the method further comprises determining the normal based on a depth map associated with the patch.

16. The method of claim 14 , wherein each patch is associated with a normal, wherein the method further comprises determining the normal, wherein the determining comprises:

identifying one or more areas of the patch, wherein each identified area is associated with a surface direction;

aggregating the surface directions associated with the one or more areas; and

determining the normal of the patch based on the aggregated surface directions.

17. The method of claim 1 , further comprising:

determining, based on one or more of size-adjusted patches, an expanded region;

calculating a confidence score for the expanded region based on a probabilistic model;

determining the calculated confidence score is below a threshold value; and

sending, to a client device associated with the physical environment, instructions for requesting a user associated with the client device to visually scan a portion of the physical environment corresponding to the expanded region.

18. The method of claim 17 , wherein reconstructing the scene is further based on the scan of the portion of the physical environment.

19. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

access a plurality of points, wherein each point (1) corresponds to a spatial location associated with an observed feature of a physical environment and (2) is represented by a patch, wherein each patch corresponds to a single point of the plurality of points;

determine, based on the spatial locations of the plurality of points, a density associated with each of the plurality of points;

adjust a size of the patch associated with each of the plurality of points based on a multiplier determined based on the density associated with the point; and

reconstruct a scene of the physical environment based on at least the size-adjusted patches.

20. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

access a plurality of points, wherein each point (1) corresponds to a spatial location associated with an observed feature of a physical environment and (2) is represented by a patch, wherein each patch corresponds to a single point of the plurality of points;

determine, based on the spatial locations of the plurality of points, a density associated with each of the plurality of points;

adjust a size of the patch associated with each of the plurality of points based on a multiplier determined based on the density associated with the point; and

reconstruct a scene of the physical environment based on at least the size-adjusted patches.

Assignments (2)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: SORKINE HORNUNG, ALEXANDER; MARRA, ALESSIA; LANGGUTH, FABIAN; ALDERMAN, MATTHEW JAMES
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 053102/0888 →