wind222 / SRGAN

A tensorflow implemenation of Christian et al's SRGAN(super-resolution generative adversarial network)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SRGAN(Super-Resolution Generative Adversarial Network

A tensorflow implementation of Christian et al's "Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network" paper. ( See : https://arxiv.org/abs/1609.04802 ) This implementation is quite different from original paper. The differences are as followings:

  1. MNIST data set is used for convenience. ( It'll be straight-forward applying this scheme to large image data set like Urban 100 )
  2. I've completely replace MSE loss with GAN using tuple input for discriminator.( see training source code )
  3. I've used ESPCN ( sub-pixel CNN ) instead of deconvolution. ( see : http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Shi_Real-Time_Single_Image_CVPR_2016_paper.pdf )

The existing CNN based super-resolution skill mainly use MSE loss and this makes super-resolved images look blurry. If we replace MSE loss with gradients from GAN, we may prevent the blurry artifacts of the super-resolved images and this is the key idea of this paper. I think this idea looks promising and my experiment result using MNIST data set looks good.

Dependencies

  1. tensorflow >= rc0.11
  2. sugartensor >= 0.0.1.7

Training the network

Execute


python train.py

to train the network. You can see the result ckpt files and log files in the 'asset/train' directory. Launch tensorboard --logdir asset/train/log to monitor training process.

Generating image

Execute


python generate.py

to generate sample image. The 'sample.png' file will be generated in the 'asset/train' directory.

Super-resolution image sample

This image was generated by SRGAN.

Other resources

  1. Original GAN tensorflow implementation
  2. InfoGAN tensorflow implementation
  3. Supervised InfoGAN tensorflow implementation
  4. EBGAN tensorflow implementation
  5. Time-series InfoGAN tensorflow implementation

Authors

Namju Kim (buriburisuri@gmail.com) at Jamonglabs Co., Ltd.

About

A tensorflow implemenation of Christian et al's SRGAN(super-resolution generative adversarial network)

License:MIT License


Languages

Language:Python 100.0%