IP Library Granted Patent US 12,535,877
Granted Patent B2
US 12,535,877 · App. 18/266,756 · Granted Jan 27, 2026

Bundle adjustment using epipolar constraints

Inventors: Mohamed Souiai (San Francisco, CA); Ankur Gupta (Union City, CA)
Assignee: Magic Leap, Inc.
G06F3/012G01C21/1656G01C21/3804G02B27/0093G02B27/0101G02B27/0179G06F3/011G06T7/70G06T7/85G01C21/20G02B2027/0138G02B2027/0187G06T7/579G06T2207/10021G06T2207/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 12,535,877
App. No.
18/266,756
Granted
Jan 27, 2026
Kind
B2
Abstract

Methods, systems, and apparatus for performing bundling adjustment using epipolar constraints. A method includes receiving image data from a headset for a particular pose. The image data includes a first image from a first camera of the headset and a second image from a second camera of the headset. The method includes identifying at least one key point in a three-dimensional model of an environment at least partly represented in the first image and the second image and performing bundle adjustment. Bundle adjustment is performed by jointly optimizing a reprojection error for the at least one key point and an epipolar error for the at least one key point. Results of the bundle adjustment are used to perform at least one of (i) updating the three-dimensional model, (ii) determining a position of the headset at the particular pose, or (iii) determining extrinsic parameters of the first camera and second camera.

Claims (52)

1 . A method comprising:

receiving, from a headset, image data for a particular pose of the headset, the image data comprising (i) a first image from a first camera of the headset and (ii) a second image from a second camera of the headset;

identifying a set of key points in a three-dimensional model of an environment at least partly represented in the first image and the second image;

performing bundle adjustment using the first image and second image by jointly optimizing (i) a reprojection error for the key points of the set of key points (ii) an epipolar error for the key points of the set of key points; and (iii) a factory calibration error, wherein the factory calibration error comprises a change in relative position between the first camera and a reference position on the headset, wherein jointly optimizing comprises:

calculating a total error, wherein calculating the total error comprises summing together:

a first summation of reprojection errors for the set of key points,

a second summation of epipolar errors for the set of key points, and

a third summation of factory calibration errors for the set of key points; and

using results of the bundle adjustment to perform at least one of (i) updating, as an updated three-dimensional model, the three-dimensional model, (ii) determining a position of the headset at the particular pose, or (iii) determining extrinsic parameters of the first camera and second camera.

2 . The method of claim 1 , comprising providing an output for display by the headset based on the updated three-dimensional model.

3 . The method of claim 1 , wherein the epipolar error is a result of deformation of the headset causing a difference from a calibration of the headset.

4 . The method of claim 1 , comprising determining a set of extrinsic parameters for the first camera and the second camera based on the first image and the second image.

5 . The method of claim 1 , wherein the extrinsic parameters include a translation and rotation that together indicate a relationship of the first camera or the second camera with respect to a reference position on the headset.

6 . The method of claim 1 , comprising:

receiving images from the first and second cameras at each of a plurality of different poses along a path of movement of the headset; and

determining different extrinsic parameters for the first and second cameras for at least some of the plurality of different poses using results of the jointly optimizing involving the epipolar error.

7 . The method of claim 1 , wherein jointly optimizing the error comprises minimizing the total error across each of the multiple key points.

8 . The method of claim 1 , comprising:

receiving, from the headset, second image data for multiple poses of the headset;

identifying at least one second key point in the three-dimensional model of the environment at least partly represented in the second image data;

performing bundle adjustment for each of the multiple poses by jointly optimizing (i) a reprojection error for the at least one key point based on the second image data and (ii) an epipolar error for the at least one key point based on the second image data; and

using results of the bundle adjustment for each of the multiple poses to perform at least one of (i) updating the three-dimensional model, (ii) determining another position of the headset at each of the multiple poses, or (iii) determining other extrinsic parameters of the first camera and the second camera at each of the multiple poses.

9 . The method of claim 1 , comprising:

receiving, from the headset, first image data for a first pose of the headset and second image data for a second pose of the headset, wherein a deformation of the headset occurs between the first pose of the headset and the second pose of the headset;

identifying at least one second key point in the three-dimensional model of the environment at least partly represented in the first image data and in the second image data;

performing the bundle adjustment using the first image data and the second image data by jointly optimizing at least the epipolar error (a) for the at least second one key point (b) that represents the deformation of the headset that occurred between the first pose and the second pose of the headset; and

using results of the bundle adjustment to perform at least one of (i) updating the three-dimensional model, (ii) determining a first position of the headset at the first pose or a second position of the headset at the second pose, or (iii) determining first extrinsic parameters of the first camera and the second camera at the first pose, or second extrinsic parameters of the first camera and the second camera at the second pose.

10 . The method of claim 1 , comprising updating a series of poses of the headset using the results of the bundle adjustment.

11 . The method of claim 1 , wherein using the results of the bundle adjustment comprises updating the three-dimensional model comprising updating positions of one or more key points in the three-dimensional model.

12 . The method of claim 1 , wherein using the results of the bundle adjustment comprises determining the position of the headset at the particular pose with respect to the three-dimensional model.

13 . The method of claim 1 , wherein the first image and the second image were captured at approximately a same time.

14 . A non-transitory computer storage medium encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations including:

receiving, from a headset, image data for a particular pose of the headset, the image data comprising (i) a first image from a first camera of the headset and (ii) a second image from a second camera of the headset;

identifying a set of key points in a three-dimensional model of an environment at least partly represented in the first image and the second image;

performing bundle adjustment using the first image and second image by jointly optimizing (i) a reprojection error for the key points of the set of key points (ii) an epipolar error for the key points of the set of key points; and (iii) a factory calibration error, wherein the factory calibration error comprises a change in relative position between the first camera and a reference position on the headset, wherein jointly optimizing comprises:

calculating a total error, wherein calculating the total error comprises summing together:

a first summation of reprojection errors for the set of key points,

a second summation of epipolar errors for the set of key points, and

a third summation of factory calibration errors for the set of key points; and

using results of the bundle adjustment to perform at least one of (i) updating, as an updated three-dimensional model, the three-dimensional model, (ii) determining a position of the headset at the particular pose, or (iii) determining extrinsic parameters of the first camera and second camera.

15 . The non-transitory computer storage medium of claim 14 , comprising providing an output for display by the headset based on the updated three-dimensional model.

16 . The non-transitory computer storage medium of claim 14 , wherein the epipolar error is a result of deformation of the headset causing a difference from a calibration of the headset.

17 . The non-transitory computer storage medium of claim 14 , comprising determining a set of extrinsic parameters for the first camera and the second camera based on the first image and the second image.

18 . A system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations including:

receiving, from a headset, image data for a particular pose of the headset, the image data comprising (i) a first image from a first camera of the headset and (ii) a second image from a second camera of the headset;

identifying a set of key points in a three-dimensional model of an environment at least partly represented in the first image and the second image;

performing bundle adjustment using the first image and second image by jointly optimizing (i) a reprojection error for the key points of the set of key points (ii) an epipolar error for the key points of the set of key points; and (iii) a factory calibration error, wherein the factory calibration error comprises a change in relative position between the first camera and a reference position on the headset, wherein jointly optimizing comprises:

calculating a total error, wherein the calculating the total error comprises summing together:

a first summation of reprojection errors for the set of key points,

a second summation of epipolar errors for the set of key points, and

a third summation of factory calibration errors for the set of key points; and

using results of the bundle adjustment to perform at least one of (i) updating, as an updated three-dimensional model, the three-dimensional model, (ii) determining a position of the headset at the particular pose, or (iii) determining extrinsic parameters of the first camera and second camera.

Assignments (2)
SECURITY INTEREST Recorded Oct 15, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073109/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2023
From: SOUIAI, MOHAMED; GUPTA, ANKUR
To: MAGIC LEAP, INC.
Reel/Frame 064344/0568 →
Continuity (2)
Provisional Application 63125137 · Dec 14, 2020
Related Publication 20240085977A1 · Mar 14, 2024
References Cited (15)
US 8736636B2 · Kang · 2014 [cited by applicant]
US 8793770B2 · Lim · 2014 [cited by applicant]
US 8823855B2 · Hwang · 2014 [cited by applicant]
US 8874673B2 · Kim · 2014 [cited by applicant]
US 20180330521A1 · Samples et al. · 2018 [cited by applicant]
US 20190026919A1 · Aratani · 2019 [cited by applicant]
US 20190101758A1 · Zhu et al. · 2019 [cited by applicant]
JP 2020529065 · 2020 [cited by applicant]
Title: Combining 2D to 2D and 3D to 2D Point Correspondences for Stereo Visual Odometery; Author: Manthe et al.; pp. 455-463; Publisher and vol. VISIGRAPP 2018-vol. 5: VISAPP; Source: https://www.scitepress.org/papers/2… [cited by examiner]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/061805, mailed Feb. 18, 2022, 7 pages. [cited by applicant]
International Preliminary Report on Patentability received for PCT Patent Application No. PCT/US21/061805, mailed on Jun. 29, 2023, 6 pages. [cited by applicant]
Liu, X., et al., “Precise and robust binocular camera calibration based on multiple constraints”, Applied Optics, vol. 57, No. 18, 2018, pp. 5130-5140. [cited by applicant]
Supplementary European Search Report and Search Opinion received for EP Application No. 21907460.6, mailed on May 6, 2024, 9 pages. [cited by applicant]
Weili, C., et al., “Optimization of position and pose estimation by using Epipolar line segmentation optimization BA algorithm”, Proceedings of the 2019 4th International Conference on Robotics, Control and Automation, … [cited by applicant]
Kun Qian et al., “Visual SLAM With BoPLW Pairs Using Egocentric Stereo Camera for Wearable-Assisted Substation Inspect”, IEEE Sensors Journal [online], (Oct. 14, 2019), vol. 20, No. 3, doi:10.1109/JSEN.2019.2947275, ISS… [cited by applicant]