JohnnieXDU / pytorch-unflow

a reimplementation of UnFlow in PyTorch that matches the official TensorFlow version

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pytorch-unflow

This is a personal reimplementation of UnFlow [1] using PyTorch. Should you be making use of this work, please cite the paper accordingly. Also, make sure to adhere to the licensing terms of the authors. Should you be making use of this particular implementation, please acknowledge it appropriately [2].

Paper

For the original TensorFlow version of this work, please see: https://github.com/simonmeister/UnFlow
Another optical flow implementation from me: https://github.com/sniklaus/pytorch-pwc
And another optical flow implementation from me: https://github.com/sniklaus/pytorch-liteflownet
Yet another optical flow implementation from me: https://github.com/sniklaus/pytorch-spynet

setup

To download the pre-trained models, run bash download.bash. These originate from the original authors, I just converted them to PyTorch.

The correlation layer is implemented in CUDA using CuPy, which is why CuPy is a required dependency. It can be installed using pip install cupy or alternatively using one of the provided binary packages as outlined in the CuPy repository.

usage

To run it on your own pair of images, use the following command. You can choose between two models, please make sure to see their paper / the code for more details.

python run.py --model css --first ./images/first.png --second ./images/second.png --out ./out.flo

I am afraid that I cannot guarantee that this reimplementation is correct. However, it produced results identical to the implementation of the original authors in the examples that I tried. Please feel free to contribute to this repository by submitting issues and pull requests.

comparison

Comparison

license

As stated in the licensing terms of the authors of the paper, the models subject to an MIT license. Please make sure to further consult their licensing terms.

references

[1]  @inproceedings{Meister_AAAI_2018,
         author = {Simon Meister and Junhwa Hur and Stefan Roth},
         title = {{UnFlow}: Unsupervised Learning of Optical Flow with a Bidirectional Census Loss},
         booktitle = {AAAI},
         year = {2018}
     }
[2]  @misc{pytorch-unflow,
         author = {Simon Niklaus},
         title = {A Reimplementation of {UnFlow} Using {PyTorch}},
         year = {2018},
         howpublished = {\url{https://github.com/sniklaus/pytorch-unflow}}
    }

About

a reimplementation of UnFlow in PyTorch that matches the official TensorFlow version

License:GNU General Public License v3.0


Languages

Language:Python 99.2%Language:Shell 0.8%