Learning Scene Coordinate Reconstruction
from Unposed Images via Pose Graph Optimization
Tze Ho Elden Tse1,2 Jizong Peng1 Angela Yao2
1dConstruct Robotics 2National University of Singapore
CVPR 2026 (Highlight)
Camera trajectories on the office loop sequence: COLMAP (PSNR 28.1), ACE-Zero with a drifting, misaligned loop (PSNR 19.1), and ours with a consistent loop (PSNR 25.6).
Even when initialized from (a) COLMAP camera poses, the local refinements of (b) ACE-Zero introduce global inconsistencies. (c) Our hybrid framework integrates pose graph optimization into ACE-Zero, enforcing multi-view consistency and suppressing incorrect refinements. PSNR measures novel view synthesis quality.

Abstract

Learning-based structure-from-motion methods such as ACE-Zero have demonstrated strong performance in estimating camera poses and scene coordinates from unordered image collections without requiring ground truth supervision. However, the lack of global and multi-view consistency constraints in ACE-Zero can lead to pose drift and misalignment, particularly in complex or ambiguous scenes. In this work, we propose a hybrid framework that integrates pose graph optimization (PGO) into ACE-Zero to refine camera poses and suppress incorrect refinements. We construct pose graphs directly from ACE-Zero outputs by extracting relative pose constraints from predicted scene coordinates. Furthermore, we introduce an uncertainty-aware optimization strategy by estimating confidence scores using geometric priors, including epipolar and optical flow consistencies across views. Our approach improves the robustness and accuracy of pose estimation, demonstrating that global geometric reasoning can effectively complement learning-based inference in structure-from-motion.


Method

ACE-Zero reconstructs a scene from unposed images by alternating between training a scene coordinate regressor and registering and refining camera poses. Its pose refinement is local: each pose is updated from information in its own image only, so errors can accumulate into drift. We add a global step to every ACE-Zero iteration.

  1. Pose graph from predicted scene coordinates. ACE-Zero provides no pairwise constraints, so we derive them from its own predictions. For an image pair, each scene coordinate predicted in one image is projected into the other; if the scene coordinate predicted at that pixel lies within a threshold τ of the original point, the pixel pair is kept as a match. A relative pose is estimated from these matches with PnP and RANSAC and becomes an edge of the pose graph.
  2. Uncertainty-aware edges. Scene coordinate predictions are noisy and come without uncertainty estimates. We score matches with two unsupervised geometric priors: the epipolar error, the distance of a reprojected point to its epipolar line, and the optical flow error, the distance between the reprojected point and the location predicted by RAFT optical flow. Their weighted sum, σ = α1eepi + α2eflow, is aggregated per edge and sets its information matrix Ω = I / (σ2 + ε), so unreliable constraints have less influence.
  3. Progressive global optimization. The weighted pose graph is optimized with Levenberg–Marquardt and a Huber loss at every ACE-Zero iteration, and the refined poses carry into the next iteration. The consistency threshold τ is tightened from 0.2 m to 0.05 m as the predictions improve.
Five views of the same scene with reprojected points and epipolar lines under increasing rotation and translation perturbations; the error values are 27, 62, 89, 38 and 81.
Epipolar uncertainty. Reprojected points and their epipolar lines, color-coded by error (green = low, red = high). Errors are low without perturbation (a) and grow with rotation perturbations (b, c). Adding translation perturbations (d, e) can reduce the error, so epipolar error is sensitive to interactions between pose components. We therefore treat it as a heuristic confidence indicator rather than a strict geometric validator.
An input image, its predicted optical flow field, and dense correspondences drawn between the image pair.
Optical flow uncertainty. (a) One image from the input pair. (b) Predicted flow, where similar colors indicate similar motion directions. (c) Correspondences overlaid on the image pair: optical flow provides robust pixel-level matches between views, complementing the global epipolar check with local consistency.

The PGO step takes about 30 s per iteration, compared to about 150 s for an ACE-Zero iteration, but it roughly halves the number of iterations needed, so a full reconstruction takes less time than ACE-Zero.


Results

We follow ACE-Zero and measure pose quality by novel view synthesis: each method's poses are used to train a Nerfacto model, and PSNR is computed on held-out views. COLMAP poses serve as the pseudo ground truth reference.

Average PSNR (dB) ↑ COLMAP ACE-Zero Ours
7-Scenes21.221.221.7
Mip-NeRF 36024.722.924.3
Tanks and Temples, short (150–500 images)
Training19.917.818.4
Intermediate18.818.318.8
Advanced17.314.516.8
Tanks and Temples, long (4k–22k images)
Training19.819.319.7
Intermediate19.919.620.3
Advanced14.516.117.6

Bold marks the best result excluding COLMAP. COLMAP uses its default settings, except on the long Tanks and Temples videos, where it uses the settings recommended for large collections (on 7-Scenes these reach 21.8 dB). The paper reports per-scene results, VGGT-SLAM and DROID-SLAM baselines, and reconstruction times.

Novel view renderings of four scenes from ground truth, VGGT-SLAM, ACE-Zero and our method.
Qualitative comparison on Mip-NeRF 360 (top two rows) and Tanks and Temples (bottom two rows) against VGGT-SLAM and ACE-Zero. ACE-Zero performs well on small-scale scenes such as Mip-NeRF 360 but struggles in large, complex environments like Tanks and Temples, where our method maintains high rendering quality.

Office loop

Office loop trajectories: COLMAP (PSNR 28.1), ACE-Zero (19.1), ours (25.6), ACE-Zero without warm start (15.6) and VGGT-SLAM (17.1).
Trajectories on the 473-frame office loop video. (d) ACE-Zero fails without COLMAP initialization, and (e) VGGT-SLAM performs loop closure but its low PSNR indicates inaccurate poses.
Novel view renderings of five office views from ground truth, COLMAP, ACE-Zero without warm start, ACE-Zero, VGGT-SLAM and our method.
Novel view renderings on the office loop. ACE-Zero, even when initialized with COLMAP poses, produces artifacts and blur, while our method consistently delivers high-fidelity renderings.

Ablations

Bar chart of PSNR on 7-Scenes and Mip-NeRF 360 as components are added: vanilla PGO without graph 12.6 and 13.8, with graph 18.5 and 21.0, plus epipolar 19.5 and 22.0, plus optical flow 20.8 and 23.2, full PGO once 20.5 and 23.5, full progressive 21.7 and 24.3.
Design components. Vanilla PGO without our graph construction performs poorly due to unreliable edges. Graph construction improves accuracy by more than 5 dB, epipolar uncertainty adds moderate gains, and optical flow further improves robustness. Applying PGO once at the end underperforms progressive integration at every iteration.
Line plot of PSNR against the consistency threshold tau of 0.05, 0.1 and 0.2 meters, peaking at 0.1, with progressive tau higher on both datasets.
Consistency threshold τ. Among fixed values, τ = 0.1 m balances accuracy and graph connectivity, while 0.2 m admits noisy matches. The progressive schedule (stars) performs best.
Line plot of PSNR against training set size of 25, 50 and 75 percent on Mip-NeRF 360 and Tanks and Temples, with our method above ACE-Zero at every size.
Fewer input images. Our method is more robust than ACE-Zero to limited training data on both Mip-NeRF 360 and Tanks and Temples (corrected version from the supplementary material).

Code

The code builds on ACE-Zero. The paper's results were produced with an internal pose graph optimizer that cannot be released, so the repository provides a re-implementation based on GTSAM, together with an extended pipeline and scripts to reproduce its results. It is distributed under the ACE-Zero license for non-commercial use.


Paper and Supplementary Material

First page of the paper
T. H. E. Tse, J. Peng, A. Yao.
Learning Scene Coordinate Reconstruction from Unposed Images via Pose Graph Optimization.
In CVPR, 2026.
(CVF Open Access, supplementary, conference page)

BibTeX

@InProceedings{Tse_2026_CVPR,
    author    = {Tse, Tze Ho Elden and Peng, Jizong and Yao, Angela},
    title     = {Learning Scene Coordinate Reconstruction from Unposed Images via Pose Graph Optimization},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2026},
    pages     = {21816-21825}
}

[bibtex.txt]


Acknowledgements

This work builds on ACE-Zero by Brachmann et al. This template was originally made by Phillip Isola and Richard Zhang for a colorful ECCV project; the code can be found here.