本文整理单帧真实数据超分目前最有效的三个方法BSRGAN、Real ESRGAN、SwinIR( 方法详解)的训练细节,方便训练时查找。SwinIR这里只记录了其在Real world SR上的相关配置。
1. 训练代码
-
BSRGAN和SwinIR
-
Real ESRGAN
https://github.com/xinntao/Real-ESRGAN/blob/master/docs/Training.md
2. 训练数据
数据(只需要HR图像) | 退化模型 | |
---|---|---|
BSRGAN | DF2K (DIV2K and Flickr2K) , WED and 2,000 face images from FFHQ | BSRGAN |
Real ESRGAN | DF2K (DIV2K and Flickr2K) + OST | Real ESRGAN |
SwinIR | DF2K (DIV2K and Flickr2K) + OST | BSRGAN |
- DIV2K(800 training images):http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip
- Flickr2K(2650 images): https://cv.snu.ac.kr/research/EDSR/Flickr2K.tar
- OST(10324 images for sky,water,grass,mountain,building,plant,animal): https://openmmlab.oss-cn-hangzhou.aliyuncs.com/datasets/OST_dataset.zip
- FFHQ(Flickr-Faces-HQ Dataset):https://github.com/NVlabs/ffhq-dataset
- WED(Waterloo Exploration Database: New Challengesfor Image Quality Assessment Models, 4,744 images):https://ece.uwaterloo.ca/~k29ma/exploration/
3. 训练过程
- 先用 L1 loss训练一个PSNR导向的模型;
- 以第一阶段的模型参数初始化生成器参数,训练一个Gan;
4. 训练超参数
-
PSNR training stage
lr iterations lr is halved loss BSRGAN 1e-4 2000k [200K, 400K, 600K, 800K, 1000K] L1 Real ESRGAN 2e-4 1000K 无 L1 SwinIR 2e-4 1000K [500K,800K,900K,950K] L1 -
GAN training stage
lr iterations lr is halved loss BSRGAN G:5e-5; D: 5e-5 1600K [800k] 1* L1+1* perceptual loss + 0.1*gan loss Real ESRGAN 1e-4 400K 无 1* L1+1* perceptual loss + 0.1* gan loss SwinIR G: 1e-4; D:1e-4 600K [400K,500K,550K,575K] 1* L1+1* perceptual loss + 0.1* gan loss