ESRGAN训练数据

一、ESRGAN测试:

1、代码下载:xinntao / ESRGAN

2、安装环境(这里略)

3、下载models:Google Drive or Baidu Drive. 然后把它们放在./models文件夹下面。

ESRGAN训练数据_第1张图片

4、 然后运行test.py,就会将LR文件夹的低分辨率图像生成X4(可更改model)的高分辨率图像存在results文件夹内

二、ESRGAN训练

1、代码下载xinntao / BasicSR

2、下载预训练模型,下载数据集DIV2K,或者其他常见图像超分数据集

3、运行scripts/data_preparation/extract_subimages.py (DIV2K 数据集 2K 分辨率的 (比如: 2048x1080), 而我们在训练的时候往往并不要那么大 (常见的是 128x128 或者 192x192 的训练patch). )把2K的图片裁剪成有overlap的 480x480 的子图像块,这里放在文件夹HR_sub目录下。然后使用以下代码将HR_sub里面的图都缩小四倍,放至LR_bicubic目录下

import os
import PIL.Image as pil_image

img_dir = r"./HR_sub"
save_dir = r"./LR_bicubic"

imgs = os.listdir(img_dir)
for i in range(len(imgs)):
    img_path = os.path.join(img_dir, imgs[i])
    print()
    image = pil_image.open(img_path).convert('RGB')
    image = image.resize((int(image.width / 4), int(image.height / 4)), resample=pil_image.BICUBIC)
    save_path = os.path.join(save_dir, imgs[i])
    # image.save(save_path.replace('.', '_bicubic_x{}.'.format(4)))
    image.save(save_path)

3、更改配置文件options/train/ESRGAN/train_ESRGAN_x4.yml里面,train下面的dataroot_gt和dataroot_lq目录,val目录也得修改。然后根据需要修改训练参数,主要是尺寸和batch_size.

ESRGAN训练数据_第2张图片

然后就可以开始训练了,这里训练过程忘记截图了!

 

----------------------------------------------2021.04.18更新--------------------------------------------

三、ESRGAN训练自己的数据

1、代码准备不说了

2、自己准备数据,ESRGAN_HR(为训练所需要的高分辨图像,因为我的gt_size=128且scale=4,所以所有的HR图像尺寸都大于128且高宽都能被4整除不然会报错~

                               ESRGAN_LR(HR图像使用Bicubic降采样为1/4大小)

3、训练PSNR模型,更改BasicSR目录下的options/train/ESRGAN/train_RRDBNet_PSNR_x4.yml配置文件。(这里我只更改了训练和验证目录)

ESRGAN训练数据_第3张图片

     训练完成得到的PSNR模型在BasicSR目录下的experiments/...目录下

4、训练ESRGAN的G网络

      更改BasicSR目录下的options/train/ESRGAN/train_ESRGAN_x4.yml配置文件。(这里我只更改了训练和验证目录,和上面类似)

      然后将其path下的pretrain_network_g目录更改为上面训练得到的panr模型(也可以直接用experiments/pretrain_models下的预训练模型)

      .......

5、使用训练好的ESRGAN的G网络生成高分辨率

      运行代码为:BasicSR目录下的inference/inference_esrgan.py

      将--model_path路径更改为(../../models/net_g_185000.pth),再将--folder路径更改为自己要进行超分的图像路径,这里自己可以再更改代码,添加保存路径。

 

—————————————————————————————————————————————

另外:

      这个BasicSR代码我在windows和ubuntu上都运行过;

      曾经试过缩放比例为2倍,gt_size设置为64,可是报错了,暂未解决,若有好心人知道可以解惑啦

      本人也不是特别懂,也只自学了一段时间用来做了些验证,若有不妥还请指正!

 

 

你可能感兴趣的:(深度学习,深度学习)