PO-MSCKF: An Efficient Visual-Inertial Odometry by Reconstructing the Multi-State Constrained Kalman Filter with the Pose-only Theory
<|reference_start|>PO-MSCKF: An Efficient Visual-Inertial Odometry by Reconstructing the Multi-State Constrained Kalman Filter with the Pose-only Theory: Efficient Visual-Inertial Odometry (VIO) is crucial for payload-constrained robots. Though modern optimization-based algorithms have achieved superior accuracy, the MSCKF-based VIO algorithms are still widely demanded for their efficient and consistent performance. As MSCKF is built upon the conventional multi-view geometry, the measured residuals are not only related to the state errors but also related to the feature position errors. To apply EKF fusion, a projection process is required to remove the feature position error from the observation model, which can lead to model and accuracy degradation. To obtain an efficient visual-inertial fusion model, while also preserving the model consistency, we propose to reconstruct the MSCKF VIO with the novel Pose-Only (PO) multi-view geometry description. In the newly constructed filter, we have modeled PO reprojection residuals, which are solely related to the motion states and thus overcome the requirements of space projection. Moreover, the new filter does not require any feature position information, which removes the computational cost and linearization errors brought in by the 3D reconstruction procedure. We have conducted comprehensive experiments on multiple datasets, where the proposed method has shown accuracy improvements and consistent performance in challenging sequences.<|reference_end|>
@article{xueyu2024po-msckf:,
    title={PO-MSCKF: An Efficient Visual-Inertial Odometry by Reconstructing the
  Multi-State Constrained Kalman Filter with the Pose-only Theory},
    author={Du Xueyu, Zhang Lilian, Liu Ruochen, Wang Maosong, Wu Wenqi and Mao
  Jun},
    journal={arXiv preprint arXiv:2407.01888},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.01888},
    primaryClass={cs.RO cs.CV}
}