IP Library Granted Patent US 11,842,529
Granted Patent B2
US 11,842,529 · App. 17/371,093 · Granted Dec 12, 2023

Spatial localization design service

Inventors: Michael Ebstyne (Seattle, WA); Pedro Urbina Escos (Seattle, WA); Emanuel Shalev (Sammamish, WA); Alex Kipman (Bellevue, WA); Yuri Pekelny (Seattle, WA); Jonathan Chi Hang Chan (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G06V10/774G06F11/261G06F11/3684G06F18/217G06F30/20G06F18/214G06F30/27G06F2111/18G06T7/70G06T19/003G06T19/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,842,529
App. No.
17/371,093
Granted
Dec 12, 2023
Kind
B2
Abstract

A synthetic world interface may be used to model digital environments, sensors, and motions for the evaluation, development, and improvement of localization algorithms. A synthetic data cloud service with a library of sensor primitives, motion generators, and environments with procedural and game-like capabilities, facilitates engineering design for a manufactural solution that has localization capabilities. In some embodiments, a sensor platform simulator operates with a motion orchestrator, an environment orchestrator, an experiment generator, and an experiment runner to test various candidate hardware configurations and localization algorithms in a virtual environment, advantageously speeding development and reducing cost. Thus, examples disclosed herein may relate to virtual reality (VR) or mixed reality (MR) implementations.

Claims (50)

1. A method comprising:

simulating a virtual environment;

varying lighting in different instances of the simulated virtual environment for testing a localization algorithm;

simulating three-dimensional (3D) motion of a first hardware configuration within the different instances of the virtual environment in which the lighting is varied;

generating synthetic experiment data for the first hardware configuration having the simulated 3D motion within the virtual environment in which the lighting is varied;

applying the localization algorithm to the first hardware configurations with the simulated 3D motion in the virtual environment in which the lighting is varied;

determining disparity data of the localization algorithm against ground truth data from the localization algorithm applied to the simulated first hardware configuration with the simulated 3D motion in the virtual environment in which the lighting is varied;

determining that the disparity data exceeds a variance threshold;

directing an artificial intelligence (AI) application to run subsequent testing of the localization algorithm against a second hardware configuration different from the first hardware configuration; and

modifying the localization algorithm based on the subsequent testing.

2. The method of claim 1 , further comprising running subsequent testing of the localization algorithm incident to the disparity data exceeding the variance threshold.

3. The method of claim 1 , further comprising selecting the modified localization algorithm for the first hardware configuration.

4. The method of claim 1 , wherein the synthetic experiment data comprises synthetic images.

5. The method of claim 1 , wherein the synthetic experiment data comprises inertial measurement unit (IMU) data.

6. The method of claim 5 , wherein the IMU data comprises accelerometer data.

7. The method of claim 5 , wherein the IMU data comprises gyroscope data.

8. A system, comprising:

a memory embodied with executable instructions for simulating a first hardware configuration; and

a processor programmed for:

simulating a virtual environment;

varying lighting in different instances of the simulated virtual environment for testing a localization algorithm;

simulating three-dimensional (3D) motion of the first hardware configuration within the different instances of the virtual environment in which the lighting is varied;

generating synthetic experiment data for the first hardware configuration having the simulated 3D motion within the virtual environment in which the lighting is varied;

applying the localization algorithm to the first hardware configurations with the simulated 3D motion in the virtual environment in which the lighting is varied;

determining disparity data of the localization algorithm against ground truth data from the localization algorithm applied to the simulated first hardware configuration with the simulated 3D motion in the virtual environment in which the lighting is varied;

determining that the disparity data exceeds a variance threshold;

directing an artificial intelligence (AI) application to run subsequent testing of the localization algorithm against a second hardware configuration different from the first hardware configuration; and

modifying the localization algorithm based on the subsequent testing.

9. The system of claim 8 , wherein the first hardware configuration comprises a first lens and a first sensor.

10. The system of claim 8 , wherein the first hardware configuration is a first camera.

11. The system of claim 8 , wherein the processor is further programmed for selecting the modified localization algorithm for the first hardware configuration.

12. The system of claim 8 , wherein 3D motion data associated with the simulated 3D motion comprises inertial measurement unit (IMU) data.

13. The system of claim 12 , wherein the IMU data comprises accelerometer data.

14. The system of claim 12 , wherein the IMU data comprises gyroscope data.

15. One or more computer storage devices having computer-executable instructions stored thereon for developing a localization solution, which, on execution by a computer, cause the computer to perform operations comprising:

simulating a first hardware configuration comprising a virtual sensor;

simulating a virtual environment;

generating synthetic experiment data for a plurality of candidate localization solutions having differing hardware configurations or localization algorithm parameters;

simulating movement of the first hardware configuration with simulated motion in the virtual environment;

applying a localization algorithm to the simulated movement of the first hardware configuration with the simulated movement in the virtual environment;

determining disparity data of the simulated first hardware configuration compared with ground truth data for the simulated first hardware configuration;

determining that the disparity data exceeds a variance threshold;

directing an artificial intelligence (AI) application to run subsequent testing of the localization algorithm against a second hardware configuration different from the first hardware configuration; and

modifying the localization algorithm based on the subsequent testing.

16. The one or more computer storage devices of claim 15 wherein the operations further comprise:

comparing localization algorithm output data with the ground truth data.

17. The one or more computer storage devices of claim 15 , wherein the synthetic experiment data comprises synthetic images.

18. The one or more computer storage devices of claim 15 , wherein the synthetic experiment data comprises inertial measurement unit (IMU) data.

19. The one or more computer storage devices of claim 18 , wherein the IMU data comprises accelerometer data.

20. The one or more computer storage devices of claim 18 , wherein the IMU data comprises gyroscope data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2021
From: EBSTYNE, MICHAEL; ESCOS, PEDRO URBINA; SHALEV, EMANUEL; KIPMAN, ALEX; PEKELNY, YURI; CHAN, JONATHAN CHI HANG
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056797/0796 →
Continuity (2)
Continuation 15974665 · May 8, 2018
Related Publication 20210334601A1 · Oct 28, 2021