EDSR阅读笔记

两篇论文都是一两周前阅读的,作个笔记供以后参考。

EDSR

EDSR是一个加强的用于SR的深度残差网络,主要是在SRResnet的基础上进行改造的。

1.Introduction

首先介绍了deepnet的局限性。

  1. 模型的重构性能对较小的体系结构变化很敏感,相同模型基于不同的初始化和训练技巧可以得到不同等级的性能表现。
  2. 大多数现行的SR算法将不同的scale视为独立的问题,并没有利用SR间不同scale的关联,所以每一种scale都需要单独训练。(我看的好多文章明明都支持多种缩放因子啊。感觉都是硬找创新点)

VDSR模型是可以同时解决不同scale问题的,这说明尺度特定的模型的训练是有冗余的,但是VDSR的LR是需要通过bicubic成HR尺寸的,没有直接在LR空间进行计算,损失了LR空间的图像细节并增大了计算复杂度。

为了解决这个问题呢,作者主要采用了以下两点:

  1. 移除了不必要的模型,主要就是移除了BN
  2. 设计了带有一个单一主分支的基准(多尺度 —— multi-scale)模块 ,含有 B = 16 的残差模块,所以大部分参数都可以在不同尺度间进行共享,

2.Related work

提出MSE或者L2 loss可能并不能保证在PSNR和SSIM上有更好的性能,所以这里采用了L1 Loss函数。

3.Proposed Methods

3.1 EDSR

提出了一个增强版的结构简单的残差网络模型

EDSR阅读笔记_第1张图片

为啥去掉BN呢?https://blog.csdn.net/prinstinadl/article/details/80835088

去掉BN后,相同的计算资源下,EDSR就可以堆叠更多的网络层或者使每层提取更多的特征,从而得到更好的性能表现。但是增加特征图的数量将使训练过程不稳定,作者提出了一个residual scaling来解决该问题。在每个residual block的最后一个卷积层后添加一个constant scaling layer,可以帮助稳定训练(尤其是在应用很多的filter时)

当训练缩放因子为×3,×4的EDSR时,作者用预训练过的×2的网络来初始化模型参数。这个策略加速了训练并且提升了最后的性能表现。对于×4,使用预训练×2的模型训练过程中会收敛很快。

EDSR阅读笔记_第2张图片

3.2 MDSR

在MDSR网络头部设置了一个预处理模块,用来减少输入图像不同尺寸的差异,每个预处理模块包含两个卷积核为5×5的残差块。在MDSR的末尾,不同的scale-upsampling模型平行设置来处理各种尺度的SR预测。

MDSR withB = 80 and F = 64.

EDSR阅读笔记_第3张图片

4.训练细节

训练使用48×48的RGB图像输入,训练完×2的模型后,将其用作预训练网络来训练其他缩放因子,采用ADAM优化方法。

EDSR的数据增强思路是将输入的LR图像通过翻转及旋转的几何变换来生成7个LR图像,最后将这个8个LR图像生成的SR图像通过逆几何变换获得原始图像。最后,将转换后的输出加权平均来得到自相似结果。

5.Conclusion

  1. 在Residual block中删除了BN,卷积完成后也不Relu。并控制了残差规模来降低训练复杂度。
  2. MDSR具有尺度相关的模块和共享的主网络,能够在统一的框架内有效地处理各种尺度的超分辨率问题

你可能感兴趣的:(SR)