Papers
Topics
Authors
Recent
Search
2000 character limit reached

EllipseLIO: Adaptive LiDAR-Inertial Odometry

Updated 4 July 2026
  • EllipseLIO is a real-time LiDAR Inertial Odometry approach that adapts scan filtering and ellipsoid-based registration to robustly handle diverse environments.
  • It employs range-adaptive filtering to downsample LiDAR scans based on distance, preserving geometric detail in dense zones while reducing computation in open scenes.
  • The system tightly couples LiDAR data with IMU-driven state estimation and tensor voting for dynamic registration, achieving up to 38% lower APE than competing methods.

EllipseLIO is a real-time LiDAR Inertial Odometry (LIO) approach that generalises between scenarios by using methods for LiDAR scan filtering and registration that adapt to the sensor capabilities and environment without requiring scenario-specific tuning. It is formulated as a tightly coupled system that combines a range-filtered and motion-undistorted LiDAR scan, an iEKF for state estimation, a dynamic iOctree map, and tensor voting to estimate ellipsoids and primitive saliencies. Its defining representation is an ellipsoid attached to each map point, which allows scan-to-map registration to adapt continuously to line-like, plane-like, and ball-like local structure rather than relying on a single fixed ICP-style metric (Border et al., 20 May 2026).

1. Problem setting and design rationale

LiDAR-inertial odometry combines low-rate but geometrically accurate LiDAR structure with high-rate but noisy IMU motion propagation. The central problem addressed by EllipseLIO is that many existing LIO approaches can provide reliable and accurate odometry in scenarios with similar environments and sensors when suitably tuned, but often struggle to retain robust odometry across heterogeneous environments and sensors while using a consistent configuration. The work identifies two specific failure modes of fixed-configuration systems: fixed scan filtering does not generalize, and fixed registration metrics do not generalize (Border et al., 20 May 2026).

The filtering problem arises because LiDAR point spacing grows with range. A uniform voxel size can therefore be too coarse in narrow, dense scenes, causing loss of geometric detail, yet too fine in large open scenes, producing excessive computation and poor spatial distribution relative to beam spacing. The registration problem arises because many ICP-like methods assume planar geometry or use a single error metric. Those assumptions degrade in the presence of poles, vegetation, clutter, weak geometric structure, aerial viewpoints, or widely separated scan lines, leading to poor convergence, drift, or divergence.

EllipseLIO addresses these issues through three adaptive mechanisms: range-based scan filtering, ellipsoid-based scan registration, and adaptive drift correction. The first makes downsampling resolution depend on distance from the sensor. The second associates each map point with a local ellipsoid representing local surface geometry and then chooses the registration metric adaptively based on whether that local structure is line-like, plane-like, or ball-like. The third increases match weights for map points observed long ago, which helps during revisits and accumulated drift correction. This design is intended to avoid scenario-specific tuning while remaining real-time.

2. System architecture and tightly coupled estimation

The pipeline consists of seven stages: LiDAR scan acquisition, range filtering, motion undistortion, state prediction from IMU, scan-to-map registration, state update, and map update plus ellipsoid estimation (Border et al., 20 May 2026). Operationally, the IMU propagates the current state to predict the pose; the filtered scan is undistorted using predicted motion; the scan is registered against the map using geometry-aware ellipsoid metrics; the iEKF updates the state; scan points are fused into the map; and local ellipsoids are recomputed for new and affected map points.

EllipseLIO follows the FAST-LIO iEKF framework. The IMU state in the global frame is

x=[GτI,GRI,GνI,σa,σg,γ],\mathbf{x} = \left[ {}^{G}\boldsymbol{\tau}_{I}, {}^{G}\mathbf{R}_{I}, {}^{G}\boldsymbol{\nu}_{I}, \boldsymbol{\sigma}^{a}, \boldsymbol{\sigma}^{g}, \boldsymbol{\gamma} \right],

where τ\boldsymbol{\tau} is translation, RSO(3)\mathbf{R}\in SO(3) is rotation, ν\boldsymbol{\nu} is linear velocity, σa\boldsymbol{\sigma}^{a} is accelerometer bias, σg\boldsymbol{\sigma}^{g} is gyroscope bias, and γ\boldsymbol{\gamma} is the gravity vector. Predicted and updated states are denoted by x^\widehat{\mathbf{x}} and xˉ\bar{\mathbf{x}}, respectively. The next predicted state is obtained through the FAST-LIO propagation rule using IMU measurements, the time interval Δt\Delta t, the process model τ\boldsymbol{\tau}0, and the manifold operator τ\boldsymbol{\tau}1.

The predicted state has two immediate roles. It initializes scan registration, and it also supports LiDAR motion undistortion. For a point measured at time τ\boldsymbol{\tau}2, the transformation to the scan end time τ\boldsymbol{\tau}3 is

τ\boldsymbol{\tau}4

with τ\boldsymbol{\tau}5, τ\boldsymbol{\tau}6, and τ\boldsymbol{\tau}7 denoting the LiDAR, IMU, and global frames. The work uses the FAST-LIO undistortion method for this stage.

The registration-update loop is iterative. The scan is transformed into global coordinates with the predicted pose, matched against the map, and then incorporated into the iEKF correction step. Iteration stops when the state change drops below a threshold or when registration time exceeds half the LiDAR scan duration. This termination rule is explicitly intended to preserve real-time operation while allowing multiple refinement steps.

3. Range-adaptive filtering and motion compensation

EllipseLIO preprocesses each LiDAR scan by splitting it into 1-meter radial bins. If τ\boldsymbol{\tau}8 denotes the raw scan, then bin τ\boldsymbol{\tau}9 contains points whose range lies between RSO(3)\mathbf{R}\in SO(3)0 and RSO(3)\mathbf{R}\in SO(3)1 meters, up to a maximum range RSO(3)\mathbf{R}\in SO(3)2. The voxel resolution used for bin RSO(3)\mathbf{R}\in SO(3)3 is

RSO(3)\mathbf{R}\in SO(3)4

where RSO(3)\mathbf{R}\in SO(3)5 is the vertical field-of-view of the LiDAR and RSO(3)\mathbf{R}\in SO(3)6 is the number of scan lines (Border et al., 20 May 2026).

This expression is motivated by sensor geometry: it matches the voxel spacing to the vertical spacing of the LiDAR beams at that range, so the filtered cloud has a more uniform geometric sampling. Each bin RSO(3)\mathbf{R}\in SO(3)7 is filtered using an iOctree voxel structure,

RSO(3)\mathbf{R}\in SO(3)8

with RSO(3)\mathbf{R}\in SO(3)9, meaning one point is retained per occupied voxel. The final filtered cloud is the union of the filtered bins,

ν\boldsymbol{\nu}0

The design goal is not merely computational reduction. The filtering stage is explicitly adaptive to range and, by extension, to sensor characteristics. Near points are kept at higher density, while far points are downsampled more aggressively. This differs from uniform voxel filtering, which the ablation study shows to be fragile in large-scale open scenes. The reported consequence of replacing range-based filtering with uniform ν\boldsymbol{\nu}1 m filtering is that mean APE worsens by ν\boldsymbol{\nu}2, and the system often diverges in large-scale open environments.

The filtered scan is subsequently motion-undistorted using the IMU-predicted trajectory, so registration operates on a temporally consistent point set rather than on a scan warped by platform motion. In tightly coupled LIO, this front-end consistency materially affects the quality of the subsequent iEKF measurement model.

4. Ellipsoid representation and tensor-voting geometry

The central geometric primitive of EllipseLIO is an ellipsoid attached to each map point. The goal is to capture local geometry in a way that adapts to line-like structures, planar structures, and ball-like or isotropic structures. This representation is derived through tensor voting (Border et al., 20 May 2026).

For a target map point ν\boldsymbol{\nu}3, the ν\boldsymbol{\nu}4-th stage tensor is

ν\boldsymbol{\nu}5

where ν\boldsymbol{\nu}6 denotes neighbors within radius ν\boldsymbol{\nu}7,

ν\boldsymbol{\nu}8

ν\boldsymbol{\nu}9

σa\boldsymbol{\sigma}^{a}0

and

σa\boldsymbol{\sigma}^{a}1

The zeroth-stage tensor is initialized as σa\boldsymbol{\sigma}^{a}2.

The first-stage tensor is decomposed into eigenvalues σa\boldsymbol{\sigma}^{a}3 and eigenvectors σa\boldsymbol{\sigma}^{a}4. Primitive saliencies are then defined by

σa\boldsymbol{\sigma}^{a}5

These components are interpreted as line saliency, plane saliency, and ball saliency, respectively. The ellipsoid axes are aligned with the eigenvectors, σa\boldsymbol{\sigma}^{a}6, and their magnitudes are

σa\boldsymbol{\sigma}^{a}7

The significance of this construction is that the local map geometry is not forced into a single primitive class. Instead, the saliency vector supports a continuous interpolation between primitive types. Larger variation in a direction corresponds to a larger ellipsoid axis, while smaller variation produces a tighter axis. This gives the ellipsoid the role of a compact local-structure descriptor for registration.

5. Adaptive registration, weighting, and map maintenance

A filtered, undistorted scan point σa\boldsymbol{\sigma}^{a}8 is transformed to global coordinates by

σa\boldsymbol{\sigma}^{a}9

It is then matched to the nearest map point σg\boldsymbol{\sigma}^{g}0 within a search radius determined by the radial bin; this search radius is reduced across iEKF iterations. A match is discarded if the map point has no ellipsoid or if the map point is too recent, meaning the traveled distance since it was added is smaller than the search radius. The rejection rule is intended to avoid unstable geometry from clustered or underdeveloped local neighborhoods (Border et al., 20 May 2026).

Registration does not use a single fixed ICP metric. For each match, EllipseLIO constructs three primitive-specific projections. For a line primitive, the point is projected onto the line through σg\boldsymbol{\sigma}^{g}1 along σg\boldsymbol{\sigma}^{g}2; for a plane primitive, it is projected onto the plane through σg\boldsymbol{\sigma}^{g}3 with normal σg\boldsymbol{\sigma}^{g}4; for a ball primitive, it is projected directly to σg\boldsymbol{\sigma}^{g}5. The final target point is the weighted combination

σg\boldsymbol{\sigma}^{g}6

The scalar residual is

σg\boldsymbol{\sigma}^{g}7

The measurement row is

σg\boldsymbol{\sigma}^{g}8

with

σg\boldsymbol{\sigma}^{g}9

and

γ\boldsymbol{\gamma}0

Match weighting is likewise adaptive. Each match weight γ\boldsymbol{\gamma}1 depends on the trajectory length difference between the scan point and the matched map point, and is amplified for older map points to support drift correction during revisits:

γ\boldsymbol{\gamma}2

The formulation also weights vertical residuals more because vertical drift tends to accumulate faster. To reduce divergence in degenerate scenes, EllipseLIO computes translation and rotation observability for each match, aggregates them, defines penalties based on degeneracy γ\boldsymbol{\gamma}3, vertical velocity γ\boldsymbol{\gamma}4, and mean scan range γ\boldsymbol{\gamma}5, and finally scales the weights by

γ\boldsymbol{\gamma}6

Map storage and update are also range-adaptive. Map points are stored in an iOctree,

γ\boldsymbol{\gamma}7

and the maximum number of points per voxel in bin γ\boldsymbol{\gamma}8 is

γ\boldsymbol{\gamma}9

with map voxel resolution x^\widehat{\mathbf{x}}0, search radius x^\widehat{\mathbf{x}}1, and x^\widehat{\mathbf{x}}2. A point is processed only if its neighborhood is sufficiently populated,

x^\widehat{\mathbf{x}}3

where

x^\widehat{\mathbf{x}}4

and there is an upper bound

x^\widehat{\mathbf{x}}5

The ellipsoid update complexity is

x^\widehat{\mathbf{x}}6

which is noted to be efficiently parallelizable.

6. Experimental evaluation and ablations

EllipseLIO is evaluated on five datasets: Newer College, Oxford Spires, Botanic Garden, GRACO, and GEODE. These datasets cover structured urban scenes, unstructured vegetation, aerial trajectories, indoor/outdoor transitions, handheld, wheeled, aerial, and waterborne platforms, and LiDARs including Ouster OS1-64, OS0-128, and Velodyne VLP-16 (Border et al., 20 May 2026).

Dataset set Scenario coverage
Newer College, Oxford Spires, Botanic Garden, GRACO, GEODE Structured urban scenes, unstructured vegetation, aerial trajectories, indoor/outdoor transitions
Platforms Handheld, wheeled, aerial, and waterborne
LiDARs Ouster OS1-64, OS0-128, and Velodyne VLP-16

The comparison baselines are DLIO, FAST-LIO2, LIO-SAM, and iG-LIO, using open-source implementations. All systems were run with ROS2 Humble, Ubuntu 22.04, an Intel i9-13905H CPU, and 32 GB RAM. EllipseLIO uses map voxel resolution x^\widehat{\mathbf{x}}7 m and adaptive range-based filtering. Baselines were tested both with the same voxel size as EllipseLIO and with a tuned voxel size giving best overall performance. Evaluation uses Absolute Pose Error (APE) RMSE, with trajectories aligned using SE(3) Umeyama alignment and RMSE computed with evo.

The headline result is that EllipseLIO is the best-performing approach overall. It is reported as best or second-best on essentially all sequences, with x^\widehat{\mathbf{x}}8 lower APE on average than the second-best method, and it is the only approach that does not diverge on any sequence. The conclusions further state that it achieves at least x^\widehat{\mathbf{x}}9 lower APE than the second-best method on every dataset. The reported failure modes of baselines are concentrated in narrow or enclosed environments such as stairs, cloister, and quad-hard, where fixed filtering retains too few measurements, and in large open environments or aerial views such as aerial-* and water-* sequences, where scan lines become widely separated, nearest-neighbor sets become degenerate, and invalid point matches occur. On revisit-rich sequences, the work specifically highlights better trajectory alignment on bodleian-02.

A representative runtime and memory profile is reported for parkland-mound:

Method Runtime / Memory
EllipseLIO 35 ms / 2.4 GB
DLIO (0.25 m) 34 ms / 2.9 GB
FAST-LIO2 (0.5 m) 51 ms / 0.7 GB
LIO-SAM (0.4 m) 91 ms / 0.7 GB
iG-LIO (0.5 m) 11 ms / 0.5 GB

The interpretation given is that EllipseLIO is real-time and maintains a fine xˉ\bar{\mathbf{x}}0 m map while keeping memory relatively modest for that resolution.

The ablation study attributes performance gains to all three adaptive components. Replacing adaptive match weighting with constant weighting worsens mean APE by xˉ\bar{\mathbf{x}}1. Replacing ellipsoid-based registration with point-to-point worsens mean APE by xˉ\bar{\mathbf{x}}2. Replacing range-based filtering with uniform xˉ\bar{\mathbf{x}}3 m filtering worsens mean APE by xˉ\bar{\mathbf{x}}4, and the method often diverges in large-scale open scenes. These results support the claim that scan filtering, registration metric selection, and revisit-aware weighting are all structurally important rather than peripheral refinements.

7. Limitations and relation to ellipse-based object representations

The main limitation explicitly noted is that pure LiDAR-inertial methods can still fail in strongly degenerate scenes with very weak geometry. Future work is therefore directed toward incorporating visual information to improve robustness in such cases (Border et al., 20 May 2026). A second practical limitation is that the method relies on maintaining and updating ellipsoid geometry, which adds algorithmic complexity, although the reported runtime indicates that the full system remains real-time.

EllipseLIO’s ellipsoid representation belongs to a broader family of ellipse- and ellipsoid-based geometric methods, but its role is specific: it is a local map primitive for adaptive LiDAR scan registration. A distinct line of work, “Ellipse Regression with Predicted Uncertainties for Accurate Multi-View 3D Object Estimation,” formulates uncertainty-aware 2D ellipse regression for recovering 3D enclosing ellipsoids of heavily occluded objects from multiple views (Dong et al., 2020). That work predicts parameter-wise uncertainties and a single observation uncertainty for each ellipse detection, then uses them in a probabilistic multi-view 3D estimation framework. The provided implications for EllipseLIO-type systems are parameter-level uncertainties for robust reprojection or residual weighting and observation uncertainty as a view-quality score for rejecting or down-weighting heavily occluded frames.

This suggests a clear conceptual distinction. In EllipseLIO, the ellipsoid is estimated from tensor voting over local LiDAR neighborhoods and drives adaptive registration between scans and map points. In the multi-view object-estimation setting, the ellipse is a 2D detection primitive whose uncertainties inform 3D object fusion under heavy occlusion. The shared theme is not a common application domain but a common geometric strategy: replacing coarse, fixed representations with ellipse- or ellipsoid-based structure that carries richer local or object-level geometry.

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 EllipseLIO.