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

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

  • 1 背景
    • 1.1 问题
    • 1.2 本文提出的方法
  • 2 创新点
  • 3 方法
  • 4 模块
    • 4.1 问题描述
    • 4.2 深度特征提取模块
    • 4.3 同任务渐进式训练策略
  • 5 效果
    • 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}} ILRRH×W×Cin,先使用 3×3 的卷积层 C o n v ( ⋅ ) Conv(·) Conv() 来提取渐层特征 F 0 ∈ R H × W × C F_0∈R^{H×W×C} F0RH×W×C
在这里插入图片描述

然后从 F 0 F_0 F0 中提取包含高频空间信息的深度特征 F D F ∈ R H × W × C F_{DF}∈R^{H×W×C} FDFRH×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 F1F2...FK 和输出的深度特征 F D F F_{DF} FDF 是逐块提取的:
在这里插入图片描述

最后通过聚合浅层和深层特征来重建SR图像 I S R ∈ R H × W × C i n I_{SR}∈R^{H×W×C_{in}} ISRRH×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方法的参数量对比。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/5898.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

TQZC706开发板教程:ADRV9009观测双通道接收波形

本例程使用ZC706加ADRV9009修改HDL项目,在vivaod中使用ila实时抓取两路接收波形。 将网盘链接中的BOO.BIN文件复制到SD卡中,插入开发板,并将开发板的启动模式设置为SD卡启动。插入电源,JTAG和串口。 在NO-OS的ADRV9009的项目中&am…

物联优化汽车齿轮锻造

在汽车齿轮的锻造工艺中,锻造温度、锻造压力与行程、锻造速度与锤击方式以及热处理工艺等核心参数扮演着举足轻重的角色。这些参数的精准控制与实时监测,对于提升生产效率、确保产品质量、削减生产成本以及推动生产智能化转型具有不可估量的价值。明达技…

低代码解锁跨平台应用开发新境界

数字化转型中,企业面临应用开发挑战,低代码平台成为理想选择。ZohoCreator提供统一开发环境、拖拽设计、预置模板等,支持高效构建跨平台应用,确保数据安全与合规,助力企业数字化转型。 一、低代码平台是什么&#xff1…

华为云低代码AstroZero技巧教学8:表单提交限制功能设置

活动运营人员在设置活动报名表单中通常会对表单提交设置时间限制,以此确保用户只能在活动开始前的一定时间内提交报名信息;也会通过人员限制(如限制报名人数或特定人群)来控制活动的参与度和质量。这是表单应用在工作中的一个典型…

计算机网络:网络层 —— 移动 IP 技术

文章目录 IPv6IPv6 的诞生背景主要优势IPv6引进的主要变化 IPv6数据报的基本首部IPv6数据报首部与IPv4数据报首部的对比 IPv6数据报的拓展首部IPv6地址IPv6地址空间大小IPv6地址的表示方法 IPv6地址的分类从IPv4向IPv6过渡使用双协议栈使用隧道技术 网际控制报文协议 ICMPv6ICM…

深度学习经典模型之ZFNet

1 ZFNet 1.1 模型介绍 ​ ZFNet是由 M a t t h e w Matthew Matthew D . Z e i l e r D. Zeiler D.Zeiler和 R o b Rob Rob F e r g u s Fergus Fergus在AlexNet基础上提出的大型卷积网络,在2013年ILSVRC图像分类竞赛中以11.19%的错误率获得冠军(实际…

Cisco Packet Tracer 模拟器实现一些交换机的基本配置

1. 内容 应用Cisco Packet Tracer 5.3搭建网络 应用Cisco Packet Tracer 5.3配置网络 通过不同的命令实现交换机的基本配置,包括交换机的各种配置模式、交换机的基本配置、交换机的端口配置。 2. 过程 2.1 打开软件 安装模拟器后打开如下: 图1 安装并…

Logstash 安装与部署(无坑版)

下载 版本对照关系:ElasticSearch 7.9.2 和 Logstash 7.9.2 ; 官方下载地址 选择ElasticSearch版本一致的Logstash版本 https://www.elastic.co/cn/downloads/logstash 下载链接:https://artifacts.elastic.co/downloads/logstash/logst…

C++《list》

在本篇当中我们将学习STL中的list,在此list就是我们之前在数据结构学习过的链表,在本篇中我们要来了解list当中的成员函数该如何使用,由于list各个函数的接口和之前学习过的vector类型,因此在学习list的使用就较为轻松。在lis篇章…

爬虫-------字体反爬

目录 一、了解什么是字体加密 二. 定位字体位置 三. python处理字体 1. 工具库 2. 字体读取 3. 处理字体 案例1:起点 案例2:字符偏移: 5请求数据 - 发现偏移量 5.4 多套字体替换 套用模板 版本1 版本2 四.项目实战 1. 采集目标 2. 逆向结果 一、了解什么是…

Go-性能优化、优化分析、调优实战pprof

使用官方自带benchmark进行基准性能测试 第一个是函数名-核数 第二个是执行次数 第三个是一次执行时间 第四个是一次执行的多大的内存 第五个是一次执行申请几次内存 slice用的时候在make()初始化切片时提供容量信息 data:make([]int,0) data:make([]in…

Node.js——fs模块-文件追加写入

1、appendFile/appendFileSync 追加写入 appendFile 作用是在文件尾部追加内容,appendFile 语法与 writeFile 语法完全相同 语法: 返回值:二者都为: undefined 本文的分享到此结束,欢迎大家评论区一同讨论学习&#…

单元测试日志打印相关接口及类 Logger

LoggerFactory 简介 单元测试常用日志打印工具LoggerFactory。 LoggerFactory 代码结构 LoggerFactory 是 JUnit 平台中的一个类,用于创建 Logger 实例。它被设计用于提供日志记录功能,使得 JUnit 在执行测试时能够记录信息、警告、错误等。 LoggerFact…

《Linux运维总结:基于银河麒麟V10+ARM64架构CPU部署redis 6.2.14 TLS/SSL哨兵集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、简介 Redis 哨兵模式是一种高可用性解决方案,它通过监控 Redis 主从架构,自动执行故障转移,从而确保服务的连续性。哨兵模式的核心组件包括哨兵(Sentine…

ENSP作业——园区网

题目 根据上图,可得需求为: 1.配置交换机上的VLAN及IP地址。 2.设置SW1为VLAN 2/3的主根桥,设置SW2为VLAN 20/30的主根桥,且两台交换机互为主备。 3.可以使用super vlan。 4.上层通过静态路由协议完成数据通信过程。 5.AR1作为企…

Navicat16 安装图文配置

Navicat是什么? Navicat 是一个数据库管理工具,它提供了一个图形界面来方便地管理和操作各种数据库。Navicat 支持多种数据库类型,包括 MySQL、MariaDB、SQL Server、SQLite、PostgreSQL 和 MongoDB,并且也支持通过 SQL 命令直接连…

模块化开发 webpack

模块化开发 & webpack 1、模块化开发 & webpack1.1 webpack 执行过程1.1.1 初始化1.1.2 编译1.1.3 输出 2.1 webpack 基础配置2.1.1 Entry2.1.1.1 context2.1.1.2 Entry类型 2.1.2 output2.1.2.1 filename2.1.2.2 publicPath2.1.2.3 path2.1.2.4 libraryTarget 和 libr…

OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放

环境准备 安装x11grab(用于捕获屏幕流)和libx264(用于编码) # 基础开发环境&x11grab sudo dnf install -y \autoconf \automake \bzip2 \bzip2-devel \cmake \freetype-devel \gcc \gcc-c \git \libtool \make \mercurial \pkgconfig \zlib-devel \libX11-devel \libXext…

uni-app 图标库整合最佳实践:使用 iconfont 构建属于自己的图标库

一. 前言 在前端开发中,图标已经成为页面设计中不可或缺的一部分。图标可以使界面更加美观、清晰,并且能够提升用户体验。而使用图标库来管理和引用图标资源,可以带来更多的便利和效率。 而在众多的图标库中,iconfont 独树一帜。…

刷题强训 (day1) -- 数字统计

1、数字统计 1.1题目 1.2 思路 根据题目得知我们要统计2出现的次数,那么这就是一个枚举 数字拆分的过程,先设一个变量count统计2出现的次数,那么count怎么变化呢? 当然了出现一个2,count就1,重点在于如何…