信息增强的图像超分辨率重建

🏡作者主页:点击! 

🤖编程探索专栏:点击!

⏰️创作时间:2024年11月29日21点02分


神秘男子影,
  秘而不宣藏。
泣意深不见,
男子自持重,
   子夜独自沉。

论文链接

点击开启你的论文编程之旅icon-default.png?t=O83Ahttps://www.aspiringcode.com/content?id=17322950379150&uid=bd95ae5b283c409aa7d5a5627e0c0f99

引言

单图像超分辨率(SISR)的任务是旨在从其低分辨率版本重建出高质量的图像。基于CNN的网络在性能方面取得了显著的成功。然而,CNN的归纳偏置限制了SISR模型捕获长距离依赖性的能力。它们的固有局限性源于参数依赖的感受野扩展和不同层中卷积算子的核大小,这可能会忽略图像中的非局部空间信息。

为了克服与基于CNN的网络相关的局限性,研究人员引入了基于Transformer的SISR网络,利用其建模长距离依赖性的能力,从而增强SISR性能。这种方法在各种基准测试中大大增强了超越传统基于CNN模型的能力。

论文认为,尽管基于SwinIR的网络架构通过移位窗口注意力机制显著扩大了感受野以解决CNN中的小感受野问题,但由于网络深度增加时空间信息的丢失,容易出现梯度瓶颈。这隐含地限制了模型的性能和潜力。为了解决由于网络层数增加导致的空间信息丢失问题,论文引入了Dense-residual-connected Transformer(DRCT),旨在通过提出的Swin-Dense-Residual-Connected Block(SDRCB)稳定前向传播过程并防止信息瓶颈。这种方法通过增强感受野,用更少的参数和简化的模型架构来提高性能。

该项目由国立成功大学先进计算机视觉实验室的Chih-Chung Hsu、Chia-Ming Lee和Yi-Shiuan Chou共同开发,并在CVPR NTIRE 2024会议上进行了口头报告。

信息瓶颈原理

在信息瓶颈原理中,数据 𝑋X 被视为原始输入,而信息 𝑌Y 是网络试图预测的输出。例如,在SISR任务中,𝑋X 可以是低分辨率(LR)图像,而 𝑌Y 是高分辨率(HR)图像。

当数据通过神经网络的连续层级时,可能会发生信息损失。这是因为每一层都在尝试从输入中提取对预测输出有用的信息,同时忽略那些对预测不太重要的信息。这种信息的压缩可以用以下不等式表示:

其中 𝐼I 表示互信息,𝑓f 和 𝑔g 是转换函数,𝜃θ 和 𝜙ϕ 是 𝑓f 和 𝑔g 的参数。𝑓𝜃(⋅)fθ(⋅) 和 𝑔𝜙(⋅)gϕ(⋅) 分别代表神经网络中的两个连续层。

在深度神经网络中,随着网络层数的增加,信息流可能会减少,导致梯度消失问题。这会影响网络参数的优化和预测性能。信息瓶颈原理强调,在深度学习中,模型需要在保留对任务有用的信息和减少输入数据中的冗余信息之间找到平衡。这种平衡可以帮助模型避免过拟合,并提高泛化能力。

在使用基于Transformer的SISR模型对不同数据集进行推理时,论文观察到一个共同现象,如上图,特征图可视化从上到下展示了SwinIR、HAT以及DRCT,其中位置越靠右代表网络中越深的层。对于SwinIR和HAT,特征图的强度在较浅的层中很明显,但随着网络深度的增加而减弱。论文认为这种现象意味着空间信息的丢失,导致SISR任务中的局限性和信息瓶颈。而DRCT学习到的特征图逐渐且稳定地增强,没有明显的波动。这代表了前向传播过程中信息流的稳定性,从而在最后一层的输出中产生更高的强度。

随着网络深度的增加,特征图的强度分布发生了更显著的变化。这表明了模型学习到的空间信息和注意力强度。然而,通常在网络末端急剧下降至更小的范围。这种现象表明,这种急剧变化可能伴随着空间信息的丢失,表明存在信息瓶颈。

DRCT模型

网络架构概览

DRCT模型由三个主要部分组成:浅层特征提取、深层特征提取和图像重建模块。这些部分共同工作,以实现从低分辨率(LR)图像到高分辨率(HR)图像的高质量重建。

浅层和深层特征提取

  • 浅层特征提取:给定一个低分辨率输入图像 𝐼𝐿𝑅ILR,模型首先使用一个3x3的卷积层来提取浅层特征 𝐹0F0。

  • 深层特征提取:浅层特征 𝐹0F0 被用来提取包含高频空间信息的深层特征 𝐹𝐷𝐹FDF。这个过程涉及 𝐾K 个残差深度特征提取组(RDG)和一个用于特征转换的单卷积层。

其中 𝐻𝐷𝐹HDF 是深层特征提取模块,𝐹1,𝐹2,…,𝐹𝐾F1,F2,…,FK 是逐块提取的中间特征,最终深层特征 𝐹𝐷𝐹FDF 通过一个卷积层得到。

残差深度特征提取组(RDG)

RDG的设计灵感来源于先前的研究,即RRDB-Net和RDN,使用残差密集块(RDB)作为基础单元。RDG通过在前向机制中重用特征图来增强感受野,从而允许更全面的跨尺度信息集成。

RDG的结构

  • 基础单元:RDG由多个残差密集块(RDB)组成,每个RDB都是一个基础单元,用于提取和整合特征。
  • 特征重用:在RDG中,每个RDB的输出会被送入下一个RDB作为输入,这样可以在不同RDB之间传递和增强特征信息。
  • 密集连接:RDG内部的密集连接允许每个RDB不仅接收前一个RDB的输出,还接收来自前面所有RDB的特征图,这样可以在不同RDB之间实现特征的融合和增强。

RDG通过在残差组内引入密集连接来稳定信息流,这有助于在深层网络中保持空间信息,减少信息丢失。RDG能够整合不同尺度的特征,从而允许更全面的跨尺度特征提取。

Swin-Dense-Residual-Connected Block

为了捕捉长距离依赖性,SDRCB利用Swin-Transformer Layer(STL)的移位窗口自注意力机制来获得自适应的感受野,补充了RRDB-Net,使其能够关注多级空间信息。

  • SDRCB结构:对于RDG中的输入特征图 𝑍Z,SDRCB通过STL动态调整模型的焦点,确保即使网络深度增加,全局细节也得以保留。SDRCB的结构如下:

其中,[⋅][⋅] 表示前几层产生的多级特征图的连接。𝐻transHtrans 指的是带有LeakyReLU激活函数的卷积层,用于特征转换。𝛼α 是残差缩放因子,用于稳定训练过程。

图像重建

最后,通过聚合浅层特征 𝐹0F0 和深层特征 𝐹𝐷𝐹FDF 来重建超分辨率图像 𝐼𝑆𝑅ISR

其中 𝐻recHrec 是重建函数,负责将高频深层特征 𝐹𝐷𝐹FDF 和低频特征 𝐹0F0 结合起来,以获得最终的超分辨率结果。

同任务渐进训练策略(SPTS)

SPTS是DRCT模型中提出的一种训练策略,通过逐步调整训练目标和损失函数,SPTS有助于模型参数收敛到更优的局部最小值,通过渐进式训练,模型能够更好地学习如何从低分辨率图像重建高分辨率图像。

SPTS通常包括以下几个阶段:

  • 预训练阶段:在这个阶段,模型在大规模数据集(如ImageNet)上进行预训练,以初始化模型参数。这有助于模型学习到通用的特征表示,为后续的特定任务训练打下基础。
  • 模型优化阶段:在预训练的基础上,模型在特定的数据集(如DF2K)上进行进一步的训练,以优化模型在特定任务上的性能。这个阶段通常使用L1损失函数,因为它对异常值不敏感,有助于模型学习到更鲁棒的特征。

其中 𝐼𝐻𝑅IHR 是高分辨率图像,𝐼𝑆𝑅ISR 是模型重建的超分辨率图像。

  • 微调阶段:在模型优化阶段之后,使用L2损失函数对模型进行微调,以消除重建图像中的异常像素和伪影,进一步提高模型在PSNR指标上的性能。

SPTS允许模型在不同的训练阶段使用不同的损失函数,这提供了调整模型性能的灵活性。通过L1和L2损失函数的结合使用,模型能够学习到更鲁棒的特征表示,减少过拟合的风险。预训练阶段可以帮助模型更快地收敛,减少训练时间,提高训练效率。

实验结果

DRCT模型在DF2K数据集上进行训练,该数据集由DIV2K和Flickr2K数据集合并而成。DIV2K包含800张图像,Flickr2K包含2650张图像。这些图像被用来生成不同尺度因子(2、3、4倍)的低分辨率(LR)版本,用于训练。为了评估模型的有效性,作者使用了多个知名的SISR基准数据集,包括Set5、Set14、BSD100、Urban100和Manga109。

作者将DRCT模型与其他最先进的方法(如EDSR、RCAN、SAN等)进行定量比较,如下表,使用峰值信噪比(PSNR)和结构相似性(SSIM)作为评价指标。结果表明DRCT在所有基准数据集上都取得了显著的性能提升。

作者通过展示Urban100数据集中的选定图像,DRCT在恢复结构方面表现出色,而其他方法则出现明显的模糊效果,具体效果如下图。

作者同时计算了DI来量化模型的注意力范围,DI越高表示模型在重建时考虑的像素范围越广。DRCT即使在参数更少的情况下也能达到更高的DI,这表明其能够有效利用长距离依赖性和非局部信息进行SISR。

接下来我们对论文进行了复现,我们使用的配置如下:
PyTorch 1.11.0
Python 3.8
Ubuntu 20.04
Cuda 11.3
GPU RTX 3080x2(20GB) * 2

由于DIV2K和Flickr2K数据集较大,我们仅选取DIV2K进行模型的训练,以Set5、Set14数据集作为测试集对模型效果进行测试。

需要注意的是,模型需要多卡训练,分布式训练的环境配置较为耗时。

以Set5数据集为例,我们对超分辨率重建的图像进行展示和对比,原始数据如下:

五张图像的大小分别为126 ×× 126、72 ×× 72、63 ×× 63、69 ×× 69、57 ×× 84。重建后的图像将等比例放大四倍。

重建后的图像如下:

五张图像的大小分别为504 ×× 504、288 ×× 288、252 ×× 252、276 ×× 276、228 ×× 336。

在重建后的图像中,DRCT模型恢复了图像中的细节,如鸟类的羽毛细节和纹理,同时保持了图像的自然感和清晰度。

总结

本文介绍了一种名为DRCT的新型图像超分辨率模型,旨在克服现有SISR模型在深层网络中常见的信息瓶颈问题。DRCT模型通过在残差块内引入密集连接和利用Swin Transformer的移位窗口自注意力机制,显著提升了模型对长距离依赖性的捕捉能力,并增强了感受野。这种设计不仅稳定了信息流,减少了空间信息的丢失,还提高了模型在深层网络中的性能。

实验结果表明,DRCT在多个标准数据集上的定量指标,如PSNR和SSIM上均超越了现有的最先进方法,同时在模型参数和计算复杂度方面保持了较高的效率。此外,DRCT在视觉比较中也展现出了优越的图像细节恢复能力,尤其是在处理具有复杂纹理和结构的图像时。

综上所述,DRCT模型不仅在理论上展示了其创新性,而且在实际应用中证明了其有效性和实用性,为未来SISR技术的发展提供了新的方向。

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【81-90期】Java核心面试问题深度解析:性能优化与高并发设计

🚀 作者 :“码上有前” 🚀 文章简介 :Java 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 文章题目:Java核心面试问题深度解析:性能优化与高并发设计 摘要: 本文聚…

006 MATLAB编程基础

01 M文件 MATLAB输入命令有两种方法: 一是在MATLAB主窗口逐行输入命令,每个命令之间用分号或逗号分隔,每行可包含多个命令。 二是将命令组织成一个命令语句文集,使用扩展名“.m”,称为M文件。它由一系列的命令和语句…

力扣700:二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。 示例 1: 输入:root [4,2,7,1,3], val 2 输出:[2,1,3…

A050-基于spring boot物流管理系统设计与实现

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

【老白学 Java】Warship v2.0(七)

Warship v2.0(七) 文章来源:《Head First Java》修炼感悟。 上一篇文章中,Warship v2.0 项目最后一个类的完成,意味着整个项目也即将结束。 本篇文章的主要内容是编译、调试所有代码,以及进行代码整理。 如…

Elasticearch索引mapping写入、查看、修改

作者:京东物流 陈晓娟 一、ES Elasticsearch是一个流行的开源搜索引擎,它可以将大量数据快速存储和检索。Elasticsearch还提供了强大的实时分析和聚合查询功能,数据模式更加灵活。它不需要预先定义固定的数据结构,可以随时添加或修…

基于matlab程序实现人脸识别

1.人脸识别流程 1.1.1基本原理 基于YCbCr颜色空间的肤色模型进行肤色分割。在YCbCr色彩空间内对肤色进行了建模发现,肤色聚类区域在Cb—Cr子平面上的投影将缩减,与中心区域显著不同。采用这种方法的图像分割已经能够较为精确的将人脸和非人脸分割开来。…

家校通小程序实战教程04教师管理

目录 1 创建数据源2 搭建管理后台3 搭建查询条件4 功能测试总结 我们上一篇介绍了如何将学生加入班级,学生加入之后就需要教师加入了。教师分为任课老师和班主任,班主任相当于一个班级的管理员,日常可以发布各种任务,发布接龙&…

【力扣】541.反转字符串2

问题描述 思路解析 每当字符达到2*k的时候,判断,同时若剩余字符>k,只对前k个进行判断(这是重点)因为字符串是不可变变量,所以将其转化为字符串数组,最后才将结果重新转变为字符串 字符串->字符数组 …

【vue-router】Vue-router如何实现路由懒加载

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

hdlbits系列verilog解答(Exams/m2014 q4a)-86

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本节学习如何下图中的锁存器电路。 注意图中电路是锁存器,因此quartus会警告说推导出一个锁存器。 模块声明 module top_module ( input d, input ena, output q); 思路: 锁存器是一种对脉冲电平敏感的存储…

成都睿明智科技有限公司抖音电商服务的新引擎

在这个短视频风起云涌的时代,抖音不仅成为了人们休闲娱乐的首选,更是商家们竞相角逐的电商新蓝海。在这片充满机遇与挑战的海域中,成都睿明智科技有限公司如同一艘装备精良的航船,引领着众多企业向抖音电商的深水区进发。今天&…

leetcode:637二叉树的层平均值

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,11.00000] 解释:第 0 层的平均值为 …

Java多线程介绍及使用指南

“多线程”:并发 要介绍线程,首先要区分开程序、进程和线程这三者的区别。 程序:具有一定功能的代码的集合,但是是静态的,没有启动运行 进程:启动运行的程序【资源的分配单位】 线程:进程中的…

独家|京东调整职级序列体系

原有的M、P、T、S主序列将正式合并为新的专业主序列P。 作者|文昌龙 编辑|杨舟 据「市象」独家获悉,京东已在近日在内部宣布对职级序列体系进行调整,将原有的M、P、T、S主序列正式合并为新的专业主序列P,合并后的职级体系将沿用原有专业序…

mysql 存储结构的进化之路

文章目录 前言一、线性结构二、二叉树(BST)三、平衡二叉树(AVL)四、多路平衡查找树(B Tree)五、加强版多路平衡查找树(B Tree)总结 前言 树形结构是一种具有层次关系的数据结构&…

RHCE作业五-shell脚本

一要求: 通过shell脚本分析部署nginx网络服务 1.接收用户部署的服务名称 2.判断服务是否安装 ​ 已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务 ​ 没有安装;安装对应的软件包 3.测试 判断服务…

Java基础之控制语句:开启编程逻辑之门

一、Java控制语句概述 Java 中的控制语句主要分为选择结构、循环结构和跳转语句三大类,它们在程序中起着至关重要的作用,能够决定程序的执行流程。 选择结构用于根据不同的条件执行不同的代码路径,主要包括 if 语句和 switch 语句。if 语句有…

CSS新特性(11)

一.计算盒子宽度calc函数,可以用加减乘除来计算 -*/ 让父盒子永远比子盒子小30像素 二.CSS3过渡transition搭配hover一起使用 该盒子宽度可以从200px到400px,谁做变化给谁加 不仅要写宽还要写高利用逗号,多个属性一起写都用逗号 既想要宽度变又想要高度…

MacOS 配置github密钥

MacOS 配置github密钥 1. 生成GitHub的SSH密钥对 ssh-keygen -t ed25519 -C "xxxxxxx.com" -f ~/.ssh/id_ed25519_github 其中 xxxxxxxxxxx.com 是注册github、gitee和gitlab的绑定账号的邮箱 -t ed25519:生成密钥的算法为ed25519(ed25519比rsa速度快&…