Skip to content

20151001860/Real_ESRGAN_paddle

Repository files navigation

Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data

目录

1. 简介
2. 数据集
3. 复现效果
4. 开始使用
5. 代码结构
6. 模型信息

1. 简介

Real-ESRGAN

本项目基于深度学习框架PaddlePaddle对Real-ESRGAN网络进行复现。Real-ESRGAN网络属于生成对抗网络,包括基于ESRGAN的生成器和基于U-Net的判别器,可对真实世界的复杂图像进行超分辨率重建。

论文: Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data

参考repo: Real-ESRGAN

在此非常感谢Xintao贡献的Real-ESRGANPytorch代码,提高了本repo复现论文的效率。

2. 数据集

本项目训练所用的数据集为DF2KDF2K_multiscale,它们是通过DIV2KFlickr2K生成的,其中,DF2K包含3450张高分辨率图片,DF2K_multiscale包含13800张不同尺度下的低分辨率图片,我们将其放在aistudio上。

3. 复现效果

基于上述数据集的训练结果,在3张低分辨率图片上的测试结果如下:

test_input1test_input2test_input3

上面一行为测试输入图片,下面一行为测试输出图片。

上述测试所用的模型和训练日志可从百度云网盘中下载,提取码:b8tl。

注:由于训练过程中网络中断,因此训练过程分为几段,net_g_latest2.pdparams为最后的权重结果。

4. 开始使用

4.1 准备环境

  • 硬件:Tesla V100 GPU
  • 框架:PaddlePaddle >= 2.2.0

克隆本项目

# clone this repo
git clone https://github.com/20151001860/Real_ESRGAN_paddle.git
cd Real_ESRGAN_paddle

安装第三方库

pip install -r requirements.txt

4.2 快速开始

训练

为了训练Real-ESRGAN模型,我们采用与原论文一致的初始化模型参数ESRGAN_SRx4_DF2KOST_official-ff704c30.pth,并将其转化为Paddle格式的权重ESRGAN_SRx4_DF2KOST_official-ff704c30.pdparams进行训练。

python train.py

测试

python inference_realesrgan.py

5. 代码结构

├─data                          
├─datasets                         
├─experiments                           
├─inputs       
├─loss
├─models
├─options
├─results
├─utils
│  README.md
│  inference_realesrgan.py                                                           
│  requirements.txt                                       
│  train.py                                     

6.模型信息

相关信息:

信息 描述
作者 勇敢土豆不怕困难!
日期 2021年12月20日
框架版本 PaddlePaddle==2.2.0
应用场景 超分辨率重建
硬件支持 GPU、CPU
在线体验 notebook