Skip to content

PyTorch implementation of UPFlow (unsupervised optical flow learning)

License

Notifications You must be signed in to change notification settings

coolbeam/UPFlow_pytorch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[CVPR2021] UPFlow: Upsampling Pyramid for Unsupervised Optical Flow Learning

Kunming Luo1, Chuan Wang1, Shuaicheng Liu2,1, Haoqiang Fan1, Jue Wang1, Jian Sun1

1. Megvii Technology, 2. University of Electronic Science and Technology of China

This is the official implementation of the paper UPFlow: Upsampling Pyramid for Unsupervised Optical Flow Learning CVPR 2021.

Abstract

We present an unsupervised learning approach for optical flow estimation by improving the upsampling and learning of pyramid network. We design a self-guided upsample module to tackle the interpolation blur problem caused by bilinear upsampling between pyramid levels. Moreover, we propose a pyramid distillation loss to add supervision for intermediate levels via distilling the finest flow as pseudo labels. By integrating these two components together, our method achieves the best performance for unsupervised optical flow learning on multiple leading benchmarks, including MPI-SIntel, KITTI 2012 and KITTI 2015. In particular, we achieve EPE=1.4 on KITTI 2012 and F1=9.38% on KITTI 2015, which outperform the previous state-of-the-art methods by 22.2% and 15.7%, respectively.

This repository includes:

  • inferring scripts; and
  • pretrain model;

Presentation Video

[Youtube], [Bilibili]

Pipeline

pipeline Illustration of the pipeline of our network, which contains two stage: pyramid encoding to extract feature pairs in different scales and pyramid decoding to estimate optical flow in each scale. Note that the parameters of the decoder module and the upsample module are shared across all the pyramid levels.

Self-Guided Upsample Module

fig4

Usage

Please first install the environments following how_to_install.md.

Run python3 test.py to test our trained model on KITTI 2015 dataset. Note that Cuda is needed.

Results

results Visual example of our self-guided upsample module (SGU) on MPI-Sintel Final dataset. Results of bilinear method and our SGU are shown.

Citation

If you think this work is helpful, please cite

    @inproceedings{luo2021upflow,
      title={Upflow: Upsampling pyramid for unsupervised optical flow learning},
      author={Luo, Kunming and Wang, Chuan and Liu, Shuaicheng and Fan, Haoqiang and Wang, Jue and Sun, Jian},
      booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
      pages={1045--1054},
      year={2021}
    }

Acknowledgement

Part of our codes are adapted from IRR-PWC, UnFlow ARFlow and UFlow, we thank the authors for their contributions.

About

PyTorch implementation of UPFlow (unsupervised optical flow learning)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published