Skip to content

jinwuZhu/SRSCNet

Repository files navigation

SRSCNet

SRSCNet是一个单卷积图像超分轻量化模型

特性

  • 1x1 卷积网络,实现轻量级图像超分辨率。
  • 该模型可以通过极小的参数量训练产生不错的图像增强效果

支持的功能

  • 图片2倍超分,增强

效果展示

  • 图像超清对比(左边是普通放大方式,右边是SRSCNet)

如何使用

  • 使用预训练的模型:
python enhance.py -i 'input.jpg' -o 'sr_image.jpg' -m 'checkpoints/checkpoint_epoch_1_batch_0.pth'
  • 完整命令参数请使用help命令:
>> python ./enhance.py -h
usage: enhance.py [-h] [--model MODEL] [--input INPUT] [--output OUTPUT]

图像增强

options:
  -h, --help            show this help message and exit
  --model MODEL, -m MODEL
                        模型检查点路径
  --input INPUT, -i INPUT
                        输入文件路径
  --output OUTPUT, -o OUTPUT
                        输出文件路径 (默认: sr_image.jpg)

安装

  1. 你需要安装python3.9 + 以及pytroch,numpy,cv2等依赖库
pip install torch torchvision
pip install numpy
pip install opencv-python
  1. 获取训练好的模型,并放到工程目录下。(注意:你也可以另外放到指定目录下,但是你需要指定 --model 参数来确定加载地址)

如何训练

本工程的训练均是由高清图下采样得到的数据集,你只需要准备一个文件夹存放图片数据即可

  • 非GAN的训练脚本 train.py
python train.py --datafolder '图片文件夹路径'
  • GAN对抗训练
python traingan.py --datafolder '图片文件夹路径' --device 'cpu'

训练建议

  • 初期:

如果只有高清图像进行训练(目前内置训练脚本),建议在训练初期,对于输入,使用2次下采样后再上采样一次,这样能更快的训练出轮廓。之后再进行2x的训练进行微调(主要目的是消除前期4x的伪影,同时优化细节)。

  • 中后期:

批次大小可以缓慢降低,输入输出尺寸也可以尝试缓慢降低。

引用

About

轻量级图像超分辨率

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages