论文阅读笔记:Image Processing GNN: Breaking Rigidity in Super-Resolution

论文阅读笔记:Image Processing GNN: Breaking Rigidity in Super-Resolution

  • 1 背景
  • 2 创新点
  • 3 方法
  • 4 模块
    • 4.1 以往SR模型的刚性
    • 4.2 图构建
      • 4.2.1 度灵活性
      • 4.2.2 像素节点灵活性
      • 4.2.3 空间灵活性
    • 4.3 图聚合
    • 4.4 多尺度图聚合模块MGB
    • 4.5 图聚合层GAL
  • 5 效果
    • 5.1 和SOTA方法比较
    • 5.2 消融实验

论文:https://openaccess.thecvf.com//content/CVPR2024/papers/IPG

代码:https://github.com/huawei-noah/Efficient-Computing/tree/master/LowLevel/IPG

1 背景

在这里插入图片描述

人们理所当然的认为主流SR模型以相当严格的方式对待所有像素。如图1。

  • 在基于CNN的SR模型VDSR的卷积层中,同一个卷积核扫描特征图的所有像素,即每个特征被严格制定与他的最近邻进行通信;

  • 在基于Transformer的模型SwinIR中,所有像素被分配到大小相同的注意力网格中进行自注意力操作。

这两个例子中,每个像素都聚集了固定大小的领域内的固定数量的像素信息。

在SR任务中,只有小比例的高频像素需要付出艰苦的重建努力;大部分像元位于平坦的低频区域,因此几乎完好无损。为了应对这种不平衡,SR方法在理想情况下,应该更多关注细节丰富的区域,而更少的关注平坦,细节匮乏的图像部分。然而,现有的基于k近邻图的方法将所有图像节点同等对待。也就是说所有节点共享相同的预设度k,没有考虑SR的不平衡性。事实上,当从图的角度考察SR中的典型操作范式时,作者发现度等价刚性也表现在卷积和窗口注意力中:在这些范式中,图像上的每个像素聚集了相同数量的像素,而不管图像内容如何,因此,在图术语中共享"等度"。严格分配给节点或像素的相等节点度与SR中不相等的重建需求不匹配,从而影响SR性能。

2 创新点

本文提出了基于图的图像处理神经网络 IPG,以挖掘图的灵活性潜力。

  • 为了打破卷积,窗口注意力和K近邻图的度等价刚性,利用度的灵活性,基于SR的非平衡性提出了一种新的度变图解决方案。具体来说,设计了一个细节感知度量来衡量图像节点的重要性,其中较大的度被分配给高频节点。

  • 与基于图的模型不同,IPG采用像素而非块作为图像的图节点,避免了块刚性导致错位问题。

  • 为了不因为像素级搜索空间大而牺牲效率的同时又获取局部和全局感知,作者采用局部和全局节点采样策略。可以有效地从小像素子集建立图,即可以专注于细节重建的局部信息,也可以横跨整个图像,以获得空间上遥远但至关重要的特征。

3 方法

在这里插入图片描述

IPG的总体架构遵循主流的SR模型,如图3所示。当一个LR图像输入到模型中时,它首先被传递到 c o n v conv conv 层来提取浅层特征。然后将特征通过一系列多尺度图聚合块MGB,借助灵活的图进行有效的深度特征提取。每个MGB由一系列图聚合层GAL堆叠组成,GAL在局部和全局尺度进行图聚合。最后通过 p i x e l s h u f f l e pixelshuffle pixelshuffle 上采样队图像进行空间重构。

4 模块

4.1 以往SR模型的刚性

卷积和窗口注意力是SR模型设计的两个主要途径。在一次卷积操作中,每个输出的像素聚集了一个小窗口内的信息,每个像素只能访问他的领域像素,例如标准的3×3卷积中,单个像素的感受野被限制在一个3×3的窗口中,图像上的所有像素从各自的8邻域和他自己那里手机信息。窗口注意力也有类似的刚性,虽然通常采用较大的窗口(相比于卷积),但窗口注意的感知域仍然局限在窗口边界内。在8×8的窗口注意力中,所有像素聚集在其所属窗口内的64个像素。

除了卷积和窗口注意力的刚性外,一些工作在SR模型中考虑了窗口之外的方案,并采用了图。与卷积和窗口注意力不同的是,这些基于图的工作在空间上更灵活,每个节点可以从具有宽松空间约束的最适合的 topk 个节点中聚合信息,这个意义上,图聚合不局限于预设的刚性模式,相比于卷积和窗口注意力机制,它更具有动态性和可扩展性。

然而,尽管先前的基于图的方法突破了硬聚合边界,但作者认为图的灵活性在SR任务中没有得到充分的利用:

  • 首先,如图1所示,以前的方法的度刚性的。SR重建需求在不同图像的不同部分之间应该是不平衡的。但是在以前的方法中,图像上的所有像素或节点都是聚合相同数量的像素或节点,也就是说,在图论中,他们具有相同的集合度。

  • 其次,以往基于图的工作都是基于块(patch)的,虽然块通常被视为图像节点,但块的聚合通常要进行严格的像素级对其。低级特征在图像块中可能出现的错位情况使得SR模型的性能变差。

  • 第三,先前的基于图的工作严格的使用全局或局部尺度上的图,但这两种尺度的信息对SR重建都具有潜在的重要性。

4.2 图构建

为了打破这些刚性,作者在IPG模型中构建了局部和全局尺度上的度柔性像素图。通过这种方式,可以挖掘图的灵活性,并在SR任务中取得优异的性能。

4.2.1 度灵活性

首先基于SR任务特有的非均衡性,作者尝试提出一种度灵活的图解决方案。SR是一个长尾问题,其中只有一小部分高频像素需要重建,图像的其余部分只需要极小的恢复。先前的工作试图通过设计损失来解决这个问题,而不是从模型设计的角度来考虑。在不平衡SR问题中,将图像上的所有像素或部分像素等效的处理是不合适和低效的。

这个观点出自论文CVPR2023论文《Rethinking Image Super Resolution From Long-Tailed Distribution Learning Perspective》,提出的损失函数可以用于其他超分论文的改进,如下:
在这里插入图片描述

  1. 结构先验( f B I f_{BI} fBI 为bicubic差值):
    在这里插入图片描述
  2. 可学习的结构先验( f f f 为超分网络):
    在这里插入图片描述
  3. 损失如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    α , γ \alpha,\gamma α,γ 是超参,为了灵活控制 W ( z ) W(z) W(z)

为此,作者选择基于一个细节丰富度指标为像素分配不同的节点度,该指标标志着需要付出多少努力去重建当前像素。指标设计规则如下:给定特征图 F ∈ R H × W × C F∈R^{H×W×C} FRH×W×C 和下采样比例 s s s,所有像素的细节丰富度度量 D F ∈ R H × W D_F∈R^{H×W} DFRH×W 为双线性下采样再上采样特征图和特征图本身之间的绝对差值:
在这里插入图片描述

其中 s s s 取2,以避免严重的信息丢失。虽然已经有一些可解释的SR工作提出了度量指标来衡量输出中某一部分的重要性,但这些措施是基于梯度的,需要花费高昂的后向过程。相比而言提出的 D F D_F DF 是廉价的,因为它只要两次双线性差值。

基于 D F D_F DF 为每个像素分配整体的度预算。特征图上的像素节点 v ∈ F v∈F vF 的度与他在 D F D_F DF 处的像素值成正比:
在这里插入图片描述

不同MGB块中的细节丰富度 D F D_F DF 可视化后如图2所示,细节丰富的部分具有响应性,边缘和角点具有较高的 D F D_F DF,而平坦色块的 D F D_F DF 较低,可以看出 D F D_F DF 反映的是图像中的高频部分。

直接通过sobel算子求边缘获得 D F D_F DF 感觉也可以。而且 D F D_F DF 可以在原图上只求一次,然后插值到各个低分辨率上,因为高频部分是不会变的。

在这里插入图片描述

4.2.2 像素节点灵活性

确定完每个像素点的度后,还面临着如何图中顶点的表述问题。在之前的基于图的视觉工作中,图节点通常被设置为图像块,在图集合过程中,图像块以逐像素的方式进行加权求和,然而在聚合过程中,对块进行强制的像素级对齐并不适用于特征图具有丰富低级特征的SR任务。对象在低级图像块内的偏移和旋转是造成块错位的两个主要问题,对于对象的偏移,在块中的位置可能会发生变化,位置不对齐的块对象可能会引入噪声。对象旋转是块聚合的另一个错误方面。

为了避免节点聚合过程的上述问题,作者认为在低级视觉任务中更细粒度的像素节点是更好地解决方案。每个像素节点可以直接在聚合中找到相关的像素,避免错误问题。

但是必须承认的是,与像素图相比,图像块具有更大的感知域,并且由于总节点数量少更容易构建,这意味着边链接的搜索空间较小。因此需要构建一种灵活有效的像素图。

4.2.3 空间灵活性

作者通过在局部和全局上有效地搜索像素节点连接来开发IPG图的空间灵活性,这对SR重建至关重要,虽然有损图像部分可以从局部领域重建自己,但他们也可以从遥远的相似特征中学习以进行细化。

通过搜索全部图像节点来构建全局图的代价较高,作为一种补救措施,通常采用跨步抽样法。选择像素作为图的节点使得图的构建更加具有挑战,因为节点空间被进一步扩大,并且很难通过搜索所有像素来构建图。

为了提高效率,并在SR任务重收集有助于细节重建的局部级别的周围特征和全局级别的远程特征,作者使用两种采样方式来聚合局部和全局信息,如图4所示。局部采样关注于像素点周围的领域,围绕某个节点选择一个局部尺度的搜索空间;对于全局采样,采样的节点以扩张的模式覆盖在图像上。
在这里插入图片描述

总结:

  • 图的节点:图像的像素而非块

  • 图的每个节点的出度:正比于细节丰富度指标

  • 图的每个节点搜索空间:当前节点的局部邻域采样像素点和全局扩张采样像素点

基于上述准则构建图。代码中是将丰富度指标归一化后乘上一个topk来确定每个节点的出度,见 https://github.com/huawei-noah/Efficient-Computing/blob/master/LowLevel/IPG/basicsr/archs/IPG_arch.py#L731:

maskarray = (X_diff/X_diff.sum(dim=-1,keepdim=True)) * D.size(1) * self.top_k

最终通过 Bool 图来确定邻接关系:

 graph = (D > MAT[..., 0:1]).unsqueeze(1) # add head dim

最终的搜索空间是领域中有邻接关系的节点集合。

4.3 图聚合

在构建了灵活的图以后,使用图聚合将每个节点和与其相连的节点进行通信,并利用他们的信息在SR中进行自细化。在图的视觉应用中,最大池化或边缘条件的聚合形式最受欢迎。本文倾向于采用边缘条件聚合,因为最大池化会导致至关重要的近邻像素信息的显著丢失。由于SR中的像素重建严重依赖于丰富的领域信息,边缘条件聚合被采用,因为它关注像素之间的相互关系,并保持更多的领域信息以及进行有效的重建。

边缘条件聚合概念如下,在IPG的第 k k k 层,给定节点特征 h k − 1 h^{k-1} hk1 ,邻域中有邻接关系的节点集合 N ( v ) N(v) N(v) ,计算节点 v v v 的输出 h v k h_v^k hvk
在这里插入图片描述

其中 f k : R d × R d → R f^k: R^d×R^d→R fk:Rd×RdR 是一个衡量节点对 ( u , v ) (u,v) (u,v) 之间相关性的参数化函数,本文采用余弦相似度, C k : = ∑ u ∈ N ( v ) e x p ( f k ( u , v ) ) C^k := \sum_{u∈N(v)}exp(f^k(u,v)) Ck:=uN(v)exp(fk(u,v)) 是一个归一化常数。

为了避免所有节点被同等对待,作者在聚合前对节点特征添加了相对位置编码,以增强位置信息。

4.4 多尺度图聚合模块MGB

多尺度图聚集模块( MGB )同时收集局部和全局尺度信息,用于有效的图像SR重建。每个模块的局部像素图和全局像素图都是根据当前模块输入计算的。分模块计算可以使整个模型中的图进行有规律的更新。其中局部采样和全局采样分别用于局部或全局图的构建。然后将两种类型的图(局部/全局)分布到整个模块的GAL中进行聚合操作。局部和全局图以顺序交替的方式分布,以确保局部和全局尺度的信息都得到充分的聚合。

4.5 图聚合层GAL

图集合层GAL包含Grapher模块,CA模块(通道注意力),ConvFFN模块和两个LayerNorm层。Grapher基于当前图的类型收集局部或全局的信息。接着紧跟高效的通道注意力模块,ConvFFN和LayerNorm。

CA模块出自论文《Activating more pixels in image superresolution transformer》,如下图:
在这里插入图片描述
ConvFFN出自论文《SRformer: Permuted selfattention for single image super-resolution》,即在 FFN 块的两个线性层之间添加一个局部深度可分离卷积分支来辅助编码更多细节。

5 效果

5.1 和SOTA方法比较

和SOTA方法的计算量对比。
在这里插入图片描述

和SOTA方法的指标对比。
在这里插入图片描述

和SOTA方法的可视化效果对比。
在这里插入图片描述

和轻量级SOTA方法的指标对比。
在这里插入图片描述

5.2 消融实验

使用图像块还是像素作为图的节点的消融实验。
在这里插入图片描述
在这里插入图片描述

使用KNN和度自由图的消融实验。
在这里插入图片描述

可视化细节丰富和细节少节点所关联的节点。
在这里插入图片描述

像素局部采样和全局采样的消融实验。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tomato靶机

下载tomato地址:https://vulnhub.com/entry/tomato-1,557/ 直接拖进虚拟机中 tomato靶机和kali虚拟机必须在同一网段所以使用nat模式 扫描主机 arp-scan -I eth0 -l 发现新主机ip 192.168.142.147 nmap扫描端口 namp -p- -A -T4 --min-rate10000 192.168.142.147 有用的信息…

集成旺店通旗舰版售后单至MySQL数据库

旺店通旗舰版-售后单集成到MySQL的技术实现 在数据驱动的业务环境中,如何高效、准确地将旺店通旗舰奇门的数据集成到MySQL数据库,是许多企业面临的重要挑战。本文将分享一个具体的系统对接案例:旺店通旗舰版-售后单-->BI泰海-售后订单表(…

随着FAB的发布,在FAB中使用Megascans的简单方法(适用于Unreal Engine 5)

UE5系列文章目录 文章目录 UE5系列文章目录前言一、如何在2024年12月31之前免费获取Quixel Megascans所有资源 前言 随着FAB的发布,Quixel Megascans的资源在2024年12月31号之后将不再免费,一个资源1美元 Fab是Epic Games推出的一个全新的数字内容平台,…

论文阅读:Computational Long Exposure Mobile Photography (二)

这篇文章是谷歌发表在 2023 ACM transaction on Graphic 上的一篇文章,介绍如何在手机摄影中实现长曝光的一些拍摄效果。 Abstract 长曝光摄影能拍出令人惊叹的影像,用运动模糊来呈现场景中的移动元素。它通常有两种模式,分别产生前景模糊或…

Linux云计算 |【第五阶段】PROJECT3-DAY1

主要内容: 跳板机(堡垒机)的概念、部署JumpeServer 一、跳板机(堡垒机)的概念 跳板机(Jump Server 或 Bastion Host)是一种网络安全设备或服务器,也称堡垒机,是一类可作…

一款根据图片内的文字,把图片分类的软件

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

文件操作:Xml转Excel

1 添加依赖 Spire.Xls.jar <dependency><groupId>e-iceblue</groupId><artifactId>spire.xls</artifactId><version>5.3.3</version></dependency>2 代码使用 package cctd.controller;import com.spire.xls.FileFormat; im…

从底层技术到实际应用:Claude与ChatGPT谁更适合学术写作?

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 使用大模型智能AI进行学术写作和科研已经成为学者、研究人员和高校学生的强大助手。Anthropic的Claude和OpenAI的ChatGPT作为该领域的两个主要参与者&#xff0c;正在不断发展和完善。随…

linux 磁盘配额 quota

增加一个facl的的知识点&#xff1a; linux中默认的文件系统支持facl&#xff0c;如果是新挂载的分区&#xff0c;则不支持facl应用。需要在挂载文件系统时使用-o acl选项来启用facl支持。如下图显示 在/etc/fstab添加defaults,acl 1.启用磁盘配额功能&#xff1a;修改/etc/f…

qt QMessageBox详解

1、概述 QMessageBox是Qt库中的一个类&#xff0c;它用于在图形用户界面&#xff08;GUI&#xff09;程序中显示消息框。消息框是一种用于向用户显示信息、警告、错误或询问用户确认的对话框。QMessageBox可以显示文本、图标和按钮&#xff0c;并允许自定义按钮的文本和功能。…

qt QResizeEvent详解

1、概述 QResizeEvent是Qt框架中用于处理窗口或控件大小变化事件的一个类。当用户调整窗口或控件的尺寸时&#xff0c;Qt会生成一个QResizeEvent事件&#xff0c;并将其发送到相应的窗口或控件。开发者可以通过重载窗口或控件的resizeEvent()方法来响应这个事件&#xff0c;并…

黑科技安利 | 超好用的背景去除软件

背景 如果一幅主图里存在其它颜色的背景色调&#xff0c;希望变成白色或者特定色彩/背景图片 推荐 1. Microsoft PowerPoint里自带的“清除背景”/设置透明色 这个功能超级好用&#xff0c;基本满足我日常涉及的90%的清除白色背景的需求 2. https://www.remove.bg/ 这个网…

PyCharm中pylint安装与使用

目录 1. 安装插件2. pycharm中使用该功能3. 命令行使用 1. 安装插件 然后重启 2. pycharm中使用该功能 3. 命令行使用 前提是先 pip install pylint pylint demo01.py下面红框内容的意思是&#xff0c;得到10分/ 满分10分&#xff0c;上次运行获得8.33分&#xff0c;经调整…

Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法

Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法 起源 让我们从一个常见的Git错误开始&#xff1a; fatal: bad object refs/heads/master - 副本这个错误提示通常意味着Git在引用&#xff08;ref&#xff09;中发现了不一致或损坏的数据。引用是Git用…

Android13 系统/用户证书安装相关分析总结(三) 增加安装系统证书的接口遇到的问题和坑

一、前言 接上回说到&#xff0c;修改了程序&#xff0c;增加了接口&#xff0c;却不知道有没有什么问题&#xff0c;于是心怀忐忑等了几天。果然过了几天&#xff0c;应用那边的小伙伴报过来了问题。用户证书安装没有问题&#xff0c;系统证书(新增的接口)还是出现了问题。调…

一文速学-知识图谱从零开始构建实战:知识图谱搭建构架实践-知识展示

前言 系列文章的上一篇我们已经进行了UIE抽取&#xff0c;非结构化知识抽取整理&#xff0c;转化。但是目前仅在于通过分词提取实体、属性、关系&#xff0c;还没有通过大模型来进一步高效率高精准度来提取这些关键字段&#xff0c;因此后续我们都整个流程优化空间都很大&…

自由学习记录(19)

unity核心也算是看完了吧&#xff0c;但觉得的确是少了点东西&#xff0c;之后再看mvc框架&#xff0c;和网络开发&#xff0c;&#xff0c;感觉有必要想想主次顺序了&#xff0c;毕竟在明年的3月之前尽量让自己更有贴合需求的能力 先了解一些相关概念&#xff0c;不用看懂&am…

「Mac畅玩鸿蒙与硬件22」鸿蒙UI组件篇12 - Canvas 组件的动态进阶应用

在鸿蒙应用中&#xff0c;Canvas 组件可以实现丰富的动态效果&#xff0c;适合用于动画和实时更新的场景。本篇将介绍如何在 Canvas 中实现动画循环、动态进度条、旋转和缩放动画&#xff0c;以及性能优化策略。 关键词 Canvas 组件动态绘制动画效果动态进度条旋转和缩放性能优…

大家知道输电线路微风振动在线监测有哪些先进技术?

特力康TLKS-PMG-WD输电线路微风振动在线监测装置&#xff08;输电线路北斗导线舞动在线监测装置&#xff09;集成了多项先进技术&#xff0c;堪称输电线路监测领域的佼佼者&#xff01;它利用高精度的舞动传感器实时监测导线数据&#xff0c;并通过无线网络发送到监控中心&…

WPF+MVVM案例实战(十七)- 自定义字体图标按钮的封装与实现(ABC类)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1、案例效果1、按钮分类2、ABC类按钮实现1、文件创建2、字体图标资源3、自定义依赖属性4、按钮特效样式实现 3、按钮案例演示1、页面实现与文件创建2、依赖注入3 运…