IP Library › Granted Patent US 12,646,205
Granted Patent B2
US 12,646,205 · App. 18/568,676 · Granted Jun 2, 2026

Hierarchical segment-based map optimization for localization and mapping system

Inventors: Yuxin Tian (Beijing, CN); Xuesong Shi (Beijing, CN); Peng Wang (Beijing, CN); Yujie Wang (Beijing, CN)
Assignee: Intel Corporation
G06T7/73G06T7/11G06T2207/20021G06T2207/20072
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,646,205
App. No.
18/568,676
Granted
Jun 2, 2026
Kind
B2
Abstract

The disclosure provides techniques for map optimization for a localization and mapping system. The map optimization method includes segmenting, based on a preset segmentation condition, a trajectory tracked by the localization and mapping system to obtain a plurality of segments of the trajectory, each segment being partitioned into a head part, an interior part and a tail part; performing a global optimization process based on frames in the head and tail parts of each segment to obtain optimized mapping results for the frames in the head and tail parts of the segment; estimating optimized mapping results for frames in the interior part of each segment based on the optimized mapping results for the frames in the head and tail parts of the segment; and updating a map built by the localization and mapping system according to the optimized mapping results for the frames in each segment.

Claims (44)

1 . A map optimization apparatus for a localization and mapping system, comprising interface circuitry; processor circuitry coupled to the interface circuitry and configured to:

segment, based on a preset segmentation condition, a trajectory retrieved via the interface circuitry from the localization and mapping system, to obtain a plurality of segments of the trajectory, each of the plurality of segments being partitioned into a head part, an interior part and a tail part;

perform a global optimization process based on frames in the head part and the tail part of each segment of the trajectory to obtain optimized mapping results for the frames in the head part and the tail part of each segment of the trajectory;

estimate optimized mapping results for frames in the interior part of each segment of the trajectory based on the optimized mapping results for the frames in the head part and the tail part of the segment; and

update a map built by the localization and mapping system according to the optimized mapping results for the frames in each segment of the trajectory.

2 . The map optimization apparatus of claim 1 , wherein the preset segmentation condition comprises: a modulus of a difference between a pose transformation velocity vector of a current frame in the trajectory and an average of pose transformation velocity vectors of frames in a segment preceding the current frame is less than a pose transformation velocity threshold, and a reprojection error of the current frame is less than a reprojection error threshold, and

wherein when the preset segmentation condition is satisfied, the segment preceding the current frame is extended to include the current frame, otherwise, the segment preceding the current frame ends and a new segment is created by including the current frame as a first frame of the new segment.

3 . The map optimization apparatus of claim 1 , wherein the processor circuitry is further configured to:

determine a buffer area between adjacent segments of the plurality of segments based on a preset buffer condition;

perform the global optimization process based on the frames in the head part and the tail part of each segment of the trajectory and frames in buffer areas of the trajectory to obtain the optimized mapping results for the frames in the head part and the tail part of each segment of the trajectory and optimized mapping results for the frames in the buffer areas of the trajectory; and

update the map with the optimized mapping results for the frames in each segment of the trajectory and the optimized mapping results for the frames in the buffer areas of the trajectory.

4 . The map optimization apparatus of claim 3 , wherein the preset segmentation condition comprises: a modulus of a difference between a pose transformation velocity vector of a current frame in the trajectory and an average of pose transformation velocity vectors of frames in a segment preceding the current frame is less than a pose transformation velocity threshold, and a reprojection error of the current frame is less than a reprojection error threshold, and

wherein when the preset segmentation condition is satisfied, the segment preceding the current frame is extended to include the current frame, otherwise, the segment preceding the current frame ends and the current frame is categorized as a frame of the buffer area or a new segment based on the preset buffer condition.

5 . The map optimization apparatus of claim 1 , wherein the global optimization process is a pose graph optimization process based on an optimization graph comprising pose nodes that represent poses of the frames in the trajectory and edges that represent relative pose transformations between the pose nodes.

6 . The map optimization apparatus of claim 5 , wherein the optimization graph is simplified by: deleting all pose nodes corresponding to the frames in the interior part of each segment of the trajectory and edges associated with the deleted nodes, and adding edges by connecting pose nodes corresponding to the frames in the head part and the tail part of each segment of the trajectory.

7 . The map optimization apparatus of claim 5 , wherein the optimized mapping results for the frames in each segment of the trajectory comprise optimized poses of the frames in the segment.

8 . The map optimization apparatus of claim 1 , wherein the global optimization process is a bundle adjustment (BA) optimization process based on an optimization graph comprising pose nodes that represent poses of the frames in the trajectory, landmark nodes that represent three dimensional (3D) coordinates of landmarks in the trajectory, and edges that connect landmark nodes to respective pose nodes and represent estimations of reprojection errors between the landmark nodes and the respective pose nodes.

9 . The map optimization apparatus of claim 8 , wherein the optimization graph is simplified by: selecting, under the premise of ensuring connectivity of the optimization graph, a minimum number of interconnected frames from the frames in the interior part of each segment as one or more connecting frames between the head part and the tail part of each segment, and deleting, from the interior part of each segment, landmark nodes, pose nodes and edges other than those associated with the connecting frames.

10 . The map optimization apparatus of claim 1 , wherein the processor circuitry is configured to estimate the optimized mapping results for the frames in the interior part of each segment of the trajectory by:

performing, based on the optimized mapping results for the frames in the head part and the tail part of the segment, a quaternion spherical interpolation and a linear interpolation iteratively to obtain the optimized mapping results for the frames in the interior part of the segment.

11 . The map optimization apparatus of claim 9 , wherein the processor circuitry is configured to estimate the optimized mapping results for the frames in the interior part of each segment of the trajectory by:

performing, based on the optimized mapping results for the frames in the head part and the tail part of the segment and the connecting frames, a quaternion spherical interpolation and a linear interpolation iteratively to obtain the optimized mapping results for the frames in the interior part of the segment.

12 . The map optimization apparatus of claim 1 , wherein the localization and mapping system is a Simultaneous Localization and Mapping (SLAM) system or a Structure from Motion (SfM) system.

13 . A map optimization method for a localization and mapping system, comprising:

segmenting, based on a preset segmentation condition, a trajectory tracked by the localization and mapping system to obtain a plurality of segments of the trajectory, each of the plurality of segments being partitioned into a head part, an interior part and a tail part;

performing a global optimization process based on frames in the head part and the tail part of each segment of the trajectory to obtain optimized mapping results for the frames in the head part and the tail part of each segment of the trajectory;

estimating optimized mapping results for frames in the interior part of each segment of the trajectory based on the optimized mapping results for the frames in the head part and the tail part of the segment; and

updating a map built by the localization and mapping system according to the optimized mapping results for the frames in each segment of the trajectory.

14 . The map optimization method of claim 13 , wherein the preset segmentation condition comprises: a modulus of a difference between a pose transformation velocity vector of a current frame in the trajectory and an average of pose transformation velocity vectors of frames in a segment preceding the current frame is less than a pose transformation velocity threshold, and a reprojection error of the current frame is less than a reprojection error threshold, and

wherein when the preset segmentation condition is satisfied, the segment preceding the current frame is extended to include the current frame, otherwise, the segment preceding the current frame ends and a new segment is created by including the current frame as a first frame of the new segment.

15 . The map optimization method of claim 13 , comprising:

determining a buffer area between adjacent segments of the plurality of segments based on a preset buffer condition;

performing the global optimization process based on the frames in the head part and the tail part of each segment of the trajectory and frames in buffer areas of the trajectory to obtain the optimized mapping results for the frames in the head part and the tail part of each segment of the trajectory and optimized mapping results for the frames in the buffer areas of the trajectory; and

updating the map with the optimized mapping results for the frames in each segment of the trajectory and the optimized mapping results for the frames in the buffer areas of the trajectory.

16 . The map optimization method of claim 15 , wherein the preset segmentation condition comprises: a modulus of a difference between a pose transformation velocity vector of a current frame in the trajectory and an average of pose transformation velocity vectors of frames in a segment preceding the current frame is less than a pose transformation velocity threshold, and a reprojection error of the current frame is less than a reprojection error threshold, and

wherein when the preset segmentation condition is satisfied, the segment preceding the current frame is extended to include the current frame, otherwise, the segment preceding the current frame ends and the current frame is categorized as a frame of the buffer area or a new segment based on the preset buffer condition.

17 . The map optimization method of claim 13 , wherein the global optimization process is a pose graph optimization process based on an optimization graph comprising pose nodes that represent poses of the frames in the trajectory and edges that represent relative pose transformations between the pose nodes.

18 . The map optimization method of claim 17 , wherein the optimization graph is simplified by: deleting all pose nodes corresponding to the frames in the interior part of each segment of the trajectory and edges associated with the deleted nodes, and adding edges by connecting pose nodes corresponding to the frames in the head part and the tail part of each segment of the trajectory.

19 . The map optimization method of claim 13 , wherein the global optimization process is a bundle adjustment (BA) optimization process based on an optimization graph comprising pose nodes that represent poses of the frames in the trajectory, landmark nodes that represent three dimensional (3D) coordinates of landmarks in the trajectory, and edges that connect landmark nodes to respective pose nodes and represent estimations of reprojection errors between the landmark nodes and the respective pose nodes.

20 . A non-transitory computer-readable medium comprising instructions stored thereon, wherein the instructions cause the processor circuitry to:

segment, based on a preset segmentation condition, a trajectory tracked by the localization and mapping system to obtain a plurality of segments of the trajectory, each of the plurality of segments being partitioned into a head part, an interior part and a tail part;

perform a global optimization process based on frames in the head part and the tail part of each segment of the trajectory to obtain optimized mapping results for the frames in the head part and the tail part of each segment of the trajectory;

estimate optimized mapping results for frames in the interior part of each segment of the trajectory based on the optimized mapping results for the frames in the head part and the tail part of the segment; and

update a map built by the localization and mapping system according to the optimized mapping results for the frames in each segment of the trajectory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2026
From: INTEL CORPORATION
To: INTEL PRODUCTS IP LLC
Reel/Frame 076091/0202 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2024
From: TIAN, YUXIN; SHI, XUESONG; WANG, PENG; WANG, YUJIE
To: INTEL CORPORATION
Reel/Frame 067801/0681 →
Continuity (1)
Related Publication 20240212204A1 · Jun 27, 2024
References Cited (19)
US 20200088520A1 · Lin · 2020 [cited by examiner]
US 20200341150A1 · Ma et al. · 2020 [cited by applicant]
US 20200364901A1 · Choudhuri · 2020 [cited by examiner]
US 20210272313A1 · Wang · 2021 [cited by examiner]
US 20210405200A1 · Ding · 2021 [cited by examiner]
CN 108235725A · 2018 [cited by applicant]
CN 108332759A · 2018 [cited by applicant]
CN 111292420A · 2020 [cited by applicant]
WO 2020113425A1 · 2020 [cited by applicant]
International Searching Authority, “International Search Report and Written Opinion,” issued in connection with International Application No. PCT/CN2021/115828, May 26, 2022, 7 pages. [cited by applicant]
Zhang et al., “Efficient Non-Consecutive Feature Tracking for Robust Structure-From-Motion,” IEEE, IEEE Transactions on Image Processing, vol. 25, No. 12, Dec. 2016, 14 pages. [cited by applicant]
Zhou et al., “Stochastic Bundle Adjustment for Efficient and Scalable 3D Reconstruction,” European Conference on Computer Vision, 2020, 16 pages. [cited by applicant]
Li et al., “Hybrid Camera Pose Estimation with Online Partitioning for SLAM,” arXiv:1908.01797v2 [cs.CV], [https://doi.org/10.48550/arXiv.1908.01797], Nov. 2, 2020, 8 pages. [cited by applicant]
Jang et al., “Pose Correction Algorithm for Relative Frames between Keyframes in SLAM,” arXiv:2009.08724v1 [cs.RO], [https://doi.org/10.48550/arXiv.2009.08724], Sep. 18, 2020, 15 pages. [cited by applicant]
Kaess et al., “iSAM: Incremental Smoothing and Mapping,” IEEE, IEEE Transactions on Robotics, Manuscript, Sep. 7, 2008, 14 pages. [cited by applicant]
Liu et al., “ICE-BA: Incremental, Consistent and Efficient Bundle Adjustment for Visual-Inertial Slam,” IEEE Xplore, IEEE Conference on Computer Vision and Pattern Recognition, 2018, 9 pages. [cited by applicant]
Ila et al., “Fast Incremental Bundle Adjustment with Covariance Recovery,” IEEE, 2017 International Conference on 3D Vision (3DV), 2017, 10 pages. [cited by applicant]
Sumikura et al., “OpenVSLAM: A Versatile Visual SLAM Framework,” arXiv:1910.01122v3 [cs.CV], [https://doi.org/10.48550/arXiv.1910.01122], Apr. 6, 2023, 6 pages. [cited by applicant]
Mur-Artal et al., “ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras,” arXiv:1610.06475v2 [cs.RO], [https://doi.org/10.48550/arXiv.1610.06475], 9 pages. [cited by applicant]