---
title: 'GroundLoc: LiDAR-Only Outdoor Localization'
url: https://www.emergentmind.com/topics/groundloc
type: topic
---

# GroundLoc: LiDAR-Only Outdoor Localization

GroundLoc is a **LiDAR-only localization pipeline** for **large-scale outdoor environments** that localizes a mobile robot against **prior maps** by converting LiDAR scans into **Bird’s-Eye View (BEV) images** focused on the **perceived ground area**, then registering those BEV images to a compact raster map using **R2D2**, or alternatively **SIFT**, as the feature front end. It estimates a **3-DOF** planar pose correction, is intended for settings in which **GNSS may fail**, visual localization may be unreliable, and dense 3D prior maps are costly to store and process, and stores prior maps as **2D raster image maps** requiring only about **4 MB of storage per square kilometer** on average [2510.24623].

## 1. System definition and localization regime

GroundLoc addresses **prior-map localization** rather than SLAM. Its operating assumption is that a **prior BEV map** already exists, and that online LiDAR point clouds together with an odometric estimate can be corrected against that map. The method is explicitly **LiDAR-only**, and its output is a planar localization estimate in terms of **\(x\), \(y\), and yaw** rather than a full 6-DOF pose [2510.24623].

The motivating failure modes are conventional in large-scale outdoor localization: **GNSS can fail** in tunnels, parking garages, highways, and urban canyons; **visual methods** often depend on stable appearance and rich vertical structure; **feature-based 3D LiDAR methods** often rely on poles, walls, corners, or other vertical structures that may be sparse or repetitive; **dense 3D prior maps** are expensive to store and register against at scale. GroundLoc responds by reformulating localization as **ground-focused BEV image registration**. The ground is nearly always observed by a vehicle-mounted LiDAR, using **ground-only points** suppresses contamination from moving vehicles and pedestrians, and roads, curbs, lane markings, slope changes, and terrain roughness provide repeatable localization cues [2510.24623].

This focus on the ground area also defines the geometric scope of the method. GroundLoc is a **3-DOF** system, and for sensors without full \(360^\circ\) coverage it may require **planar projection of odometry** because pitch drift can otherwise corrupt BEV alignment. The method is therefore most naturally situated in the class of outdoor ground-vehicle localization systems that require robust planar correction over long traversals and across sessions [2510.24623].

## 2. BEV map representation and ground-focused image formation

A central design choice in GroundLoc is the use of **3-channel, 8-bit BEV raster maps** at **33 cm per pixel**, stored as **GeoTIFF with ZSTD compression**. The representation is deliberately compact: on average, GroundLoc maps occupy about **4.09 MB/km\(^2\)** for **Ouster OS2-128**, compared with **33.75 MB/km\(^2\)** for the **Fingerprint** baseline, **15.32 MB/km\(^2\)** for voxelized prior point-cloud maps for ICP, and roughly **55.4 GB/km\(^2\)** for raw point clouds [2510.24623].

GroundLoc generates these BEV images from **GroundGrid**, which performs **ground segmentation** and **terrain estimation** and yields a local 2D elevation representation together with a pointwise ground/non-ground partition. GroundGrid is a deterministic, non-learning LiDAR method that maintains a temporally fused local terrain map, explicitly filters points that are likely impossible observations below the ground, and was designed for robust ground estimation under slopes, curbs, non-continuous level changes, and sparse distant returns [2405.15664].

The three BEV channels are **intensity**, **slope**, and **z-height variance**. They are constructed from the GroundGrid grid map \(G^f\) and the sensor-centered BEV \(B^f\) as follows [2510.24623]:

| Channel | Definition | Role |
|---|---|---|
| Intensity | \(B^f_I(u,v)=G^f_I(u,v)\cdot I_c\) | Reflectivity cue |
| Slope | \(B^f_S(u,v)=\min \{G^k_S(u,v)\mid G^k_S(u,v)\neq 0; k=1,2,\dots,f\}\cdot S_c\) | Terrain inclination cue |
| Variance | \(B^f_V(u,v)=G^f_V\cdot V_c\) | Roughness and static vertical structure cue |

The single-observation slope term is defined by
\[
G^f_S(u,v)=1-\frac{N_z(u,v)}{|\vec N(u,v)|},
\]
where \(\vec N(u,v)\) is the estimated surface normal at cell \((u,v)\) and \(N_z(u,v)\) is its z-component. GroundLoc computes this only for cells with **GroundGrid ground confidence \(>0.5\)**; otherwise \(G^f_S(u,v)=0\). The use of the **minimum over time** for slope, rather than averaging, is intended to further reduce noise from dynamic obstacles [2510.24623].

The accumulation strategy is asymmetric across channels. **Intensity** and **variance** are accumulated as a **weighted average based on ground point count**, whereas **slope** uses the minimum value. This choice reflects the claim that ground-confidence thresholding already acts as a quality filter for the slope channel, while point-count weighting is useful for stabilizing intensity and variance under LiDAR sparsity [2510.24623].

## 3. Prior-map construction and online localization pipeline

GroundLoc prior maps can be created from a **single drive**. Map creation requires stored LiDAR point clouds from the mapping run and **ground truth poses** for each frame. For each frame, GroundLoc creates the BEV image at its true pose, projects it into the global map, and averages BEV observations at corresponding map cells. During this process, the **intensity channel** is weighted by the **inverse of the variance** to suppress noise from moving objects, with inverse variance capped at **1000** so that very small variances from low-point-count cells do not dominate the average [2510.24623].

Online localization proceeds through a fixed sequence of stages: **input LiDAR point cloud**, **GroundGrid ground segmentation and terrain estimation**, **3-channel BEV image generation**, **keypoint and descriptor extraction**, **descriptor matching**, **dynamic positional filtering**, **robust registration with Quatro**, and **application of a damped pose correction** to the odometric estimate [2510.24623].

Descriptor matching is implemented with an **approximate nearest neighbor KD-tree**. The resulting correspondences are then filtered by **positional distance** using a **dynamic search radius** derived from previous match offsets. This exploits temporal continuity to reject implausible matches and reduce the burden on the consensus stage [2510.24623].

For robust BEV-to-map registration, GroundLoc uses **Quatro** with parameters **\(\kappa = 1.39\)** and **\(\overline{c}=0.5\)**. Quatro was selected because it finds a maximum consensus set heuristically, is more resistant to outliers than RANSAC, and remains fast in typical operating conditions. When the number of matching keypoints becomes very large, GroundLoc applies a simple **hysteresis mechanism** that dynamically scales the **maximum allowed feature distance** and **maximum keypoint number**, because Quatro can degrade when there are too many matching keypoints [2510.24623].

The pose correction is not applied in full. To prevent sudden jumps due to occasional false matches, GroundLoc uses damped and capped updates. For the \(x\)-component,
\[
p_x=\max(\min(\gamma o_x, C),-C),
\]
where \(o_x\) is the estimated offset, \(\gamma\) is the dampening factor, and \(C\) is the correction cap. The cap is defined by
\[
C=\frac{|X_{inliers}|\cdot |\vec v|}{f_i},
\]
with \(|X_{inliers}|\) the number of Quatro inliers, \(|\vec v|\) the vehicle speed in m/s, and \(f_i\) a correction factor. The same formulation is used analogously for \(y\) and yaw. The paper uses **\(\gamma=0.3\)**, **\(f_i=15\)** for **R2D2**, and **\(f_i=25\)** for **SIFT** [2510.24623].

## 4. Keypoint front ends: R2D2, SIFT, and sensor adaptation

GroundLoc supports two interchangeable front ends. The preferred learned option is **R2D2**, a compact CNN with fewer than **500K parameters** that performs both **keypoint detection** and **descriptor extraction**. R2D2 identifies keypoints from the **product of repeatability and reliability**. In GroundLoc’s BEV images, repeatability tends to highlight road structure, curbs, and lane markings, while reliability tends to suppress occluded areas, noisy vegetation, and dark or low-texture regions. The alternative, **SIFT**, is a training-free option that is restricted to the **intensity channel** because it operates on grayscale images only [2510.24623].

R2D2 is explicitly trained for LiDAR-BEV localization. Training pairs are generated from BEV images and corresponding map crops using ground-truth poses, with image pairs separated by at least **1 meter** to avoid overrepresenting stationary frames. Augmentations include **random rotation in \([-180^\circ, 180^\circ)\)**, **noise**, **intensity variations**, **brightness changes**, **contrast changes**, and **random cropping** with crop-size parameter **192 px**. For **SemanticKITTI**, the network is trained for **7 epochs** on **KITTI-360** training sequences. For **HeLiPR**, it is trained for **15 epochs** on **MulRan Sejong03**, then fine-tuned for **3 epochs** on **HeLiPR Riverside04** for each sensor, with **learning rate \(0.0001\)**, **weight decay \(0.0005\)**, and **batch size 4** [2510.24623].

The paper reports that GroundLoc accommodates different LiDAR sensors through a combination of **sensor-specific GroundGrid parameters** and **sensor-specific BEV normalization factors**. The normalization factors \((I_c,S_c,V_c)\) are given as follows: **HDL-64E** \((2.670, 0.09, 0.35)\), **OS1-64** \((1.000, 0.10, 0.35)\), **OS2-128** \((0.005, 0.10, 0.35)\), **Aeva Aeries II** \((0.013, 0.10, 0.35)\), and **Livox Avia** \((0.020, 0.09, 0.35)\) [2510.24623].

For sensors without \(360^\circ\) coverage, GroundLoc projects odometry into the plane to suppress pitch-drift artifacts. The projected update is
\[
p^f_{xy}=p^{f-1}_{xy}+\Delta p_{xy}\cdot \frac{|\Delta p_{xyz}|}{|\Delta p_{xy}|},
\]
where \(p^f_{xy}\) is the projected 2D position at frame \(f\), \(p^{f-1}_{xy}\) is the previous 2D position, \(\Delta p_{xyz}\) is the 3D odometry increment, and \(\Delta p_{xy}\) is its planar component [2510.24623].

## 5. Empirical evaluation, datasets, and reported performance

GroundLoc is evaluated on **SemanticKITTI** for **single-session localization** and **HeLiPR** for **multi-session localization** across different LiDAR sensors. The reported metrics are **Average Trajectory Error (ATE)** and **Absolute Rotational Error (ARE)**. Matching quality is also evaluated, with a registration counted as successful if **translation error < 2 m** and **rotation error < \(5^\circ\)** [2510.24623].

On **single-session matching** using **HeLiPR KAIST04**, both front ends perform strongly, but R2D2 is usually slightly stronger. For **Aeva**, **SIFT** reaches **0.69 m / \(1.42^\circ\) / 98.46%**, whereas **R2D2** reaches **0.60 m / \(0.85^\circ\) / 99.33%**. For **Avia**, SIFT gives **0.25 m / \(0.32^\circ\) / 99.70%** and R2D2 gives **0.30 m / \(0.28^\circ\) / 99.80%**. For **Ouster**, SIFT gives **0.51 m / \(0.35^\circ\) / 99.66%** and R2D2 gives **0.43 m / \(0.25^\circ\) / 99.86%** [2510.24623].

On **multi-session matching**, the difference becomes much larger. Using a map from **KAIST06** and queries from **KAIST04** under August-to-January change, **Aeva SIFT** degrades to **11.25 m / \(45.50^\circ\) / 42.78%**, while **Aeva R2D2** reaches **4.41 m / \(17.77^\circ\) / 77.65%**. For **Avia**, SIFT gives **8.05 m / \(35.65^\circ\) / 54.15%**, while R2D2 gives **3.47 m / \(16.02^\circ\) / 81.57%**. For **Ouster**, SIFT gives **2.97 m / \(11.69^\circ\) / 85.10%**, while R2D2 gives **1.87 m / \(5.61^\circ\) / 93.05%**. This suggests that R2D2 is the more robust front end in multi-session and sparse-sensor regimes [2510.24623].

On **SemanticKITTI single-session localization**, GroundLoc attains the best average ATE among the compared methods. **GroundLoc R2D2** reports **\(0.14 \pm 0.03\) m** ATE and **\(0.21 \pm 0.13^\circ\)** ARE; **GroundLoc SIFT** reports **\(0.15 \pm 0.10\) m** and **\(0.24 \pm 0.27^\circ\)**. The corresponding baselines are **KISS-ICP** with **\(1.87 \pm 1.92\) m**, **KISS-SLAM** with **\(1.13 \pm 0.88\) m**, **Prior Map ICP** with **\(0.18 \pm 0.09\) m**, and **Fingerprint** with **\(0.66 \pm 0.79\) m** [2510.24623].

On **HeLiPR multi-session localization**, the strongest headline result is that GroundLoc achieves **ATE well below 50 cm on all Ouster OS2-128 sequences**. With **R2D2**, the reported results are **0.42 / 0.48** on **Roundabout**, **0.40 / 0.46** on **Town**, and **0.39 / 0.41** on **Bridge**, in **ATE / ARE** form. For **Aeva Aeries II**, GroundLoc R2D2 gives **1.03 / 0.61**, **1.17 / 0.81**, and **0.80 / 0.87** across the same three sequences. For **Livox Avia**, GroundLoc R2D2 gives **0.57 / 0.66**, **0.54 / 0.68**, and **0.57 / 1.11**; in contrast, **SIFT** loses tracking on **Avia Bridge** with **60.00 / 2.22** [2510.24623].

The runtime is reported as **more than 14 Hz** in all experiments, with an overall **14–25 Hz** frame-rate range depending on the sensor, on a laptop with **Intel Core i9-13950HX** and **NVIDIA GeForce RTX 4090 Mobile**. Efficiency is attributed to the 2D raster map representation, approximate nearest-neighbor matching, dynamic match filtering, Quatro registration, and the **parallel execution** of **KISS-ICP**, **GroundGrid**, and **BEV registration** [2510.24623].

## 6. Position within ground-centric localization research

GroundLoc belongs to a broader class of **ground-centric localization** methods, but its modality and map representation are specific. A conceptually distinct predecessor is **Micro-GPS**, which performs global localization from a **downward-facing camera** by indexing **ground texture** and using **SIFT**, **PCA-compressed descriptors**, **precise Hough-style voting**, and **RANSAC** on a pre-registered texture map [1710.10687]. GroundLoc, by contrast, is **LiDAR-only**, operates on **3-channel BEV raster maps**, and estimates planar pose by **feature-based BEV image registration** rather than close-range image matching of texture patches [2510.24623].

The system’s ground-centric emphasis is also closely tied to **GroundGrid**, whose terrain estimation and ground segmentation make it possible to construct stable BEV channels from intensity, slope, and variance. This suggests that GroundLoc is not merely a feature-matching front end but a compound design in which **ground modeling** and **localization** are tightly coupled through the BEV representation [2405.15664].

Its limitations are explicit. GroundLoc is **3-DOF only**; it does not estimate pitch, roll, or height. It requires a **prior map**, and map creation requires **ground truth poses** from a high-quality offline process. The paper reports **good location generalization** but **weaker sensor-model generalization**, attributing this to differences in **intensity response** and **scanning patterns**. **SIFT** is notably fragile in difficult multi-session sparse-sensor settings. The authors also note that for some dense Ouster conditions, **Prior Map ICP** can still obtain the best raw accuracy, and that the **multi-session ground truth may itself limit measurable accuracy** on some Ouster sequences [2510.24623].

These constraints place GroundLoc in a specific niche: a **LiDAR-only, map-based, online, ground-focused outdoor localization pipeline** that trades full 6-DOF estimation and dense 3D map registration for compact raster maps, strong multi-session robustness, and broad sensor support. In that niche, it demonstrates that **highly accurate large-scale outdoor localization does not require dense 3D prior maps or a reliance on vertical landmark structure**, provided that the ground area is represented in a sufficiently informative BEV form [2510.24623].

Source: https://www.emergentmind.com/topics/groundloc