galprz / ZSSR-pytorch

Pytorch implementation and suggestions for improvement of "Zero-Shot" Super-Resolution using Deep Internal Learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Zero shot super resolution

Intro

Implementation and suggestions for improvement of "Zero-Shot" Super-Resolution using Deep Internal Learning https://arxiv.org/abs/1712.06087

Setup

First download the code by git clone the repo:

git clone https://github.com/galprz/ZSSR-pytorch
conda env update -f environment.yml
conda activate zssr

Report

report.pdf contains information about the ZSSR model and on our experiments.

Code structure

  • config - the cofiguration for the experiments.
  • loss contains the implemntation of the ContentLoss
  • metrics - the psnr and ssim metrics
  • model - zssr and vdsr implementation
  • train_and_eval - helper function fo training
  • transforms - transforms for lr and hr pairs
  • utils - helpers functions
  • data - contains the class for the dataset and data sampler

Experiments

To view the experiments result run

jupyter lab

After following the Setup phase

  • experiment notebook - contains data exploration and sanity check for the model
  • experiment pixelshuffle - comparison between ZSSR to ZSSR with pixel shuffle
  • experiment transfer - comparison between ZSSR to ZSSR with VDSR as backbone
  • experiment content loss - comparison between ZSSR with l1 loss and ZSSR with content loss

Dataset

To run the experiments download the dataset from here and unzip it to the root folder

Pretrain VDSR

The VDSR model trained on BSDS300 using this google colab based on this github

To run the experiment transfer notebook you need to download first the pretrain VDSR model from here and put it in the 'model' folder under the root folder

About

Pytorch implementation and suggestions for improvement of "Zero-Shot" Super-Resolution using Deep Internal Learning


Languages

Language:Jupyter Notebook 97.3%Language:Python 2.7%