IP Library Granted Patent US 11,156,843
Granted Patent B2
US 11,156,843 · App. 16/739,471 · Granted Oct 26, 2021

End-to-end artificial reality calibration testing

Inventors: Peter Freese (Issaquah, WA); Hauke Malte Strasdat (Kirkland, WA); Renzo De Nardi (Seattle, WA)
Assignee: Facebook Technologies, LLC
G02B27/0179G02B27/0172G06K9/00671G06T7/74G06T19/006G02B2027/0187G06T2207/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,156,843
App. No.
16/739,471
Granted
Oct 26, 2021
Kind
B2
Abstract

A calibration system is described that includes a calibration target having one or more calibration objects, a head mounted display (HMD), and a rendering engine configured to render, based on an estimated pose of the HMD, respective virtual calibration objects in a viewing area of the HMD at respective locations corresponding to the one or more calibration objects visible in the viewing area, wherein the HMD is configured to output the virtual calibration targets. The calibration system further includes an image capture system configured to capture image data comprising images of the viewing area of the HMD, and a calibration engine configured to compute, from the image data, difference data comprising respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects.

Claims (57)

1. A calibration system comprising:

a calibration target having one or more calibration objects having a first color;

a head mounted display (HMD);

a rendering engine configured to render, based on an estimated pose of the HMD, respective virtual calibration objects, the virtual calibration objects having a second color different from the first color, in a viewing area of the HMD at respective locations corresponding to the one or more calibration objects visible in the viewing area, wherein the HMD is configured to output the virtual calibration objects;

an image capture system configured to capture image data comprising images of the viewing area of the HMD; and

a calibration engine configured to compute, from the image data, difference data comprising respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects, wherein to compute difference data, the calibration engine is configured to:

separate the image data into first image data, comprising the one or more calibration objects, for a first color channel corresponding to the first color and second image data, comprising the virtual calibration objects, for a second, different color channel corresponding to the second color; and

determine, based on the first image data and the second image data, respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects.

2. The calibration system of claim 1 ,

wherein the image capture system comprises a first image capture system;

wherein the HMD includes a second image capture system configured to capture image data comprising images of the calibration target; and

wherein the HMD is configured to determine the estimated pose of the HMD based on the image data comprising images of the calibration target.

3. The calibration system of claim 1 ,

wherein the image capture system comprises a first image capture system;

wherein the HMD includes a second image capture system configured to capture image data comprising images of the calibration target; and

wherein the HMD is configured to determine the estimated pose of the HMD using a location of the one or more calibration objects within the image data comprising images of the calibration target.

4. The calibration system of claim 1 ,

wherein the image capture system comprises a first image capture system;

wherein the HMD includes a second image capture system configured to capture image data comprising images of the calibration target; and

wherein the HMD includes a simultaneous localization and mapping (SLAM) subsystem, the HMD is configured to determine the estimated pose of the HMD using the SLAM subsystem on the image data comprising images of the calibration target.

5. The calibration system of claim 1 , wherein the rendering engine is configured to render the virtual calibration objects further based on a calibration target description file that describes the one or more calibration objects of the calibration target.

6. The calibration system of claim 1 , further comprising a robotic apparatus configured to move the HMD while the image capture system captures the image data.

7. The calibration system of claim 6 , wherein the movement comprises a translation or rotation.

8. The calibration system of claim 1 , wherein to determine, based on the first image data and the image data, respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects, the calibration engine is configured to:

determine first centers of the one or more calibration objects based on the first image data and second centers of the virtual calibration objects based on the image data; and

determine the respective distances between the first centers of the one or more calibration objects and second centers of the respective, corresponding virtual calibration objects.

9. The calibration system of claim 1 , wherein the second color channel is an inverted color channel, different than the first color channel.

10. The calibration system of claim 1 , wherein the calibration engine is further configured to:

generate, based on the difference data, calibration data usable to calibrate pose computation by the HMD; and

output the calibration data.

11. The calibration system of claim 10 , wherein the calibration engine is further configured to output the difference data.

12. A method comprising:

rendering, based on an estimated pose of a head mounted display (HMD), respective virtual calibration objects in a viewing area of the HMD at respective locations corresponding to one or more calibration objects of a calibration target visible in the viewing area, wherein the one or more calibration objects have a first color and the virtual calibration objects have a second color different from the first color;

outputting, by the HMD, the virtual calibration objects;

capturing, by an image capture system, image data comprising images of the viewing area of the HMD; and

computing, from the image data, difference data comprising respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects, wherein computing difference data comprises:

separating the image data into first image data comprising the one or more calibration objects for a first color channel corresponding to the first color and second image data comprising the virtual calibration objects for a second, different color channel corresponding to the second color; and

determining, based on the first image data and the second image data, respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects.

13. The method of claim 12 ,

wherein the image capture system comprises a first image capture system;

wherein HMD includes a second image capture system configured to capture image data comprising images of the calibration target; and

wherein the estimated pose of the HMD is determined based on the image data comprising images of the calibration target.

14. The method of claim 12 , wherein determining, based on the first image data and the second image data, respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects comprises:

determining first centers of the one or more calibration objects based on the first image data and second centers of the virtual calibration objects based on the image data; and

determining the respective distances between the first centers of the one or more calibration objects and second centers of the respective, corresponding virtual calibration objects.

15. The method of claim 12 , further comprising calibrating the HMD based on the difference data.

16. The method of claim 15 , wherein calibrating the HMD includes adjusting display time delay parameters based on the difference data.

17. The method of claim 15 , wherein calibrating the HMD includes adjusting optical stack parameters based on the difference data.

18. The method of claim 15 , wherein calibrating the HMD includes adjusting forward prediction parameters based on the difference data.

19. The method of claim 12 , wherein the virtual calibration objects are rendered further based on a calibration target description file that describes the one or more calibration objects of the calibration target.

20. A non-transitory computer-readable storage medium comprising instructions that configure one or more programmable processors to:

render, based on an estimated pose of a head mounted display (HMD), respective virtual calibration objects in a viewing area of the HMD at respective locations corresponding to one or more calibration objects of a calibration target visible in the viewing area, wherein the one or more calibration objects have a first color and the virtual calibration objects have a second color different from the first color;

output, at the HMD, the virtual calibration objects;

capture image data comprising images of the viewing area of the HMD; and

compute, from the image data, difference data comprising respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects, wherein to compute difference data, the instructions further configure the one or more programmable processors to:

separate the image data into first image data, comprising the one or more calibration objects, for a first color channel corresponding to the first color and image data, comprising the virtual calibration objects, for a second, different color channel corresponding to the second color; and

determine, based on the first image data and the second image data, respective distances between the one or more calibration objects and the respective, corresponding virtual calibration objects.

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 Jun 16, 2020
From: FREESE, PETER; STRASDAT, HAUKE MALTE; DE NARDI, RENZO
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 052952/0278 →
Continuity (1)
Related Publication 20210215940A1 · Jul 15, 2021
Cited By (2)
US 12,323,713 US 12,444,229