Papers
Topics
Authors
Recent
Search
2000 character limit reached

SplatHLoc: Hierarchical Gaussian Localization

Updated 4 July 2026
  • SplatHLoc is a visual localization paradigm that replaces SfM point clouds with continuous, renderable Gaussian maps for unified feature representation.
  • It integrates adaptive retrieval, virtual view synthesis, and hybrid coarse-to-fine matching to achieve precise 2D–3D pose recovery.
  • Empirical evaluations demonstrate superior accuracy and efficiency over traditional pipelines, proving effective in both indoor and outdoor environments.

SplatHLoc denotes a splat-based form of hierarchical visual localization and relocalization in which the scene is represented by Gaussian primitives rather than an SfM point cloud. In its broad sense, it refers to an HLoc-like pipeline that preserves global retrieval, local geometric verification, and PnP-based pose recovery, but replaces sparse points and stored per-point descriptors with a renderable Gaussian map that can support localization and view synthesis within a unified representation. This interpretation is already explicit in the description of SplatLoc, which states that its hierarchical 3DGS-based pipeline is “precisely what one would call ‘SplatHLoc’,” and it becomes a named framework in the later Feature Gaussian Splatting formulation of hierarchical visual relocalization with adaptive nearest-view synthesis and hybrid matching (Zhai et al., 2024, Tao et al., 31 Mar 2026).

1. Conceptual origin and relation to HLoc

Hierarchical localization classically proceeds by retrieving candidate database images, establishing local matches, producing 2D–3D correspondences against an SfM model, and estimating pose with PnP+RANSAC. The motivation for SplatHLoc is that point-based hierarchical pipelines are efficient and geometrically well constrained, but they depend on sparse image observations and cannot natively support high-quality novel-view rendering. Conversely, NeRF-style approaches can render but are slow to train and render, and point-based neural maps with stored descriptors can incur large memory footprints (Zhai et al., 2024, Tao et al., 31 Mar 2026).

Within that context, SplatLoc and SplatHLoc occupy two closely related positions. SplatLoc is a 3D Gaussian Splatting-based visual localization method for augmented reality that builds a compact splat map, learns unbiased scene-specific 3D descriptors on demand, selects salient 3D landmarks, and performs 2D–3D matching followed by PnP+RANSAC. The later SplatHLoc framework formalizes hierarchical visual relocalization on top of Feature Gaussian Splatting, adding adaptive nearest-view synthesis and a hybrid coarse-to-fine matcher that exploits a distinction between Gaussian-rendered features and image-extracted fine features (Zhai et al., 2024, Tao et al., 31 Mar 2026).

Aspect SplatLoc SplatHLoc
Scene map 3DGS with on-demand 3D descriptor decoder FGS rendering color, depth, and features
Retrieval NetVLAD reference retrieval MixVPR retrieval plus adaptive virtual-view synthesis
Local verification 2D query descriptors to 3D splat descriptors Coarse rendered-feature matching, then fine semi-dense image matching

A common simplification is to treat SplatHLoc as merely HLoc with a rendered database. That is incomplete. The 2026 formulation replaces sparse point visibility with a continuous renderable feature field and uses synthesized virtual candidates when the original database lacks a nearby viewpoint. The 2024 precursor is likewise not only a rendering system; it performs direct 2D–3D matching to splat-anchored descriptors decoded from 3D positions rather than storing a descriptor vector for every primitive (Zhai et al., 2024, Tao et al., 31 Mar 2026).

2. Scene representations and feature parameterization

The 2026 framework is built on Feature Gaussian Splatting (FGS). Each Gaussian primitive ii has a 3D center xi∈R3x_i \in \mathbb{R}^3, rotation quaternion qi∈R4q_i \in \mathbb{R}^4, anisotropic scale si∈R3s_i \in \mathbb{R}^3, opacity αi∈R\alpha_i \in \mathbb{R}, color ci∈R3c_i \in \mathbb{R}^3, and feature fi∈Rdf_i \in \mathbb{R}^d, with d=64d=64 during training and decoding to C=256C=256. Projection follows the pinhole model

u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),

with xi∈R3x_i \in \mathbb{R}^30. The screen-space contribution of splat xi∈R3x_i \in \mathbb{R}^31 at pixel xi∈R3x_i \in \mathbb{R}^32 is

xi∈R3x_i \in \mathbb{R}^33

and normalized compositing yields

xi∈R3x_i \in \mathbb{R}^34

Depth is rendered analogously. The implementation uses the efficient rasterization and compositing strategy of 3DGS via gsplat, including tile-based splat binning and front-to-back alpha compositing (Tao et al., 31 Mar 2026).

FGS is trained jointly for color and dense features. A SuperPoint encoder xi∈R3x_i \in \mathbb{R}^35 produces dense image features xi∈R3x_i \in \mathbb{R}^36. The FGS map renders low-dimensional features xi∈R3x_i \in \mathbb{R}^37 with xi∈R3x_i \in \mathbb{R}^38, and a scene-specific xi∈R3x_i \in \mathbb{R}^39 convolutional decoder qi∈R4q_i \in \mathbb{R}^40 upsamples them to qi∈R4q_i \in \mathbb{R}^41. The loss is

qi∈R4q_i \in \mathbb{R}^42

with

qi∈R4q_i \in \mathbb{R}^43

where qi∈R4q_i \in \mathbb{R}^44 and qi∈R4q_i \in \mathbb{R}^45 (Tao et al., 31 Mar 2026).

The 2024 precursor uses a different feature construction strategy. Instead of storing per-primitive descriptors, SplatLoc first lifts SuperPoint features from multiple posed views into a TSDF-aligned 3D volume qi∈R4q_i \in \mathbb{R}^46, then learns a multi-resolution hash-grid encoding and a small MLP qi∈R4q_i \in \mathbb{R}^47 such that

qi∈R4q_i \in \mathbb{R}^48

defining a scene-specific function qi∈R4q_i \in \mathbb{R}^49. Its “unbiased” designation is tied to the supervision mechanism: the decoder is trained against a lifted 3D feature field on sampled surface points, thereby avoiding alpha-blended supervision that would otherwise bias 3D descriptors toward explaining blended 2D observations rather than precise 2D–3D correspondences (Zhai et al., 2024).

This distinction is significant. FGS renders dense, multi-view consistent feature maps directly for hierarchical relocalization, whereas SplatLoc predicts descriptors at 3D locations for direct 2D–3D matching. Both strategies exploit the compactness and rasterization-friendliness of Gaussian splats, but they operationalize the feature layer differently.

3. Adaptive retrieval and nearest-view synthesis

SplatHLoc’s retrieval stage is designed around the observation that database images may be unevenly distributed, so the nearest retrieved image can still be too far from the query viewpoint to yield sufficient inlier geometry. The online pipeline therefore begins with coarse retrieval, followed by conditional virtual-view synthesis when geometric verification indicates that viewpoint support is inadequate (Tao et al., 31 Mar 2026).

The coarse stage computes a global descriptor si∈R3s_i \in \mathbb{R}^30 using MixVPR, retrieves the top-si∈R3s_i \in \mathbb{R}^31 database images, and runs geometric verification with SuperPoint + LightGlue. Candidates are scored by geometric-verification inlier count,

si∈R3s_i \in \mathbb{R}^32

and the best coarse pose is

si∈R3s_i \in \mathbb{R}^33

To reduce redundancy, geometric verification is performed only on every 10th coarse-retrieved image. If the best inlier count si∈R3s_i \in \mathbb{R}^34 is below the threshold si∈R3s_i \in \mathbb{R}^35, SplatHLoc samples perturbed poses around the best coarse candidate, renders si∈R3s_i \in \mathbb{R}^36 virtual RGB frames from the FGS map, builds a temporary retrieval database from them, retrieves the top-si∈R3s_i \in \mathbb{R}^37 virtual candidates, and re-runs geometric verification to pick the nearest view (Tao et al., 31 Mar 2026).

The default hyperparameters are si∈R3s_i \in \mathbb{R}^38, si∈R3s_i \in \mathbb{R}^39 indoor and αi∈R\alpha_i \in \mathbb{R}0 outdoor, αi∈R\alpha_i \in \mathbb{R}1, perturbation range αi∈R\alpha_i \in \mathbb{R}2, and translation range αi∈R\alpha_i \in \mathbb{R}3 m indoor and αi∈R\alpha_i \in \mathbb{R}4 m outdoor. The inlier thresholds are αi∈R\alpha_i \in \mathbb{R}5 indoor and αi∈R\alpha_i \in \mathbb{R}6 outdoor. On the Stairs scene, Normal or Random perturbations outperform Uniform, and αi∈R\alpha_i \in \mathbb{R}7–αi∈R\alpha_i \in \mathbb{R}8 balances recall and runtime (Tao et al., 31 Mar 2026).

This stage differentiates SplatHLoc from both classical HLoc and pre-rendered view augmentation. The rendered candidates are query-adaptive rather than fixed. That avoids the storage and search overhead associated with augmenting the database with large numbers of pre-rendered keyframes, while directly addressing large viewpoint gaps.

4. Hybrid coarse-to-fine matching and pose recovery

A central design observation in SplatHLoc is that Gaussian-rendered features and image-extracted features have different strengths. Rendered features are stronger for coarse, patch-level alignment because they encode multi-view information and avoid re-extracting descriptors from rendered RGB, whereas image-extracted features from a semi-dense or dense matcher are stronger for fine, pixel-accurate alignment. The method therefore uses a hybrid matcher rather than a single modality throughout (Tao et al., 31 Mar 2026).

In the coarse stage, the query encoder produces αi∈R\alpha_i \in \mathbb{R}9 at reduced resolution ci∈R3c_i \in \mathbb{R}^30, and the selected real or virtual reference view provides a rendered feature map ci∈R3c_i \in \mathbb{R}^31 on the same grid. Similarity is computed as

ci∈R3c_i \in \mathbb{R}^32

followed by directional softmaxes

ci∈R3c_i \in \mathbb{R}^33

with mutual-nearest-neighbor filtering and threshold ci∈R3c_i \in \mathbb{R}^34. In the fine stage, JamMa extracts semi-dense fine features from the query image ci∈R3c_i \in \mathbb{R}^35 and the rendered RGB image ci∈R3c_i \in \mathbb{R}^36 at resolution ci∈R3c_i \in \mathbb{R}^37. For each coarse match, SplatHLoc crops local ci∈R3c_i \in \mathbb{R}^38 windows, computes local correlations, and applies JamMa’s decoder with MNN and sub-pixel refinement to obtain refined 2D–2D correspondences ci∈R3c_i \in \mathbb{R}^39 (Tao et al., 31 Mar 2026).

Pose recovery lifts the 2D–2D matches to 2D–3D using rendered depth: fi∈Rdf_i \in \mathbb{R}^d0 An initial pose is then estimated with PoseLib EPnP in RANSAC, followed by robust nonlinear refinement on inliers: fi∈Rdf_i \in \mathbb{R}^d1 SplatHLoc iteratively re-renders from the current estimate, repeats hybrid matching and PnP, and runs fi∈Rdf_i \in \mathbb{R}^d2 iterations for indoor datasets and fi∈Rdf_i \in \mathbb{R}^d3 for outdoor datasets, with early stopping if pose updates are small or inlier counts saturate (Tao et al., 31 Mar 2026).

The precursor SplatLoc uses a different local stage. Query SuperPoint descriptors fi∈Rdf_i \in \mathbb{R}^d4 are matched directly to decoded 3D Gaussian descriptors fi∈Rdf_i \in \mathbb{R}^d5, optionally with mutual consistency or a ratio test, and pose is estimated with RANSAC+PnP using the weighted reprojection objective

fi∈Rdf_i \in \mathbb{R}^d6

That formulation is closer to classical hierarchical 2D–3D localization, whereas the 2026 framework inserts a rendered-reference 2D–2D stage before lifting matches to 3D (Zhai et al., 2024).

5. Training protocol, efficiency, and empirical performance

SplatHLoc trains its FGS map from training images by first building an SfM model to initialize 3D Gaussians and then optimizing the FGS representation for fi∈Rdf_i \in \mathbb{R}^d7k steps with learning rate fi∈Rdf_i \in \mathbb{R}^d8, SuperPoint features with fi∈Rdf_i \in \mathbb{R}^d9, rendered feature channels d=64d=640, and a d=64d=641 convolutional decoder. The implementation follows 3DGS-style splat learning in gsplat, and sky or dynamic regions are masked for Cambridge (Tao et al., 31 Mar 2026).

The efficiency claims are quantitative. On Chess, the reported map size is d=64d=642 MB for SplatHLoc versus d=64d=643 MB for STDLoc; mapping time is approximately d=64d=644 min versus approximately d=64d=645 min; and peak GPU memory is approximately d=64d=646 GB versus approximately d=64d=647 GB. On 7-Scenes, with both methods using four refinement rounds, SplatHLoc’s iterative refinement is nearly d=64d=648 faster than STDLoc because it renders low-dimensional features and performs fine matching at half resolution. Initialization time is reported as comparable, and SplatHLoc avoids training scene-specific detectors or sampling Gaussian spheres (Tao et al., 31 Mar 2026).

The reported rendering fidelity is dataset dependent but operationally sufficient for retrieval and matching. Indoor PSNR is approximately d=64d=649–C=256C=2560 dB; outdoor PSNR is approximately C=256C=2561–C=256C=2562 dB. The paper explicitly notes that this is sufficient for retrieval and matching despite challenging outdoor illumination (Tao et al., 31 Mar 2026).

Across standard benchmarks, SplatHLoc reports the following main results. On 7-Scenes, HLoc/SP+SG achieves C=256C=2563 cm/deg, SplatHLocC=256C=2564 achieves C=256C=2565, RAPref reports C=256C=2566, LoGS/STDLoc report C=256C=2567, and SplatHLoc reaches C=256C=2568, which is the best overall average. Per-scene bests include C=256C=2569 on Chess, u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),0 on Heads, and u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),1 on Stairs. On 12-Scenes, SplatHLoc reports u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),2 with u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),3; ACE+GS-CPR reports u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),4 with u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),5, and DSAC* reports u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),6 with u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),7. On Cambridge Landmarks, SplatHLoc reports average u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),8 cm/deg, improving over LoGS at u^=π(K,T,X)=Π(K[R∣t]X),\hat{u} = \pi(K, T, X) = \Pi(K [R|t] X),9 and STDLoc at xi∈R3x_i \in \mathbb{R}^300, with per-scene values of Court xi∈R3x_i \in \mathbb{R}^301, College xi∈R3x_i \in \mathbb{R}^302, Hospital xi∈R3x_i \in \mathbb{R}^303, Shop xi∈R3x_i \in \mathbb{R}^304, and Church xi∈R3x_i \in \mathbb{R}^305 (Tao et al., 31 Mar 2026).

The ablation evidence isolates the two core contributions. On Stairs, a baseline using MixVPR + SuperPoint + LightGlue yields xi∈R3x_i \in \mathbb{R}^306 and xi∈R3x_i \in \mathbb{R}^307. Adding adaptive retrieval changes this to xi∈R3x_i \in \mathbb{R}^308 and xi∈R3x_i \in \mathbb{R}^309 xi∈R3x_i \in \mathbb{R}^310. Hybrid matching alone gives xi∈R3x_i \in \mathbb{R}^311 and xi∈R3x_i \in \mathbb{R}^312. Combining both yields xi∈R3x_i \in \mathbb{R}^313 and xi∈R3x_i \in \mathbb{R}^314, a xi∈R3x_i \in \mathbb{R}^315 improvement over the baseline. In the matching ablation, the FGS-only matcher obtains xi∈R3x_i \in \mathbb{R}^316 and xi∈R3x_i \in \mathbb{R}^317, while replacing only the fine stage with JamMa improves this to xi∈R3x_i \in \mathbb{R}^318 and xi∈R3x_i \in \mathbb{R}^319; replacing the fine stage with ELoFTR gives xi∈R3x_i \in \mathbb{R}^320 and xi∈R3x_i \in \mathbb{R}^321 (Tao et al., 31 Mar 2026).

6. Precursor mechanisms, limitations, and research directions

The term SplatHLoc is also useful for understanding SplatLoc as a precursor architecture. SplatLoc builds a 3DGS map for both rendering and localization, trains an unbiased scene-specific descriptor decoder, selects a small subset of salient landmarks, and localizes by matching 2D image descriptors to 3D descriptors on splats followed by PnP+RANSAC. Its landmark-selection score is

xi∈R3x_i \in \mathbb{R}^322

where xi∈R3x_i \in \mathbb{R}^323 is the learned landmark probability, xi∈R3x_i \in \mathbb{R}^324 is a max viewing-baseline angle across training views, and xi∈R3x_i \in \mathbb{R}^325 is a geometry-consistency term derived from multi-view distances to observed surface points. Selection uses a greedy, saliency-aware farthest-point-like algorithm to produce a spatially dispersed set of high-quality landmarks. For key Gaussians, SplatLoc also freezes positions and applies the regularizer

xi∈R3x_i \in \mathbb{R}^326

which limits anisotropy and center drift. Empirically, this reduces median pose error by about xi∈R3x_i \in \mathbb{R}^327 cm and xi∈R3x_i \in \mathbb{R}^328 on selected Replica scenes (Zhai et al., 2024).

SplatLoc’s efficiency and rendering results explain why it serves as a conceptual antecedent. On 12-Scenes “manolis,” it reports xi∈R3x_i \in \mathbb{R}^329 minutes training, a xi∈R3x_i \in \mathbb{R}^330 MB model, and xi∈R3x_i \in \mathbb{R}^331 FPS rendering at xi∈R3x_i \in \mathbb{R}^332, whereas PNeRFLoc reports xi∈R3x_i \in \mathbb{R}^333 hour, xi∈R3x_i \in \mathbb{R}^334 MB, and xi∈R3x_i \in \mathbb{R}^335 FPS. On Replica novel-view rendering, average PSNR/SSIM/LPIPS across eight scenes are xi∈R3x_i \in \mathbb{R}^336 for SplatLoc versus xi∈R3x_i \in \mathbb{R}^337 for PNeRFLoc. For localization, SplatLoc achieves best or comparable results in xi∈R3x_i \in \mathbb{R}^338 scenes of 12-Scenes with xi∈R3x_i \in \mathbb{R}^339 cm and xi∈R3x_i \in \mathbb{R}^340 median errors, and on Replica it outperforms PNeRFLoc scene by scene, for example xi∈R3x_i \in \mathbb{R}^341 versus xi∈R3x_i \in \mathbb{R}^342 on Room0 and xi∈R3x_i \in \mathbb{R}^343 versus xi∈R3x_i \in \mathbb{R}^344 on Office3 (Zhai et al., 2024).

The limitations of the two systems are partly shared and partly distinct. SplatLoc requires depth or a sparse point cloud to initialize splats and does not handle purely monocular reconstruction without priors; the authors suggest monocular depth such as DepthAnything as future support. Large outdoor scenes challenge memory and scale because they require many splats, and a hierarchical splat representation is suggested as a remedy. As with most feature-based pipelines, performance can degrade under extreme lighting changes, textureless regions, heavy dynamics, or severe occlusions, and localization depends on retrieval quality and descriptor distinctiveness. In SplatHLoc specifically, sparsely observed regions can produce rendering artifacts such as floaters or misfit geometry, repetitive structures can still induce incorrect alignments, and reduced training coverage lowers rendering fidelity, although nearest-view synthesis partially compensates for this in Cambridge (Zhai et al., 2024, Tao et al., 31 Mar 2026).

The future directions identified for SplatHLoc extend the splat-based hierarchical program rather than departing from it. Proposed directions include uncertainty-aware matching and splat covariances for weighting coarse matches, joint learning of features and poses by integrating the refinement loop into training, multi-scale or hierarchical splats, improved Gaussian initialization via large-scale 3D reconstruction foundation models, and block-wise partitioning for very large maps. Taken together with the earlier SplatLoc formulation, these directions suggest a broader research trajectory: replacing the sparse, static 3D point map in hierarchical localization with a compact, renderable, feature-aware Gaussian scene model that can support retrieval, correspondence generation, pose recovery, and real-time rendering within a single representation (Tao et al., 31 Mar 2026).

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to SplatHLoc.