最近最先进的超分辨率方法在理想数据集上取得了令人印象深刻的性能,无论模糊和噪声如何。然而,这些方法在现实世界的图像超分辨率中总是失败,因为它们中的大多数采用简单的双三次下采样从高质量图像中构建低分辨率 (LR) 和高分辨率 (HR) 对进行训练,这可能会丢失轨道频率相关的细节。为了解决这个问题,我们专注于通过估计各种模糊核和真实噪声分布来为真实世界的图像设计一种新颖的退化框架。基于我们新颖的退化框架,我们可以获得与真实世界图像共享一个公共域的 LR 图像。然后,我们提出了一个旨在获得更好感知的真实世界超分辨率模型。对合成噪声数据和真实世界图像的广泛实验表明,我们的方法优于最先进的方法,从而降低了噪声和更好的视觉质量。此外,我们的方法在 Real-World Super-Resolution 的两个赛道上都获得了 NTIRE 2020 挑战赛的冠军,大大优于其他竞争对手。
Real-SR开源!
源码地址
我这里使用Anaconda
anaconda 安装与配置这里跳过
conda create --name real_SR_pytorch120 python=3.7
conda activate real_SR_pytorch120
官网上面找与本机cuda对应的版本安装
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
检测环境是否成功
python
import torch
print(torch.__version__) //查看pytorch版本
print(torch.version.cuda) //查看cuda版本
print(torch.cuda.is_available()) //验证cuda是否可用
pip install numpy opencv-python lmdb pyyaml
pip install tb-nightly future
以上环境都准备好了,下面开始下载源码和预训练模型了
DF2K 用于处理噪声的损坏图像。
DPED 用于手机摄像头拍摄的真实图像。
DF2K-JPEG 用于压缩的 jpeg 图像。
两个测试的数据集
df2k数据集
dped数据集
由于国内下载非常缓慢,这里都下载好了,连同源码一起打包好了
以上内容都下载好了,下面开始测试
cd ./codes
修改配置文件options/df2k/test_df2k.yml
第 1 行 : 'name' -- 保存测试结果的目录名
第 13 行:“dataroot_LR” --测试图像目录
第 26 行:“pretrain_model_G” --用于测试的预训练模型
运行命令:
CUDA_VISIBLE_DEVICES=0 python3 test.py -opt options/df2k/test_df2k.yml
输出图像保存在 ‘…/results/’
修改配置文件options/dped/test_dped.yml
第1行 : 'name' -- 保存测试结果的目录名
第 13 行:“dataroot_LR” --测试图像目录
第 26 行:“pretrain_model_G” --用于测试的预训练模型
运行命令:
CUDA_VISIBLE_DEVICES=0 python3 test.py -opt options/dped/test_dped.yml
输出图像保存在’…/results/’
结果图:
我的显卡是:Quadro P4000
处理一张图片需要0.7秒。速度还是有点慢