IRN的PyTorch实现+使用预训练模型将LR图像变成HR图像
文章:https://arxiv.org/abs/2005.05650
源码:https://github.com/pkuxmq/Invertible-Image-Rescaling#invertible-image-rescaling
1 文章简述
高分辨率的数字图像通常被缩小以适应不同的显示屏或节省存储和带宽的成本,同时后期放大被用于恢复原始分辨率或是缩放图像中的细节。但是,由于高频信息的丢失,典型的图像下采样是一种非单射映射,这就导致了逆上采样过程的不适定性问题,并给低分辨率图像下采样后的细节恢复带来了很大的挑战。单纯用图像超分辨率方法进行缩放,恢复效果不理想。在这项工作中,我们提出通过从一个新的角度,即可逆的双目标变换,来解决这一问题,它可以很大程度上缓解图像缩放的不适定性。我们开发了一个具有精心设计的框架和目标的 Invertible Rescaling Net (IRN) 模型,以产生视觉上令人满意的低分辨率图像,同时在降低尺度的过程中,利用一个潜在变量在指定的分布下捕获丢失信息的分布。这样,通过网络将随机绘制的潜在变量与低分辨率图像反向传递,使上采样变得可控制。实验结果表明,我们的模型比现有的方法在定量和定性评估将下采样图像放大重建方面都有显著的改进。
我们的贡献总结如下:
- 据我们所知,所提出的 IRN 是第一次尝试用一个可逆(即双射)变换来建模图像的下采样和上采样,这是一对相互逆的任务。基于这种可逆性,我们提出的 IRN 可以很大程度上减轻由缩小的 LR 图像进行图像放大重建的病态性质。
- 我们提出了一种新的模型设计和有效的训练目标,以加强潜在变量 z,在下采样方向上嵌入丢失的高频信息,以服从一个简单的个例不确定分布。这使得基于从特定分布中抽取的有价值的 z 样本的上采样有效。
- 与目前最先进的 下采样-SR 和 编解码 方法相比,提出的 IRN 可以显著提高从缩小的 LR 图像进行放大重建的性能。同时,IRN的参数量也大大减少,表明了新算法的轻量化和高效性。
2 训练
在 options/train/ 中修改 “.yml” 后缀的配置文件,添加训练集和验证集的 HR 图像与 LR 图像的存放路径。如果没有 LR 图像,可以只添加 HR 图像的存放路径,训练时程序会自动生成对应的 LR 图像。
python train.py -opt options/train/train_IRN_x4.yml
3 测试
在 options/test/ 中修改 “.yml” 后缀的配置文件,添加测试集的 HR 图像与 LR 图像的存放路径。如果没有 LR 图像,可以只添加 HR 图像的存放路径。下载预训练模型(Google Drive,Baidu D