Giter Club home page Giter Club logo

deeptemporalsr's Introduction

Please see the full Project site | Paper (PDF)

This is the official paper implementation of our ECCV paper, Across Scales & Across Dimensions: Temporal Super-Resolution using Deep Internal Learning Default

fan billiard

bluecup cheetah

fire running2

Getting Started

Clone the Repo:

git clone https://github.com/eyalnaor/DeepTemporalSR.git
cd DeepTemporalSR

Datasets

Download Our Dataset
The downloaded videos can be placed in ./Example_data or any other folder and change the "frames_folder" parameter in config.json or feed from the command line.

Prerequisites

Tested and ran on:

  • Ubuntu - 18.04 LTS
  • CUDA - 10.1.243
  • CUDNN - 7.6.5
  • pytorch - 1.4.0
  • tensorboard - 2.1.0

for additional package information please refer to requirements.txt or env.yml
NOTE - The environment was not tested on windows platforms, thus env.yml or venv might not work, if indeed they don't try installing manually.

  1. Setup conda
    conda env create -f env.yml
    This will create a working environment named zstsr
  2. Setup can also be performed with pip (virtual env) via the requirements.txt file
    python -m venv zstsr
    
    source zstsr/bin/activate
    
    pip install -r requirements.txt
  3. There are several examples provided with the code in ./Example_videos/<vid>/

Running the Code

Code

python main.py 

This will run the code with default configuration, as used to produce the results in the paper.
This will output the HR results, along with saved models, etc. to the working_dir_base folder as specified in the config.

Config

There are many tunable parameters. config.json sets the default values we used in our experiments.

Below are the main configuration parameters to change:

  • frames_folder - Path to input (LR) frames
  • working_dir_base - Base Path to save results
  • upsamaple_steps - Upsampling scale for each iteration of the network
  • backprojection - Whether to use spatio-temporal Back-Projection
  • fix_network and fine_tune - If and how to retrain the network between upsampling iterations. See comments in config.json
  • within/across/shift probability - Probability of each augmentation in training
  • num_epochs - Number of training epochs

For the full list of parameters please refer to the comments inside config.json

External Flags

main.py also takes external flags, in order to override settings in the config.json, to enable multiple runs with different parameters.
Useful flags:

  • --config path to config. Default is config.json in the folder of main.py
  • --data input data folder
  • --workingdir result base folder
  • --initiallr initial learning rate

For the full list of parameters please refer to the comments inside utils.create_parser()

Numerical Evaluation

To see our full numerical evaluation on the dataset - Numerical Results

Numerical Results

results_table

Visual Results

For all the videos and results please see project site

License

This project is licensed under the MIT License - see the LICENSE.md file for details

References

[1] Jin, M., Hu, Z., Favaro, P.: Learning to extract flawless slow motion from blurry videos. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[2] Bao, W., Lai, W.S., Ma, C., Zhang, X., Gao, Z., Yang, M.H.: Depth-aware video frame interpolation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 3703โ€“3712 (2019)

[3] Jiang, H., Sun, D., Jampani, V., Yang, M.H., Learned-Miller, E., Kautz, J.: Super slomo: High quality estimation of multiple intermediate frames for video interpolation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[4] . Zhang, R., Isola, P., Efros, A.A., Shechtman, E., Wang, O.: The unreasonable effectiveness of deep features as a perceptual metric. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[5] Our imresize function was written by Ben Feinstein & Assaf Shocher Please see their work: Assaf's Github, Ben's Github

deeptemporalsr's People

Contributors

eyalnaor2 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.