超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建

超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建_第1张图片

这篇文章的网络结构和写作手法和RDN都非常相似,然后一看作者就是同一批 。这篇文章是EDSR的一个加强版,也是RDN的姊妹版(把RDN的Dense Block换成了ResBlock)当然这篇文章中提出了新的通道注意力机制CA

论文链接:
RCAN: Image Super-Resolution Using Very Deep Residual Channel Attention Networks
EDSR: Enhanced Deep Residual Networks for Single Image Super-Resolution
RDN: Residual Dense Network for Image Super-Resolution
RCAN源码

RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks

  • Abstract
  • 1 Introduction
  • 2 Method
    • 2.1 Overview
    • 2.2 Residual in Residual (RIR)
    • 2.3 Channel Attention (CA)
    • 2.4 Residual Channel Attention Block (RCAB)
  • 3 Experiments
    • 3.1 Settings
    • 3.2 Effects of RIR and CA
    • 3.3 Results with BI、BD Degradation Model
    • 3.4 Object Recognition Performance
  • 4 Conclusions

Abstract

作者发现影响图像SR性能的两个问题:

  1. 难以训练非常 深层的CNN网络。
  2. 不同通道包含的特征信息是不同的,但之前的方法都是采用一样的处理。

为了解决以上问题,作者提出了深度残差通道注意网络(RCAN)

  1. 提出了一种residual in residual(RIR)结构来形成非常深的网络,它由几个具有长跳跃连接LSC残差群组RG组成。每个残差群组RG包含一些具有短跳跃连接SSC通道残差块RCAB。每个通道注意力残差块RCAB由简单残差块BN通道注意力机制CA组成。同时,RIR允许通过多个跳跃连接绕过丰富的低频信息,使主网络专注于学习高频信息。
  2. 提出了一种通道注意力机制,通过考虑通道之间的相互依赖性,自适应地重新缩放通道特征,以改变不同通道特征对重建图像的影响权重。

大量实验表明,作者提出的RCAN相对于最先进的方法达到了更好的准确度,实现了更好的视觉效果。

1 Introduction

  1. 经过以往大量的实验证明网络深度对许多视觉识别任务至关重要,因此何凯明大神提出的残差网络(ResNet)被引入到许多其他基于CNN的图像SR方法中。然而,简单地叠加残差块以构建更深的网络很难获得更好的改进。
  2. 另一方面, 注意力可以被视为一种引导,使可用处理资源的分配偏向于输入中信息量最大的部分。而现有的基于CNN的方法都是用同样的方式处理不同的频道特征,在处理不同类型的信息时缺乏灵活性,缺乏跨特征通道的区分性学习能力,这一点影响了深层网络的表征能力。

因此作者提出了一种残差通道注意力网络(RCAN),来加深网络的深度,同时自适应地学习更多有用的通道特征。

  1. 为了简化深度网络(超过400层)的训练,提出了residual in residual(RIR)结构,其中残差组(RG)作为基本模块,长跳跃连接(LSC)允许粗略水平的残差学习。 在每个RG模块中,堆叠了几个带有短跳连接(SSC)的简化残差块(RCAB)。从而在LR空间中获取更多低层特征和高层特征信息。
  2. 长跳转连接和短跳转连接以及残差块中的short-cut 使网络得以直接绕过丰富的低频信息,简化信息流。
  3. 为了更进一步,提出了通道注意力(CA)机制,将注意力机制引入深层神经网络,通过模拟通道之间的相互依赖关系,自适应地重新缩放每个通道特征。这种CA机制使提出的网络能够专注于更有用的通道信息,并增强辨别学习能力。

以上,这篇文章的贡献有三个方面:

  1. 提出了非常深的残余通道注意力网络(RCAN)来实现高精度的图像SR。
  2. RCAN中包含的RIR结构来构建非常深的可训练网络。
  3. RCAN中包含的通道注意力机制(CA),通过考虑特征通道之间的相互依赖性,更多关注重要的特征信息。

2 Method

超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建_第2张图片
这篇文章是EDSR的加强版,使用的也是ResNet结构,从上图中可以看到RCAN和EDSR都是使用一层卷积作为低层特征提取,中间n个ResBlock接一层卷积,使用跳跃连接把浅层特征和高层特征相加,最后使用上采样和重建模块,得到输出SR。不同之处在于ResBlock和RG内部。RG内部多了”套娃“块,还使用了跳跃连接和通道注意力机制。
可以看到RDN结构和RCAN也非常像,先是两层卷积提取低层特征,然后d个RDB块提取高级特征接一层卷积,使用跳跃连接,最后上采样加重建输出SR。RDB内也是”套娃“,每个RDB内是多个稠密块。

三个网络不同之处都在于高级特征的提取,其余的部分都非常相似,所以文章只重点介绍高级特征提取部分RIR。包括RCAB和CA。对于其他部分有疑问的可以参看EDSR和RDN。

2.1 Overview

超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建_第3张图片

RCAN主要包括四个部分:浅层特征提取Residual in Residual(RIR)深度特征提取上采样重建部分
I L R I_{LR} ILR I S R I_{SR} ISR记作为RCAN的输入和输出。

浅层特征提取:(shallow feature extraction)
使用一个卷积层(Conv)从LR输入中提取浅层特征 F 0 F_0 F0 H S F ( ⋅ ) H_{SF} (·) HSF()表示卷积操作。 F 0 F_0 F0还会用于后续RIR模块对深层特征的提取。
F 0 = H S F ( I L R ) , (1) F_0 = H_{SF} (I_{LR}),\tag{1} F0=HSF(ILR),(1)

深度特征提取(RIR):(deep feature extraction)
H R I R ( ⋅ ) H_{RIR }(·) HRIR()表示深层特征提取的一整个复合函数。该模块是非常深的RIR残差结构,包含多个RG块,每个RG块都由多个RCAB块组成,每个RCAB块都包含残差块和空间注意力机制。RCAN达到了迄今为止现有的最大网络深度,并且有非常大的感受野,所以该模块输出记作深层特征(deep feature)。
F D F = H R I R ( F 0 ) , (2) F_{DF} = H_{RIR} (F_0),\tag{2} FDF=HRIR(F0),(2)

上采样:(upscale module)
上采样模块采用的亚像素卷积ESPCN(上采样的三种方式:①反卷积,②最近邻上采样+CNN,③ESPCN) H U P ( ⋅ ) H_{UP} (·) HUP()是上采样算子,输出采样后的特征记为 F U P F_{UP} FUP
F U P = H U P ( F D F ) , (3) F_{UP} = H_{UP} ( F_{DF}),\tag{3} FUP=HUP(FDF),(3)

重建:(reconstruction)
最后通过一个Conv层重建放大的特征, H R E C ( ⋅ ) H_{REC} (·) HREC() and H R C A N ( ⋅ ) H_{RCAN} (·) HRCAN()分别代表重建层卷积算子和整个RCAN网络的复合函数。
I S R = H R E C ( F U P ) = H R C A N ( I L R ) , (4) I_{SR} = H_{REC} (F_{UP} ) = H_{RCAN} (I_{LR}),\tag{4} ISR=HREC(FUP)=HRCAN(ILR),(4)

LOSS:
RCAN采用L1loss函数作为损失函数(三种常用损失函数:L2、L1、感知和对抗损失)
L ( Θ ) = 1 N ∑ i = 1 N ∣ ∣ H R C A N ( I L R i ) − I H R i ∣ ∣ 1 , (5) L(Θ) =\frac{1}{N}\sum^N_{i=1}{||H_{RCAN}(I^i_{LR})-I^i_{HR}||_1} ,\tag{5} L(Θ)=N1i=1NHRCAN(ILRi)IHRi1,(5)


2.2 Residual in Residual (RIR)

文章的最重点部分。深度特征提取(RIR)Residual in Residual 结构。看图。

  1. 以residual group(RG)块作为基础,加一条长跳跃连接LSC来融合浅层特征和深层特征,一共包含G个RG块。
  2. 每个RG都由B个RCAB块组成,每个RG内有一条短跳跃连接SSC来融合局部的深浅特征。
  3. 每个RCAB块都包含简单残差块通道注意力机制CA

这种残差结构允许训练非常深的CNN(超过400层)以获得高性能的图像SR。 超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建_第4张图片
RG+LSC:(多个RG间的连接)
在先前的实验中已经证明堆叠的残差块和LSC可用于构建深度CNN。但在SR任务中以这种方式构建的非常深的网络不仅难以训练,而且难以获得更高的性能增益。受SRRestNet和EDSR中先前工作的启发,提出了残差群组(RG)作为更深层次网络的 基本模块
H g ( ⋅ ) H_g (⋅) Hg()表示第g个RG的映射, F g − 1 、 F g F_{g-1}、F_{g} Fg1Fg表示第g个RG块的输入feature map和输出feature map,第g个RG的输出公式如下:
在这里插入图片描述
简单的叠加RG组并不能获得更好的性能。为了解决这个问题,RIR中进一步引入了长跳跃连接(LSC),以稳定超深网络的训练。LSC还可以通过以下方式提高残差学习的性能。
F 0 F_0 F0是先前提取的浅层特征, W L S C W_{LSC} WLSC 是RIR最后一个RG块后接的一层卷积层参数,RIR输出的深层特征 F D F F_{DF} FDF公式如下:
在这里插入图片描述
LSC不仅可以简化RGs之间的信息流,而且将浅层信息和深层信息相融合,增强图像信息,减少信息丢失。

 
RCAB+SSC:(RG内部)
LR输入和特征中包含大量丰富的信息,而SR网络的目标是恢复更多有用的信息。为了进一步实现残差学习,使用短跳跃连接融合不同的层级信息。在每个RG中堆叠B个残差通道注意力块RCAB
F g , b − 1 、 F g , b F_{g,b-1}、F_{g, b} Fg,b1Fg,b表示第g个RG块中第b个RCAB块的输入与输出, H g , b ( ⋅ ) H_{g,b}(\cdot) Hg,b()为第g个RG内第b个RCAB块的映射,则第g个RG中的第b个RCAB输出可以表示为:
在这里插入图片描述
在每个RG内(RCAB间)引入短跳跃连接,融合不同层级的特征信息, W g W_g Wg是第g个RG内部最后一个RCAB后接的Conv层的参数, F g − 1 F_{g-1} Fg1是前一个RG的输出。第g个RG的输出公式如下:

在这里插入图片描述


2.3 Channel Attention (CA)

以往的算法对不同通道的feature map都同等看待,但其实不同通道包含的特征信息是不同的,所以需要分配给每个通道不同的权重,让网络更加的关注一些包含重要信息的通道,于是引入了注意力机制。提出了通道注意力机制CA
如何对每个通道产生不同的注意力权重是最关键的一步。主要有两个关键:

  1. LR空间的信息具有大量的低频分量和有价值的高频分量。低频部分更平坦。高频分量通常是区域的,充满了边缘、纹理和其他细节
  2. Conv层中的每个滤波器都有固定的局部感受野。因此,卷积后的输出无法利用局部区域之外的上下文信息。

根据以上分析,作者使用全局平均池化将每个通道的全局空间信息转化为通道描述符(一个常数 S c S_c Sc)。

超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建_第5张图片
如图3所示,设输入为 X = [ x 1 , ⋅ ⋅ ⋅ , x c , ⋅ ⋅ , x c ] X=[x1,···,xc,··,xc] X=[x1xcxc],共有C个通道每个通道是大小为H×W的特征映射。
其中 x c ( i , j ) x_c(i,j) xcij是第c个通道位置为 ( i , j ) (i,j) ij处的值。 H G P ( ⋅ ) H_{GP}(·) HGP()表示全局平均池化。除了全局平均池,这里还可以引入更复杂的聚合技术。 池化后的结果 z c z_c zc一共有C维,每张特征图输出为一个常数(每张图的平均值)公式表示为:
在这里插入图片描述
为了从经过全局平均池化聚合的信息中完全捕获通道间的依赖关系,引入了一种选通机制。选通机制应满足两个标准:

  1. 必须能够学习通道之间的非线性相互作用
  2. 结果应当是可以强调多个通道特性而不是只获取一个最佳通道(one-hot)。

作者使用了简单的门控机制和sigmoid函数 δ ( ⋅ ) 、 f ( ⋅ ) δ(⋅)、f(⋅) δ()f()分别表示ReLU激活函数和sigmoid门。公式如下:

在这里插入图片描述
W D W_D WD是Conv层的参数,它作为通道缩小比例r,输出通道数为 C r \frac{C}{r} rC。在被ReLU激活后,再经过第二个卷积层,参数为 W U W_U WU,作为通道放大比例r增加,输出通道数为C。最后使用sigmoid激活,获得最终的通道统计信息s,也就是通道注意力权重
最后按不同通道将注意力权值和feature map进行相乘结合,公式如下:
在这里插入图片描述
通过通道注意力,RCAB中的残差分量将自适应地重新缩放,分配不同的权值,根据自身的特性体现出不同的贡献,进一步增强网络的辨别能力。


2.4 Residual Channel Attention Block (RCAB)

超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建_第6张图片

这部分简单剖析了RCAB内部的结构。简单残差块串联通道注意力机制 ResNet + CA,并使用了一个short-cut
F g , b − 1 、 F g , b F_{g,b-1}、F_{g, b} Fg,b1Fg,b表示第g个RG块中第b个RCAB块的输入与输出, R g , b ( ⋅ ) R_{g,b} (⋅) Rg,b()表示第g个RG中第b个RCAB中CA的映射关系, X g , b X_{g,b} Xg,b 是残差块BN输出的差特征信息。第g个RG中的第b个RCAB输出可以表示为:
在这里插入图片描述
X g , b X_{g,b} Xg,b 是残差特征信息,通过卷积+ReLU+卷积层得到,因此残差块BN的输出
在这里插入图片描述

作者分析了RCAB和残差块(RB)之间的关系。发现,MDSR和EDSR中使用的RBs可视为RCAB的特例。 且EDSR中使用的residual scaling位置和CA一摸一样,所以residual scaling可以看作是固定CA权重值的特例。

  1. EDSR中使用了0.1的residual scaling,相当于RCAN中RCAB使用 R g , b ( ⋅ ) = 0.1 R_{g,b} ( ⋅ ) = 0.1 Rg,b()=0.1,那么RCAB模块就相当于EDSR中的残差块。
  2. 对于MDSR中的RB,没有使用residual scaling。相当于RCAB中将 R g , b ( ⋅ ) R_{g,b}(·) Rg,b()设为常数1。

因此RCAB相对于EDSR和MDSR的残差块更加灵活,它可以利用不同通道的特征信息以及它们之间的关系(获取不同权重)来灵活调整块地输出,提高模型的表现力。

★到此RCAN中的重点部分RIR结构已经全部详细介绍了,是一个大结构(RIR)套小结构(RG)再套小结构(RCAB)的层层递进式,大家可以回头再梳理一遍。

3 Experiments

3.1 Settings

训练:DIV2K数据集的800张训练图像
测试:五个标准基准数据集:Set5、Set14、B100、Urban100和Manga109
使用双三次(BI)和模糊缩小(BD)两种退化模型进行实验
在Y通道上使用PSNR/SSIM作为图像质量客观评价指标
图像数据增强:随机旋转90°, 180°, 270°、水平翻转
batch:16
patch:48×48
optimizor:Adam
初始化学习率设置为 1 0 − 4 10^{-4} 104,每隔 2 × 1 0 5 2\times 10^5 2×105 个iterations,学习率减半
RIR结构中将RG数设置为G=10。在每个RG中,将RCAB数量设置为B=20
除了CA使用1×1卷积外,其余均使用3 × 3卷积核
CA缩减率r设置为16,其余通道均使用C = 64
上采样层使用亚像素卷积层ESPCN
使用L1loss

3.2 Effects of RIR and CA

作者通过实验证明了有无RIR和CA对实验效果的影响。
超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建_第7张图片

  1. 如果没有LSC和SSC得到的PSNR较低,这表明简单地叠加剩余块不适用于实现非常深和强大的图像SR网络。
  2. 有CA的网络比没有CA的网络性能更好。即使没有RIR,CA也可以将性能从37.45 dB提高到37.52 dB。这些比较有力地证明了CA的有效性,并表明对通道特性的自适应关注确实提高了性能。

3.3 Results with BI、BD Degradation Model

累了不想写了,总之就是效果最好,即使不用自集成(就是图像增强)也优于其他方法。在比例因子较大时,增益更明显(和别人的差距更大)。
EDSR的参数数量(43m)是远大于RCAN的(16m),但RCAN获得了更好的性能。这也说明了非常大的网络深度和CA可以提高性能。
和他其算法相比,RCAN可以更好地缓解模糊伪影,恢复更多细节。

 

3.4 Object Recognition Performance

图像SR还可作为高级视觉任务(如物体识别)的预处理步骤。作者评估了最先进的七种SR方法用于目标识别的性能,以进一步证明RCAN的有效性。
超分算法RCAN:Image Super-Resolution Using Very Deep Residual Channel Attention Networks图像超分辨率重建_第8张图片

4 Conclusions

这篇文章提出了深度残差通道注意网络(RCAN),用于高精度的图像SR。
RCAN由RG作为基础模块,由几个具有长跳跃连接LSC残差群组BG组成。每个RG包含一些具有短跳跃连接SSC通道残差块RCAB。每个通道注意力残差块RCAB由简单残差块BN通道注意力机制CA组成。

  1. 提出了RIR结构,通过LSC和SSC使网络达到非常大的深度。同时,RIR通过多个跳跃连接绕过过多的低频信息,使主网络专注于学习高频信息。
  2. 为了提高网络的能力,提出了通道注意力(CA)机制,通过关注通道之间的相互依赖性,自适应地重新分配通道特征的权重。
  3. 利用BI和BD模型对SR进行的大量实验证明了提出的RCAN的有效性。RCAN作为一种SISR方法不仅产生了使人类眼球舒适的视觉感知效果,同时可以作为高级视觉任务的预处理模块,能够提升其表现力,如人脸识别等。
  4. 虽然RCAN是最深的网络,但它的参数比EDSR和RDN的参数少。在模型尺寸和性能之间进行了更好的权衡。它还表明,较深的网络可能比较宽的网络更容易实现更好的性能。

迄今为止,EDSR最宽,RCAN最深。
 


最后祝各位科研顺利,身体健康,万事胜意~

你可能感兴趣的:(超分,超分辨率重建,深度学习,神经网络,计算机视觉,算法)