All Projects → Huangying-Zhan → Df Vo

Huangying-Zhan / Df Vo

Licence: mit
Depth and Flow for Visual Odometry

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Df Vo

Pwc Net pytorch
pytorch implementation of "PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume"
Stars: ✭ 111 (-52.36%)
Mutual labels:  optical-flow
Tfvos
Semi-Supervised Video Object Segmentation (VOS) with Tensorflow. Includes implementation of *MaskRNN: Instance Level Video Object Segmentation (NIPS 2017)* as part of the NIPS Paper Implementation Challenge.
Stars: ✭ 151 (-35.19%)
Mutual labels:  optical-flow
Clover
ROS-based framework and RPi image to control PX4-powered drones 🍀
Stars: ✭ 177 (-24.03%)
Mutual labels:  optical-flow
Densematchingbenchmark
Dense Matching Benchmark
Stars: ✭ 120 (-48.5%)
Mutual labels:  optical-flow
Flownet2 Docker
Dockerfile and runscripts for FlowNet 2.0 (estimation of optical flow)
Stars: ✭ 137 (-41.2%)
Mutual labels:  optical-flow
Spynet
Spatial Pyramid Network for Optical Flow
Stars: ✭ 158 (-32.19%)
Mutual labels:  optical-flow
Ddflow
DDFlow: Learning Optical Flow with Unlabeled Data Distillation
Stars: ✭ 101 (-56.65%)
Mutual labels:  optical-flow
Liteflownet2
A Lightweight Optical Flow CNN - Revisiting Data Fidelity and Regularization, TPAMI 2020
Stars: ✭ 195 (-16.31%)
Mutual labels:  optical-flow
Deep Learning For Tracking And Detection
Collection of papers, datasets, code and other resources for object tracking and detection using deep learning
Stars: ✭ 1,920 (+724.03%)
Mutual labels:  optical-flow
Hidden Two Stream
Caffe implementation for "Hidden Two-Stream Convolutional Networks for Action Recognition"
Stars: ✭ 179 (-23.18%)
Mutual labels:  optical-flow
Netdef models
Repository for different network models related to flow/disparity (ECCV 18)
Stars: ✭ 130 (-44.21%)
Mutual labels:  optical-flow
Video2tfrecord
Easily convert RGB video data (e.g. .avi) to the TensorFlow tfrecords file format for training e.g. a NN in TensorFlow. This implementation allows to limit the number of frames per video to be stored in the tfrecords.
Stars: ✭ 137 (-41.2%)
Mutual labels:  optical-flow
Pysteps
Python framework for short-term ensemble prediction systems.
Stars: ✭ 159 (-31.76%)
Mutual labels:  optical-flow
Vcn
Volumetric Correspondence Networks for Optical Flow, NeurIPS 2019.
Stars: ✭ 118 (-49.36%)
Mutual labels:  optical-flow
Opticalflow visualization
Python optical flow visualization following Baker et al. (ICCV 2007) as used by the MPI-Sintel challenge
Stars: ✭ 183 (-21.46%)
Mutual labels:  optical-flow
Back2future.pytorch
Unsupervised Learning of Multi-Frame Optical Flow with Occlusions
Stars: ✭ 104 (-55.36%)
Mutual labels:  optical-flow
Frvsr
Frame-Recurrent Video Super-Resolution (official repository)
Stars: ✭ 157 (-32.62%)
Mutual labels:  optical-flow
Opticalflowtoolkit
Python-based optical flow toolkit for existing popular dataset
Stars: ✭ 219 (-6.01%)
Mutual labels:  optical-flow
Df Net
[ECCV 2018] DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Task Consistency
Stars: ✭ 190 (-18.45%)
Mutual labels:  optical-flow
Py Denseflow
Extract TVL1 optical flows in python (multi-process && multi-server)
Stars: ✭ 159 (-31.76%)
Mutual labels:  optical-flow

Introduction

This repo implements the system described in the ICRA-2020 paper and the extended report:

Visual Odometry Revisited: What Should Be Learnt?

DF-VO: What Should Be Learnt for Visual Odometry?

Huangying Zhan, Chamara Saroj Weerasekera, Jiawang Bian, Ravi Garg, Ian Reid

The demo video can be found here.

@INPROCEEDINGS{zhan2019dfvo,
  author={H. {Zhan} and C. S. {Weerasekera} and J. -W. {Bian} and I. {Reid}},
  booktitle={2020 IEEE International Conference on Robotics and Automation (ICRA)}, 
  title={Visual Odometry Revisited: What Should Be Learnt?}, 
  year={2020},
  volume={},
  number={},
  pages={4203-4210},
  doi={10.1109/ICRA40945.2020.9197374}}

@misc{zhan2021dfvo,
      title={DF-VO: What Should Be Learnt for Visual Odometry?}, 
      author={Huangying Zhan and Chamara Saroj Weerasekera and Jia-Wang Bian and Ravi Garg and Ian Reid},
      year={2021},
      eprint={2103.00933},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

This repo includes

  1. the frame-to-frame tracking system DF-VO;
  2. evaluation scripts for visual odometry;
  3. trained models and VO results

Contents

  1. Requirements
  2. Prepare dataset
  3. DF-VO
  4. Result evaluation

Part 1. Requirements

This code was tested with Python 3.6, CUDA 9.0, Ubuntu 16.04, and PyTorch-1.1.

We suggest use Anaconda for installing the prerequisites.

cd envs
conda env create -f requirement.yml -p {ANACONDA_DIR/envs/dfvo} # install prerequisites
conda activate dfvo  # activate the environment [dfvo]

Part 2. Download dataset and models

The main dataset used in this project is KITTI Driving Dataset. After downloaing the dataset, create a softlink in the current repo.

ln -s KITTI_ODOMETRY/sequences dataset/kitti_odom/odom_data

For our trained models, please visit here to download the models and save the models into the directory model_zoo/.

Part 3. DF-VO

We have created some examples for running the algorithm.

# Example 1: run default kitti setup
python apis/run.py -d options/examples/default_configuration.yml  

# Example 2: Run custom kitti setup
python apis/run.py \
-d options/examples/default_configuration.yml \
-c options/examples/kitti_stereo_train_icra.yml \
--no_confirm

# More examples and our experiments can be found in scripts/experiment.sh

The result (trajectory pose file) is saved in result_dir defined in the configuration file. Please check the options/examples/default_configuration.yml or Configuration Documentation for reference.

Part 4. Result evaluation

The original results, including related works, can be found here.

KITTI

KITTI Odometry benchmark contains 22 stereo sequences, in which 11 sequences are provided with ground truth. The 11 sequences are used for evaluating visual odometry.

python tools/evaluation/odometry/eval_odom.py --result result/tmp/0 --align 6dof

For more information about the evaluation toolkit, please check the toolbox page or the wiki page.

Part 5. Run your own dataset

We also provide a guideline to run DF-VO on your own dataset. Please check Run own dataset for more details.

License

For academic usage, the code is released under the permissive MIT license. Our intension of sharing the project is for research/personal purpose. For any commercial purpose, please contact the authors.

Acknowledgement

Some of the codes were borrowed from the excellent works of monodepth2, LiteFlowNet and pytorch-liteflownet. The borrowed files are licensed under their original license respectively.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].