A refactor of the AI-IMU Dead-Reckoning paper by Brossard et al., with a modernized codebase layout and extensions for additional research experiments.
- Refactored IEKF + neural adapter from the original paper, restructured for clarity and maintainability
- Process & measurement model experiments — exploring alternative noise parameterizations, covariance structures, and filter formulations
- Latent variable world model (see
world_modelsbranch) — extends the system toward learned latent state representations for richer scene modeling alongside the IEKF
This builds on:
M. Brossard, A. Barrau and S. Bonnabel, "AI-IMU Dead-Reckoning," IEEE Transactions on Intelligent Vehicles, 2020. [paper] [arXiv]
The original approach combines an Invariant Extended Kalman Filter (IEKF) with a CNN-based noise adapter to achieve 1.10% translational error on KITTI odometry using only IMU data.
cd src
python3 main_kitti.pyDownload KITTI pickle data and pretrained weights (see https://github.com/user-attachments/files/17930695/data.zip) and place in data/ directory.
pip install torch matplotlib numpy termcolor scipy navpy