BasciSR复现过程

复现代码:BasicSR

简单介绍一下代码结构,BasicSR主要是SRResNet,SRGAN,ESRGAN 等几个超分经典模型。

下面我按照GitHub上步骤进行调试。

首先阅读readme文件,了解代码基本情况,以及运行环境等要求。下面开始我们的复现过程:

开始训练SR模型:

在GitHub中wiki有详细的说明。以DIV2K数据集为例,其文件夹结构和元信息如下:

- DIV2K800_sub.lmdb
|--- data.mdb
|--- lock.mdb
|--- meta_info.pkl

                                            

数据集处理

下载数据集,经典的SR数据集有(BSD200, T91, General100; Set5, Set14, urban100, BSD100, manga109; historical)。demo中作者采用的是 DIV2K dataset(分为(800 train and 100 validation))

                                                                

使用 codes/scripts/extract_subimgs_single.py 对数据集进行切分patch,得到DIV2K800_sub文件。

                              

接下来我们需要得到LR图像,在wiki中将数据集产生LR图片,采用matlab文件 codes/scripts/generate_mod_LR_bic.m。但是这种方法需要下载MATLAB_Linux,需要配置一些环境问题,这里可以直接用generate_mod_LR_bic.py得到LR数据集DIV2K800_sub_bicLRx4。

                                      

至此HR与LR数据都准备完毕,训练数据集在LMDB(闪电内存映射数据库)格式,以更快的IO速度。如果你不想使用LMDB,你也可以使用图像文件夹。除了标准的lmdb文件夹外,我们还添加了一个额外的meta_info.pkl文件,用于记录数据集的元信息,如数据集的名称、键和数据集中每个图像的分辨率。所以我们需要将文件格式转化为LMDB格式,同样作者给出了代码create_lmdb.py

                               

还需要验证集,重复上面步骤在Set14数据集,得到验证集。

修改配置文件选项/train/train_SRResNet.yml,运行命令:python train.py -opt options/train/train_SRResNet.yml

在运行SRGAN时,需要我们下载一下预训练模型,下载以后将下载的模型放在实验/pretrained_models文件夹中。

在配置.yml文件,即可运行SRGAN了。

发布了106 篇原创文章 · 获赞 158 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_41997920/article/details/103500342