Home

Awesome

MR-FLOW: Optical Flow for Mostly Rigid Scenes

This software package contains the MR-Flow optical flow algorithm, as described in Wulff, Sevilla, and Black, "Optical Flow for Mostly Rigid Scenes" (CVPR 2017).

MR-Flow splits the scene into moving objects and the static scene, uses general optical flow for the moving parts, and strong geometric constraints in the static scene.

Note that due to some small bugfixes and changes in the codebase, the results can differ slightly from those given in the paper.

We hope this software is useful to you. If you have any questions, comments, or issues, please do not hesitate to contact us.

Installation

Requirements

Except OpenCV, all other packages can be installed via PIP.

Installation

To use MR-Flow, please set the $MRFLOW_HOME environment variable to the root directory (where this file is located).

MR-Flow uses Karteek Alahari's Efficient TRWS code, which is included in this package. To compile the Cython extension, simply run build_trws.sh in the main directory.

After that, you can test MR-Flow as

python mrflow.py --no_init example/frame1.png example/frame2.png example/frame3.png

Usage

The recommended way to call MR-Flow as

python mrflow.py \
  --rigidity RIGIDITYMAP.png \
  --flow_fwd FLOW_FWD.flo \
  --flow_bwd FLOW_BWD.flo \
  --backflow_fwd BACKFLOW_FWD.flo \
  --backflow_bwd BACKFLOW_BWD.flo \
  IMAGE1 IMAGE2 IMAGE3

This will compute the optical flow from IMAGE2 to IMAGE3. MR-Flow will save the resulting optical flow, the structure, and some visualizations to the current directory.

Some important flags are

For further flags and parameters, please see the file parameter.py.

Rigidity maps

The CNNs to estimate the rigidity maps in the paper are available here.

Citation

If you use MR-Flow, please cite the following paper:

@inproceedings{Wulff:CVPR:2017,
title = {Optical Flow in Mostly Rigid Scenes},
author = {Wulff, Jonas and Sevilla-Lara, Laura and Black, Michael J.},
booktitle = {IEEE Conf. on Computer Vision and Pattern Recognition (CVPR)},
month = jul,
year = {2017},
month_numeric = {7}
}

License

See LICENSE.md for licensing issues and details.

This packages contains code from the paper

"Reduce, Reuse & Recycle: Efficiently Solving Multi-Label MRFs"
Karteek Alahari, Pushmeet Kohli, Philip H. S. Torr
In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2008. 

The code is contained in the directory extern/eff_trws. For licensing details regarding this code, please see extern/eff_trws/eff_mlabel_ver1/README.txt.

Contact

If you run into any issues with MR-Flow, please do not hesitate to contact us at jonas.wulff@tuebingen.mpg.de.