Table of Contents
Fetching ...

Edge-Enabled VIO with Long-Tracked Features for High-Accuracy Low-Altitude IoT Navigation

Xiaohong Huang, Cui Yang, Miaowen Wen

TL;DR

The paper tackles drift and computational bottlenecks in long-tracked feature VIO for edge devices in low-altitude IoT settings. It introduces a sliding-window framework with multi-block reference frames and a depth-prediction mechanism to decouple drift and maintain geometric consistency, while employing three GPU-friendly strategies (parallel elimination, inverse-depth simplification, elimination skipping) to achieve real-time performance. The approach demonstrates improved positioning accuracy with modest computational overhead across multiple datasets, particularly in outdoor and GNSS-challenged scenarios. This work advances edge-enabled VIO by efficiently leveraging long-tracked features for high-precision, real-time navigation.

Abstract

This paper presents a visual-inertial odometry (VIO) method using long-tracked features. Long-tracked features can constrain more visual frames, reducing localization drift. However, they may also lead to accumulated matching errors and drift in feature tracking. Current VIO methods adjust observation weights based on re-projection errors, yet this approach has flaws. Re-projection errors depend on estimated camera poses and map points, so increased errors might come from estimation inaccuracies, not actual feature tracking errors. This can mislead the optimization process and make long-tracked features ineffective for suppressing localization drift. Furthermore, long-tracked features constrain a larger number of frames, which poses a significant challenge to real-time performance of the system. To tackle these issues, we propose an active decoupling mechanism for accumulated errors in long-tracked feature utilization. We introduce a visual reference frame reset strategy to eliminate accumulated tracking errors and a depth prediction strategy to leverage the long-term constraint. To ensure real time preformane, we implement three strategies for efficient system state estimation: a parallel elimination strategy based on predefined elimination order, an inverse-depth elimination simplification strategy, and an elimination skipping strategy. Experiments on various datasets show that our method offers higher positioning accuracy with relatively short consumption time, making it more suitable for edge-enabled low-altitude IoT navigation, where high-accuracy positioning and real-time operation on edge device are required. The code will be published at github.

Edge-Enabled VIO with Long-Tracked Features for High-Accuracy Low-Altitude IoT Navigation

TL;DR

The paper tackles drift and computational bottlenecks in long-tracked feature VIO for edge devices in low-altitude IoT settings. It introduces a sliding-window framework with multi-block reference frames and a depth-prediction mechanism to decouple drift and maintain geometric consistency, while employing three GPU-friendly strategies (parallel elimination, inverse-depth simplification, elimination skipping) to achieve real-time performance. The approach demonstrates improved positioning accuracy with modest computational overhead across multiple datasets, particularly in outdoor and GNSS-challenged scenarios. This work advances edge-enabled VIO by efficiently leveraging long-tracked features for high-precision, real-time navigation.

Abstract

This paper presents a visual-inertial odometry (VIO) method using long-tracked features. Long-tracked features can constrain more visual frames, reducing localization drift. However, they may also lead to accumulated matching errors and drift in feature tracking. Current VIO methods adjust observation weights based on re-projection errors, yet this approach has flaws. Re-projection errors depend on estimated camera poses and map points, so increased errors might come from estimation inaccuracies, not actual feature tracking errors. This can mislead the optimization process and make long-tracked features ineffective for suppressing localization drift. Furthermore, long-tracked features constrain a larger number of frames, which poses a significant challenge to real-time performance of the system. To tackle these issues, we propose an active decoupling mechanism for accumulated errors in long-tracked feature utilization. We introduce a visual reference frame reset strategy to eliminate accumulated tracking errors and a depth prediction strategy to leverage the long-term constraint. To ensure real time preformane, we implement three strategies for efficient system state estimation: a parallel elimination strategy based on predefined elimination order, an inverse-depth elimination simplification strategy, and an elimination skipping strategy. Experiments on various datasets show that our method offers higher positioning accuracy with relatively short consumption time, making it more suitable for edge-enabled low-altitude IoT navigation, where high-accuracy positioning and real-time operation on edge device are required. The code will be published at github.
Paper Structure (11 sections, 13 equations, 9 figures, 5 tables)

This paper contains 11 sections, 13 equations, 9 figures, 5 tables.

Figures (9)

  • Figure 1: Illustration of the factor graph of the SWF in a case of the system having 12 keyframes, which are divided into 3 blocks, denoted as $\mathbf{B}_1$, $\mathbf{B}_2$ and $\mathbf{B}_3$. Here, the size of the block is 4. For every long-tracked feature, each time its tracking crosses a block, we change the reference frame, generate a new inverse depth, and predict it using the previous inverse depth.
  • Figure 2: Illustration of the feature tracking drifts with consistent and inconsistent depth. The red and blue circles represent the positions of the first observed feature and drifted features, respectively. Consider $\lambda_1$ is the inverse depth of the first-observed feature, $\lambda_2$ is the inverse depth of the drifted feature. In (a), we have $|\frac{1}{\lambda_1}-\frac{1}{\lambda_2}|\ll\frac{1}{\lambda_i},\forall\lambda_i\in\{\lambda_1,\lambda_2\}$. Therefore, we consider the drifted feature in (a) has consistent depth, which often occurs when the feature points fall on a flat surface. In (b), the drifted feature has inconsistent depth since the condition mentioned above is not satisfied, which often occurs when the feature points fall on sharp edges.
  • Figure 3: Illustration of the elimination tree. Here, $\mathcal{S}_{\mathbf{B}_i\backslash{\mathbf{B}_{i,1}}}$ is the set of frame indexes in the block $\mathbf{B}_i$, excluding its first frame index; $\mathcal{S}_{\mathbf{B}_i}^{\text{short}}$ is the set of inverse depth of the short-tracked feature that has observations in block $\mathbf{B}_i$; $\mathcal{S}_{\mathbf{B}_i+\mathbf{B}_{i+1}}^{\text{long}}$ is the set of inverse depth that has observation in block $\mathbf{B}_i$ and block $\mathbf{B}_{i+1}$; $\mathcal{S}_{\mathbf{B}_i\backslash \mathbf{B}_{i+1}}^{\text{long}}$ is the set of inverse depth that has observation in block $\mathbf{B}_i$ but not in $\mathbf{B}_{i+1}$; $\mathbf{x}_{\mathbf{B}_{i,j}}$ is the state vector of the $j$-th frame in the $i$-th block. Blue ellipses represent the super-nodes. Red arrows represent the elimination order. Pink boxes represent the independent branches. The elimination of the independent branches can be implemented in parallel.
  • Figure 4: Cumulative error plot for the 4Seasons dataset (drift in $\%$).
  • Figure 5: The cumulative ATE plot of our proposed and ORB-SLAM3 on the EuRoC dataset.
  • ...and 4 more figures