继续新一周的超分论文学习
想象一下,你正在玩一个高难度的拼图游戏。常规的玩法(类似于传统的Transformer或CNN)是:你先专注于眼前的一小块区域(局部性),拼好后再想办法和相邻的区域平滑连接(连续性)。但如果有一块关键碎片在离得很远的地方,你就很难发现它(难以建模长程依赖)。
这时,换了一种新策略(类似于Mamba):你把整个拼图拆成几条长链,然后逐一检查每条链上的碎片。这种方法找远处碎片很快,但问题来了——在拆解和重组的过程中,原本相邻碎片的关系被打乱了,拼回来的图案可能看起来很不自然,细节错位。
这正是将Mamba模型直接用于图像复原时面临的的核心矛盾:它擅长处理长序列,却在将2D图像“压扁”成1D序列的过程中,破坏了图像最基本的局部结构和空间连贯性。
本文的算法就如同一位顶尖的拼图大师,它提出了一种名为 NSS 的“无损拆解法”和名为 SSA 的“智能组装术”,完美地解决了这个难题。
- 本周论文: Progressive Focused Transformer for Single Image Super-Resolution
- 来源: CVPR 2025
- 链接: https://arxiv.org/pdf/2412.20066
- 代码: https://github.com/XLearning-SCU/2025-CVPR-MaIR
论文要解决的问题
常规的mamba操作:
- 将二维图像沿行和列展平为多个一维序列;
- 在每个一维序列上使用mamba;
- 拼接处理后的序列到二维图像
这样会产生两个问题:
- 转一维序列的过程中破坏了自然图像中固有的局部关系和空间连续性;
- 不同的展开方式在拼接还原时候会造成不同的计算结果。
基于以上,本文探索两个问题:
- 在重建过程中,设计一种扫描策略保持局部性和连续性;
- 如何聚合以不同展开方式的不同序列
提出 一种可以保持连续性和局部性的 用于图像重建的mamba,包含两个模块:嵌套S形扫描策略(Nested S-shaped Scanning strategy,NSS)、序列重排注意力块(Sequence Shuffle Attention block,SSA)。
文章贡献
根据文章内容,作者认为本文的贡献如下:
- 提出 MaIR,有效捕捉长程依赖并保持自然图像的局部性和连续性
- 提出 NSS 一种无额外成本的保持连续性和局部性的解决方案;SSA 捕获不同序列之间的依赖关系
方法论
该网络的总体设计如下图(截自论文):

总体架构包含三个阶段。对于超分使用 L1 损失
-
浅层特征提取,使用一个卷积层从退化输入图像中提取浅层特征,得 FSF_SFS
-
深层特征提取
这是网络的核心部分,由多个残差mamba组(Residual Mamba Groups,RMG)组成。每个组中,包含多个残差mamba块(Residual Mamba Blocks,RMG),每个块中包含一个 视觉mamba模型(Visual Mamba Module,VMM)用来处理长程依赖,VMM由MaIR组成。得$ F_D $
核心部分MaIR包含三步操作:
其中,输出特征 Fi,jMF_{i,j}^MFi,jM ,输入特征 Fi,jF_{i,j}Fi,j,第 i 个RMG,第 j 个RMB Fi,jM=Mi,j(Fi,j)=Φi,jSSA(Φi,jSSO(Φi,jNSS(Fi,j))F_{i,j}^M = M_{i,j}(F_{i,j}) = \Phi_{i,j}^{SSA}(\Phi_{i,j}^{SSO}(\Phi_{i,j}^{NSS}(F_{i,j}))Fi,jM=Mi,j(Fi,j)=Φi,jSSA(Φi,jSSO(Φi,jNSS(Fi,j))
-
NSS(嵌套S形扫描) :将2D特征图智能地展开为1D序列。
将图像划分为多个条带(stripe),在每个stripe中进行 S形扫描。考虑到 stripe 之间的局部性和连续性,每个RMB会进行 条带位移操作(sthift-stripe)
设一张图片 按 宽度 w 划分为多个条带,第一个RMB中按此宽度划分,在接下来的第二个RMB中,将 第一个条带的宽度设置为 w/2,后续条带宽度不变。以发现不同条带之间的局部性和连续性
扫描时需要注意:并非只扫描一次,而是会从四个起点:左上、右上、左下、右下开始,并行扫描,故经过依次NSS操作会产生 4个 一维序列。四个序列独立进行SSO操作。
-
SSO(选择性扫描操作) :这本质上是一个完整的Mamba块的核心计算单元。它分别对上述4个1D序列进行独立的、高效的长程依赖关系建模。其线性复杂度是处理大尺寸图像的关键。
-
SSA(序列混洗注意力) :智能地融合4个处理后的序列。
核心思想:不是简单地将4个序列相加,而是为每个特征通道学习一组自适应的权重,以决定哪个扫描方向的序列对该通道的贡献更大。
SSA先将4个序列的通道表征池化后拼接,然后进行序列混洗——将所有序列的第1个通道的值排在一起,然后是所有序列的第2个通道,以此类推。
对混洗后的序列应用分组卷积,其分组数等于序列数(4)。这样,卷积操作实际上是在为每个通道的4个序列值计算融合权重。
将生成的权重反混洗回原始顺序,然后与原始的输入序列进行逐通道的加权求和(即哈达玛积),得到最终的输出特征。

需要注意:shuffle阶段的分组是按照通道的划分的,即4个序列中1号通道一组、2号通道一组,类推。分组卷积也是按照通道数分为D个组,每个组就正好是一个通道的所有序列token。最后反洗操作只需要按照通道进行重排即可。接下来的加权操作通过哈达玛积来计算输出特征(每个序列各自哈达玛积,四个结果相加,得到一个输出特征)。
-
-
图像重建
依据浅层提取特征和深层提取特征综合进行重建操作。对于超分,使用一个像素重排层(Ups)和一个3*3卷积层($ \Phi_{3 \times 3} )来重建结果:)来重建结果:)来重建结果: y’ = \Phi_{3 \times 3}(U_{ps}(F_S + F_D)) $
总结
总的来说,本文的核心价值在于,为Mamba这类强大的序列模型如何优雅地应用于视觉任务,提供了一个系统性的设计范式。
通过 NSS 策略,MaIR在将图像从2D转换到1D的过程中,原生地嵌入了图像的局部性和连续性先验,而不是事后修补。这确保了输入Mamba引擎的序列是“结构良好”的。
通过 SSA 机制,MaIR告别了简单粗暴的序列相加,转而采用一种通道级的、自适应的注意力来融合多方向信息。这让模型能自主决定在哪个特征上、更相信哪个扫描方向的结果。
MaIR的成功证明了,我们不必在CNN的局部性、Transformer的全局感知(虽受窗口限制)和Mamba的长程效率之间做艰难取舍。通过精妙的架构设计,完全可以构建一个同时拥有这三者优点的模型。
1008

被折叠的 条评论
为什么被折叠?



