Need help with fast_blind_video_consistency?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

283 Stars 46 Forks Other 54 Commits 9 Opened issues


Learning Blind Video Temporal Consistency (ECCV 2018)

Services available


Need anything else?

Contributors list

# 179,595
49 commits

Learning Blind Video Temporal Consistency

Wei-Sheng Lai, Jia-Bin Huang, Oliver Wang, Eli Shechtman, Ersin Yumer, and Ming-Hsuan Yang

European Conference on Computer Vision (ECCV), 2018

[Project page][Paper]

Table of Contents

  1. Introduction
  2. Requirements and Dependencies
  3. Installation
  4. Dataset
  5. Apply Pre-trained Models
  6. Training and Testing
  7. Evaluation
  8. Image Processing Algorithms
  9. Citation


Our method takes the original unprocessed and per-frame processed videos as inputs to produce a temporally consistent video. Our approach is agnostic to specific image processing algorithms applied on the original video.

Requirements and dependencies

Our code is tested on Ubuntu 16.04 with cuda 9.0 and cudnn 7.0.


Download repository:

git clone

Compile FlowNet2 dependencies (correlation, resample, and channel norm layers):



Download our training and testing datasets:

cd data
./ [train | test | all]
cd ..

For example, download training data only:

./ train

Download both training and testing data:

./ all

You can also download the results of [Bonneel et al. 2015] and our approach:

./ results

Apply pre-trained models

Download pretrained models (including FlowNet2 and our model):

cd pretrained_models
cd ..

Test pre-trained model:

python -dataset DAVIS -task WCT/wave

The output frames are saved in


Training and testing

Train a new model:

python -datasets_tasks W3_D1_C1_I1

We have specified all the default parameters in

specifies the dataset-task pairs for training.

Test a model:

python -method MODEL_NAME -epoch N -dataset DAVIS -task WCT/wave

Check the checkpoint folder for the

. The output frames are saved in

You can also generate results for multiple tasks using the following script:

python -method output/MODEL_NAME/epoch_N

which will test all the tasks in



Temporal Warping Error

To compute the temporal warping error, we first need to generate optical flow and occlusion masks:

python -dataset DAVIS -phase test

The flow will be stored in

. The occlusion masks will be stored in

Then, run the evaluation script:

python -method output/MODEL_NAME/epoch_N -task WCT/wave


Download LPIPS repository and change

in if necesary (default path is

Run the evaluation script:

python -method output/MODEL_NAME/epoch_N -task WCT/wave

Batch evaluation

You can evaluate multiple tasks using the following script:

python -method output/MODEL_NAME/epoch_N -metric LPIPS
python -method output/MODEL_NAME/epoch_N -metric WarpError

which will evaluate all the tasks in


Test on new videos

To test our model on new videos or applications, please follow the folder structure in


Given a video, we extract frames named as

and save frames in

The per-frame processed video is stored in

, where
is the image processing algorithm applied on the original video.

Image Processing Algorithms

We use the following algorithms to obtain per-frame processed results:

Style transfer - WCT: Universal Style Transfer via Feature Transforms, NIPS 2017 - Fast Neural Style Transfer: Perceptual Losses for Real-Time Style Transfer and Super-Resolution, ECCV 2016

Image Enhancement - DBL: Deep Bilateral Learning for Real-Time Image Enhancement, Siggraph 2017

Intrinsic Image Decomposition - Intrinsic Images in the Wild, Siggraph 2014

Image-to-Image Translation - CycleGAN: Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, ICCV 2017

Colorization - Colorful Image Colorization, ECCV 2016 - Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image Colorization with Simultaneous Classification, Siggraph 2016


If you find the code and datasets useful in your research, please cite:

    author    = {Lai, Wei-Sheng and Huang, Jia-Bin and Wang, Oliver and Shechtman, Eli and Yumer, Ersin and Yang, Ming-Hsuan}, 
    title     = {Learning Blind Video Temporal Consistency}, 
    booktitle = {European Conference on Computer Vision},
    year      = {2018}

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.