我是靠谱客的博主 生动大炮,最近开发中收集的这篇文章主要介绍(Multi-scale feature fusion residual network for Single ImageSuper-Resolution)论文阅读,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

代码:https://github.com/QinJinghui/MSFFRN

 摘要:大多数SR方法没有利用LR的多尺度特征去提升网络的表示能力。此外,他们也并没有利用网络间的层次特征。作者提出了一种多尺度特征融合残差网络(MSFFRN)。作者基于残差学习,提出了多尺度特征融合残差块(MSFFRB)去检测和融合不同尺度的特征。此外,MSFFRB和浅层特征被用作不同层次的特征用于全局特征融合。最后,作者基于融合的全局特征重建HR图像。

文献综述:SRCNN是第一个用于SR的网络,自此以后越来越多的研究围绕着卷积神经网络。VDSR通过增加网络的深度和残差学习获得极大的提升。EDSR是增强的SRResNet通过去除BN层并且使用更大更深的网络结构。RDN利用残差密集块去从全部卷积层中进一步提取层次特征。RCAN通过利用RIR结构和通道注意力机制去避免深度神经网络的训练困难。尽管这些方法在PSNR和SSIM上获得了很大的性能提升,但是这些方法都是通过搭建更深和更复杂的网络结构,这样会导致训练困难。

为了更好的利用多尺度特征,作者提出了一种新的多尺度特征融合残差网络(MSFFRN)。提出了一种多尺度特征融合残差块(MSFFRB)作为网络的基本构建块。首先,在不同尺度,作者构建了MSFFRB去提取和融合特征作为局部的多尺度特征。第二,所有MSFFRBS的输出和浅层特征提取模块concat作为全局的特征。全局特征将会自适应的融合局部特征。最后,融合全局和局部特征之后的特征被用来重建高分辨率图像。

全局特征和局部特征是怎么获取的?有没有创新的地方

特征融合是怎么融合的?

 相关工作

SRCNN 。 VDSR。DRCN是第一个引入递归学习(参数共享)的SR算法。DRRN引入递归模块和记忆模块。这些方法需要将LR的大小插值到期望的大小。这个预处理步骤,增加了计算复杂度。为了解决这一问题,Dong 采用反卷积、小的卷积核、更多卷积层。ESPCN利用亚像素卷积层上采样。亚像素卷积层应用十分广泛,比如SRResNet,EDSR.这些方法都在低分辨率图像上提取特征然后在用反卷积和亚像素卷积放大。

有效的特征提取模块

resIdual block,dense block,inception block。

但是残差块和密集块只是用单一的卷积核,检测不同尺度的特征很困难。为了解决这一问题,【32】提出了一种多尺度残差块(MSRB),基于残差结构引入不同大小卷积核的卷积层。在MSRB中不同大小的被用来自适应检测图像特征。同时,跳跃连接被用来不同尺度特征的分享和重新利用。此外,一个1*1的卷积层用于bottleneck的末尾用来减少计算量。尽管MSRB可以检测不同尺度的特征,但是大的卷积核也会导致计算增加。但是MSRB的bypasses不能充分利用浅层和深层局部特征。因此,作者提出了多条路径的特征融合块(MSFFRB)充分利用浅层和深层局部特征。

方法

 

网络包含五个部分:浅层特征提取,基于MSFFRBS深层特征提取,全局特征融合,上采样模块,重建模块

浅层特征提取主要是一个卷积层完成 ,作者受【18,19】的启发。

深层特征提取主要是级联的MSFFRN

全局特征融合(GFFS)

 

Multi-scale feature fusion residual block (MSFFRB) (重点)

多尺度特征融合残差模块,它有多个相互交叉融合的路径。MSFFRB有两个部分:多尺度特征融合和局部残差学习。

多尺度特征融合: 

不同以前的工作,作者搭建了相互交叉的多路径网络。在这篇论文中,不同路径具有相同大小的卷积核,但是卷积操作的个数是不一样的。意思就是说,尽管每个卷积核大小相同,但是每条路径的卷积核个数是不一样的,感受野也就不一样。在多尺度特征提取的过程中,从不同路径提取的特征不仅在网络的最后进行融合,而且在前向传播的过程中也会融合。这样做有以前好处:首先,不同路径的信息共享可以使网络自适应检测图像特征。第二,每条路径都可以接受不同路径的梯度,可以在训练的过程总避免梯度消失问题。

假设P表示路径的个数。

特征融合有几种方式:逐像素的差,逐像素的加权和,1*1的卷积。

作者使用1*1的卷积进行特征融合。特征融合会将来自不同路径的特征图融合输出一个特征图。

局部残差学习:为了使信息流通更加有效并且避免训练的困难,作者使用局部残差学习。

 

 对于SR问题,尽管LR图像失去了很多高频信息,但是HR和LR还是高度相关。因此,如何充分利用提取的特征去重建高频图像仍然十分重要。

首先,concat  MSFFRBs和浅层特征的输出,然后引入1*1卷积作为Bottleneck去自适应的提取有用信息。最后使用一个3*3的卷积核去提炼压缩信息。提炼这一步提供了更加有用的表示。

 

 一个好的损失函数在一定程度上可以提高网络性能。因此,很多研究者也主要关注设计一个优良的目标函数。在SISR问题中,最广泛使用的损失函数使MSE(L2 loss).尽管MSE 会获得相当高的PSNR/SSIM,但是也可能导致产生过度平滑的纹理,导致一个模糊的视觉效果。最近,很多损失函数被提出,比如基于vgg的内容损失函数。

作者使用L1作为损失函数。

实验部分

数据集

作者选用DIV2K作为训练集。DIV2K是用于超分任务高质量的数据集。DIV2K数据集包含800张训练集,100验证集,200张测试集。作者使用800张训练集训练,10张验证集用于验证模型。

训练的细节

设置MSFFRB D=10.在每个MSFFRB中,设置交叉路径的个数P=4.作者设置所有的卷积层大小为3*3,除了融合操作大小设置为1*1.卷积层核大小为3*3,零填充(保持输出特征图的大小不小)。在浅层特征提取阶段所有卷积层的个数  C=64 。上采样模块,和EDSR一样。最后的卷积层有三个滤波器,因为输出有三个通道。

和【18,20】一样,作者使用从低分辨率图像随机裁剪的大小为48*48的图像块和与之相对应的高分辨率图像块作为训练图像。所有训练数据都随机旋转90、180、270,水平翻转、预处理时,减去DIV2K所有图片的均值。我们使用ADAM优化器,参数为(0.9,0.999).batchsize 设置为16,每一轮迭代1000次。初始学习率设置为1e-4,每200个epoch减半。使用pytorch默认的权值初始化方法,x2从头开始训练。其他尺度因子在x2的基础上训练。

消融实验:

MSFFRBS数量的研究

 可以看到MSFFRBS越多,模型的性能就越好。

 

 

 

 作者选择MSRN作为baseline。首先MSRN是一个使用多尺度stoa方法。其次参数量都差不多。

为了和其他算法公平对比,作者只在Y通道上计算PSNR和SSIM。所有PSNR都是移除边界M个像素之后之后计算的(M 是尺度因子)。

 

最后

以上就是生动大炮为你收集整理的(Multi-scale feature fusion residual network for Single ImageSuper-Resolution)论文阅读的全部内容,希望文章能够帮你解决(Multi-scale feature fusion residual network for Single ImageSuper-Resolution)论文阅读所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部