前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CrossSR | 新型Cross卷积大幅提升超分结构信息,已开源

CrossSR | 新型Cross卷积大幅提升超分结构信息,已开源

作者头像
AIWalker
发布2022-01-18 15:35:53
7410
发布2022-01-18 15:35:53
举报
文章被收录于专栏:AIWalker

https://arxiv.org/abs/2201.01458

https://github.com/yuqing-liu-dut/Cross-SRN

1Abstract

作者设计了一种分层特征挖掘网络,它通过多尺度特征融合方式探测、保持结构信息。首先,基于传统边缘检测器提出了Cross卷积进行边缘特征定位与表达;然后,设计了带特征规范化与通道注意力的CCB模块以对特征固有的相关性进行考量;最后,将Cross卷积嵌入到MFFG模块并以分层方式挖掘结构特征相关性,构建了结构保持网络Cross-SRN

实验结果表明:CrossSRN取得了与其他SOTA方案相当甚至更优的复原性能,同时具有精确且清晰的结构细节。与此同时,我们定义了一种选择具有丰富结构纹理图像的准则。所提CrossSRN在所选基准数据及上取得了更优的性能,说明所提方案具有更好的边缘保持优势。

2Method

上图给出了所提方案整理架构示意图,架构风格与IMDN相似,区别主要有两部分:

  • 核心模块,即MFFG部分,这里也是大部分网络架构的区别所在。
  • body的fuse部分,IMDN采用了类似RDN的多尺度融合,即把各个IMDB的输出都进行了融合;而CrossSRN则是采用类似EDSR仅对最后模块的输出融合。

注:看这里的图示采用了两个卷积应该是类似IMDN的融合方式,但paper提到的是H_{out} = f_{PAD}(H_G) + H_0 ,即只有最后一个模块。

Cross Convolution

上图给出了常规卷积与本文所提Cross卷积的示意图,Cross卷积其实就是两路并行非对称卷积,可以表示如下:

F_{out}^{Conv} = k_{1\times m} \otimes F_{in}^{Conv} + k_{m \times 1} \otimes F_{in}^{Conv} + b

Cross卷积通过两路并行的非对称卷积对水平与垂直梯度信息进行探索以聚焦于边缘信息挖掘。相比常规卷积,Cross卷积具有更少的参数量与计算复杂度、具有相同的感受野,重要的是具有更好的结构保持能力。

上图给出了常规卷积与Cross卷积在结构保持方面的对比示意图,Cross卷积可以保持更多的梯度方向信息。为更好的说明Cross卷积的边缘保持能力,作者还提供了下图的对比图,可以看到:Cross卷积保持更多的边缘信息,验证了其结构纹理探索能力。

Multi-scale Feature Fusion Group

为获得精确的边缘信息,我们构建了CCB模块,见上图。除了Cross卷积外,CCB还包含F-Norm与CA(通道注意力,没什么可说的),两者分别用于空域与通道信息重要性挖掘。F-Norm可表示如下:

F_{out}^{(i)} = (F_{in}^{(i)} \otimes k^{(i)} + b^{(i)}) + F_{in}^{(i)}

更多关于F-Norm的介绍可参考《Iterative Network for Image Super-resolution》一文,为方便理解,笔者在这里摘抄了F-Norm的实现code(是不是简单到家!)如下:

代码语言:javascript
复制
class AdaptiveFM(nn.Module):
    def __init__(self, channels, kernel_size=3):
        super(AdaptiveFM, self).__init__()
        self.conv = nn.Conv2d(channels, channels, kernel_size, padding=kernel_size//2, groups=channels)
    def forward(self, x):
        return self.conv(x)+x

由于边缘信息具有尺度敏感性,故作者将CCB以多尺度特征融合方式构建了MFFG以探索不同尺度特征,见上图(类似IMDN、RFDN的模块)。可描述如下:

[HC_1^0, HC_1^1, HC_1^2] = f_{CCB}^1([HC_0^0, HC_0^1, HC_0^2]) \\\ [HC_2^0, HC_2^1] = f_{CCB}^2([HC_1^0, HC_1^1]) \\\ [HC_3^0] = f_{CCB}^3([HC_2^0])

分层特征将以残差模块架构进行聚合,故MFFG的输出可表示如下:

H_g = H_{g-1} + f_{Fuse}([HC_3^0, HC_2^1, HC_1^2, HC_0^3])

也就是说,MFFG即可保持原始信息,亦可以分层方式突出结构信息。

3Experiments

在网络结构方面,CrossSRN有G=10 个MFFG模块,通道数为64。训练数据则采用了DIV2K,退化方式为BI。训练图像块尺寸为48 \times 48 ,数据增广为随机镜像与旋转。优化器选用了Adam,初始学习率为lr=10^{-4} ,合计训练1000epoch,每200epoch学习率减半。评估准则选用了常规的PSNR与SSIN,此外还统计了MACs(基于X4超分+输入320 \times 180 统计)。

为更好的说明所提方案的结构复原能力,作者基于Urban100与Manga109构建了新的评估基准数据集。首先,采用7\times 7 高斯模糊核对图像进行模糊;然后采用Sobel算子提取图像边缘并通过阈值t_e=128 移除弱响应后计算图像的平均响应。将平均响应高于t_r=12 的图像收录到新的基准数据集中,它包含38个图像,其中18个源自Urban100,20源自Manga109。

Ablation Study

我们先对Cross卷积与多尺度特征融合机制进行消融实验分析。

上表给出了不同卷积形式的性能对比,从中可以看到:Cross卷积具有最佳的PSNR/SSIM指标,同时具有更低的计算量和参数量

上图给出了不同卷积结构的可视化对比,可以看到:经Cross卷积处理后边缘特征得到了进一步增强,验证了所提方案关于结构纹理复原的能力

上表对比了Seq与Cross两种形式不同卷积核尺寸下的性能对比,可以看到:相比Seq形式,Cross形式具有更佳的性能

上表对比了多尺度特征融合方面的性能,可以看到:

  • 相比无MFF形式的模块,所提MFFG特征融合机制具有相当的性能,同时参数量减半
  • 移除CCB模块后,模型性能大幅下降:0.1-0.2dB。

上图给出了MFFG中不同组的特征可视化,可以看到:经CCB处理后,边缘与纹理结构变得更为清晰锐利

上表对比了CA与FN对性能影响,可以看到:移除F-Norm会带来0.06dB@Manga109性能下降;移除CA会带来0.05dB@Urban100性能下降。

Comparison with SOTA Methods

上表给出了所提方案与其他方案的性能对比,可以看到:

  • CrossSRN取得了相当、甚至更优的性能,90%取得了最佳或次佳;
  • 相比DEGREE,CrossSRN具有更佳的性能;
  • 相比SeaNet,CrossSRN在所有尺度与基准数据上取得了90%最佳或次佳,同时参数量仅需43%。这说明:CrossSRN能够以更少参数量、更高效的进行结构复原。

上表对比了不同方法在新构建数据及上的性能对比,可以看到:**相比其他,CrossSRN具有更优的结构信息保持能力。**图像超分怎么可以没有图示呢,看看下面几个图示对比,显然:CrossSRN具有更好的结构纹理复原能力

最后,附上关于模型推理速度方面的对比,见下表。CrossSRN具有最佳指标,更快的速度(慢于CARN,但性能更佳)。

4吐槽时刻

我们先看一下笔者汇总的下面几个表吧,对比了CrossSRN、IMDN以及RFDN的性能(注:原文并没有提供RFDN的指标),很明显:CrossSRN被RFDN“摩擦”了吧,嗯嗯,差不多就是这个意思。

X2

Set5

Set14

B100

Urban100

Manga109

CrossSRN

38.03/0.9606

33.62/0.9180

32.19/0.8997

32.28/0.9290

38.75/0.9773

IMDN

38.00/0.9605

33.63/0.9177

32.19/0.8996

32.17/0.9283

38.88/0.9774

RFDN

38.05/0.9606

33.68/0.9184

32.16/0.8994

32.12/0.9278

38.88/0.9773

RFDN-L

38.08/0.9606

33.67/0.9190

32.18/0.8996

32.24/0.9290

38.95/0.9773

X3

Set5

Set14

B100

Urban100

Manga109

CrossSRN

34.43/0.9275

30.33/0.8417

29.09/0.8050

28.23/0.8535

33.65/0.9448

IMDN

34.36/0.9270

30.32/0.8417

29.09/0.8046

28.17/0.8519

33.61/0.9445

RFDN

34.41/0.9273

30.34/0.8420

29.09/0.8050

28.21/0.8525

33.67/0.9449

RFDN-L

34.47/0.9280

30.35/0.8421

29.11/0.8053

28.32/0.8547

33.78/0.9458

X4

Set5

Set14

B100

Urban100

Manga109

CrossSRN

32.24/0.8954

28.59/0.7817

27.58/0.7364

26.16/0.7881

30.53/0.9081

IMDN

32.21/0.8948

28.58/0.7811

27.56/0.7353

26.04/0.7838

30.47/0.9084

RFDN

32.24/0.8952

28.61/0.7819

27.57/0.7360

26.11/0.7858

30.58/0.9089

RFDN-L

32.28/0.8957

28.61/0.7818

27.58/0.7363

26.20/0.7883

30.61/0.9096

借《飞驰人生》中一句“一顿操作猛如虎,仔细一看原地杵”,嗯嗯,可能说的就是CrossSRN。为啥这么说呢,看看下表几个模型的通道数、模块数等方面的信息对比。

通道数

模块数

通道注意力

F-Norm

CrossSRN

64

10

Y

Y

IMDN

64

6

Y

N

RFDN

48

6

Y

N

RFDN-L

52

6

Y

N

无论是通道数,还是模块数,CrossSRN都要比RFDN多,但性能反而更低(当然,由于CrossSRN用的是Cross卷积,计算量会小一些,可能这也是它使用这么多模块数的原因吧)。美中不足的是,RFDN预训练模型并未全部开源(仅开源了一个参赛用的轻量模型)。

以上纯是吐槽,CrossSRN虽然性能未能真正达到SOTA,不过它提供的Cross卷积思路还是值得借鉴一下滴,对于轻量型超分架构设计还是有点参考价值的,有兴趣的小伙伴可以去尝试一下。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIWalker 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1Abstract
  • 2Method
    • Cross Convolution
      • Multi-scale Feature Fusion Group
      • 3Experiments
        • Ablation Study
          • Comparison with SOTA Methods
          • 4吐槽时刻
          相关产品与服务
          腾讯云 BI
          腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档