IP Library Granted Patent US 11,094,079
Granted Patent B2
US 11,094,079 · App. 16/114,772 · Granted Aug 17, 2021

Determining a pose of an object from RGB-D images

Inventor: William Hoff (Vienna, AT)
Assignee: FACEBOOK TECHNOLOGIES, LLC
G06T7/74G06T19/006G06T2207/10028G06T2207/20081G06T2207/20084G06T2207/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,094,079
App. No.
16/114,772
Granted
Aug 17, 2021
Kind
B2
Abstract

A system and method for detecting a pose of an object is described. An augmented reality display device accesses first sensor data from an image sensor and a depth sensor of the augmented reality display device. The first sensor data includes a first plurality of images of an object and corresponding depth data relative to the augmented reality display device and the object. The augmented reality display device detects first features corresponding to the object by applying a convolutional neural network to the first sensor data, forms a plurality of training clusters based on the first features, and stores the plurality of training clusters in a training database.

Claims (76)

1. A method comprising:

during a training phase, capturing a first set of sensor data using both an image sensor and a depth sensor of an augmented reality display device, the first set of sensor data including a first plurality of images of a physical object and corresponding depth data indicating an orientation of the augmented reality display device in relation to the physical object for each respective image;

receiving pose data identifying a pose of the physical object depicted in each image of the physical object captured during the training phase;

applying a convolutional neural network to the first set of sensor data, yielding a first set of features representing the physical object;

forming a plurality of training clusters based on the first set of features generated from the first sensor data, each training cluster associated with a respective pose of the physical object;

storing the plurality of training clusters in a training database;

subsequently, capturing a second set of sensor data using both the image sensor and the depth sensor of the augmented reality display device, the second set of sensor data including a second set of images of the physical object and corresponding depth data indicating an orientation of the augmented reality display in relation to the physical object;

applying the convolutional neural network to the second set of sensor data, yielding a second set of features representing the physical object;

determining, based on the second set of features and the plurality of training clusters, that a first image from the second set of images depicts the physical object at a first respective pose associated with a first training cluster;

determining a variance between a current orientation of the augmented reality display device and a previous orientation of the augmented reality display device when the first image was captured;

determining a current pose of the physical object being captured by the image sensor of the augmented reality display device based on the variance and the first respective pose associated with a first training cluster;

receiving a user-selected placement of virtual content to a static location relative to the physical object; and

displaying the virtual content at the static location on a display of the augmented reality device, a pose of the virtual content corresponding to the current pose of the object.

2. The method of claim 1 , wherein determining that the first image from the second set of images depicts the physical object at the first respective pose associated with the first training cluster comprises:

accessing the plurality of training clusters from the training database; and

matching the second set of features with features included in the first training cluster based on geometric constraints.

3. The method of claim 2 , further comprising:

updating the training database based on matching the second set of features with the features included in the first training cluster.

4. The method of claim 2 , wherein the virtual content includes a virtual object that appears attached to the physical object on the display of the augmented reality display device.

5. The method of claim 4 , wherein the virtual object is associated with the physical object.

6. The method of claim 1 , wherein the plurality of training clusters are formed without accessing prior knowledge about the physically object.

7. The method of claim 1 , further comprising:

accessing a computer-aided design (CAD) model of the physical object; and

limiting a collecting of training data based on the CAD model of the physical object wherein the plurality of training clusters are further formed based on limiting the collecting of training data.

8. The method of claim 1 , further comprising:

accessing a device pose data of the augmented reality display device based on a visual inertial system in the augmented reality display device, wherein the orientation of augmented reality display device in relation to the physical object for each respective image is further based on the device pose data.

9. The method of claim 1 , further comprising:

detecting parts of the physical object and positions of components of the physical object based on the first set of features corresponding the physical object; and

identifying a state of the physical object based on the parts of the physical object and positions of components of the physical object.

10. An augmented reality display device comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the augmented reality display device to perform operations comprising:

during a training phase, capturing a first set of sensor data using both an image sensor and a depth sensor of the augmented reality display device, the first set of sensor data including a first plurality of images of a physical object and corresponding depth data indicating an orientation of the augmented reality display device in relation to the physical object for each respective image;

receiving pose data identifying a pose of the physical object depicted in each image of the physical object captured during the training phase;

applying a convolutional neural network to the first set of sensor data, yielding a first set of features representing the physical object;

forming a plurality of training clusters based on the first set of features generated from the first sensor data, each training cluster associated with a respective pose of the physical object;

storing the plurality of training clusters in a training database;

subsequently, capturing a second set of sensor data using both the image sensor and the depth sensor of the augmented reality display device, the second set of sensor data including a second set of images of the physical object and corresponding depth data indicating an orientation of the augmented reality display in relation to the physical object;

applying the convolutional neural network to the second set of sensor data, yielding a second set of features representing the physical object;

determining, based on the second set of features and the plurality of training clusters, that a first image from the second set of images depicts the physical object at a first respective pose associated with a first training cluster;

determining a variance between a current orientation of the augmented reality display device and a previous orientation of the augmented reality display device when the first image was captured;

determining a current pose of the physical object being captured by the image sensor of the augmented reality display device based on the variance and the first respective pose associated with a first training cluster;

receiving a user-selected placement of virtual content to a static location relative to the physical object; and

displaying the virtual content at the static location on a display of the augmented reality device, a pose of the virtual content corresponding to the current pose of the object.

11. The augmented reality display device of claim 10 , wherein determining that the first image from the second set of images depicts the physical object at the first respective pose associated with the first training cluster comprises:

accessing the plurality of training clusters from the training database; and

matching the second set of features with features included in the first training cluster based on geometric constraints.

12. The augmented reality display device of claim 11 , the operations further comprising:

updating the training database based on matching the second set of features with the features included in the first training cluster.

13. The augmented reality display device of claim 11 , wherein the virtual content includes a virtual object that appears attached to the physical object on the display of the augmented reality display device.

14. The augmented reality display device of claim 13 , wherein the virtual object is associated with the physical object.

15. The augmented reality display device of claim 10 , wherein the plurality of training clusters are formed without accessing prior knowledge about the physically object.

16. The augmented reality display device of claim 10 , the operations further comprising:

accessing a computer-aided design (CAD) model of the physical object; and

limiting a collecting of training data based on the CAD model of the physical object wherein the plurality of training clusters are further formed based on limiting the collecting of training data.

17. The augmented reality display device of claim 10 , the operations further comprising:

accessing a device pose data of the augmented reality display device based on a visual inertial system in the augmented reality display device, wherein the orientation of augmented reality display device in relation to the physical object for each respective image is further based on the device pose data.

18. The augmented reality display device of claim 10 , the operations further comprising:

detecting parts of the physical object and positions of components of the physical object based on the first set of features corresponding the physical object; and

identifying a state of the physical object based on the parts of the physical object and positions of components of the physical object.

19. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of an augmented reality display device, cause the augmented reality display device to perform operations comprising:

during a training phase, capturing a first set of sensor data using both an image sensor and a depth sensor of the augmented reality display device, the first set of sensor data including a first plurality of images of a physical object and corresponding depth data indicating an orientation of the augmented reality display device in relation to the physical object for each respective image;

receiving pose data identifying a pose of the physical object depicted in each image of the physical object captured during the training phase;

applying a convolutional neural network to the first set of sensor data, yielding a first set of features representing the physical object;

forming a plurality of training clusters based on the first set of features generated from the first sensor data, each training cluster associated with a respective pose of the physical object;

storing the plurality of training clusters in a training database;

subsequently, capturing a second set of sensor data using both the image sensor and the depth sensor of the augmented reality display device, the second set of sensor data including a second set of images of the physical object and corresponding depth data indicating an orientation of the augmented reality display in relation to the physical object;

applying the convolutional neural network to the second set of sensor data, yielding a second set of features representing the physical object;

determining, based on the second set of features and the plurality of training clusters, that first image from the second set of images depicts the physical object at a first respective pose associated with a first training cluster;

determining a variance between a current orientation of the augmented reality display device and a previous orientation of the augmented reality display device when the first image was captured;

determining a current pose of the physical object being captured by the image sensor of the augmented reality display device based on the variance and the first respective pose associated with a first training cluster;

receiving a user-selected placement of virtual content to a static location relative to the physical object; and

displaying the virtual content at the static location on a display of the augmented reality device, a pose of the virtual content corresponding to the current pose of the object.

20. The non-transitory computer-readable medium of claim 19 , wherein determining that the first image from the second set of images depicts the physical object at the first respective pose associated with the first training cluster comprises:

accessing the plurality of training clusters from the training database; and

matching the second set of features with features included in the first training cluster based on geometric constraints.

Assignments (11)
CHANGE OF NAME Recorded Aug 3, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060936/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2021
From: RPX CORPORATION
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 056777/0588 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
RELEASE OF SECURITY INTEREST Recorded Aug 14, 2020
From: AR HOLDINGS I, LLC
To: DAQRI, LLC
Reel/Frame 053498/0580 →
PATENT SECURITY AGREEMENT Recorded Aug 14, 2020
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 053498/0095 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: DAQRI, LLC
To: RPX CORPORATION
Reel/Frame 053413/0642 →
RELEASE OF SECURITY INTEREST Recorded Oct 23, 2019
From: SCHWEGMAN, LUNDBERG & WOESSNER, P.A.
To: DAQRI, LLC
Reel/Frame 050805/0606 →
LIEN Recorded Oct 8, 2019
From: DAQRI, LLC
To: SCHWEGMAN, LUNDBERG & WOESSNER, P.A.
Reel/Frame 050672/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2019
From: HOFF, WILLIAM
To: DAQRI, LLC
Reel/Frame 049203/0503 →
Continuity (1)
Related Publication 20200074672A1 · Mar 5, 2020
Cited By (1)
US 12,260,634