All Projects → leftthomas → Espcn

leftthomas / Espcn

A PyTorch implementation of ESPCN based on CVPR 2016 paper "Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network"

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Espcn

Named Entity Recognition With Bidirectional Lstm Cnns
Named-Entity-Recognition-with-Bidirectional-LSTM-CNNs
Stars: ✭ 283 (-15.02%)
Mutual labels:  cnn
Computer Vision Leaderboard
Comparison of famous convolutional neural network models
Stars: ✭ 299 (-10.21%)
Mutual labels:  cnn
Caffe Mobile
Optimized (for size and speed) Caffe lib for iOS and Android with out-of-the-box demo APP.
Stars: ✭ 316 (-5.11%)
Mutual labels:  cnn
Deepnet
Implementation of CNNs, RNNs, and many deep learning techniques in plain Numpy.
Stars: ✭ 285 (-14.41%)
Mutual labels:  cnn
Pytorch Srgan
A modern PyTorch implementation of SRGAN
Stars: ✭ 289 (-13.21%)
Mutual labels:  cnn
Yolo V2 Pytorch
YOLO for object detection tasks
Stars: ✭ 302 (-9.31%)
Mutual labels:  cnn
Anpr
licence plate detection and recognition
Stars: ✭ 277 (-16.82%)
Mutual labels:  cnn
Ios 10 Sampler
Code examples for new APIs of iOS 10.
Stars: ✭ 3,341 (+903.3%)
Mutual labels:  cnn
Text Cnn
嵌入Word2vec词向量的CNN中文文本分类
Stars: ✭ 298 (-10.51%)
Mutual labels:  cnn
Tf audio steganalysis
Audio steganalysis with tensorflow.
Stars: ✭ 312 (-6.31%)
Mutual labels:  cnn
Pytorch Cifar Models
3.41% and 17.11% error on CIFAR-10 and CIFAR-100
Stars: ✭ 286 (-14.11%)
Mutual labels:  cnn
Image Captioning
Image Captioning using InceptionV3 and beam search
Stars: ✭ 290 (-12.91%)
Mutual labels:  cnn
Unet Zoo
A collection of UNet and hybrid architectures in PyTorch for 2D and 3D Biomedical Image segmentation
Stars: ✭ 302 (-9.31%)
Mutual labels:  cnn
Chinese Text Classification
Chinese-Text-Classification,Tensorflow CNN(卷积神经网络)实现的中文文本分类。QQ群:522785813,微信群二维码:http://www.tensorflownews.com/
Stars: ✭ 284 (-14.71%)
Mutual labels:  cnn
Dcpdn
Densely Connected Pyramid Dehazing Network (CVPR'2018)
Stars: ✭ 321 (-3.6%)
Mutual labels:  cnn
Mydeeplearning
A deep learning library to provide algs in pure Numpy or Tensorflow.
Stars: ✭ 281 (-15.62%)
Mutual labels:  cnn
Yolo Pytorch
YOLO for object detection tasks
Stars: ✭ 301 (-9.61%)
Mutual labels:  cnn
Srmd
Learning a Single Convolutional Super-Resolution Network for Multiple Degradations (CVPR, 2018) (Matlab)
Stars: ✭ 333 (+0%)
Mutual labels:  cnn
Edgenets
This repository contains the source code of our work on designing efficient CNNs for computer vision
Stars: ✭ 331 (-0.6%)
Mutual labels:  cnn
Video Classification 2 Stream Cnn
Video Classification using 2 stream CNN
Stars: ✭ 305 (-8.41%)
Mutual labels:  cnn

ESPCN

A PyTorch implementation of ESPCN based on CVPR 2016 paper Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network.

Requirements

conda install pytorch torchvision -c soumith
conda install pytorch torchvision cuda80 -c soumith # install it if you have installed cuda
  • PyTorchNet
pip install git+https://github.com/pytorch/[email protected]
  • opencv
conda install opencv

Datasets

Train、Val Dataset

The train and val datasets are sampled from VOC2012. Train dataset has 16700 images and Val dataset has 425 images. Download the datasets from here(access code:5tzp), and then extract it into data directory. Finally run

python data_utils.py

optional arguments:
--upscale_factor      super resolution upscale factor [default value is 3]

to generate train and val datasets from VOC2012 with given upscale factors(options: 2、3、4、8).

Test Image Dataset

The test image dataset are sampled from | Set 5 | Bevilacqua et al. BMVC 2012 | Set 14 | Zeyde et al. LNCS 2010 | BSD 100 | Martin et al. ICCV 2001 | Sun-Hays 80 | Sun and Hays ICCP 2012 | Urban 100 | Huang et al. CVPR 2015. Download the image dataset from here(access code:xwhy), and then extract it into data directory.

Test Video Dataset

The test dataset are sampled from Jay Chou's Music Videos. Download the video dataset from here(access code:6rad), and then extract it into data/test/SRF_xx/video directory, which xx means the upscale factor.

Usage

Train

python -m visdom.server & python train.py

optional arguments:
--upscale_factor      super resolution upscale factor [default value is 3]
--num_epochs          super resolution epochs number [default value is 100]

Visdom now can be accessed by going to 127.0.0.1:8097 in your browser, or your own host address if specified.

If the above does not work, try using an SSH tunnel to your server by adding the following line to your local ~/.ssh/config : LocalForward 127.0.0.1:8097 127.0.0.1:8097.

Maybe if you are in China, you should download the static resources from here(access code:vhm7), and put them on ~/anaconda3/lib/python3.6/site-packages/visdom/static/.

Test Image

python test_image.py

optional arguments:
--upscale_factor      super resolution upscale factor [default value is 3]
--model_name          super resolution model name [default value is epoch_3_100.pt]

The output high resolution images are on results directory.

Test Video

python test_video.py

optional arguments:
--upscale_factor      super resolution upscale factor [default value is 3]
--is_real_time        super resolution real time to show [default value is False]
--delay_time          super resolution delay time to show [default value is 1]
--model_name          super resolution model name [default value is epoch_3_100.pt]

The output high resolution videos are on results directory.

Benchmarks

Adam optimizer were used with learning rate scheduling between epoch 30 and epoch 80.

Upscale Factor = 2

Epochs with batch size of 64 takes ~1 minute on a NVIDIA GeForce TITAN X GPU.

Loss/PSNR graphs

Image Results

The left is low resolution image, the middle is high resolution image, and the right is super resolution image(output of the ESPCN).

  • Set5
  • Set14
  • BSD100
  • Urban100

Video Results

The right is low resolution video, the left is super resolution video(output of the ESPCN). Click the image to watch the complete video.

Watch the video

Upscale Factor = 3

Epochs with batch size of 64 takes ~30 seconds on a NVIDIA GeForce TITAN X GPU.

Loss/PSNR graphs

Image Results

The left is low resolution image, the middle is high resolution image, and the right is super resolution image(output of the ESPCN).

  • Set5
  • Set14
  • BSD100

Video Results

The right is low resolution video, the left is super resolution video(output of the ESPCN). Click the image to watch the complete video.

Watch the video

Upscale Factor = 4

Epochs with batch size of 64 takes ~20 seconds on a NVIDIA GeForce GTX 1070 GPU.

Loss/PSNR graphs

Image Results

The left is low resolution image, the middle is high resolution image, and the right is super resolution image(output of the ESPCN).

  • Set5
  • Set14
  • BSD100
  • Urban100

Video Results

The right is low resolution video, the left is super resolution video(output of the ESPCN). Click the image to watch the complete video.

Watch the video

Upscale Factor = 8

Epochs with batch size of 64 takes ~15 seconds on a NVIDIA GeForce GTX 1070 GPU.

Loss/PSNR graphs

Image Results

The left is low resolution image, the middle is high resolution image, and the right is super resolution image(output of the ESPCN).

  • SunHays80

Video Results

The left is low resolution video, the right is super resolution video(output of the ESPCN). Click the image to watch the complete video.

Watch the video

The complete test image results could be downloaded from here(access code:nkh9), and the complete test video results could be downloaded from here(access code:1dus).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].