Learning Optical Flow from a Few Matches

This repository contains the source code for our paper:

Learning Optical Flow from a Few Matches
CVPR 2021
Shihao Jiang, Yao Lu, Hongdong Li, Richard Hartley
ANU

Requirements

The code has been tested with PyTorch 1.6 and Cuda 10.1.

conda create --name scv
conda activate scv
conda install pytorch=1.6.0 torchvision=0.7.0 cudatoolkit=10.1 matplotlib tensorboard scipy opencv -c pytorch
pip install faiss-gpu

Required Data

To evaluate/train SCV, you will need to download the required datasets.

By default datasets.py will search for the datasets in these locations. You can create symbolic links to wherever the datasets were downloaded in the datasets folder

├── datasets
    ├── Sintel
        ├── test
        ├── training
    ├── KITTI
        ├── testing
        ├── training
        ├── devkit
    ├── FlyingChairs_release
        ├── data
    ├── FlyingThings3D
        ├── frames_cleanpass
        ├── frames_finalpass
        ├── optical_flow

Evaluation

You can evaluate a trained model using evaluate.py

python evaluate.py --model=checkpoints/quarter/scv-chairs.pth --dataset=chairs

Training

We used the following training schedule in our paper (2 GPUs).

./train.sh

GitHub

https://github.com/zacjiang/scv