Experiments with different super-resolution and denoising techniques to determine a method that yields the highest image quality
- SRGAN code based on https://github.com/Lornatang/SRGAN-PyTorch
- ESRGAN code based on https://github.com/Lornatang/ESRGAN-PyTorch
- DIDN code based on https://github.com/SonghyunYu/DIDN
cd data
sh download_dataset.sh
To train noisySRGAN, we run
cd SRGAN_Pytorch
python train.py -a srgan --gpu 0 --pretrained --add-noise 1 --psnr-epochs 1 --gan-epochs 500 [image-folder with train and val folders]
To train noisyESRGAN, we run
cd ESRGAN_Pytorch
python train.py -a esrgan16 --gpu 0 --pretrained --psnr-epochs 8 --gan-epochs 200 --add-noise 1 [image-folder with train and val folders]
We use pretrained weights for SRGAN, ESRGAN, and DIDN
Experiment 1: Denoise and then Superresolution
cd SRGAN
python test_benchmark.py -a srgan --pretrained --gpu 0 --noise_std 0.05 --pre-denoise didn [image-folder with train and val folders]
cd ESRGAN
python test_benchmark.py -a esrgan16 --pretrained --gpu 0 --noise_std 0.05 --pre-denoise didn [image-folder with train and val folders]
Experiment 2: Superresolution and then Denoise
cd SRGAN
python test_benchmark.py -a srgan --pretrained --gpu 0 --noise_std 0.05 --post-denoise didn [image-folder with train and val folders]
cd ESRGAN
python test_benchmark.py -a esrgan16 --pretrained --gpu 0 --noise_std 0.05 --post-denoise didn [image-folder with train and val folders]
Experiment 3: One model noisySRGAN or noisyESRGAN
cd SRGAN
python test_benchmark.py -a srgan --model-path [path to weights] --gpu 0 --noise_std 0.05 [image-folder with train and val folders]
cd ESRGAN
python test_benchmark.py -a esrgan16 --model-path [path to weights] --gpu 0 --noise_std 0.05 [image-folder with train and val folders]
Experiment examples