All Projects → yjn870 → SRCNN-pytorch

yjn870 / SRCNN-pytorch

Licence: other
PyTorch implementation of Image Super-Resolution Using Deep Convolutional Networks (ECCV 2014)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to SRCNN-pytorch

FSRCNN-pytorch
PyTorch implementation of Accelerating the Super-Resolution Convolutional Neural Network (ECCV 2016)
Stars: ✭ 115 (-34.66%)
Mutual labels:  image-super-resolution
HCFlow
Official PyTorch code for Hierarchical Conditional Flow: A Unified Framework for Image Super-Resolution and Image Rescaling (HCFlow, ICCV2021)
Stars: ✭ 140 (-20.45%)
Mutual labels:  image-super-resolution
NLRN
Code for Non-Local Recurrent Network for Image Restoration (NeurIPS 2018)
Stars: ✭ 165 (-6.25%)
Mutual labels:  image-super-resolution
IDN-pytorch
paper implement : Fast and Accurate Single Image Super-Resolution via Information Distillation Network
Stars: ✭ 40 (-77.27%)
Mutual labels:  image-super-resolution
RDN-pytorch
PyTorch implementation of Residual Dense Network for Image Super-Resolution (CVPR 2018)
Stars: ✭ 91 (-48.3%)
Mutual labels:  image-super-resolution
PESR
Official code (Pytorch) for paper Perception-Enhanced Single Image Super-Resolution via Relativistic Generative Networks
Stars: ✭ 28 (-84.09%)
Mutual labels:  image-super-resolution
Awesome-low-level-vision-resources
A curated list of resources for Low-level Vision Tasks
Stars: ✭ 35 (-80.11%)
Mutual labels:  image-super-resolution
Image Super Resolution
🔎 Super-scale your images and run experiments with Residual Dense and Adversarial Networks.
Stars: ✭ 3,293 (+1771.02%)
Mutual labels:  image-super-resolution
SwinIR
SwinIR: Image Restoration Using Swin Transformer (official repository)
Stars: ✭ 1,260 (+615.91%)
Mutual labels:  image-super-resolution

SRCNN

This repository is implementation of the "Image Super-Resolution Using Deep Convolutional Networks".

Differences from the original

  • Added the zero-padding
  • Used the Adam instead of the SGD
  • Removed the weights initialization

Requirements

  • PyTorch 1.0.0
  • Numpy 1.15.4
  • Pillow 5.4.1
  • h5py 2.8.0
  • tqdm 4.30.0

Train

The 91-image, Set5 dataset converted to HDF5 can be downloaded from the links below.

Dataset Scale Type Link
91-image 2 Train Download
91-image 3 Train Download
91-image 4 Train Download
Set5 2 Eval Download
Set5 3 Eval Download
Set5 4 Eval Download

Otherwise, you can use prepare.py to create custom dataset.

python train.py --train-file "BLAH_BLAH/91-image_x3.h5" \
                --eval-file "BLAH_BLAH/Set5_x3.h5" \
                --outputs-dir "BLAH_BLAH/outputs" \
                --scale 3 \
                --lr 1e-4 \
                --batch-size 16 \
                --num-epochs 400 \
                --num-workers 8 \
                --seed 123                

Test

Pre-trained weights can be downloaded from the links below.

Model Scale Link
9-5-5 2 Download
9-5-5 3 Download
9-5-5 4 Download

The results are stored in the same path as the query image.

python test.py --weights-file "BLAH_BLAH/srcnn_x3.pth" \
               --image-file "data/butterfly_GT.bmp" \
               --scale 3

Results

We used the network settings for experiments, i.e., .

PSNR was calculated on the Y channel.

Set5

Eval. Mat Scale SRCNN SRCNN (Ours)
PSNR 2 36.66 36.65
PSNR 3 32.75 33.29
PSNR 4 30.49 30.25
Original BICUBIC x3 SRCNN x3 (27.53 dB)
Original BICUBIC x3 SRCNN x3 (29.30 dB)
Original BICUBIC x3 SRCNN x3 (28.58 dB)
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].