Giter VIP home page Giter VIP logo

srmd-pytorch's Introduction

Super-Resolution Network for Multiple Degradations (SRMD)

PyTorch Implementation of Learning a Single Convolutional Super-Resolution Network for Multiple Degradations (CVPR 2018)

All the files in the directory kernels are from [1].

Requirements

  • python 3.6
  • pytorch==0.4.0
  • visdom
  • pillow
  • h5py

Usage

First, download images from the Internet and put them into a folder Database as follows:

+---SRMD-pytorch
    +---Database
        +---train                  # For training
        |       1.png
        |       10.jpg
        |        ...
        \---test                   # For testing
                5.png
                10.bmp
                 ...

Second, train the network

$ python main.py --scale_factor=2 --mode='train'

Third, do testing (Not implemented yet)

$ python main.py --scale_factor=2 --mode='test'

Results

  • First column: LR image, Second column: SR image, Third column: HR image

Images (SRMDNFx2)

drawing

Images (SRMDNFx3)

drawing

Images (SRMDNFx4)

drawing

Notes

  • The implementation is slightly different with one in original paper.
  • I put a sigmoid function right after the last convolutional layer.
    • No sigmoid resulted in unstable results (bouncing pixels even after large iterations)

To-Do

  • To implement method test() of class Solver considering users' favor (specific blur kernel as input)
  • To train on the other scale factors (SRMDNFx3, SRMDNFx4)
  • To consider additive noise after downsampling (SRMDx2, SRMDx3, SRMDx4)
  • To evaluate quantitative performances of the trained networks

Reference

[1] MatConvNet implementation of one author of the paper (only test code available, as of June 27, 2018)

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.