Giter Club home page Giter Club logo

unvio's Introduction

Unsupervised Network for Visual Inertial Odometry

IJCAI2020 paper: Unsupervised Network for Visual Inertial Odometry.

KITTI 09 KITTI 10
aa bb

Introduction

This repository is the official Pytorch implementation of IJCAI2020 paper Unsupervised Network for Visual Inertial Odometry.

Installation

UnVIO has been tested on Ubuntu with Pytorch 1.4 and Python 3.7.10. For installation, it is recommended to use conda environment.

conda create -n unvio_env python=3.7.10
conda activate unvio_env
pip install -r requirements.txt

Other applications should be installed also,

sudo apt install gnuplot

Data Preparing

The datasets used in this paper are KITTI raw ataset and Malaga dataset. Please refer to Data preparing for detailed instruction.

Validation

Validation can be implemented on Depth estimation and Odometry estimation. First specify the model path and dataset path:

ROOT='MODEL_ROOT_HERE'
DATA_ROOT='DATA_ROOT_HERE'

Depth Estimation

For Depth estimation on KITTI 09 (if you want to test on KITTI 10, change the --dataset-list to .eval/kitti_10.txt, same set for Malaga dataset), run the following command:

ROOT=$ROOT/kitti_ckpt
#ROOT=$ROOT/malaga_ckpt
DATA_ROOT=$DATA_ROOT/KITTI_rec_256/ 
#DATA_ROOT=$DATA_ROOT/Malaga_down/
python test_disp.py \
   --pretrained-dispnet $ROOT/UnVIO_dispnet.pth.tar \
   --dataset-dir $DATA_ROOT \
   --dataset-list .eval/kitti_09.txt \
   --output-dir $ROOT/results_disp \
   --save-depth

The predictions.npy that stores the all the depth values will be saved in $ROOT/results_disp, if --save-depth is added, the colored depths will be saved simultaneously is $ROOT/results_disp/disp

Visual Odometry

For Odometry estimation KITTI 09 (if you want to test on KITTI 10, change the testscene to 2011_09_30_drive_0034_sync_02), run the following command:

ROOT=$ROOT/kitti_ckpt
DATA_ROOT=$DATA_ROOT
python test_pose.py \
 --pretrained-visualnet $ROOT/UnVIO_visualnet.pth.tar \
 --pretrained-imunet $ROOT/UnVIO_imunet.pth.tar\
 --pretrained-posenet $ROOT/UnVIO_posenet.pth.tar\
 --dataset_root $DATA_ROOT \
 --dataset KITTI \
 --testscene 2011_09_30_drive_0033_sync_02 \
 --show-traj

This will create a .csv file represneting $T_{wc} \in \mathbb{R}^{3 \times 4}$ in $ROOT directory. If the --show-traj is added, a scaled trajectory comparing with the ground truth will be ploted.

Train

Run the following command to train the UnVIO from scratch:

DATA_ROOT=$DATA_ROOT
python train.py --dataset_root $DATA_ROOT --dataset KITTI

specify --dataset (KITTI or Malaga) as you need.

Citation

@inproceedings{2020Unsupervised,
  title={Unsupervised Monocular Visual-inertial Odometry Network},
  author={ Wei, P.  and  Hua, G.  and  Huang, W.  and  Meng, F.  and  Liu, H. },
  booktitle={Twenty-Ninth International Joint Conference on Artificial Intelligence and Seventeenth Pacific Rim International Conference on Artificial Intelligence {IJCAI-PRICAI-20}},
  year={2020},
}

License

This project is licensed under the terms of the MIT license.

References

The repository borrowed some code from SC, Monodepth2 and SfMLearner, thanks for their great work.

unvio's People

Contributors

ironbrotherstyle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

unvio's Issues

Baidu pan issue

Thanks for your work.

Could you plz share the dataset and ckpt link in other platform instead of Baidu for easy accessing?

Thanks for your coorporation!

evaluation of depth

Thanks for your nice project, could you please tell me how to evauluate the depth quantatively? Where is the groundtruth of depth of KITTI? Thanks!!

Installation

Hi there,
I tried to install requirements.txt, but I had this issue, DO u have any idea how I can fix this?
" ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. torchaudio 0.9.0 requires torch==1.9.0, but you have torch 1.10.0 which is incompatible. "
image
in your requirements.txt file, we have these packages:
image
Should I change torch==1.10.0 to torch==1.9.0?
Thanks <3

Data Preparing

Dear Ironbrotherstyle
I hope this message finds you well.
I tried to download your prepared datasets from the links given in the DATA.md file but unfortunately I don't have Hong Kong or Chinese number to sign in to baidu.com.
Is there any way to download those datasets files besides to Baidu website?
Thank you for your contribution.
Best regards,
Kalami

Update on plans to upload the code?

Hello, some very interesting research you and your team presented in Unsupervised Monocular Visual-inertial Odometry Network. I was wondering if you were still planning on uploading the code? Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.