This project focuses on debiasing (denoising) Inertial Measurement Unit (IMU) data, including gyroscope and accelerometer measurements. A neural network explicitly models the bias dynamics, while a neural ODE on
The overall framework is illustrated below:
Figure 1: The hierarchical neural ODE framework.This work has been accepted at RSS, 2025. You can find the arXiv version here.
To ensure an isolated environment for dependencies, run the following commands (Python version: 3.10.12):
python3 -m venv venv
source venv/bin/activate
pip install -r Requirments.txtThe required IMU data is provided in the data/ folder. Alternatively, you can download data from the following sources:
Note: For TUM-VI, the IMU data is extracted from the raw-data rosbag, not the calibrated rosbag, but uses the synthesized timestamps from the calibrated rosbag.
Run the following commands in the terminal to start training (ensure you are using python interpreter from venv/)
python3 BiasDy/mainEuroc.py
python3 BiasDy/mainTUM.py
python3 BiasDy/mainFetch.py
- The full results will be saved to
./results. Partial results:
MH_04_difficult.
Figure 3: The Euler angles results for dataset_room4.
-
To analyze the impact of integration length
$N$ , run:./BiasDy/diff_int_time.shThe results will be saved to ./results/ablation.pdf. -
To visualize the VIO results, run:
python3 BiasDy/VIO_visualization.pyNote: Make sure to update the results path in the script with your own. -
To evaluate the results using the EVO package, run:
python3 evo_evaluation/evo_results.pyNote: As above, you need to update the results path to match your setup.
@inproceedings{liu2025debias,
title={Debiasing 6-DOF IMU via Hierarchical Learning of Continuous Bias Dynamics},
author={Liu, Ben and Lin, Tzu-Yuan and Zhang, Wei and Ghaffari, Maani},
booktitle={Proceedings of Robotics: Science and Systems (RSS)},
year={2025}
}
Calling pickle.loads will throw a warning in current versions, you can fix it by following Here.
This project incorporates code and ideas from the following sources:
- denoise-imu-gyro by M. Brossard
- torchdiffeq by Ricky T. Q. Chen
- NeuralCDE by Patrick Kidger


