真实数据超分三大方法(BSRGAN、Real ESRGAN、SwinIR)训练细节整理


本文整理单帧真实数据超分目前最有效的三个方法BSRGAN、Real ESRGAN、SwinIR( 方法详解)的训练细节,方便训练时查找。SwinIR这里只记录了其在Real world SR上的相关配置。

1. 训练代码

2. 训练数据

数据(只需要HR图像)退化模型
BSRGANDF2K (DIV2K and Flickr2K) , WED and 2,000 face images from FFHQBSRGAN
Real ESRGANDF2K (DIV2K and Flickr2K) + OSTReal ESRGAN
SwinIRDF2K (DIV2K and Flickr2K) + OSTBSRGAN
  1. DIV2K(800 training images):http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip
  2. Flickr2K(2650 images): https://cv.snu.ac.kr/research/EDSR/Flickr2K.tar
  3. OST(10324 images for sky,water,grass,mountain,building,plant,animal): https://openmmlab.oss-cn-hangzhou.aliyuncs.com/datasets/OST_dataset.zip
  4. FFHQ(Flickr-Faces-HQ Dataset):https://github.com/NVlabs/ffhq-dataset
  5. WED(Waterloo Exploration Database: New Challengesfor Image Quality Assessment Models, 4,744 images):https://ece.uwaterloo.ca/~k29ma/exploration/

3. 训练过程

  1. 先用 L1 loss训练一个PSNR导向的模型;
  2. 以第一阶段的模型参数初始化生成器参数,训练一个Gan;

4. 训练超参数

  • PSNR training stage

    lriterationslr is halvedloss
    BSRGAN1e-42000k[200K, 400K, 600K, 800K, 1000K]L1
    Real ESRGAN2e-41000KL1
    SwinIR2e-41000K[500K,800K,900K,950K]L1
  • GAN training stage

    lriterationslr is halvedloss
    BSRGANG:5e-5; D: 5e-51600K[800k]1* L1+1* perceptual loss + 0.1*gan loss
    Real ESRGAN1e-4400K1* L1+1* perceptual loss + 0.1* gan loss
    SwinIRG: 1e-4; D:1e-4600K[400K,500K,550K,575K]1* L1+1* perceptual loss + 0.1* gan loss
  • 26
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Real ESRGAN是一种用于图像超分辨率增强的方法,它可以通过训练自己的数据集来实现个性化的图像增强效果。下面是训练Real ESRGAN的步骤: 1. 准备数据集:首先,您需要准备一个包含低分辨率图像和对应高分辨率图像的数据集。这些图像对应的分辨率应该是相同的,并且应该有足够的多样性和代表性。 2. 数据预处理:在训练之前,您需要对数据进行预处理。这包括将图像调整为相同的大小,并将它们转换为模型可以处理的格式,例如JPEG或PNG。 3. 构建模型:接下来,您需要构建Real ESRGAN模型。这可以通过使用深度学习框架(如TensorFlow或PyTorch)来实现。您可以使用预训练ESRGAN模型作为起点,并根据您的数据集进行微调,或者从头开始构建一个新的模型。 4. 定义损失函数:在训练过程中,您需要定义一个损失函数来衡量生成图像与真实高分辨率图像之间的差异。常用的损失函数包括均方误差(MSE)和感知损失(Perceptual Loss)。 5. 训练模型:使用准备好的数据集和定义好的损失函数,您可以开始训练Real ESRGAN模型。训练过程可能需要一段时间,具体时间取决于数据集的大小和计算资源的可用性。 6. 评估和调优:在训练完成后,您可以使用一些评估指标(如PSNR和SSIM)来评估模型的性能。如果需要进一步改进模型的效果,您可以尝试调整超参数或增加训练数据。 7. 应用模型:一旦您的Real ESRGAN模型训练完成并且性能满足您的要求,您可以将其应用于新的图像数据,以实现高质量的图像超分辨率增强效果。 下面是一个示例代码,展示了如何使用Real ESRGAN训练自己的数据集: ```python # 导入所需的库 import tensorflow as tf from tensorflow.keras.models import Model from tensorflow.keras.layers import Input, Conv2D, LeakyReLU, Add from tensorflow.keras.optimizers import Adam # 构建Real ESRGAN模型 def build_real_esrgan_model(): # 定义模型的输入 input_image = Input(shape=(None, None, 3)) # 添加ESRGAN模型的各个层 # ... # 定义模型的输出 output_image = # ... # 构建模型 model = Model(inputs=input_image, outputs=output_image) return model # 定义损失函数 def perceptual_loss(y_true, y_pred): # ... pass # 准备数据集 # ... # 构建并编译Real ESRGAN模型 model = build_real_esrgan_model() model.compile(optimizer=Adam(), loss=perceptual_loss) # 训练模型 model.fit(dataset, epochs=10, batch_size=16) # 评估模型 # ... # 应用模型 # ... ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值