RCAN - yubo105139/paper GitHub Wiki
(RCAN 2018 ECCV)Image Super-Resolution Using Very DeepResidual Channel Attention Networks
github:https://github.com/yulunzhang/RCAN
基于残差注意力的超分方法
contribution
-
深的网络对SR难以训练。提出RIR 以构建更深的网络,通过多个跳连接丢弃低频信息,强调高频信息。
-
低重要性的信息在通道间被均等对待。提出了一种通道注意机制,通过考虑通道之间的相互依赖性来自适应地重新调整通道的特征。
网络结构
Lr --> 一个卷积层-->浅层特征-->RIR层-->深层特征--> 后处理上采样模块-->重建SR
shallow feature F0 : F0 = Hsf(Lr)
deep feature Fdf : Fdf = Hrir(F0)
upscaled feature Fup: Fup = Hup(Fdf)
SR = Hrec(Fup) = Hrcan(Lr)
RIR模块
RG (residual group): (由叠加的残差通道注意力块构成)
LSC(long skip connectioin): (可以学习到底层信息)
SR中过深的网络面临难以训练和表现难以提升的问题。提出使用RG作为基础模块构建更深的网络。
只叠加RG表现无法提升,提出使用LSC。对残差组使用LSC跳连接: $$ F_{DF} = F_0+W_{LSC}F_G = F_0 + W_{LSC}H_g(H_{g-1}(...H_1(F_0)...)) $$
CA通道注意力
CA(channel attention): concentrate on useful channels
怎样得到每个通道特征的不同注意力,考虑到:
1.低频信息复杂,高频信息通常为区域,边缘,纹理等细节
2.卷积得到局部感受野,无法感知局部外的上下文信息
F--->global pooling---> conv--->ReLU--->conv--->sigmoid---> M_at--->element-wise
使用全局平均池化层,使通道全局信息包含入通道描述。
gating mechanism : sigmoid function
1.学习通道间的非线性关系;
2.保留多通道特征,不是one-hot;
残差通道注意块(RCAB)
Residual channel attention block (RCAB)
将CA集成到残差块RB中,得到RCAB
实验
参数配置
训练集:800 trainning image DIV2K dataset
测试集:five datasets: Set5 [1],Set14 [41], B100 [24], Urban100 [13], and Manga109
下采样方法:Bicubic (BI) and blur-downscale (BD)
评价指标:PSNR and SSIM ; YCbCr space Y channel;
数据增强: rotate;flip;
优化器:ADAM 学习率设置
配置: Titan Xp GPU.
网络设计细节
RIR中10个RG, 每个RG中20个RCAB, 全部为3×3卷积除了通道大小变化为1×1卷积。
浅层特征层通道为C=64, 通道减小为C/r = 4, r设置为16.
上采样模块,使用ESPCNN
RIR和CA的影响
1.不要LSC或SSC或CA, 测试PSNR值。证明LSC,SSC对RIR的重要性。
2.深得网络表现很好,很难提升,加入CA后有明显提升,不要RIR,CA也能提升超分性能。
与多个模型在不同测试集上的量化结果比较
效果最好,相比效果也好的EDSR 43M模型更小 16M
视觉结果分析
RCAN减小模糊,还原细节,而基于bicubic的可能导致完全错误的重建。
针对小的模糊图的超分效果,视觉效果
在分类任务上的表现
restnet50 1000数据测试, 56×56 -- >224×224
模型大小
x:参数数量, y:PSNR 图比较。取得了模型大小和性能效果的平衡。
更深的网络比更宽的网络更容易达到更好的性能
总结:
1.使用LSC全局残差,SSC局部残差使网络更深
2.使用通道注意力