论文原址:https://arxiv.org/abs/1808.08718

代码:https://github.com/JiahuiYu/wdsr_ntire2018

摘要

本文证明在SISR中在ReLU之前特征图越宽,在有效的计算资源及内存条件下,模型的性能越好。本文提出的残差网络具有平滑的identity mapping pathway,在激活层之前,每个block含有2x,4x多的通道数。为了进行6x,9x的增宽,本文将低等级的卷积引入到超分辨网络中。对比有BN层无BN层,本文发现对权重正则化会得到更好的结果。本文提出的超分辨网络在DIV2K数据集上取得较好的成绩。

介绍

以前的超分辨网络包括,SRCNN,FSRCNN,ESPCN利用相对较浅层的卷积网络(其网络层数一般为3至5),相比后来提出的深度SR网络(VDSR,SRResNet及EDSR等)以前的网络准确率上稍差一些。网络层数的增加使模型的表征能力更强。但是,同时,对底层的特征的利用效不是很充分。针对这种问题,SRDenseNet,RDN,MemNet等在低层及深层网络层之间引入了多种跳跃连接及拼接操作,对超分辨率的模型进行形式化处理。

本文从不同的方向解决上述问题。本文并未增加多种短连接,将网络低层次的ReLU编码的非线性的信息传递到更深的网络层中。基于残差SR网络,本文证实了通过简单的增加ReLU层前的特征可以有效的提高SISR模型的性能,甚至超过包含复杂的跳跃连接及拼接操作的网络模型。本文的创新点在于增宽ReLU前的特征,使更多的信息可以被传递到后面的网络层,从而进行密集的像素值预测。

这里存在一个问题,如何对ReLU前面的激活层有效的扩宽,在实际生活中,增加过多的参数会使超分辨变得十分的低效。本文首先引入了SR 残差网络WDSR-A,该结构在每个残差block的激活层之前都有一个更多通道数(x2,x4)的 identity mapping pathwey。但当通道数扩张率到达4之后,identity mapping pathway的通道数需要进一步的slimmed,这十分有损于准确率。因此,第二步,本文固定identity mapping pathway的通道数并寻找更有效的方式来扩张通道数。本文考虑了group conv及可分离卷积,但发现二者对于超分辨的性能表现的并不是很好。最终,提出线性low-rank卷积将一个较大的卷积分解为两个较低级的卷积。利用更宽的激活及low-rank卷积,本文构建了SR网络WDSR-B.其激活层更宽,但参数及计算量并不是增加很多。

比较有BN及无BN,本文发现对于较深的超分辨网络,带有权重正则化的效果会好一些。EDSR,BTSRN,RDN认为BN层会对超分辨的准确率造成不利的影响,这里被我们实验所证实,本文提出了三个创新点,并进行了有关BN的实验(1)mini-batch 依赖性。(2)训练测试时不同的形式(3)训练时,正则化对SR网络并不合适。随着SR网络层数的增加,没有BN的模型训练起来比较困难。为此引入了权重正则化用于训练较深的SR网络。加了BN层可以使用较大的学习率,从而可以更快的收敛及得到更好的性能。

总结如下:I. 证实了在SISR模型中激活层前更宽的特征其性能更好。提出了宽度2x,4x的WDSR-A模型 II. 利用线性 low-rank卷积作为SR的基本构件在不增加额外计算量的前提下来提升效率及准确率。III. 证实BN不适用于训练深度SR网络,因此引入了权重正则化,使模型收敛的更快。

本文方法

宽激活层:WDSR-A

这部分主要讨论如何在不增加计算量的基础上拓宽ReLU层特征通道。一种简单的方法使增加特征通道数,但这种方法什么也说明不了,只能证明更多的参数有利于提高模型的性能。该部分作者自己设计SR网络研究在参数及计算量相同的情况下增加feature 的宽度对模型性能的影响。本文采用了较为简单的做法,如下图所示。

        在基准WDSR网络模型中研究,两层的残差blocks。假设identy mapping pathway的通道数为w1,而激活层前,内部残差块的通道数为w2,这里引入了扩张因子r,因此,w2 = r x w1,在常规残差块中w2 = w1,每个残差块的参数量为2xw1^2xk^2。当固定输入尺寸时,计算量是关于参数量的一个常熟,为了使其复杂度相同,,参超identity mapping pathway 需要进行压缩,系数为,同时,激活层可以扩张至倍。本文在WDSR-A中实验发现,当r为2至4时,上述方案有效。当r超过这个范围时,性能会很快的下降。这是由于,identity mapping pathway变得过于细。比如,EDSR(包含16个残差blocks,通道数为64)当r超过6时,w1相对于最终的HR图像表示空间小很多,其中S代表缩放尺寸,3代表RGB。因此,本文研究卷积核的参数有效性来进一步提升准确率及性能。

更宽的激活层:WDSR-B

为了解决上述问题,本文固定identity mapping pathway的通道数,同时研究更多扩张特征的有效方法。首先考虑的是1x1的卷积,该卷积被广泛的应用于通道的扩张及压缩。在WDSR-B模型中,本文首先将通道数通过1x1的进行扩增,并在卷积层后增加一个ReLU进行非线性处理。后来又提出了一种高效的low-rank卷积将较大的卷积核分解为两个下级卷积,及一个1x1的卷积用于减少通道数外加一个3x3的卷积进行空间级别的特征提取。本文发现在线性low-rank后增加ReLU激活会减少准确性。

Weight Normalization vs Batch Normalization

Batch Normalization: BN 对中间的特征的均值及方差进行重新校准。从而解决internal covariate shift的问题即样本分布在训练过程中发生变化。BN在训练及测试时的表达式时不同的,这里忽略了BN中re-scaling 及re-centering可学习参数。在训练时,每层特征根据当前训练的Mini-batch的均值及方差进行归一化处理。

其一二阶统计信息以移动平均的方式更新到全局统计信息中,代表使用移动平均。

在进行inference时,利用全局信息来归一化特征。分析BN的表达式可以看出来其存在的问题: (1)对于图像超分辨,只有较小分辨率的image patch及小的mini-batch size用于加速训练,其均值及方差会比较大,使统计信息并不稳定。(2)BN可以被看作是正则化的一种,有时甚至可以替代Dropout,但在超分辨模型中很少出现过拟合现象。因此,权重衰减,Dropout等并未存在在SR模型中。(3)不同于分类任务。网络的最后一层是softmax(尺寸不变性)用于预测,而SR模型中不同的训练及测试形式会影响密集像素值预测的准确率。

Weight Normalization: 该方法对网络中的权重进行在参数化,在mini-batch的样本中,并未引入依赖性,其训练及测试的形式是一样的,假设输出y形式如下

其中,w为k维度的权重向量,b为偏差,x为k维输入特征,WN按如下形式进行对权重向量重新进行处理。

v为k维向量,g代表一个比例数。||v||代表v的欧几里得范数。因此可以使,使其独立于参数v。其参数长度及方向上的消除可以有效的加速网络模型的收敛。对于超分辨模型,并不会存在上述BN存在的问题,同时引入了权重正则化,可以设置更大的准确率,加速模型的收敛。

网络结构

结构如下,本文基于EDSR超分辨网络进行了两方面的改进。

I. Global residual pathway:首先发现这个东西是由一系列卷积层堆成的,十分吃计算。本文认为这个东西是冗余的,可以将其插入到残差分支上。因此,本文只使用了5x5的单层卷积网络层直接处理3xHxW的LR RGB 图像或者patch作为输入,同时输出3S^2XHXW的HR图像。S代表放大系数。这样大量减少了参数及计算量。

II.上采样层:不同于在上采样后插入一个或多个卷积层,本文提出的WDSR模型提取低分辨率阶段的所有特征,本文实验发现该做法不仅没有损害准确率,而且大幅度的提高了收敛速度。

实验

论文阅读笔记六十六:Wide Activation for Efficient and Accurate Image Super-Resolution(CVPR2018)的更多相关文章

  1. 论文阅读笔记四十六:Feature Selective Anchor-Free Module for Single-Shot Object Detection(CVPR2019)

    论文原址:https://arxiv.org/abs/1903.00621 摘要 本文提出了基于无anchor机制的特征选择模块,是一个简单高效的单阶段组件,其可以结合特征金字塔嵌入到单阶段检测器中. ...

  2. 论文阅读笔记三十六:Mask R-CNN(CVPR2017)

    论文源址:https://arxiv.org/pdf/1703.06870.pdf 开源代码:https://github.com/matterport/Mask_RCNN 摘要 Mask R-CNN ...

  3. 论文阅读笔记二十六:Fast R-CNN (ICCV2015)

    论文源址:https://arxiv.org/abs/1504.08083 参考博客:https://blog.csdn.net/shenxiaolu1984/article/details/5103 ...

  4. 论文阅读笔记五十六:(ExtremeNet)Bottom-up Object Detection by Grouping Extreme and Center Points(CVPR2019)

    论文原址:https://arxiv.org/abs/1901.08043 github: https://github.com/xingyizhou/ExtremeNet 摘要 本文利用一个关键点检 ...

  5. 论文阅读笔记(十六)【AAAI2018】:Region-Based Quality Estimation Network for Large-Scale Person Re-Identification

    Introduction (1)Motivation: 当前的行人重识别方法都只能在标准的数据集上取得好的效果,但当行人被遮挡或者肢体移动时,往往效果不佳. (2)Contribution: ① 提出 ...

  6. 论文阅读笔记二十四:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)

    论文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要 在PASCAL VOC数据集上,最好的方法的思路是将低级信息与较高层次的上下文信息进 ...

  7. 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification

    论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...

  8. 论文阅读笔记(十九)【ITIP2017】:Super-Resolution Person Re-Identification With Semi-Coupled Low-Rank Discriminant Dictionary Learning

    Introduction (1)问题描述: super resolution(SP)问题:Gallery是 high resolution(HR),Probe是 low resolution(LR). ...

  9. 论文阅读笔记(十二)【CVPR2018】:Exploit the Unknown Gradually: One-Shot Video-Based Person Re-Identification by Stepwise Learning

    Introduction (1)Motivation: 大量标记数据成本过高,采用半监督的方式只标注一部分的行人,且采用单样本学习,每个行人只标注一个数据. (2)Method: 对没有标记的数据生成 ...

随机推荐

  1. SiIsEnterpriseFunctionsRestrictedOnOpenSource

    src/Cedar/Server.c SiIsEnterpriseFunctionsRestrictedOnOpenSource()

  2. ASP.NET MVC https全局配置

    //https全局配置 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.S ...

  3. Freemarker入门Demo

    1:工程引入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemark ...

  4. Go命令行—compile

    常用作编译命令行指定的单个go源码包.会生成一个以文件.o为后缀的目标文件,其文件名与包内第一个源文件的文件名相同. 目标文件可以与其他对象组合成一个包档案或直接传递给链接器(go tool link ...

  5. 在Visual Studio 中使用 <AutoGenerateBindingRedirects> 来解决引用的程序集版本冲突问题

    问题: https://stackoverflow.com/questions/42836248/using-autogeneratebindingredirects-in-visual-studio ...

  6. 【08】Nginx:安全优化 / 信息隐藏 / 请求限制 / 白名单

    写在前面的话 nginx 中主要的内容在前面的章节其实已经差不多了,接下都是一些小功能的实现以及关于 nginx 的优化问题.我们一起来探讨以下,如何把我们的 nginx 打造成为企业级应用. 安全优 ...

  7. SpringBoot整合kafka(实现producer和consumer)

    本文代码使用的是Spring Boot 2.1.8.RELEASE 版本 <parent> <groupId>org.springframework.boot</grou ...

  8. tsconfig.json配置项详解

    { "compilerOptions": { "allowUnreachableCode": true, // 不报告执行不到的代码错误. "allo ...

  9. RFC的远程调用-异步

    接上篇RFC的远程调用-同步(https://www.cnblogs.com/BruceKing/p/11169930.html). TABLES:USR21. DATA:A TYPE USR21-P ...

  10. Java内功心法,深入解析面向对象

    什么是对象 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成. 类的实例化可生成对象,一个对象的生命周期包括三个阶段:生成.使用 ...