Skip to content
a reimplementation of Optical Flow Estimation using a Spatial Pyramid Network in PyTorch
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
comparison no message Sep 29, 2018
images no message Sep 29, 2018
LICENSE no message Nov 29, 2018
download.bash no message Nov 19, 2018 no message Jun 12, 2019


This is a personal reimplementation of SPyNet [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].


For the original Torch version of this work, please see:
Another optical flow implementation from me:
And another optical flow implementation from me:
Yet another optical flow implementation from me:


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


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

python --model sintel-final --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.




As stated in the licensing terms of the authors of the paper, the models are free for non-commercial and scientific research purpose. Please make sure to further consult their licensing terms.


[1]  @inproceedings{Ranjan_CVPR_2017,
         author = {Ranjan, Anurag and Black, Michael J.},
         title = {Optical Flow Estimation Using a Spatial Pyramid Network},
         booktitle = {IEEE Conference on Computer Vision and Pattern Recognition},
         year = {2017}
[2]  @misc{pytorch-spynet,
         author = {Simon Niklaus},
         title = {A Reimplementation of {SPyNet} Using {PyTorch}},
         year = {2018},
         howpublished = {\url{}}
You can’t perform that action at this time.