This is the Python implementation for the Paper: IMUNet
A new Architecture called IMUNet which is appropriate for edge-device implementation has been proposed for processing IMU measurements and performing inertial navigation.
In this repository, the data-driven method for inertial navigation proposed in here for the ResNet18 model has been modified. Other than ResNet18, three state-of-the-art CNN models that have been designed for IoT device implementation have been reimplemented for inertial navigation and IMU sensor processing.
Other than IMUNet, MobileNet, MnasNet, and EfficientNetB0 models have been re-implemented to work with one-dimensional IMU measurements.
Four datasets have been used in the paper.
- A new method for collecting a dataset using Android cellphones that uses ARCore API for collecting the ground truth trajectory has been proposed and a dataset using this method along with the method proposed in RIDI using a Lenovo Tango device for collecting the ground truth trajectory has been collected. A preprocessing step has been added to read and prepare the data. The collected dataset can be downloaded from IMUNet_dataset. Also, you can download the pre-trained models in Pytorch from pre-trained models.
Other datasets are:
1- RONIN which is available at here
2- RIDI which is available at DropBox
3- OxIOD: The Dataset for Deep Inertial Odometry which is available at OxIOD
The data-driven method for inertial navigation proposed in RONIN for the ResNet18 model with all the new architectures and datasets as well as the proposed architecture have been implemented in Tensorflow-Keras.
@article{zeinali2024imunet, title={IMUNet: Efficient Regression Architecture for Inertial IMU Navigation and Positioning}, author={Zeinali, Behnam and Zanddizari, Hadi and Chang, Morris J}, journal={IEEE Transactions on Instrumentation and Measurement}, year={2024}, publisher={IEEE} }
The Android Application for collecting a new dataset is available at Android.