EllipseLIO: Adaptive LiDAR-Inertial Odometry
- 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
where is translation, is rotation, is linear velocity, is accelerometer bias, is gyroscope bias, and is the gravity vector. Predicted and updated states are denoted by and , respectively. The next predicted state is obtained through the FAST-LIO propagation rule using IMU measurements, the time interval , the process model 0, and the manifold operator 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 2, the transformation to the scan end time 3 is
4
with 5, 6, and 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 8 denotes the raw scan, then bin 9 contains points whose range lies between 0 and 1 meters, up to a maximum range 2. The voxel resolution used for bin 3 is
4
where 5 is the vertical field-of-view of the LiDAR and 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 7 is filtered using an iOctree voxel structure,
8
with 9, meaning one point is retained per occupied voxel. The final filtered cloud is the union of the filtered bins,
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 1 m filtering is that mean APE worsens by 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 3, the 4-th stage tensor is
5
where 6 denotes neighbors within radius 7,
8
9
0
and
1
The zeroth-stage tensor is initialized as 2.
The first-stage tensor is decomposed into eigenvalues 3 and eigenvectors 4. Primitive saliencies are then defined by
5
These components are interpreted as line saliency, plane saliency, and ball saliency, respectively. The ellipsoid axes are aligned with the eigenvectors, 6, and their magnitudes are
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 8 is transformed to global coordinates by
9
It is then matched to the nearest map point 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 1 along 2; for a plane primitive, it is projected onto the plane through 3 with normal 4; for a ball primitive, it is projected directly to 5. The final target point is the weighted combination
6
The scalar residual is
7
The measurement row is
8
with
9
and
0
Match weighting is likewise adaptive. Each match weight 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:
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 3, vertical velocity 4, and mean scan range 5, and finally scales the weights by
6
Map storage and update are also range-adaptive. Map points are stored in an iOctree,
7
and the maximum number of points per voxel in bin 8 is
9
with map voxel resolution 0, search radius 1, and 2. A point is processed only if its neighborhood is sufficiently populated,
3
where
4
and there is an upper bound
5
The ellipsoid update complexity is
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 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 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 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 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 1. Replacing ellipsoid-based registration with point-to-point worsens mean APE by 2. Replacing range-based filtering with uniform 3 m filtering worsens mean APE by 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.