English | 中文
SwinIR的结构比较简单,如果看过Swin-Transformer的话就没什么难点了。作者引入Swin-T结构应用于低级视觉任务,包括图像超分辨率重建、图像去噪、图像压缩伪影去除。SwinIR网络由一个浅层特征提取模块、深层特征提取模块、重建模块构成。重建模块对不同的任务使用不同的结构。浅层特征提取就是一个3×3的卷积层。深层特征提取是k个RSTB块和一个卷积层加残差连接构成。每个RSTB(Res-Swin-Transformer-Block)由L个STL和一层卷积加残差连接构成。模型的结构如下图所示:
对模型更详细的介绍,可参考论文原文SwinIR: Image Restoration Using Swin Transformer,PaddleGAN中目前提供去噪任务的权重
安装PaddleGAN
之后进入PaddleGAN
文件夹下,运行如下命令即生成修复后的图像./output_dir/Denoising/image_name.png
python applications/tools/swinir_denoising.py --images_path ${PATH_OF_IMAGE}
其中PATH_OF_IMAGE
为你需要去噪的图像路径,或图像所在文件夹的路径
DIV2K (800 training images) + Flickr2K (2650 images) + BSD500 (400 training&testing images) + WED(4744 images)
已经整理好的数据:放在了 Ai Studio 里.
训练数据放在:data/trainsets/trainH
下
测试数据为 CBSD68:放在了 Ai Studio 里.
解压到:data/triansets/CBSD68
- 经过处理之后,
PaddleGAN/data
文件夹下的
trainsets
├── trainH
| |-- 101085.png
| |-- 101086.png
| |-- ......
│ └── 201085.png
└── CBSD68
├── 271035.png
|-- ......
└── 351093.png
示例以训练Denoising的数据为例。如果想训练其他任务可以更换数据集并修改配置文件
python -u tools/main.py --config-file configs/swinir_denoising.yaml
测试模型:
python tools/main.py --config-file configs/swinir_denoising.yaml --evaluate-only --load ${PATH_OF_WEIGHT}
去噪
模型 | 数据集 | PSNR/SSIM |
---|---|---|
SwinIR | CBSD68 | 36.0819 / 0.9464 |
模型 | 下载地址 |
---|---|
SwinIR | SwinIR_Denoising |
@article{liang2021swinir,
title={SwinIR: Image Restoration Using Swin Transformer},
author={Liang, Jingyun and Cao, Jiezhang and Sun, Guolei and Zhang, Kai and Van Gool, Luc and Timofte, Radu},
journal={arXiv preprint arXiv:2108.10257},
year={2021}
}