This repository is an official PyTorch implementation of the paper "Joint Spatial-Wavelet Dual-Stream Network for Super-Resolution" [paper] from MICCAI 2020.
HistoSR dataset is built by random cropping patches from Camelyon16 dataset. By bicubic and nearest downsampling, HistoSR dataset provides a 2× SR from 96×96 pixels to 192×192 pixels with two kinds of degradation. Specifically, the bicubic degradation kernel is the common choice and retains neighboring information, while the nearest one discards the pixels directly. In this way, the nearest version provides a more difficult case to comprehensively evaluate various SR algorithms. Each version of HistoSR dataset contains 30,000 SR pairs in training set and 5,000 SR pairs in test set.
The HistoSR data is stored in LMDB files and can be downloaded from Google Drive. Put the downloaded bicubic
and nearest
subfolders in a newly-built folder ./HistoSR/
.
- Python 3.6
- PyTorch >= 1.3.0
- numpy
- lmdb
Clone this repository into any place you want.
git clone https://github.com/franciszchen/SWD-Net.git
cd SWD-Net
mkdir save; mkdir HistoSR; mkdir weights
- Train the SWD-Net with HistoSR bicubic dataset:
python ./train_swdnet.py --theme swdnet-bicubic-default-bsz24 --job_type S --data_degradation bicubic --batch_size 24
- Train the SWD-Net with HistoSR nearest dataset:
python ./train_swdnet.py --theme swdnet-nearest-default-bsz24 --job_type S --data_degradation nearest --batch_size 24
SWD-Net is implemented and evaluated in RGB-channel. Data augmentation and statistical MeanShift are not employed to optimize SWD-Net.
Method | Bicubic degradation | Nearest degradation | ||
---|---|---|---|---|
PSNR | SSIM | PSNR | SSIM | |
SWD-Net | 32.769 | 0.9510 | 31.538 | 0.9397 |
The weights of SWD-Net to reproduce the records in the paper can be downloaded from Google Drive. Put the downloaded weight files in a newly-built folder ./weights/
.
- For the bicubic degradation:
python ./eval_pth.py --job_type S --data_degradation bicubic --batch_size 24
- For the nearest degradation:
python ./eval_pth.py --job_type S --data_degradation nearest --batch_size 24
If you find our work useful in your research or publication, please cite our work:
@inproceedings{chen2020joint,
title={Joint Spatial-Wavelet Dual-Stream Network for Super-Resolution},
author={Chen, Zhen and Guo, Xiaoqing and Yang, Chen and Ibragimov, Bulat and Yuan, Yixuan},
booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
pages={184--193},
year={2020},
organization={Springer}
}
- SSIM calculation derived from pytorch-ssim.
- Wavelet Packet Transform derived from MWCNN_PyTorch.