【图像超分辨率重建】——RCAN论文阅读笔记

Image Super-Resolution Using Very Deep Residual Channel Attention Networks

基本信息:

期刊:ECCV2018

摘要:卷积神经网络(CNN)深度对于图像超分辨率(SR)至关重要。然而,我们观察到,用于图像SR的更深的网络更难以训练。低分辨率输入和特征包含丰富的低频信息,这些信息在通道之间被平等对待,因此阻碍了CNN的代表能力。为了解决这些问题,我们提出了非常深的残余通道注意力网络(RCAN)。具体地说,我们提出了一种残差中残差(RIR)结构来形成非常深的网络,该网络由多个具有长跳跃连接的残差组组成。每个残差组包含具有短跳跃连接的一些残差块。同时,RIR允许通过多个跳过连接绕过丰富的低频信息,使主网络专注于学习高频信息。此外,我们提出了一个通道注意机制,通过考虑通道之间的相互依赖性,自适应地重新调整通道的功能。大量的实验表明,我们的RCAN实现了更好的准确性和视觉改善对国家的最先进的方法。


1.引言

  • 网络深度被证明对许多视觉识别任务至关重要,简单地堆叠残差块来构建更深的网络很难获得更好的改善。更深的网络是否可以进一步促进图像SR以及如何构建非常深的可训练网络仍有待探索。
  • 最新的基于CNN的方法平等地对待通道特征,这在处理不同类型的信息时缺乏灵活性。图像SR可以被看作是一个过程,在这个过程中,我们试图恢复尽可能多的高频信息。LR图像包含大部分低频信息,其可以直接转发到最终HR输出。然而,领先的基于CNN的方法将平等对待每个通道特征,缺乏跨特征通道的区分学习能力,并阻碍了深度网络的代表性。

为了实际解决这些问题,我们提出了一个残余信道注意力网络(RCAN),以获得非常深的可训练网络,并同时自适应地学习更有用的通道特征。

  • 为了简化非常深的网络的训练(例如,超过400层),我们提出了残差中残差(RIR)结构,其中残差组(RG)作为基本模块和长跳过连接(LSC)允许残差学习在一个粗略的水平。在每个RG模块中,我们使用短跳过连接(SSC)堆叠几个简化的残差块。长和短的跳跃连接以及在残余块中的捷径允许丰富的低频信息跳过连接,可以简化信息的流动。
  • 提出了通道注意力(CA)机制,自适应地重新调整每个通道的功能,通过建模跨功能通道的相互依赖关系。这样的CA机制使我们提出的网络集中在更有用的通道,并提高判别学习能力。

贡献主要在三个方面:

  • 用于高精度图像SR的非常深的残差通道注意力网络(RCAN)
  • 残差中残差(RIR)结构来构建非常深的可训练网络
  • 通道注意力(CA)机制,考虑到特征通道之间的相互依赖关系,自适应地重新缩放功能。

2.相关工作

在计算机视觉界已经研究了许多图像SR方法。注意机制在高级视觉任务中很受欢迎,但在低级视觉应用中很少研究。

  • SR的深度CNN——SRCNN、FSRCNN、VDSR 、DRCN 。一些方法首先将LR输入插值到所需的大小,这不可避免地丢失了一些细节,并大大增加了计算量。从原始LR输入中提取特征并在网络尾部提升空间分辨率成为深度架构的主要选择。然而,这些方法中的大多数都具有有限的网络深度,这在视觉识别任务中非常重要。此外,这些方法中的大多数平等地对待通道特征,阻碍了不同特征的更好的区分能力。
  • 注意力机制——注意力可以被视为一种指导,将可用处理资源的分配偏向于输入中信息量最大的部分。目前已经提出将注意力机制运用于高水平的视觉任务。然而,很少有人提出研究注意力对低水平视觉任务的影响(例如,图像SR)。

3.剩余通道注意力网络

3.1网络架构

我们的RCAN主要由四部分组成:浅特征提取、残差中残差(RIR)深特征提取、放大模块和重建部分。

  • 我们仅使用一个卷积层(Conv)来从LR输入提取浅特征
  • 其中HRIR(·)表示我们提出的残差结构中的非常深的残差,其包含G个残差群(RG)。据我们所知,我们提出的RIR实现了迄今为止最大的深度,并提供了非常大的感受野大小。因此我们将其输出视为深度特征,然后通过一个upscale模块对其进行升级
  • 有几种选择可以作为upscale模块。反卷积层(转置卷积层)最近邻上采样+卷积、Pixel-shuffle
  • 损失函数:L1损失、L2损失、感知损失、对抗损失。RCAN采用的是最小化L1损失

 3.2残差中的残差 RIR

RIR包含G剩余群(RG)和长跳跃连接(LSC)。每个RG还包含具有短跳跃连接(SSC)的B个残留信道注意块(RCAB)。残差结构中的这种残差允许以高性能为图像SR训练非常深的CNN(超过400层)。

  • 在视觉识别中,残差块可以堆叠以实现超过1,000层的可训练网络。然而,在图像SR中,以这种方式构建的非常深的网络将遭受训练困难,并且难以实现更多的性能增益。我们观察到,简单地堆叠许多RG将无法实现更好的性能。为了解决这个问题,在RIR中进一步引入了长跳跃连接(LSC),以稳定非常深的网络的训练。LSC不仅可以缓解跨越RIR的信息流,还可以让RIR在粗略水平上学习残差信息。LR输入和特征中存在大量丰富的信息,SR网络的目标是恢复更多有用的信息。通过基于身份的跳过连接可以绕过丰富的低频信息。为了进一步进行残差学习,我们在每个RG中堆叠B个残差通道注意块。第g个RG中的第b个残余通道注意块。
  • 为了使主网络更多地关注信息量更大的特征,引入了短跳过连接(SSC)。SSC还允许网络的主要部分学习残余信息
  • 利用LSC和SSC,在训练过程中更容易绕过更丰富的低频信息。为了向更具区分性的学习进一步迈进,我们更加关注具有通道关注度的通道式特征重标度。

3.3通道注意力 CA

以前的基于CNN的SR方法同等对待LR信道方式的功能,这是不灵活的真实的情况。为了使网络专注于更多信息的特征,我们利用特征通道之间的相互依赖性,从而产生通道注意力(CA)机制。如何为每个通道特征产生不同的注意力是关键步骤。这里我们主要有两个关注点:

  • LR空间中的信息具有丰富的低频分量有价值的高频分量。低频部分似乎更平坦。高频分量通常是区域,充满了边缘、纹理和其他细节。
  • Conv层中的每个滤波器都使用局部接收场进行操作。因此,卷积之后的输出不能利用局部区域之外的上下文信息。

多通道——全局池化——WD降维——ReLU激活——WU升维——Sigmoid激活——加权相乘——获得注意力的多通道

3.4剩余通道注意块 RCAB

4.实验 

4.1实验配置

训练集:Div2K

测试集:Set5、Set14、B100、Urban100、Manga100

数据增强:随机旋转、水平翻转

输入:在每个训练批次中,提取16个大小为48 × 48的LR色块作为输入

学习率设置:初始学习率设置为10−4,然后每2 × 10 5次(iteration)反向传播迭代降低一半

设置:在RIR结构中,我们将RG数设置为G=10。在每个RG中,我们将RCAB数量设置为20。我们将3×3设置为所有Conv层的大小,除了通道缩小和通道放大中的层,其内核大小为1×1。C=64个滤波器,缩减比r为16,则C/r=4

使用双三次(BI)模糊缩小(BD)退化模型进行实验。SR结果用Y通道上的PSNR和SSIM 进行评估

4.2 RIR和CA的影响(消融实验)

  • RIR——为了证明我们提出的残差在残差结构中的效果,我们从非常深的网络中去除了长跳跃连接(LSC)或/和短跳跃连接(SSC)。具体地,我们将残差块的数量设置为200。当去除LSC和SSC两者时,Set 5(×2)上的PSNR值相对较低,无论是否使用信道注意(CA)。这表明简单地堆叠残差块不适用于实现非常深和强大的图像SR网络。这些比较表明,LSC和SSC是非常深的网络必不可少的。它们还证明了我们提出的残差中的残差(RIR)结构对于非常深的网络的有效性。
  • CA—当我们比较前4列和后4列的结果时,我们发现有CA的网络比没有CA的网络表现得更好。对于非常大的网络深度,非常深的可训练网络可以实现非常高的性能。很难从这样的深度网络中获得进一步的改进,但我们通过CA获得了改进。即使没有RIR,CA也可以将性能从37.45 dB提高到37.52 dB。这些比较有力地证明了CA的有效性,并表明对通道特征的自适应关注确实提高了性能。

 4.3 双三次(BI)降解模型的结果

与SRCNN、FSRCNN、SCN、VDSR、LapSRN、MemNet、EDSR、SR-MDNF、D-DBPN、RDN等先进方法进行比较,并且引入自集成方式来进行改进。

  • PSNR/SSIM定量结果分析。一方面,×2、×3、×4和×8 SR的定量比较。我们的RCAN+在所有缩放因子的所有数据集上表现最好。即使没有自集成,我们的RCAN也优于其他比较方法。另一方面,当缩放因子变大时(例如,8),我们的RCAN在EDSR上的增益也变得更大。EDSR具有比我们的(16 M)多得多的参数数目(43 M),但是我们的RCAN获得了更好的性能。CA允许我们的网络进一步关注更多信息功能。该观察结果表明,非常大的网络深度和CA提高了性能。
  • 视觉效果定量分析尺度×4的视觉比较。对于图像“img 004”,大多数比较的方法不能恢复晶格并且会遭受模糊伪影。相比之下,我们的RCAN可以更好地减轻模糊伪影,恢复更多的细节。这种明显的比较表明,具有更强大的表示能力的网络可以从LR空间中提取更复杂的特征。为了进一步说明上述分析,我们在图6中显示了SR的视觉比较。Bicubic的结果将丢失结构并产生不同的结构。同时一些现有的技术方法,会生成的完全错误的结构,而RCAN可以正确地恢复图像的结构。

 4.4 使用Blur-Downscale(BD)降级模型的结果

我们进一步将我们的方法应用于具有模糊下降(BD)退化模型的超分辨率图像,这也是最近常用的。

  • PSNR/SSIM定量结果分析。将3× SR结果与7种最先进的方法进行比较:SPMSR、SRCNN,FSRCNN ,VDSR ,IRCNN ,SRMDNF和RDN。RCAN中具有信道注意力的更深的网络实现了更好的性能。这种比较也表明,有前途的潜力,调查更深的网络图像SR。
  • 视觉效果定性分析。对于图像“img 062”和“img 078”中具有挑战性的细节,大多数方法都遭受严重的模糊伪影。RDN在一定程度上缓解了这一问题,并且可以恢复更多的细节。相比之下,我们的RCAN获得更好的结果,通过恢复更多的信息组件。这些比较表明,非常深的通道注意力引导网络将减轻模糊伪影。这也证明了RCAN对BD退化模型的强大能力。

4.5目标识别性能

图像SR也是高级视觉任务(如物体识别)的预处理步骤。我们评估了物体识别性能,以进一步证明我们的RCAN的有效性。这里我们使用与ENet]相同的设置。我们使用ResNet-50作为评估模型,并使用ImageNet CLS-LOC验证数据集的前1000张图像进行评估。原始的裁剪过的224×224的图像被用于基线,降级为56×56的SR方法。我们使用4种最先进的方法(DRCN、FSRCN、PSyCo和ENet-E)来提高LR图像的比例,然后计算其准确度。如表4所示,我们的RCAN取得了最低的前1名和前5名的误差。这些比较进一步证明了我们的RCAN具有非常强大的表示能力。

4.6模型大小分析

5 结论

我们提出了非常深的残差通道注意力网络(RCAN)的高度准确的图像SR。具体来说,残差中的残差(RIR)结构允许RCAN达到非常大的深度与LSC和SSC。同时,RIR允许通过多个跳过连接绕过丰富的低频信息,使主网络专注于学习高频信息。此外,为了提高网络的能力,我们提出了通道注意力(CA)机制,通过考虑通道之间的相互依赖性,自适应地重新调整通道的功能。大量的实验SR与BI和BD模型证明了我们提出的RCAN的有效性。RCAN还显示了目标识别的有希望的结果。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
图像超分辨率重建是指将低分辨率图像通过算法处理,得到高分辨率图像的过程。以下是一个基于Python的图像超分辨率重建的简单实现: 首先,我们需要导入一些必要的库: ```python import numpy as np import cv2 from skimage.measure import compare_psnr ``` 然后,我们读取一张低分辨率的图像,并将其展示出来: ```python img_lr = cv2.imread('low_resolution_image.jpg') cv2.imshow('Low Resolution Image', img_lr) cv2.waitKey(0) cv2.destroyAllWindows() ``` 接着,我们使用双三次插值的方式将低分辨率图像放大到目标分辨率,并展示出来: ```python img_bicubic = cv2.resize(img_lr, None, fx=3, fy=3, interpolation=cv2.INTER_CUBIC) cv2.imshow('Bicubic Interpolation Image', img_bicubic) cv2.waitKey(0) cv2.destroyAllWindows() ``` 接下来,我们使用OpenCV中的超分辨率算法实现图像超分辨率重建: ```python # 创建超分辨率算法对象 sr = cv2.dnn_superres.DnnSuperResImpl_create() # 选择算法模型 sr.readModel('EDSR_x3.pb') sr.setModel('edsr', 3) # 对低分辨率图像进行超分辨率重建 img_sr = sr.upsample(img_lr) # 展示结果 cv2.imshow('Super Resolution Image', img_sr) cv2.waitKey(0) cv2.destroyAllWindows() ``` 最后,我们计算超分辨率重建图像与原始高分辨率图像之间的PSNR值,并输出结果: ```python img_hr = cv2.imread('high_resolution_image.jpg') psnr = compare_psnr(img_hr, img_sr) print('PSNR:', psnr) ``` 这是一个简单的图像超分辨率重建的Python实现。当然,实现一个高质量的图像超分辨率重建算法需要更加深入的研究和实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值