Omni-LIVO is a tightly coupled multi-camera LiDAR-inertial odometry system that fuses geometric and photometric measurements for robust state estimation.
It introduces cross-view direct tracking, photometric migration, and an error-state iterated Kalman filter to address field-of-view mismatches and sensor inconsistencies.
Experiments demonstrate up to 34% RMSE improvement over FAST-LIVO2 and denser RGB mapping, enhancing accuracy in challenging dynamic environments.
Searching arXiv for Omni-LIVO and related LIVO papers.
Omni-LIVO is a tightly coupled multi-camera LiDAR-inertial-visual odometry system designed to address the field-of-view mismatch between wide-angle LiDAR and conventional cameras. It is presented as the first tightly coupled multi-camera LIVO system and introduces three linked mechanisms: Cross-View direct tracking, photometric migration across non-overlapping views, and multi-view Error-State Iterated Kalman Filter fusion with adaptive covariance weighting. The system targets failure modes of earlier single-camera LIVO pipelines, especially when rapid rotation, occlusion, or viewpoint change causes an image patch to leave one camera and reappear in another, while LiDAR continues to observe wide-angle geometry (Cao et al., 19 Sep 2025).
1. System configuration and synchronization model
Omni-LIVO uses a 360° LiDAR, four synchronized cameras, and an IMU. In the reported experiments, the LiDAR is a LIVOX MID360 operating at 10 Hz, the cameras operate at 1024×768 and 10 Hz in the custom dataset, and the IMU provides high-rate motion propagation. The four cameras are externally triggered so that their exposures are simultaneous:
tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.
The measurement pipeline first synchronizes and packages sensor data. LiDAR points are temporally segmented with respect to camera exposure, IMU measurements are collected over the frame interval, and the four camera frames are treated as one synchronized multi-view packet. A LiDAR point pi is assigned to the nearest camera exposure time according to
pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.
This synchronization is structurally important because the subsequent state update combines direct photometric residuals from cameras with geometric residuals from LiDAR in the same Kalman update (Cao et al., 19 Sep 2025).
The practical significance of this sensor setting is that Omni-LIVO is built around a wide-angle LiDAR and a conventional multi-camera rig rather than a single panoramic imager. This suggests that the method is intended for robotic platforms where dense geometry is already available from LiDAR, but visual coverage is fragmented across several ordinary cameras.
2. Tightly coupled multi-view ESIKF formulation
Omni-LIVO builds on the FAST-LIVO2-style Error-State Iterated Kalman Filter. The filter propagates the IMU state forward, propagates covariance, iteratively linearizes nonlinear residuals around the current estimate, updates the error state with the Kalman gain, and applies the box-plus operation to update the nominal state. At iteration ℓ, the linearization point is
xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).
LiDAR and vision are not processed as separate back ends. Their residuals and Jacobians are stacked into a single measurement model:
After convergence, the nominal state is updated as
x^k∣k=x^k∣k−1⊞δx^(ℓ).
The resulting estimator is therefore a tightly coupled iterative filter rather than a loose sensor-by-sensor pipeline (Cao et al., 19 Sep 2025). In context, this architectural decision is central: the system does not merely append a second visual module to an existing LiDAR-inertial backbone, but instead redefines the measurement model so that multi-camera photometric information and LiDAR geometry are fused in the same iterative update.
3. LiDAR geometric constraints and unified voxel map
On the LiDAR side, Omni-LIVO inherits the FAST-LIVO2 backbone and uses a voxelized map representation to extract local planes efficiently. For each voxeltcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.0 containing points tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.1, the covariance is
tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.2
A plane is detected when the smallest eigenvalue satisfies
tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.3
with the corresponding eigenvector defining the plane normal tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.4. The plane equation is
tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.5
and the LiDAR geometric residual is a point-to-plane distance,
tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.6
These constraints provide strong geometry, especially where visual information is weak (Cao et al., 19 Sep 2025).
A further structural element is the unified voxel map. Omni-LIVO maintains a single voxel-based map,
tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.7
where tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.8 stores geometric plane parameters from LiDAR, tcam(1)=tcam(2)=tcam(3)=tcam(4)=tsync.9 stores visual map points with multi-view observations, and pi0 stores the octree subdivision structure. This is explicitly not a split representation with separate LiDAR and visual maps.
For each visual map point, the system stores a multi-view observation set,
pi1
where pi2 is the patch pyramid representation, pi3 is the camera pose, pi4 is the exposure, and pi5 is the camera index. These points are updated when the camera pose changes or patch displacement exceeds a threshold, and Tukey weighting is used to suppress photometric outliers. The map design therefore couples geometric structure and RGB observations in one spatial data structure rather than aligning two independently maintained maps.
4. Cross-View direct tracking and photometric migration
The central visual idea is that a patch leaving one camera’s field of view should not be treated as irretrievably lost if it can reappear in another camera. Omni-LIVO formulates this as a temporal migration problem across views rather than a standard feature-drop event. A patch pi6 is considered to migrate from camera pi7 to camera pi8 if it disappears from pi9, reappears in pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.0, and satisfies visibility and temporal conditions:
pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.1
This formulation turns multi-camera tracking into a continuity problem across camera boundaries (Cao et al., 19 Sep 2025).
Because different cameras can have different exposure times and vignetting, raw intensities are normalized before comparison:
pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.2
with vignetting model
pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.3
Here, pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.4 is the exposure scale for camera pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.5, pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.6 models vignetting, and pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.7 is the radial distance from the image center. This normalization is necessary for cross-camera photometric consistency.
Patch transfer between cameras is defined through the relative pose
pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.8
and the associated local planar homography
pi→Cj if ∣τi−tcam(j)∣=kmin∣τi−tcam(k)∣.9
where ℓ0, ℓ1, ℓ2 is the surface normal in camera ℓ3, and ℓ4 is the depth or distance to the plane. The patch warp under homography ℓ5 is denoted ℓ6.
Within a single camera, the direct residual is
ℓ7
For migration across cameras, the residual is
ℓ8
with
ℓ9
and xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).0 the inverse exposure time. The current intensity in camera xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).1 is therefore compared against a warped and normalized patch from camera xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).2, with exposure compensation across the two cameras. This is the photometric migration mechanism proper.
All visual constraints are stacked into a single residual vector,
xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).3
with dimension
xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).4
where xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).5 is the number of cameras, xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).6 the number of tracked patches, xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).7 the patch size, xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).8 the active migration pairs xˇ(ℓ)=x^k∣k−1⊞δx^(ℓ−1).9, and r(ℓ)=[rLIO(ℓ)rVIO(ℓ)],H(ℓ)=[HLIO(ℓ)HVIO(ℓ)].0 the number of migration points for pair r(ℓ)=[rLIO(ℓ)rVIO(ℓ)],H(ℓ)=[HLIO(ℓ)HVIO(ℓ)].1. Migration bookkeeping is accumulated over time as
The explicit accumulation of migration events indicates that cross-view continuity is treated as a first-class temporal quantity rather than an incidental recovery heuristic.
5. Adaptive covariance weighting in multi-view fusion
A distinctive contribution of Omni-LIVO is adaptive multi-view covariance design. The motivation is that different cameras can have very different tracking quality at the same instant: one may observe a texture-rich scene, another a texture-poor wall, another motion blur, and a cross-view residual may vary in reliability depending on overlap or occlusion. A fixed covariance for all visual residuals would therefore treat all views equally even when their information quality is unequal.
The multi-view measurement covariance is defined as
The terms encode the fraction of tracked patches contributed by camera r(ℓ)=[rLIO(ℓ)rVIO(ℓ)],H(ℓ)=[HLIO(ℓ)HVIO(ℓ)].5, the average squared residual as a measure of photometric fit quality, and the image gradient or texture strength as a measure of informativeness. If a camera’s tracking degrades, its covariance increases and its influence on the update decreases; if a camera has sharp and well-tracked features, it is weighted more heavily (Cao et al., 19 Sep 2025).
The iterated update loop is described as: start from the predicted state, compute residuals and Jacobians for LiDAR and all camera views, assemble the full measurement model, compute r(ℓ)=[rLIO(ℓ)rVIO(ℓ)],H(ℓ)=[HLIO(ℓ)HVIO(ℓ)].6, update the error state, and relinearize until convergence. The pseudocode is consistent with IMU propagation, LiDAR motion compensation and plane extraction, LiDAR update, selection of photometric patches, per-camera photometric residual computation, stacking all residuals, adaptive covariance construction, and Kalman update until convergence.
A plausible misconception is that multi-camera fusion is primarily a matter of stacking more residuals. Omni-LIVO instead defines multi-camera fusion as quality-aware estimation, in which the reliability of each view is explicitly modeled in the covariance structure.
6. Evaluation, reported performance, and limitations
The reported evaluation covers three datasets: the Hilti SLAM Challenge 2022, described as indoor construction-site sequences with millimeter-accurate ground truth; the Newer College multi-camera LiDAR-inertial dataset, described as including campus and underground sequences with difficult lighting and viewpoint changes; and a custom dataset using a LIVOX MID360 LiDAR, four synchronized cameras in a cross pattern, and both handheld and robot-mounted platforms. The baselines include FAST-LIVO, FAST-LIVO2, R3LIVE, FAST-LIO2, and OpenMAVIS where compatible.
The paper reports ATERMSE over 14 sequences. Omni-LIVO achieves the lowest RMSE on 11 of 14 sequences, completes all 14 sequences, shows about 34% average accuracy improvement over FAST-LIVO2 in the discussion, and the conclusion also reports 23% RMSE reduction overall, depending on the summary metric being emphasized (Cao et al., 19 Sep 2025). In the Hilti sequences, FAST-LIVO fails on 5 of 7 sequences and FAST-LIO2 on 4 of 7, while Omni-LIVO completes all of them. In Newer College underground-hard, Omni-LIVO reports r(ℓ)=[rLIO(ℓ)rVIO(ℓ)],H(ℓ)=[HLIO(ℓ)HVIO(ℓ)].7, compared with r(ℓ)=[rLIO(ℓ)rVIO(ℓ)],H(ℓ)=[HLIO(ℓ)HVIO(ℓ)].8 for FAST-LIVO and r(ℓ)=[rLIO(ℓ)rVIO(ℓ)],H(ℓ)=[HLIO(ℓ)HVIO(ℓ)].9 for FAST-LIVO2. On quad-hard, Omni-LIVO reports K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,0, compared with K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,1 for FAST-LIVO2 and K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,2 for OpenMAVIS.
The qualitative findings isolate the roles of the main components even though the provided text does not include a formal ablation table. Cross-View temporal migration is described as the key reason the system survives sequences such as Exp06, where rapid turning causes single-camera tracking to lose patches as they leave the field of view. Adaptive covariance weighting stabilizes estimation under strong illumination variation and changing texture quality, with Underground-hard given as the representative case. Multi-camera mapping produces much denser RGB point clouds than single-camera methods, with especially large gains in scenes such as basement3; the reported RGB point cloud statistics show multi-camera colorization benefits of up to around K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,3 relative to single-camera baselines.
The reported computational performance, measured on an i9-13900HX plus RTX 4070 laptop, is: FAST-LIVO at K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,4, K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,5; FAST-LIVO2 at K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,6, K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,7; R3LIVE at K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,8, K(ℓ)=Pk∣k−1(H(ℓ))T[H(ℓ)Pk∣k−1(H(ℓ))T+Rmulti]−1,9; and Omni-LIVO at δx^(ℓ)=δx^(ℓ−1)+K(ℓ)(r(ℓ)−H(ℓ)δx^(ℓ−1)).0, δx^(ℓ)=δx^(ℓ−1)+K(ℓ)(r(ℓ)−H(ℓ)δx^(ℓ−1)).1. Omni-LIVO is therefore slower than FAST-LIVO2 but remains near real-time, with an overhead described as about δx^(ℓ)=δx^(ℓ−1)+K(ℓ)(r(ℓ)−H(ℓ)δx^(ℓ−1)).2 over FAST-LIVO2.
The paper’s conclusion identifies online loop closure and multi-sensor calibration as future work. The described practical limitations are higher computation and memory than single-camera systems, dependence on good synchronization and calibration, complexity in maintaining robust cross-view patch associations, and likely sensitivity to severe blur or situations in which all cameras simultaneously have poor visual quality. Within those constraints, Omni-LIVO is positioned as a system that improves trajectory accuracy and RGB mapping completeness in aggressive motion, occlusion, poor lighting, and geometrically ambiguous environments.
“Emergent Mind helps me see which AI papers have caught fire online.”
Philip
Creator, AI Explained on YouTube
Sign up for free to explore the frontiers of research
Discover trending papers, chat with arXiv, and track the latest research shaping the future of science and technology.Discover trending papers, chat with arXiv, and more.