IP Library Granted Patent US 11,335,077
Granted Patent B1
US 11,335,077 · App. 17/206,541 · Granted May 17, 2022

Generating and modifying representations of dynamic objects in an artificial reality environment

Inventors: Mahdi Salmani Rahimi (San Francisco, CA); Gregory Mayo Daly (Seattle, WA); Gian Diego Tipaldi (Zurich, CH); Alexander Sorkine Hornung (Zurich, CH); Mark David Strachan (San Francisco, CA)
Assignee: Facebook Technologies, LLC.
G06T19/20G06N3/02G06T7/70G06T17/20G06T19/006G06T2219/2004
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,335,077
App. No.
17/206,541
Granted
May 17, 2022
Kind
B1
Abstract

A method includes receiving an image of a real environment using a camera worn by a user, and determining a portion of the image that comprises an object of interest. Based on the portion of the image that comprises the object of interest, a surface representing the object of interest is generated. Depth measurements of the real environment corresponding to the portion of the image comprising the object of interest are received and used to determine a depth of the surface representing the object of interest. The surface is posed in a coordinate system corresponding to the real environment based on the depth of the surface and a visibility of a virtual object is determined relative to the object of interest by comparing a model of the virtual object with the surface. The output image is generated based on the determined visibility of the virtual object.

Claims (70)

1. A method comprising, by a computing system:

receiving an image of a real environment using a camera worn by a user, the image of the real environment comprising an object of interest;

determining that a portion of the image of the real environment comprises the object of interest;

generating, based on the portion of the image of the real environment comprising the object of interest, a two-dimensional surface representing the object of interest;

receiving depth measurements of the real environment corresponding to the portion of the image of the real environment comprising the object of interest;

determining, based on the depth measurements, a depth of the two-dimensional surface representing the object of interest;

determining, based one or more previous images of the object of interest, a predicted pose of the object of interest at a time subsequent to when the image of the real environment was captured;

posing the two-dimensional surface in a coordinate system corresponding to the real environment based on the depth of the two-dimensional surface and the predicted pose of the object of interest;

determining a visibility of a virtual object relative to the object of interest by comparing a model of the virtual object with the two-dimensional surface; and

generating an output image based on the determined visibility of the virtual object.

2. The method of claim 1 , wherein determining the predicted pose of the object of interest is based on:

one or more movements of the camera worn by the user subsequent to a time the image of the real environment is captured; or

one or more movements of the object of interest prior to when the image of the real environment is captured.

3. The method of claim 2 , wherein the predicted pose of the object of interest is determined by one or more components of the computing system that are physically connected to a headset worn by the user.

4. The method of claim 1 , wherein determining the portion of the image of the real environment that comprises the object of interest comprises:

generating, using a neural network of a machine learning model, a bounding box encompassing the object of interest; and

outputting, using the bounding box, a segmentation mask associated with the object of interest.

5. The method of claim 4 , wherein the two-dimensional surface is based on the segmentation mask associated with the object of interest.

6. The method of claim 1 , wherein determining the depth of the two-dimensional surface representing the object of interest comprises:

removing one or more outliers from the depth measurements;

generating, after removing the one or more outliers, a histogram comprising the depth measurements; and

determining, using the histogram, a most-frequently observed value of the depth measurements.

7. The method of claim 1 , wherein the two-dimensional surface comprises a plurality of texels, wherein each texel is assigned a value that specifies a level of transparency that is to be accorded to that texel.

8. The method of claim 1 , wherein the depth measurements are calculated relative to a pose of the camera at a time the image of the real environment is captured.

9. The method of claim 1 , wherein the camera worn by the user is connected to a head-mounted display.

10. The method of claim 1 , wherein the two-dimensional surface is generated without accessing a three-dimensional model of the object of interest.

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

receive an image of a real environment using a camera worn by a user, the image of the real environment comprising an object of interest;

determine that a portion of the image of the real environment comprises the object of interest;

generate, based on the portion of the image of the real environment comprising the object of interest, a two-dimensional surface representing the object of interest;

receive depth measurements of the real environment corresponding to the portion of the image of the real environment comprising the object of interest;

determine, based on the depth measurements, a depth of the two-dimensional surface representing the object of interest;

determine, based one or more previous images of the object of interest, a predicted pose of the object of interest at a time subsequent to when the image of the real environment was captured;

pose the two-dimensional surface in a coordinate system corresponding to the real environment based on the depth of the two-dimensional surface and the predicted pose of the object of interest;

determine a visibility of a virtual object relative to the object of interest by comparing a model of the virtual object with the two-dimensional surface; and

generate an output image based on the determined visibility of the virtual object.

12. The one or more computer-readable non-transitory storage media of claim 11 , wherein determining the predicted pose of the object of interest is based on:

one or more movements of the camera worn by the user subsequent to a time the image of the real environment is captured; or

one or more movements of the object of interest prior to when the image of the real environment is captured.

13. The one or more computer-readable non-transitory storage media of claim 12 , wherein the predicted pose of the object of interest is determined by one or more components of a computing system that are physically connected to a headset worn by the user.

14. The one or more computer-readable non-transitory storage media of claim 11 , wherein determining the portion of the image of the real environment that comprises the object of interest comprises:

generating, using a neural network of a machine learning model, a bounding box encompassing the object of interest; and

outputting, using the bounding box, a segmentation mask associated with the object of interest.

15. The one or more computer-readable non-transitory storage media of claim 11 , wherein determining the depth of the two-dimensional surface representing the object of interest comprises:

removing one or more outliers from the depth measurements;

generating, after removing the one or more outliers, a histogram comprising the depth measurements; and

determining, using the histogram, a most-frequently observed value of the depth measurements.

16. A system comprising:

one or more processors; and

one or more computer-readable non-transitory storage media coupled to the one or more processors and comprising instructions operable when executed by the one or more processors to cause the system to:

receive an image of a real environment using a camera worn by a user, the image of the real environment comprising an object of interest;

determine that a portion of the image of the real environment comprises the object of interest;

generate, based on the portion of the image of the real environment comprising the object of interest, a two-dimensional surface representing the object of interest;

receive depth measurements of the real environment corresponding to the portion of the image of the real environment comprising the object of interest;

determine, based on the depth measurements, a depth of the two-dimensional surface representing the object of interest;

determine, based one or more previous images of the object of interest, a predicted pose of the object of interest at a time subsequent to when the image of the real environment was captured;

pose the two-dimensional surface in a coordinate system corresponding to the real environment based on the depth of the two-dimensional surface and the predicted pose of the object of interest;

determine a visibility of a virtual object relative to the object of interest by comparing a model of the virtual object with the two-dimensional surface; and

generate an output image based on the determined visibility of the virtual object.

17. The system of claim 16 , wherein determining the predicted pose of the object of interest is based on:

one or more movements of the camera worn by the user subsequent to a time the image of the real environment is captured; or

one or more movements of the object of interest prior to when the image of the real environment is captured.

18. The system of claim 17 , wherein the predicted pose of the object of interest is determined by one or more components of a computing system that are physically connected to a headset worn by the user.

19. The system of claim 16 , wherein determining the portion of the image of the real environment that comprises the object of interest comprises:

generating, using a first neural network of a machine learning model, a bounding box encompassing the object of interest; and

outputting, using the bounding box, a segmentation mask associated with the object of interest.

20. The system of claim 16 , wherein determining the depth of the two-dimensional surface representing the object of interest comprises:

removing one or more outliers from the depth measurements;

generating, after removing the one or more outliers, a histogram comprising the depth measurements; and

determining, using the histogram, a most-frequently observed value of the depth measurements.

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 Apr 13, 2021
From: SALMANI RAHIMI, MAHDI; DALY, GREGORY MAYO; TIPALDI, GIAN DIEGO; SORKINE HORNUNG, ALEXANDER; STRACHAN, MARK DAVID
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 055908/0671 →
Cited By (1)
US 12,705,777