ACE-G

Bruns 2025 · Paper

One-line summary — Splits scene coordinate regression into a scene-agnostic cross-attention regressor and a scene-specific “map code”, pre-training the regressor on tens of thousands of scenes with an explicit mapping-to-query objective so relocalization generalizes to query conditions unseen during mapping (ICCV 2025).

Problem

After minutes of scene-specific training, SCR models estimate camera poses of query images with high accuracy — yet they still fall short of the generalization of classical feature-matching approaches. When imaging conditions of query images (lighting, viewpoint) differ too much from the training views, SCR models fail. This is an inherent limitation of previous SCR frameworks: their training objective is to encode the training views in the weights of the coordinate regressor itself, so the regressor overfits to the training views by design.

Method & architecture

ACE consists of a scene-agnostic convolutional image encoder plus a scene-specific MLP head. ACE-G replaces that MLP with a scene-agnostic coordinate regressor fθf_\theta conditioned on a scene-specific map code C={ciRDmap}\mathcal{C} = \{\mathbf{c}_i \in \mathbb{R}^{D_\text{map}}\}:

fθ:RDfeat×P(RDmap)R3,(e,C)y,f_\theta : \mathbb{R}^{D_\text{feat}} \times \mathcal{P}\big(\mathbb{R}^{D_\text{map}}\big) \to \mathbb{R}^3, \qquad (\mathbf{e}, \mathcal{C}) \mapsto \mathbf{y},

where e\mathbf{e} is a patch embedding from a DINOv2 image encoder and y\mathbf{y} the predicted scene coordinate. The regressor is a stack of NN cross-attention-only transformer blocks — patch embeddings act as query tokens, the map embeddings as keys/values (no positional encodings, so the map code is permutation-invariant) — followed by a 2-layer MLP that outputs y\mathbf{y} and a Laplace uncertainty σy\sigma_y.

Mapping/query pre-training. The training set is a collection of tuples of mapping buffers Mi\mathcal{M}_i and disjoint query buffers Qi\mathcal{Q}_i (different viewpoints, lighting, object placement) with ground-truth coordinates. Training alternates two kinds of iterations:

θ,G=argminθ,G  EM[logσ~y+2y~yσ~y]\theta^\ast, \mathcal{G}^\ast = \arg\min_{\theta, \mathcal{G}} \; \mathbb{E}_{\mathcal{M}}\left[ \log\tilde{\sigma}_{y} + \sqrt{2}\,\frac{\lVert \tilde{\mathbf{y}} - \mathbf{y} \rVert}{\tilde{\sigma}_{y}} \right]

The network is updated only in every 10th iteration (map codes in the other 9), and scenes are repeatedly re-mapped from scratch from an active pool to avoid overfitting to particular map codes. Pre-training uses tens of thousands of scans: ScanNet (1201), ScanNet++ (199), ARKitScenes (4520), MapFree (2×400), BlendedMVS (462) and WildRGBD (22359).

New scene mapping. Only a randomly-initialized map code is optimized, minimizing the uncertainty-weighted NLL of the 2D reprojection error logσ~x+2x~x/σ~x\log\tilde{\sigma}_{x} + \sqrt{2}\,\lVert \tilde{\mathbf{x}} - \mathbf{x} \rVert / \tilde{\sigma}_{x} — so no ground-truth 3D is needed at mapping time, and mapping still takes minutes as in ACE.

Relocalization. A single forward pass yields 2D-3D correspondences with uncertainties; correspondences are prefiltered with an adaptive threshold σthresh=fQp(Σ)\sigma_\text{thresh} = f \cdot Q_p(\Sigma) (lowest pp-quantile of uncertainties, p=0.1p{=}0.1, f=2.0f{=}2.0) and passed to PnP + RANSAC — the same output interface as classic SCR.

Results

Why it matters for SLAM

The SCR lineage has been steadily removing deployment costs: DSAC made SCR trainable end-to-end, ACE cut per-scene training to minutes, ACE Zero removed the need for known poses, and ACE-G attacks the remaining weakness — the by-design overfitting of the scene-specific regressor. Generalizable relocalization matters for consumer AR and robotics at fleet scale, where per-scene optimization is operationally expensive. It also parallels the broader Level 5 trend of replacing per-scene optimization with feed-forward inference from large pretrained models.