Wide Activation for Efficient and Accurate Image Super-Resolution(WDSR)

本文提出了一种新的图像超分辨率方法,称为WDSR,通过在ReLU激活前扩大特征宽度,提升了模型的性能。研究发现,更宽的激活能够改善单图像超分辨率的效果,且在不增加计算开销的情况下,通过引入线性低秩卷积,能够在保持高效的同时提高精度。实验表明,WDSR在DIV2K数据集和NTIRE 2018挑战赛中取得了最佳结果。
摘要由CSDN通过智能技术生成

摘要

 

在本文中我们论证了,针对单图像超分辨率(SISR),在相同参数和计算量下,ReLU激活之前具有更宽的特征的模型明显有更好的效果。得到的SR残差网络在每个残差block中激活函数前有一个轻便等价但更宽路径(1x到4x)映射路径。为了在不增加计算开销的下进一步扩大激活(6x到9x),我们引入线性低秩卷积到SR网络中,获得了更好的精度-效率的平衡。此外,我们发现对于深的SR网络用归一化权值训练可以得到更好的准确率。我们提出的SR网络WDSR,在大尺度DIV2K图像超分辨率数据集上,以相同或者更低的计算复杂度在PSNR方面获得更好的结果。基于WDSR,我们的方法也在NTIRE 2018 Challenge on Single Image Super-Resolution中的三个任务中获得了第一名。实验和研究支撑了图像超分辨率宽激活的重要性。Code公布在https://github.com/JiahuiYu/wdsr_ntire2018上。

 

 

  1. 引言

深度卷积神经网络(CNNs)已经成功应用到了单图像超分辨率(SISR)任务中[14,19,20,42]。SISR旨在从对应的低分辨率(LR)(典型的,HR的双三次下采样版本)到高分辨率(HR)图像的恢复。它在安全、监控、卫星、医学图像[24,34]上有很多应用,它可以为其他的图像恢复和识别任务提供一个内置模块[6,21,37,40,41]。

之前的包括SRCNN[4]、FSRCNN[3]、ESPCN[29]在内的图像超分辨率网络,使用了相对浅的卷积神经网络(深度从3到5)。它们在准确率上比之前提出的深度SR网络(例如VDSR[14]、SRResNet[17]和EDSR[19])差。深度的增加带来了更有效的表达[2,5,18,28],但是同时没有有效利用来自浅层的特征信息(通常表达低级别的特征)。为了解决该问题,包括在内的方法引进了各种各样在浅层和深层之间的跳跃连接和拼接操作,为图像超分辨率形式化整体结构。

在本文中,我们在一个不同的角度来解决该问题。代替增加各种shortcut connection,我们推想非线性ReLU阻止了从浅层到更深一层的信息流[26]。基于残差SR网络,我们证明了,针对SISR,在没有额外的参数和计算量的前提下简单的在ReLU之前扩大特征可以有明显的提高,打败了包括SRDenseNet[36]和MemNet[33]在内的有复杂skip connection和concatenation的SR网络。我们工作直观来看就是在ReLU前边扩大特征来允许更多的信息通过,同时仍保持深度神经网络的高非线性。所以来自浅层的低级别SR特征可以更容易传到最后的层来得到更好的稠密像素值预测。

宽激活的中心思想使我们探索有效的方式来扩展ReLU前的特征,由于对于实时图像SR场景简单的增加更多的参数是无效的[8]。我们首先介绍SR残差网络WDSR-A,它是在每个残差block中在激活前边有更宽通道(2X到4X)的微小的等价映射路径。但是当扩大比大于4时,等价映射路径的通道不得不进一步减小,我们发现它会显著降低准确率。因此第二步,我们保持等价映射路径的通道数不变,开发更有效的方式来扩展特征。我们首先考虑组卷积[38]和深度可分离卷积[1]。但是,我们发现二者对于图像超分辨率任务都没有稳定的性能。最后,我们提出linear low-rank convolution,将一个大的卷积核分解为两个低秩卷积核。有了宽激活和线性低秩卷积,我们构建了我们的SR网络WDSR-B。它在没有额外的参数和计算量的前提下获得更宽的激活(6X到9X),进一步提高了图像超分辨率的准确率。WDSR-A和WDSR-B如图1所示。实验显示,更宽的激活完全打败它们在不同的参数下的基线

 

此外,比较有批归一化[12]和无归一化,我们发现权值归一化[25]的训练对于深度SR网络可以获得更好的准确率。之前的工作包括EDSR[19]、BTSRN[7]和RDN[42]发现批归一化会恶化图像SR的准确率,这在我们的实验中也得到了证实。我们提供3个直觉上和相关实验来展示批归一化对于训练SR网络是不稳定的,由于1)依赖于mini-batch,2)在训练和推导不同的公式和3)强的正则副作用。但是,对于SR随着神经网络的深度的增长(例如MDSR的深度大概是180),没有BN的网络变得很难训练。最后,我们对于训练深度SR网络引入了权值归一化。权值归一化使我们可以用一个大的学习率来训练SR网络,获得更快的收敛和更好的性能。

概括起来,我们的贡献如下。

1)我们证明了对于SISR在残差网络中,在相同参数复杂度下更宽的激活可以有更好的效果。没有额外的计算量,我们提出的网络WDSR-A有更宽的激活(2X到4X)来得到更好的效果。

2)为了进一步提高效率,我们也提出了linear low-rank convolution作为基础构建块来构建我们的SR网络WDSR-B。它可以在没有额外的参数和计算量,更宽的激活(6X到9X)进一步提升准确率。

3)我们说明了batch归一化对于训练深度SR网络是不稳定的,我们引入了weight归一化来得到更快的收敛和更好的准确率。

4)我们训练提出的建立在宽激活原则上有权值归一化的WDSR-A和WDSR-B,在大尺度DIV2K图像超分辨率基准上获得更好的结果。我们的方法也在NTIRE 2018 Challenge on Single Image Super-Resolution中的三个任务中获得了第一名。

 

 

2、相关工作

2.1、超像素网络

对于SISR,基于深度学习的方法在PSNR和SSIM上都明显优于传统方法[23,39]。SRCNN[4]是第一个用端对端卷积神经网络作为从LR图像到对应的HR的映射函数。自从那之后,各种变形的卷积神经网络结构被提出来提高准确率和效率。在本部分,我们回顾一下在一下几组中的这些方法。

Upsampling layers 超分辨率包括图像分辨率的上采样操作。第一个SR网络SRCNN采用卷积层在pre-upscaled 低分辨率图像。它是低效的,由于所有卷积层不得不在高分辨率特征空间计算,比在低分辨率空间产生了S平方倍的时间消耗,这里S是上采样因子。为了在不损失精度的同时加速处理速度,FSRCNN在SR网络的最后采用参数反卷积层,使得所有的卷积都在LR特征空间计算。另外一个非参数有效的选择是像素乱序[29](a.k.a,sub-pixel卷积)。Pixel shuffling也被认为是比反卷积层引入更少的棋盘伪影。

Very deep and recursive neural networks 神经网络的深度对于深度学习是至关重要的[9,30,31]。这些非常深的网络(通常多于10层)堆叠了很多小核(例如,3*3)的卷积,比浅的[3,29]有更高的准确率。但是,CNN深度的增加带来了过多的参数和难以训练。为了解决这些问题提出了通过再利用权值的残差神经网络[15,32]。

Skip connections 一方面,更深的神经网络在各类任务中都有更好的表现,另一方面,low-level特征对ISR任务也是重要的。为了解决这一矛盾,VDSR针对SISR提出了一个很深类似于VGG的有全局残差连接(例如,等价skip connection)的网络。SRResNet[17]提出了一个类ResNet网络。在SRDenseNet[36]中也对SISR采用了稠密连接网络。为了进一步利用来自所有卷积层的层特征,提出了残差稠密网络(RDN)[42]。所有这些工作都得益于深度神经网络中不同级特征之间的skip connection。

Normalization layers 随着图像超分辨率网络变得越来越深(从3层的SRCNN到160层的MDSR),训练变得更困难。BN层在很多任务中[9,31]是解决该问题的一种方案。在SRResNet[17]中它也被引入到SISR网络中。但是,经验显示BN阻止了图像超分辨率的准确率。因此,最近在图像SR网络中[7,19,42],BN层被抛弃了。

 

2.2、有效参数卷积

在本小节,我们也回顾了几个相关方法,为提高卷积效率而提出的。

Flattened convolution Flattened convolution[13]由三维空间(lateral, vertical and horizontal)所有方向上的一位连续序列构成来接近普通卷积。在flattened convolution中的参数量从XYC减少到X+Y+C,这里C表示输入平面的数量,X和Y表示滤波器的宽和高。

Group convolution 组卷积[38]将特征按通道分组,在组内分别进行卷积,接着拼接起来西港城最后的输出。在组卷积中,参数量可以减少g倍,这里g是组的个数。组卷积是很多有效的模型(例如 ResNeXt[38])的关键部分。

Depthwise separable convolution 深度可分离卷积是深度卷积(一个在输入的每个通道分别进行的空间卷积)后边跟着非线性的点卷积(一个1*1卷积)的组合。

Inverted residuals另外一项工作针对图像识别任务在激活前边扩大特征(成为inverted residuals)。中间扩展层用轻量级深度卷积来过滤特征作为非线性源。这个逆残差和我们提出的宽激活在图像SR任务中都有类似的优点。在该工作中,我们对于图像SR任务以宽激活为中心思想,主要探索了不同网络结构来提高准确率和效率。

 

 

3、提出的方法

3.1、宽激活Wide Activation:WDSR-A

在本部分,我们主要描述了我们在不增加计算量的前提下在ReLU激活层前边如何扩展特征。我们考虑残差块内的宽激活效果。最基本的方式就是直接在所有特征中增加通道数。但是,它除了证明更多参数带来更好的效果没有其他了。所以,在这部分,我们设计了我们的SR网络来研究以相同的参数和计算量在激活前宽特征的重要性。我们的宽激活的第一步是非常简单的:我们瘦身残差等价映射路径的特征同时扩展激活前的特征,如图1所示。

接下来重点研究基线EDSR[19]的两层残差块.假设等价映射路径(如图2)的宽度是,残差块内部激活前的宽度是。我们引入激活前扩大因子r,所以。在原始残差网络(如在EDSR和MDSR中使用的)中,我们有,在每个残差块中的参数量是。当我们固定输入patch的大小时,计算(乘-加操作)复杂度是参数量的固定比例。为了有相同的复杂度,残差等价映射路径需要以因子瘦身,同时激活可以扩大倍。

这个简单的想法形成了我们的第一个宽激活SR网络WDSR-A。实验显示WDSR-A对于提高SISR的准确率是很有效的,当r是在2到4之间。但是,当r大于这个阈值时,效果会急速下降。这可能是由于等价映射路径变得太瘦了。举个例子,在我们的基线EDSR(16个残差块有64个滤波器)对3倍的超分辨率,当r超过6时,w1将小于最后HR图像的表达空间S²*3(我们用pixel shuffle 作为上采样层),这里S是scale因子,3代表RGB。因此我们寻找更有效参数的卷积来进一步提高更宽激活的准确率和效率。

 

3.2、有效的更宽激活 Efficient Wider Activation:WDSR-B

为了解决上述限制,我们保持等价映射路径通道数量不变,然后探索几种有效的扩大特征的方法。尤其的我们考虑1*1卷积。在ResNets、ResNeXts和Mobile net V2中,1*1卷积广泛应用于通道数量的增加或减少。在WDSR-B(如图1)中,我们首先用1*1扩大通道数量,然后在卷积层后应用非线性(ReLUs)。我们进一步提出一个有效的线性低秩卷积,它将一个大的卷积核分解为两个低秩卷积核。它是一个减少通道数量的1*1卷积和进行空间特征提取的3*3卷积的组合。我们发现在线性低秩卷积中增加ReLU激活会明显降低真确率,这也支持了宽激活的假设。

 

3.3、Weigh Normalization vs. Batch Normalization

在该部分,我们主要分析了BN和WN的不同的目的和效果。我们给出三种直觉理解为什么BN对图像SR任务不适用。然后我们说明了WN没有像BN那些缺点,它可以有效的用于解决深度SR网络的训练困难。

Batch normalization BN重新调整了中间特征的均值和方差来解决在训练深度神经网络中的internal covariate shift问题。在训练和测试有不同的公式。对了方便起见,这里我们需略BN的re-scaling和re-centering的学习参数。在训练过程中,在每一层的特征是用当前训练的mini-batch的均值和方差归一化的:

这里是当前训练batch的特征,是很小的值(如,1e-5)来避免除以0。一阶和二阶统计量是以一种移动均值的方式更新到全局统计量的:

这里表示赋值给moving average。在推理过程,这些全局统计量用于归一化特征:

如BN的公式所示,它将引起以下问题。1)对于图像超分辨率,一般仅是小的图像块(如48*48)和小的mini-batch大小(如16)用来加速训练[7, 14, 17, 19, 33, 36, 42],所以在min-batch中小的图像块的均值和方差差别很大,这导致这些统计量不稳定,这在实验部分得到证明。2)BN也被认为是正则器,在某种程度上消除了dropout的需求。但是,很少观察到SR网络在训练数据集上过拟合。反而,很多种正则化,例如权值decay和dropout,在SR网络不被采用[7, 14, 17, 19, 33, 36, 42]。3)不像图像分类任务,在网络的最后用softmax(尺度不变性)来得到预测,对于图像SR,训练和测试的不同可能恶化稠密像素值预测的准确率。

Weight normalization 权值归一化,另一方面,是神经网络中权值向量的再参数化,这可以将那些权值向量的长度和它们的方向解耦。它不具有对mini-batch中样本的依赖性,在训练和测试时具有相同的公式。假设输出y的形式是:

这里w是k维权值向量,b是偏差项,x是k维输入特征向量。WN以新的参数对权值向量冲参数化,用公式

这里v是k维向量,g是一个标量,表示v的欧式距离。根据这个公式,我们将有,独立于参数v。如[25]中所示,解耦长豆和方向加速了深度神经网络的收敛。更重要的是,对于图像SR,它没有引入像上边描述的BN的问题,因为它只是冲参数化技术,且具有完全相同的表达能力。

 

它也是值得注意的,引入WN允许用更高的学习率来训练,而且提高了训练和测试的准确率。

 

3.4、网络结构

在本部分,我们综述WDSR的网络结构。我们基于EDSR[19]SR网络主要修改了两点。

Global residual pathway 首先我们发现全局残差路径是一几个卷积层的线性堆叠,这是消耗计算量的。我们讨论那些线性卷积是冗余的,在某种程度上可以被吸收到残差体中。所以,我们稍微修改了网络结构,用单一的5*5大小的核的卷积层,直接以3*H*W的LR RGB图像/patch作为输入,输出3S²*H*W HR的副本,这里S是比例。结果是更少的参数和计算量。我们的实验中我们并没有发现我们更简单的形式导致任何的精度下降。

Upsampling layer 不同于之前最好的算法[19,42],它们在上采样之后加入一个或多个卷积层,而我们提出的WDSR在低分辨率阶段提取所有特征(如图2)。实验上我们发现它明显提高了速度的同时还不影响SR网络的准确率。

 

 

 

4、实验结果

我们在DIV2K数据集上训练我们的模型,因为数据集使相对大的且包含高质量(2k分辨率)图像。DIV2K数据集的默认分法使包括800训练图片、100验证图片和100测试图片。

 

 

 

 

5、总结

在本文中,我们介绍了基于宽激活的中心思想的两种SR网络WDSR-A和WDSR-B。我们在我们的实验中证明了,在相同参数和计算复杂度的前提下,在ReLU激活前有更宽特征的模型有SISR更好的准确率。我们也发现有WN的训练可以使深度SR网络比BN或没有N的有更好的准确率。提出的方法有助于其他low-level图像恢复任务如去噪音和去雾。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值