GLOMAP: Fast Global SfM Reconstruction
- GLOMAP is a global Structure-from-Motion system that recovers 3D structures and camera positions by jointly optimizing them from feature tracks.
- It replaces traditional translation averaging with a robust global positioning step, achieving superior speed and accuracy compared to incremental methods.
- The gravity-aligned extension utilizes IMU data to reduce degrees of freedom in rotation averaging, significantly improving performance on large-scale datasets.
Searching arXiv for the cited GLOMAP papers and closely related follow-ups.
GLOMAP is a general-purpose global Structure-from-Motion (SfM) system for recovering 3D structure and camera motion from images. It revisits the global SfM paradigm at a point when incremental systems such as COLMAP remained dominant for accuracy and robustness, and proposes a pipeline in which rotation averaging is followed not by classical translation averaging but by a single global positioning step that jointly estimates camera positions and 3D point positions from feature tracks. In the reported evaluations, GLOMAP outperforms the state of the art in global SfM and attains results on-par or superior to COLMAP while being orders of magnitude faster; the system is released as open source at https://github.com/colmap/glomap (Pan et al., 2024).
1. Problem formulation and motivation
SfM recovers 3D scene structure and camera poses from images. The standard distinction in the literature is between incremental and global approaches. Incremental SfM is sequential, robust, and accurate, but computationally costly because of repeated local or partial bundle adjustment. Global SfM estimates all camera poses at once and is therefore more scalable and efficient, but historically has been less robust and less accurate, especially on challenging or large-scale scenes. The persistent technical difficulty is translation averaging: estimating global camera positions from noisy relative translation directions is affected by scale ambiguities, dependence on accurate camera intrinsics, degeneracies for co-linear motions, and sensitivity to noise and outliers (Pan et al., 2024).
The central motivation for GLOMAP is to eliminate that bottleneck. Rather than preserving the classical decomposition into rotation averaging, translation averaging, and triangulation, it merges translation estimation and triangulation into a single robust optimization step. This suggests a shift in global SfM design: feature tracks, rather than only pairwise translations, become the primary global constraints for camera positioning.
2. Pipeline architecture
The GLOMAP pipeline comprises correspondence search, rotation averaging, global positioning, global bundle adjustment, and optional camera clustering. Correspondence search uses standard feature extraction and matching with geometric verification, then constructs the view graph; filtering is performed with cheirality and triangulation-angle checks. Rotation averaging estimates global rotations from pairwise relative rotations with a robust objective of the form
where is a rotation distance metric and is a robust loss (Pan et al., 2024).
The defining stage is global positioning. GLOMAP jointly estimates all camera positions and 3D points directly from point tracks using known global rotations, with no explicit translation averaging step. The method is described as a “BATA point” approach: it uses rotated bearing vectors, introduces positive per-observation depths , and minimizes a bounded robust loss on the discrepancy between the observed bearing and the ray induced by the estimated camera-point configuration. Global bundle adjustment then refines extrinsics, 3D point positions, and optionally intrinsics. The resulting pipeline differs from classical global SfM precisely in replacing the separate translation-averaging stage with a joint camera-and-structure optimization (Pan et al., 2024).
3. Global positioning objective and numerical properties
The global positioning formulation is motivated by the observation that separate translation averaging is fragile in the presence of outliers, unknown intrinsics, and degenerate motion. GLOMAP therefore estimates camera positions and points simultaneously from feature tracks, without relying on estimated relative translations. The objective is angle-based and bounded; with optimized depth , the residual for one observation is , where is the angle between the measured bearing and the ray between camera center and point 0. Because the cost is bounded in 1, it is less affected by gross outliers than reprojection-error formulations (Pan et al., 2024).
Optimization is carried out with Levenberg-Marquardt in Ceres Solver, with random initialization for all parameters. The reported implementation down-weights feature tracks for cameras with unknown intrinsics to reduce the influence of biased camera rays. A notable empirical claim is that this bilinear structure converges well from random initialization, unlike standard multiview bundle adjustment with reprojection errors. In later work, GLOMAP’s global positioning is summarized as
2
with 3 for 3D points, 4 for camera centers, 5 for scale along the pixel ray, 6 for the observation direction, and 7 instantiated as Huber loss (Zhong et al., 15 Oct 2025).
4. Gravity-aligned rotation averaging
A major extension of GLOMAP is the incorporation of gravity into rotation averaging through circular regression. Modern imaging devices such as smartphones, drones, and mixed-reality devices routinely record gravity direction via IMUs. If gravity direction 8 is known for camera 9, the absolute rotation can be written as
0
where 1 aligns gravity to the world vertical axis and 2 is a rotation about gravity by an unknown yaw 3. After alignment, the pairwise constraint reduces to
4
so only the yaw difference remains unknown. The robust objective becomes
5
where 6 handles the 7 wrap-around ambiguity (Pan et al., 2024).
The optimization alternates between assigning the wrap parameter 8 and solving for 9 as a robust linear least-squares problem. The method is rooted in circular regression and is reported to have convergence guarantees similar to linear regression. It supports partial gravity availability: cameras with gravity use the 1-DoF formulation, cameras without gravity use standard 3-DoF axis-angle rotation averaging, and mixed edges are handled in a stratified solve. GLOMAP also proposes a refinement mechanism for error-prone gravity by detecting suspect gravity readings from residual patterns and aggregating neighbor-based estimates with a robust loss. The computational effect is a substantial reduction in problem size: one degree of freedom per camera rather than three, scalar equations per edge, and convergence in only a handful of iterations, about five on real-world graphs (Pan et al., 2024).
5. Empirical behavior
Reported evaluations span calibrated sequential data, uncalibrated internet images, AR/VR scenes, autonomous driving, MAV data, and large-scale photo collections. On ETH3D SLAM, the reported metrics are [email protected], [email protected], [email protected], and runtime. GLOMAP attains 66.4, 57.0, 65.7, and 133.5 s, respectively, compared with COLMAP’s 57.9, 47.6, 57.9, and 1115.4 s. On IMC 2023, GLOMAP reports AUC@0 of 69.6 in 497.3 s, compared with COLMAP’s 65.3 in 4051.0 s. The paper further states that on MIP360 GLOMAP is on par with COLMAP and clearly superior to OpenMVG and Theia, while on Strecha it achieves accuracy close to COLMAP and better than translation-averaging-based methods (Pan et al., 2024).
| Benchmark | Reported result | Context |
|---|---|---|
| ETH3D SLAM | 66.4 / 57.0 / 65.7 / 133.5 s | [email protected] / [email protected] / [email protected] / time |
| IMC 2023 | 69.6 / 497.3 s | AUC@1 / time |
| Gravity-aligned variant | +13 AUC@2 points, eight times faster | Average improvement over the SfM baseline |
| Gravity-aligned variant | +23 AUC@3 points | Improvement over standard planar PGO |
The gravity-aligned extension reports state-of-the-art accuracy on four large-scale datasets and specific AUC@4 gains on EuRoC, KITTI, LaMAR, and 1DSfM. It is described as outperforming or matching learning-based rotation averaging methods such as PoGO-Net and NeuRoRA, and as outperforming traditional SLAM systems including ORB-SLAM2/3 and VINS-Fusion in orientation accuracy on available sequences. A recurring empirical theme is that GLOMAP narrows or removes the historical gap between global and incremental SfM in both accuracy and robustness while preserving the scalability advantages of the global formulation (Pan et al., 2024).
6. Subsequent role in the literature and terminological ambiguity
Subsequent SfM systems treat GLOMAP as a major reference point for large-scale global reconstruction. InstantSfM characterizes COLMAP and its follow-up work, GLOMAP, as state-of-the-art traditional SfM systems, but argues that naive CPU-specialized implementations of bundle adjustment and global positioning introduce significant computational overhead in large-scale scenarios and that the efficient C++-based implementations come with limited flexibility for external optimization options. Its own contribution is framed as a fully sparse, parallel alternative to these design constraints (Zhong et al., 15 Oct 2025). FastMap similarly presents GLOMAP as a high-precision global SfM method, but identifies poor parallelization and computationally expensive optimization steps as the two key factors limiting scalability when the number of matched keypoint pairs becomes large (Li et al., 7 May 2025).
The name also has a separate usage outside SfM. “GLoMAP” in “Inductive Global and Local Manifold Approximation and Projection” denotes a manifold-learning method for nonlinear dimensional reduction and visualization, with an inductive extension iGLoMAP for unseen data. That method preserves locally and globally meaningful distance estimates in embeddings and is unrelated to camera-pose estimation or 3D reconstruction. In technical writing, the context therefore determines whether GLOMAP refers to global SfM or to manifold approximation and projection (Kim et al., 2024).