Git Product home page Git Product logo

invertible-image-rescaling's Introduction

Invertible Image Rescaling

This is the PyTorch implementation of paper: Invertible Image Rescaling (ECCV 2020 Oral). arxiv.

Dependencies and Installation

  • Python 3 (Recommend to use Anaconda)
  • PyTorch >= 1.0
  • NVIDIA GPU + CUDA
  • Python packages: pip install numpy opencv-python lmdb pyyaml
  • TensorBoard:
    • PyTorch >= 1.1: pip install tb-nightly future
    • PyTorch == 1.0: pip install tensorboardX

Dataset Preparation

Commonly used training and testing datasets can be downloaded here.

Get Started

Training and testing codes are in 'codes/'. Please see 'codes/README.md' for basic usages.

Invertible Architecture

Invertible Architecture

Quantitative Results

Quantitative evaluation results (PSNR / SSIM) of different downscaling and upscaling methods for image reconstruction on benchmark datasets: Set5, Set14, BSD100, Urban100, and DIV2K validation set. For our method, differences on average PSNR / SSIM from different z samples are less than 0.02. We report the mean result over 5 draws.

Downscaling & Upscaling Scale Param Set5 Set14 BSD100 Urban100 DIV2K
Bicubic & Bicubic 2x / 33.66 / 0.9299 30.24 / 0.8688 29.56 / 0.8431 26.88 / 0.8403 31.01 / 0.9393
Bicubic & SRCNN 2x 57.3K 36.66 / 0.9542 32.45 / 0.9067 31.36 / 0.8879 29.50 / 0.8946
Bicubic & EDSR 2x 40.7M 38.20 / 0.9606 34.02 / 0.9204 32.37 / 0.9018 33.10 / 0.9363 35.12 / 0.9699
Bicubic & RDN 2x 22.1M 38.24 / 0.9614 34.01 / 0.9212 32.34 / 0.9017 32.89 / 0.9353
Bicubic & RCAN 2x 15.4M 38.27 / 0.9614 34.12 / 0.9216 32.41 / 0.9027 33.34 / 0.9384
Bicubic & SAN 2x 15.7M 38.31 / 0.9620 34.07 / 0.9213 32.42 / 0.9028 33.10 / 0.9370
TAD & TAU 2x 38.46 / – 35.52 / – 36.68 / – 35.03 / – 39.01 / –
CNN-CR & CNN-SR 2x 38.88 / – 35.40 / – 33.92 / – 33.68 / –
CAR & EDSR 2x 51.1M 38.94 / 0.9658 35.61 / 0.9404 33.83 / 0.9262 35.24 / 0.9572 38.26 / 0.9599
IRN (ours) 2x 1.66M 43.99 / 0.9871 40.79 / 0.9778 41.32 / 0.9876 39.92 / 0.9865 44.32 / 0.9908
Downscaling & Upscaling Scale Param Set5 Set14 BSD100 Urban100 DIV2K
Bicubic & Bicubic 4x / 28.42 / 0.8104 26.00 / 0.7027 25.96 / 0.6675 23.14 / 0.6577 26.66 / 0.8521
Bicubic & SRCNN 4x 57.3K 30.48 / 0.8628 27.50 / 0.7513 26.90 / 0.7101 24.52 / 0.7221
Bicubic & EDSR 4x 43.1M 32.62 / 0.8984 28.94 / 0.7901 27.79 / 0.7437 26.86 / 0.8080 29.38 / 0.9032
Bicubic & RDN 4x 22.3M 32.47 / 0.8990 28.81 / 0.7871 27.72 / 0.7419 26.61 / 0.8028
Bicubic & RCAN 4x 15.6M 32.63 / 0.9002 28.87 / 0.7889 27.77 / 0.7436 26.82 / 0.8087 30.77 / 0.8460
Bicubic & ESRGAN 4x 16.3M 32.74 / 0.9012 29.00 / 0.7915 27.84 / 0.7455 27.03 / 0.8152 30.92 / 0.8486
Bicubic & SAN 4x 15.7M 32.64 / 0.9003 28.92 / 0.7888 27.78 / 0.7436 26.79 / 0.8068
TAD & TAU 4x 31.81 / – 28.63 / – 28.51 / – 26.63 / – 31.16 / –
CAR & EDSR 4x 52.8M 33.88 / 0.9174 30.31 / 0.8382 29.15 / 0.8001 29.28 / 0.8711 32.82 / 0.8837
IRN (ours) 4x 4.35M 36.19 / 0.9451 32.67 / 0.9015 31.64 / 0.8826 31.41 / 0.9157 35.07 / 0.9318

Qualitative Results

Qualitative results of upscaling the 4x downscaled images

Acknowledgement

The code is based on BasicSR, with reference of FrEIA.

Contact

If you have any questions, please contact [email protected].

invertible-image-rescaling's People

Contributors

cugtyt avatar henrymai avatar pkuxmq avatar xinntao avatar zestloveheart avatar zhengsx avatar

Watchers

 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.