Paper: CVPR 2022, arXiv
Website: https://sachini.github.io/niloc
Demo: https://youtu.be/FmkfUKhKe2Q
This is the implementation of the approach described in the paper.
Herath, S., Caruso, D., Liu, C., Chen, Y. and Furukawa, Y., Neural Inertial Localization. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2022.
We provide the code for reproducing our results, datasets as well as pre-trained models.
Please cite the following paper is you use the code, paper, models or data.
-
Setup conda environment from
niloc_env.yaml
-
Follow instructions on
preprocess/README.md
to preprocess real data and optionally, generate synthetic data. -
Setup necessary file paths in
niloc/config
. (dataset: dataset paths, grid: map image paths, io: output paths) -
[Optional] Pretrain using IMU + synthetic data. Parameters used in paper are set as defaults.
./train_synthetic.sh <building>
-
Train using IMU data. [Optional] load pretrained weights.
./train_imu.sh <building> [<path to pretrained checkpoint>]
-
Evaluate
- Select the checkpoints to use and create checkpoint file described in
niloc/cmd_test_file.py
./test_imu.sh <building> <checkpoint file>
- Select the checkpoints to use and create checkpoint file described in
Please refer to the code for advance configurations.