IP Library Granted Patent US 12,340,567
Granted Patent B2
US 12,340,567 · App. 18/498,024 · Granted Jun 24, 2025

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 12,340,567
App. No.
18/498,024
Granted
Jun 24, 2025
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 (46)

1. A system comprising:

a memory embodied with executable instructions; and

a processor programmed for:

simulating a virtual environment;

determining disparity data of a localization algorithm tested against ground truth data in the simulated virtual environment from the localization algorithm tested against a first hardware configuration in the simulated virtual environment;

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, in the simulated virtual environment; and

modifying the localization algorithm based on the subsequent testing.

2. The system of claim 1 , wherein the processor is further programmed for determining, based on the first hardware configuration, localization parameters including coordinates of a virtual camera in the simulated virtual environment.

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

4. The system of claim 1 , wherein the processor is further programmed for:

simulating motion of the first hardware configuration within the simulated virtual environment, and

applying the localization algorithm to the first hardware configuration having the simulated motion within the simulated virtual environment.

5. The system of claim 4 , wherein the processor is further programmed for:

generating synthetic experiment data for the first hardware configuration having the simulated motion.

6. The system of claim 5 , wherein the synthetic experiment data comprises inertial measurement unit (IMU) data, the IMU data including one or more of: accelerometer data, gyroscope data, and magnetometer data.

7. The system of claim 1 , wherein the first hardware configuration includes a first camera and the second hardware configuration includes a second camera that is different from the first camera.

8. A computerized method comprising:

simulating a virtual environment;

determining disparity data of a localization algorithm tested against ground truth data in the simulated virtual environment from the localization algorithm tested against a first hardware configuration in the simulated virtual environment;

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, in the simulated virtual environment; and

modifying the localization algorithm based on the subsequent testing.

9. The method of claim 8 , further comprising determining, based on the first hardware configuration, localization parameters including coordinates of a virtual camera in the simulated virtual environment.

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

11. The method of claim 8 , further comprising:

simulating motion of the first hardware configuration within the simulated virtual environment, and

applying the localization algorithm to the first hardware configuration having the simulated motion within the simulated virtual environment.

12. The method of claim 11 , further comprising:

generating synthetic experiment data for the first hardware configuration having the simulated motion.

13. The method of claim 12 , wherein the synthetic experiment data comprises inertial measurement unit (IMU) data, the IMU data including one or more of: accelerometer data, gyroscope data, and magnetometer data.

14. The method of claim 8 , wherein the first hardware configuration includes a first camera and the second hardware configuration includes a second camera that is different from the first camera.

15. A computer storage device having computer-executable instructions stored thereon, which, on execution by a computer, cause the computer to perform operations comprising:

simulating a virtual environment;

determining disparity data of a localization algorithm tested against ground truth data in the simulated virtual environment from the localization algorithm tested against a first hardware configuration in the simulated virtual environment;

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, in the simulated virtual environment; and

modifying the localization algorithm based on the subsequent testing.

16. The computer storage device of claim 15 , wherein the operations further comprise determining, based on the first hardware configuration, localization parameters including coordinates of a virtual camera in the simulated virtual environment.

17. The computer storage device of claim 15 , wherein the operations further comprise selecting the modified localization algorithm for the first hardware configuration.

18. The computer storage device of claim 15 , wherein the operations further comprise:

simulating motion of the first hardware configuration within the simulated virtual environment, and

applying the localization algorithm to the first hardware configuration having the simulated motion within the simulated virtual environment.

19. The computer storage device of claim 18 , wherein the operations further comprise:

generating synthetic experiment data for the first hardware configuration having the simulated motion.

20. The computer storage device of claim 19 , wherein the synthetic experiment data comprises inertial measurement unit (IMU) data, the IMU data including one or more of: accelerometer data, gyroscope data, and magnetometer data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2023
From: EBSTYNE, MICHAEL; ESCOS, PEDRO URBINA; SHALEV, EMANUEL; KIPMAN, ALEX; PEKELNY, YURI; CHAN, JONATHAN CHI HANG
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065397/0662 →
Continuity (3)
Continuation 17371093 · Jul 8, 2021
Continuation 15974665 · May 8, 2018
Related Publication 20240062528A1 · Feb 22, 2024
References Cited (25)
US 5621858A · Stork · 1997 [cited by examiner]
US 9734419B1 · Ye · 2017 [cited by examiner]
US 9740944B2 · Micks · 2017 [cited by examiner]
US 10224058B2 · Variani · 2019 [cited by examiner]
US 10274346B2 · Le Grand · 2019 [cited by examiner]
US 10621973B1 · McVicker · 2020 [cited by examiner]
US 20140288896A1 · Li · 2014 [cited by examiner]
US 20170083794A1 · Nallapa · 2017 [cited by examiner]
US 20190196940A1 · Psiaki · 2019 [cited by examiner]
US 20190340317A1 · Chan · 2019 [cited by examiner]
US 20200012756A1 · Ma · 2020 [cited by examiner]
US 20200302241A1 · White · 2020 [cited by examiner]
US 20230114734A1 · Moon · 2023 [cited by examiner]
US 20240185579A1 · Ebstyne · 2024 [cited by applicant]
Communication under Rule 71(3) Received in European Patent Application No. 19727542.3, mailed on Mar. 26, 2024, 8 pages. [cited by applicant]
EPO Notification Rule 71(3) received in European Application No. 19724984.0, mailed on Jun. 27, 2024, 7 pages. [cited by applicant]
Decision to grant a European patent pursuant to Article 97(1) received in European Application No. 19724984.0, mailed on Oct. 10, 2024, 2 pages. [cited by applicant]
Communication under Rule 71(3) received in European Application No. 19727542.3, mailed on Aug. 1, 2024, 7 pages. [cited by applicant]
Decision to Grant pursuant to Article 97(1) received in European Application No. 19727542.3, mailed on Oct. 31, 2024, 2 pages. [cited by applicant]
Extended European search report received in European Application No. 24209025.6, mailed on Jan. 30, 2025, 12 pages. [cited by applicant]
Kotthauser, “Validating Vision and Robotic Algorithms for Dynamic Real World Environments” Simulation Modeling & Programming for Autonomous Robots, LNAI 6472, 2010, pp. 97-108. [cited by applicant]
Mania, Katerina, “Simulating Perception with Interactive Virtual Environments” IEEE International Conference on Systems Man & Cybernetics, 2004, pp. 2770-2776. [cited by applicant]
Non-Final Office Action mailed on Dec. 17, 2024, in U.S. Appl. No. 18/412,440, 11 pages. [cited by applicant]
Vincent, et al., “An Analysis of Environment, Microphone and Data Simulation Mismatches in Robust Speech Recognition” Computer Speech & Language, vol. 46, 2016, pp. 535-557. [cited by applicant]
Communication under Rules 70(2) and 70a (2) Received for European Application No. 24209025.6, mailed on Mar. 10, 2025, 2 pages. [cited by applicant]