图像超分辨率网络:RCAN

640?wx_fmt=gif

   作者:石文华                      



前  言



章节目录

  1. 存在问题

  2. 主要贡献

  3. 网络结构

  4. 网络的细节

  5. 实验部分


01

存在问题

(1)、观察到图像SR的非常深的网络更难以训练,以及简单地堆叠残差块以构建更深的网络几乎无法获得更好的改进。更深层次的网络是否能进一步促进图像SR的性能,以及如何构建非常深的可训练网络,仍有待探讨。 

(2)、图像SR可以看作是这样一个过程:试图恢复尽可能多的高频信息。LR图像包含大多数低频信息,这些信息可以直接传递到最终的HR输出,不需要太多的计算。 

(3)、基于CNN的很多方法(例如,EDSR )将从原始LR输入中提取特征,但这些信息在信道上被平等对待。这样的过程会浪费不必要的计算以获得丰富的低频特征,缺乏跨特征通道的判别性学习能力,最终阻碍了CNN的表示能力。

02

主要贡献

(1)提出了一种非常深的残差信道注意网络(RCAN),用于高精度的图像SR。RCAN的深度可以构造的比以前基于CNN的网络更深,并获得更好的SR性能。 

(2)提出了Residual in Residual结构(RIR)来构建非常深的可训练网络。RIR中的长跳和短跳连接有助于传递丰富的低频信息,使主网络学习到更有效的信息。 

(3)提出了信道注意(CA)机制,通过考虑特征信道之间的相互依赖性自适应地调整特征。这种CA机制进一步提高了网络的表达能 力。。



03

网络结构

图像超分辨率网络:RCAN_第1张图片

RCAN主要由四部分组成:浅特征提取、residual in residual (RIR) 深度特征提取、上采样模块和重建部分。假设I(LR)和I(SR)表示为RCAN的输入和输出。 

(1)、浅特征提取:仅使用一个卷积层(conv)从LR输入中提取浅特征F0(其中Hsf表示卷积运算,F0用于RIR模块的深度特征提取):

640?wx_fmt=png

(2)、residual in residual (RIR) 深度特征提取(Hrir表示的是RIR模块,包括G个残差组):

640?wx_fmt=png

(3)、上采样模块(Hup表示上采样的算法,Fup表示上采样之后得到的特征图):

640?wx_fmt=png


有几种选择可用作上采样的模块,例如反卷积层(也称为转置卷积),最近邻上采样+ 

卷积以及ESPCN的亚像素卷神经网络。 

(4)、重建,通过一个Conv层重建升级的特征:

640?wx_fmt=png

(5)、损失函数:超分辨loss有l1,l2,gan的loss以及纹理结构perceptual loss,为了保证有效性,选择了L1 loss:

640?wx_fmt=png


04

网络的细节

(1)、Residual in Residual (RIR):

    RIR结构包含G个residual组(RG)和长跳跃连接(LSC),每一个RG包含B个具有短跳跃连接的残差通道注意块(RCAB),这种RIR的结构能够使高性能的图像SR算法训练的更深(超过400层)。第G组中的RG表示如下:

640?wx_fmt=png

Hg表示的是第G个RG,Fg-1和Fg分别是第G个RG的输入和输出,作者发现,简单地堆叠多个RG将无法获得更好的性能。为了解决这个问题,在RIR中进一步引入了长跳跃连接(LSC),以稳定训练深的网络。LSC表示如下:

640?wx_fmt=png

表达式中,Wlsc为最后一个RIR模块后接的一个conv层的权重,为了简单起见,省略了偏置项。

图像超分辨率网络:RCAN_第2张图片

LSC不仅可以简化RG之间的信息流,而且可以在粗略的级别学习残差信息。在LR输入和特征包含着丰富的信息,SR网络的目标是恢复更多有用的信息。丰富的低频信息可以通过跳跃连接传输到后面。 

此外,每个RG中堆叠B个残差信道注意块。第g个RG中的第b个残留信道关注块(RCAB)可以表示为:

640?wx_fmt=png

Fg,b-1和Fg,b表示的是第g个RG中的第b个RCAB的输入和输出,与RG块类似,这B个残差信道注意块也具有跳跃连接,称为短跳跃连接(SSC):

640?wx_fmt=png

Wg是第g个RB模块尾部的一个conv的权重。LSC和SSC的存在,使更丰富的低频信息在训练过程流动到更深层。

(2)、Channel Attention (CA)

    以前基于CNN的SR方法对LR信道特征的处理是相同的,这在实际情况中并不灵活。为了使网络专注于更多信息特征,利用特征信道之间的相互依赖性,形成信道注意力机制。如下图所示:

图像超分辨率网络:RCAN_第3张图片

使用全局平均池来将通道的全局空间信息转换为通道描述符,也就是获取1x1xc的特征图,然后压缩成1x1xc/r的特征图,接着再恢复回1x1xc,最后再通过一个sigmoid激活函数获取1x1xc的表示每个通道的权值的描述符,最后各通道权重值分别和原特征图对应通道的二维矩阵相乘。(f表示sigmoid,δ表示relu,s是通道的权重,Xc是全局平均池化前的特征图): 

640?wx_fmt=png


640?wx_fmt=png

(3)、Residual Channel Attention Block (RCAB)

图像超分辨率网络:RCAN_第4张图片


将CA集成到RB中并提出残余信道注意块(RCAB)(如上图)。对于第g个RG中的第b个RB,表示如下(Rg,b表示的是CA函数模块,fg,b−1与fg,b分别表示的是输入和输出,Xg,b表示的是残差块中的2个堆叠的卷积):

640?wx_fmt=png

640?wx_fmt=png

05

实验部分

    RIR模块G=10个,每个RIR中,RCAB设为20个,对于卷积层,除了通道缩减和通道扩展中的内核大小为1×1,其他的用3x3的filter并使用零填充策略来保持大小固定, 浅层特征提取和RIR结构中的Conv层具有C = 64个filter, 通道缩减中的Conv层具有C / r = 4filter,其中缩减率r设置为16,上采样模块使用亚像素卷积,最后的卷积层有3个filter,表示输出为彩色图像。 

urban100和manga109数据集上4×SR,相关模型的效果:

图像超分辨率网络:RCAN_第5张图片


urban100和manga109数据集上8×SR,相关模型的效果 :

图像超分辨率网络:RCAN_第6张图片

模型定量结果。最佳和次优结果

图像超分辨率网络:RCAN_第7张图片

代码地址 

网络结构的代码详见: 

https://github.com/cswhshi/super-resolution/blob/master/RCAN.py 

欢迎大家指正和star~ 

参考: 

https://arxiv.org/pdf/1807.02758.pdf


 640?wx_fmt=gif

END



往期回顾

《Computer vision》笔记-MobileNetV3(9)

图像超分辨率网络:RDN

图像超分辨率网络:EDSR

语义分割网络经典:FCN与SegNet










机器学习算法工程师


                            一个用心的公众号

640?wx_fmt=jpeg

长按,识别,加关注

进群,学习,得帮助

你的关注,我们的热度,

我们一定给你学习最大的帮助






640?wx_fmt=png你点的每个赞,我都认真当成了喜欢










你可能感兴趣的:(图像超分辨率网络:RCAN)