论文阅读笔记:DRCT: Saving Image Super-Resolution away from Information Bottleneck

论文阅读笔记:DRCT: Saving Image Super-Resolution away from Information Bottleneck

  • [1 背景](#1 背景)
    • [1.1 问题](#1.1 问题)
    • [1.2 本文提出的方法](#1.2 本文提出的方法)
  • [2 创新点](#2 创新点)
  • [3 方法](#3 方法)
  • [4 模块](#4 模块)
    • [4.1 问题描述](#4.1 问题描述)
    • [4.2 深度特征提取模块](#4.2 深度特征提取模块)
    • [4.3 同任务渐进式训练策略](#4.3 同任务渐进式训练策略)
  • [5 效果](#5 效果)
    • [5.1 和SOTA方法对比](#5.1 和SOTA方法对比)

论文:https://arxiv.org/abs/2404.00722

代码:https://github.com/ming053l/drct

1 背景

1.1 问题

当使用基于Transformer的SISR模型在不同数据集上进行推理时,作者观察到一个普遍现象:随着网络深度的增加,特征图的强度分布发生了更大的变化。特征图的强度表明了模型学习到的空间信息和注意力强度。然而,网络的末端(见图1)往往会急剧下降,缩小到一个较小的范围。这一现象表明,这种突变可能伴随着空间信息的丢失,预示着信息瓶颈的存在。

受到YOLO系列、CSPNet 和 ELAN 等一系列工作的启发,作者认为基于SwinIR的网络架构,尽管通过偏移窗口注意力机制显著地扩大了感受野,以解决CNN中的小感受野问题,但随着网络深度的增加,由于空间信息的丢失,容易出现梯度瓶颈。这隐含地制约了模型的性能和潜力。

1.2 本文提出的方法

为了解决由于网络层数增加而导致的空间信息丢失,作者引入了密集残差连接Transformer(DRCT),旨在稳定前向传播过程并防止信息瓶颈。这是由孪生密集残差连接块 SDRCB 实现的,他将孪生 Transformer 和过渡层合并到每个残差深度特征提取组 RDG 中。该方法以较少的参数和简化的模型结构来增强感受野,从而提升性能。

2 创新点

  • 发现随着网络深度的增加,特征图的强度会逐渐增加,然后突然降低到一个较小的范围,这种剧烈震荡可能盘随着信息的丢失。

  • 提出DRCT,通过在残差组内加入稠密连接来稳定传播过程中用于深度特征提取的信息流,从而保证SISR模型原理信息瓶颈。

  • 通过将密集连接集成到Swin Transformer的SISR模型中,所提出的DRCT在保持效率的同时实现了最先进的性能。

3 方法

DRCT包括3个不同的组成部分:浅层特征提取、深层特征提取和图像重建模块。

对于低分辨率输入 I L R ∈ R H × W × C i n I_{LR}∈R^{H×W×C_{in}} ILR∈RH×W×Cin,先使用 3×3 的卷积层 C o n v ( ⋅ ) Conv(·) Conv(⋅) 来提取渐层特征 F 0 ∈ R H × W × C F_0∈R^{H×W×C} F0∈RH×W×C:

然后从 F 0 F_0 F0 中提取包含高频空间信息的深度特征 F D F ∈ R H × W × C F_{DF}∈R^{H×W×C} FDF∈RH×W×C:

其中 H D F ( ⋅ ) H_{DF} ( · ) HDF(⋅) 是深度特征提取模块,包含 K K K 个残差深度特征提取组( RDG )和用于特征转换的单卷积层 C o n v ( ⋅ ) Conv ( · ) Conv(⋅)。具体来说,中间特征 F 1 , F 2 , . . . , F K F_1,F_2,...,F_K F1,F2,...,FK 和输出的深度特征 F D F F_{DF} FDF 是逐块提取的:

最后通过聚合浅层和深层特征来重建SR图像 I S R ∈ R H × W × C i n I_{SR}∈R^{H×W×C_{in}} ISR∈RH×W×Cin:

其中 H r e c ( ⋅ ) H_{rec} ( · ) Hrec(⋅) 是重构的函数,用于融合高频深度特征 F D F F_{DF} FDF 和低频特征 F 0 F_0 F0 以获得SR结果。

4 模块

4.1 问题描述

根据信息瓶颈原理,给定的数据 X X X 在经过连续层时可能会造成信息丢失。当反向传播用于拟合网络参数和预测 Y Y Y 时,可能会导致梯度消失,如下面的方程所示:

其中 I I I 表示互信息, f f f 和 g g g 是变换函数, θ \theta θ 和 ϕ \phi ϕ 分别是 f f f 和 g g g 的参数。

在深度神经网络中 f θ ( ⋅ ) f_\theta(·) fθ(⋅) 和 g ϕ ( ⋅ ) g_\phi(·) gϕ(⋅) 分别表示神经网络中连续的两层。从式(1)出发,随着网络层数变深,信息流将更容易丢失。在SISR任务中,总体目标是寻找具有最优参数 θ \theta θ 的映射函数 F F F,以最大化HR和SR之间的互信息:

一般来说,SISR方法一般可以分为三个部分:( 1 )浅层特征提取,( 2 )深层特征提取,( 3 )图像重建。在这些方法中,浅层特征提取和图像重建几乎没有区别。前者由简单的卷积层组成,后者由卷积层和上采样层组成。深度特征提取差异较大。然而,它们的共同点在于都是由各种残差块组成,可以简单地定义为:

其中, X X X 表示输入, f f f 为第 l l l 个残差组的连续层, θ θ θ 表示 f l f_l fl 的参数。

针对SISR任务,有两种稳定信息流或训练过程的方法:

  • 残差连接学习局部特征。采用残差连接降低了训练的难度,防止梯度在局部消失,然而根据作者观察,这种设计在有效传递不同残差块之间的空间信息的同时,仍然可能存在信息损失。这最终导致特征图强度的非平滑性,在向前传播过程中造成最深层的信息瓶颈,如图2。需要更复杂的网络设计来实现更好的性能。

  • 密集连接稳定信息流。在基于SwinTransformer的SISR模型中引入密集连接有两个显著的优点。第一,全局辅助监督。它有效地融合了不同残差组之间的空间信息,在深层特征提取过程中保留了高频特征。第二,将SISR模型从信息瓶颈中解救出来,该模型通过对空间信息的整合,保证了空间信息的平滑传输,从而减少了信息损失,增强了感受野。

图2进行了特征可视化,从上倒下依次是SwinIR,HAT和本文提出的DRCT,位置越靠右表示网络中更深的层次。对于SwinIR和HAT,特征图的强度在浅层显著,向网络末端减弱。所提出的DRCT学习到的特征图逐渐稳定的增强。

最近基于SwinIR的方法的研究主要集中在通过复杂的WSA来扩大感受野或增强网络对高质量超分辨率的图像特征提取能力。所提出的DRCT通过在Swin Transformer块中添加密集连接来进行深度特征提取,在捕获长距离依赖的同时增强了感受野。因此这种方法可以使用简单的模型架构,甚至使用更浅层的网络来获得出色的性能。

4.2 深度特征提取模块

作者借鉴RRDB-Net和RDN,采用密集残差块作为SISR的基本单元,特征图的重用在RDG的前馈机制中随着感受野的增强而出现。进一步说,RDG结合多个SDRCB增强了跨不同尺度信息的整合能力,从而允许更全面的特征提取。

ESRGAN中的RRDB块:

为了捕获长距离依赖关系,作者利用Swin Transformer Layer(STL)的移动窗口机制获得自适应感受野,通过关注多级空间信息对RRDB-Net进行补充。这种协同作用利用STL根据输入的全局内容来动态调整模型的侧重点,从而更针对性和更高效地提取特征。这种机制保证了即使网络深度的增加,全局细节也会被保存下来。对于RDG内输入的特征图 Z Z Z,SDRCB可以定义为:

其中 [ ⋅ ] [·] [⋅] 表示由前几层产生的多级特征图的级联。 H t r a n s ( ⋅ ) H_{trans}(·) Htrans(⋅) 是指带有LeakyReLU的激活函数的卷积层用于特征转换。LeakyReLU的负斜率设置为0.2,卷积层核大小为1×1,用于自适应的融合不同级别的特征, α \alpha α 为残差缩放因子,设置为0.2。

4.3 同任务渐进式训练策略

渐进式训练策略PTS可以看做是一种微调的方法,与传统的训练方法相比,PTS倾向于将模型参数收敛到更理想的局部极小值。HTA中引入了同任务预训练,其目的是在像ImageNet这样的大型数据集上训练,然后在特定的数据集上进行微调。还有方法提出先用L1 Loss训练一个SISR网络,然后用L2 Loss消除伪影,在PSNR指标上取得了更好的效果。

作者将上述方法结合,提出了 同任务渐进式训练策略。首先在ImageNet上预训练DRCT来初始化模型参数,然后在特定的数据集上用L1损失进行微调:

最后使用L2损失来消除奇异像素和伪影:

5 效果

5.1 和SOTA方法对比

和SOTA方法在各个测试集上的指标对比。

和SOTA方法的可视化效果对比。

和SOTA方法的LAM可视化对比。

和SOTA方法的参数量对比。

相关推荐
bohu8332 分钟前
sentinel学习笔记5-资源指标数据统计
笔记·sentinel·statisticslot
璞~41 分钟前
MQTT 课程概览 (学习笔记)02
笔记·学习
小王爱吃月亮糖1 小时前
C++进阶-1-单继承、多继承、虚继承
开发语言·c++·笔记·学习·visual studio
小王爱吃月亮糖2 小时前
补充--C++的项目结构和管理
数据结构·c++·笔记·学习
柳鲲鹏10 小时前
jiangdg/AndroidCamera关闭摄像头流程
笔记
warrah11 小时前
k8s迁移——岁月云实战笔记
笔记·容器·kubernetes
岳不谢13 小时前
华为DHCP高级配置学习笔记
网络·笔记·网络协议·学习·华为
七夜星七夜月14 小时前
时间序列预测论文阅读和相关代码库
论文阅读·python·深度学习
19999er15 小时前
CDN信息收集(小迪网络安全笔记~
服务器·网络·笔记·安全·web安全
红色的山茶花15 小时前
YOLOv9-0.1部分代码阅读笔记-dataloaders.py
笔记·深度学习·yolo