lec0dex / FGVC

[ECCV 2020] Flow-edge Guided Video Completion
Other
7 stars 2 forks source link

[ECCV 2020] Flow-edge Guided Video Completion

[Original code]

We present a new flow-based video completion algorithm. Previous flow completion methods are often unable to retain the sharpness of motion boundaries. Our method first extracts and completes motion edges, and then uses them to guide piecewise-smooth flow completion with sharp edges. Existing methods propagate colors among local flow connections between adjacent frames. However, not all missing regions in a video can be reached in this way because the motion boundaries form impenetrable barriers. Our method alleviates this problem by introducing non-local flow connections to temporally distant frames, enabling propagating video content over motion boundaries. We validate our approach on the DAVIS dataset. Both visual and quantitative results show that our method compares favorably against the state-of-the-art algorithms.

[ECCV 2020] Flow-edge Guided Video Completion
Chen Gao, Ayush Saraf, Jia-Bin Huang, and Johannes Kopf
In European Conference on Computer Vision (ECCV), 2020

Ray and Zarr implementation

The original code allocates all frames into GPU memory, which may limit the use only on expensive hardware. To alleviate that, the code was tweaked and features added, like Ray for multiprocessing and Zarr for storage. Depending on how many frames are, this code may use a good amount of RAM in video completion due to unoptimized flowNN process. A per batch frame processing was implemented to get around that, but Consider it as experimental, as it may produce unexpected results.

Prerequisites

and the Python dependencies listed in requirements.txt

Quick start

First step: Create flow, process mask and gradients

Second step: Video completion

python 2-video-completion.py \
       --outroot ./result/tennis_extrapolation \

License

This work is licensed under MIT License. See LICENSE for details.

Acknowledgments