IP Library › Patent Application 19373359
Patent Application
App. No. 19/373,359

JOINT CAMERA AND INERTIAL MEASUREMENT UNIT CALIBRATION

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 None
App. No.
19/373,359
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for calibrating an augmented reality device using camera and inertial measurement unit data. In some implementations, a bundle adjustment process jointly optimizes or estimates states of the augmented reality device. The process can use, as input, visual and inertial measurements as well as factory-calibrated sensor extrinsic parameters. The process performs bundle adjustment and uses non-linear optimization of estimated states constrained by the measurements and the factory calibrated extrinsic parameters. The process can jointly optimize inertial constraints, IMU calibration, and camera calibrations. Output of the process can include most likely estimated states, such as data for a 3D map of an environment, a trajectory of the device, and/or updated extrinsic parameters of the visual and inertial sensors (e.g., cameras and IMUs).

Claims (47)

1 .- 20 . (canceled)

21 . A computer-implemented method, comprising:

receiving, from an augmented reality device and by an online calibration visual inertial bundle adjustment (OCVIBA) engine, multiple input values;

performing, by the OCVIBA engine, a bundle adjustment process, comprising:

creating, using the multiple input values, an OCVIBA graph;

performing minimization of residual errors; and

optimizing the OCVIBA graph; and

generating, by the OCVIBA engine, multiple output values, including the OCVIBA graph.

22 . The computer-implemented method of claim 21 , comprising:

determining, by a simultaneous localization and mapping (SLAM) engine and using at least some input values of the multiple input values, initial three-dimensional (3D) map points that represent points in an environment.

23 . The computer-implemented method of claim 22 , wherein the 3D map points have estimated locations within a 3D environment model that correspond to a location of the points in the environment.

24 . The computer-implemented method of claim 22 , wherein the OCVIBA engine is part of the SLAM engine.

25 . The computer-implemented method of claim 22 , wherein the SLAM engine can perform processing periodically.

26 . The computer-implemented method of claim 25 , wherein periodically is for every key frame in a sequence of images captured by a camera or based on data received from another sensor in the augmented reality device.

27 . The computer-implemented method of claim 26 , wherein the augmented reality device provides data for every key frame to the OCVIBA engine to reduce memory usage or processor usage based on computational resources available to the OCVIBA engine.

28 . The computer-implemented method of claim 22 , comprising:

generating, using the SLAM engine, the multiple input values.

29 . The computer-implemented method of claim 21 , wherein at least some of the output values of the multiple output values are refinements or updates to corresponding input values of the multiple input values.

30 . The computer-implemented method of claim 21 , wherein the bundle adjustment process is a non-linear optimization of estimated states constrained by sensor measurements and factory calibration constraints.

31 . A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform one or more operations, comprising:

receiving, from an augmented reality device and by an online calibration visual inertial bundle adjustment (OCVIBA) engine, multiple input values;

performing, by the OCVIBA engine, a bundle adjustment process, comprising:

creating, using the multiple input values, an OCVIBA graph;

performing minimization of residual errors; and

optimizing the OCVIBA graph; and

generating, by the OCVIBA engine, multiple output values, including the OCVIBA graph.

32 . The non-transitory, computer-readable medium of claim 31 , comprising:

determining, by a simultaneous localization and mapping (SLAM) engine and using at least some input values of the multiple input values, initial three-dimensional (3D) map points that represent points in an environment.

33 . The non-transitory, computer-readable medium of claim 32 , wherein the 3D map points have estimated locations within a 3D environment model that correspond to a location of the points in the environment.

34 . The non-transitory, computer-readable medium of claim 32 , wherein the OCVIBA engine is part of the SLAM engine.

35 . The non-transitory, computer-readable medium of claim 32 , wherein the SLAM engine can perform processing periodically.

36 . The non-transitory, computer-readable medium of claim 35 , wherein periodically is for every key frame in a sequence of images captured by a camera or based on data received from another sensor in the augmented reality device.

37 . The non-transitory, computer-readable medium of claim 36 , wherein the augmented reality device provides data for every key frame to the OCVIBA engine to reduce memory usage or processor usage based on computational resources available to the OCVIBA engine.

38 . The non-transitory, computer-readable medium of claim 32 , comprising:

generating, using the SLAM engine, the multiple input values.

39 . The non-transitory, computer-readable medium of claim 31 , wherein:

at least some of the output values of the multiple output values are refinements or updates to corresponding input values of the multiple input values; or

the bundle adjustment process is a non-linear optimization of estimated states constrained by sensor measurements and factory calibration constraints.

40 . A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations, comprising:

receiving, from an augmented reality device and by an online calibration visual inertial bundle adjustment (OCVIBA) engine, multiple input values;

performing, by the OCVIBA engine, a bundle adjustment process, comprising:

creating, using the multiple input values, an OCVIBA graph;

performing minimization of residual errors; and

optimizing the OCVIBA graph; and

generating, by the OCVIBA engine, multiple output values, including the OCVIBA graph.

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2026
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 076088/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2025
From: NAPOLSKIKH, IGOR; GUPTA, ANKUR; HUANG, YU-HSIANG; SOUIAI, MOHAMED; GROSSMANN, ETIENNE GREGOIRE
To: MAGIC LEAP, INC.
Reel/Frame 072736/0059 →