超分为何不适合用BN

EDSR
网络结构
EDSR
MDSR
训练方式
实验结果
总结
参考博客
韩国首尔大学的研究团队提出用于图像超分辨率任务的新方法,分别是增强深度超分辨率网络 EDSR 和一种新的多尺度深度超分辨率 MDSR,在减小模型大小的同时实现了比当前其他方法更好的性能,分别赢得NTIRE2017超分辨率挑战赛的第一名和第二名。

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

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

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

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

在这里插入图片描述

去掉了BN层。为啥去掉BN呢?

Batch Norm可谓深度学习中非常重要的技术,不仅可以使训练更深的网络变容易,加速收敛,还有一定正则化的效果,可以防止模型过拟合。在很多基于CNN的分类任务中,被大量使用。
但在图像超分辨率和图像生成方面,Batch Norm的表现并不好,加入了Batch Norm,反而使得训练速度缓慢,不稳定,甚至最后发散。

以图像超分辨率来说,网络输出的图像在色彩、对比度、亮度上要求和输入一致,改变的仅仅是分辨率和一些细节,而Batch Norm,对图像来说类似于一种对比度的拉伸,任何图像经过Batch Norm后,其色彩的分布都会被归一化,也就是说,它破坏了图像原本的对比度信息,所以Batch Norm的加入反而影响了网络输出的质量。虽然Batch Norm中的scale和shift参数可以抵消归一化的效果,但这样就增加了训练的难度和时间,还不如直接不用。不过有一类网络结构可以用,那就是残差网络(Residual Net),但也仅仅是在residual block当中使用,比如SRResNet,就是一个用于图像超分辨率的残差网络。为什么这类网络可以使用Batch Norm呢?有人认为是因为图像的对比度信息可以通过skip connection直接传递,所以也就不必担心Batch Norm的破坏了。

基于这种想法,也可以从另外一种角度解释Batch Norm为何在图像分类任务上如此有效。图像分类不需要保留图像的对比度信息,利用图像的结构信息就可以完成分类,所以,将图像都通过Batch Norm进行归一化,反而降低了训练难度,甚至一些不明显的结构,在Batch Norm后也会被凸显出来(对比度被拉开了)。

而对于照片风格转移,为何可以用Batch Norm呢?原因在于,风格化后的图像,其色彩、对比度、亮度均和原图像无关,而只与风格图像有关,原图像只有结构信息被表现到了最后生成的图像中。因此,在照片风格转移的网络中使用Batch Norm或者Instance Norm也就不奇怪了,而且,Instance Norm是比Batch Norm更直接的对单幅图像进行的归一化操作,连scale和shift都没有。

说得更广泛一些,Batch Norm会忽略图像像素(或者特征)之间的绝对差异(因为均值归零,方差归一),而只考虑相对差异,所以在不需要绝对差异的任务中(比如分类),有锦上添花的效果。而对于图像超分辨率这种需要利用绝对差异的任务,Batch Norm只会添乱。

由于批规范化层消耗了与它前面的卷积层相同大小的内存,在去掉这一步操作后,相同的计算资源下,EDSR就可以堆叠更多的网络层或者使每层提取更多的特征,从而得到更好的性能表现。EDSR用L1范数样式的损失函数来优化网络模型。在训练时先训练低倍数的上采样模型,接着用训练低倍数上采样模型得到的参数来初始化高倍数的上采样模型,这样能减少高倍数上采样模型的训练时间,同时训练结果也更好。


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

MDSR

此外,设计了带有一个单一主分支的基准(多尺度—multi-scale)模块 ,含有 B = 16 的残差模块,所以大部分参数都可以在不同尺度间进行共享。

在多尺度结构中,引入了尺度特定(scale-specific)的处理模块,以在多尺度下控制超分辨率。首先,预处理模块被置于网络的前端,以减少不同尺度的输入图像的变化幅度,每一个预处理模块包括两个 5×5 内核(kernels)的残值区块(residual blocks )。通过在预处理模块中采用较大的内核,我们可以使尺度特定的部分保持浅层(shallow)状态,在网络的早期阶段可以覆盖较大的感受野(receptive field)。

在模型的末端,尺度特定的升采样模块被并行放置,以进行多尺度重构。其升采样(upsampling)模块与单尺度模型中的情况相类似。

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

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

实验结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
总结
在Residual block中删除了BN,卷积完成后也不Relu。并控制了残差规模来降低训练复杂度;
MDSR具有尺度相关的模块和共享的主网络,能够在统一的框架内有效地处理各种尺度的超分辨率问题。
参考博客
SRResNet与EDSR
EDSR阅读笔记
《Enhanced Deep Residual Networks for Single Image Super-Resolution》论文阅读之EDSR

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值