PSRT: Pyramid Shuffle-and-Reshuffle Transformer for Multispectral and Hyperspectral Image Fusion
(PSRT:用于多光谱与高光谱图像融合的金字塔混洗Transformer)
Transformer在计算机视觉中受到了很多关注。由于Transformer具有全局自关注特性,其计算复杂度与令牌数成二次关系,限制了其实际应用。因此,计算复杂度的问题,可以有效地解决通过在较小的固定尺寸窗口的组中计算自注意。在这篇文章中,我们提出了一种新的金字塔Shuffle-and-Reshuffle Transformer(PSRT)的任务,多光谱和高光谱图像融合(MHIF)。考虑到遥感图像中不同斑块之间的强相关性和高相似性斑块之间的互补信息,我们设计了Shuffle-and-Reshuffle(SaR)模块,以有效的方式考虑全局补丁之间的信息交互。此外,使用基于窗口自注意的金字塔结构,支持细节提取。在四个广泛使用的基准数据集上进行的大量实验表明,与几种最先进的方法相比,所提出的PSRT具有一些参数的优越性。
INTRODUCTION
多光谱与高光谱图像融合(MHIF)是计算机视觉中涉及高光谱分辨率高光谱数据的经典任务。其由于某些物理约束而具有有限的空间分辨率。MHIF旨在通过融合高分辨率多光谱图像(HR-MSI)和低分辨率高光谱图像(LR-HSI)来生成高分辨率高光谱图像(HR-HSI)。这些结果可以用于对象识别,分类和分割。尽管最近已经做出了许多努力,但针对手头问题的高效技术的设计仍然是一项具有挑战性的任务。
卷积神经网络(CNN)由于其高精度而在计算机视觉领域大放异彩。虽然卷积运算已被广泛分析和利用,但众所周知的缺点包括卷积核中的冗余和空间不可知。特别地,卷积核在图像的不同位置中被共享。因此,结果是区域独立的,导致难以在特征图中捕获长距离依赖性。最近,Transformers在许多计算机视觉领域都表现良好,主要是因为它们具有强大的能力来表征对MHIF至关重要的长距离关系。
一个Transformer已被广泛使用的建模图像中的非局部关系的目的。在之前的工作中,视觉Transformer(ViT)考虑在自然语言处理(NLP)中使用变换器进行图像分类。它将图像分成固定大小的块,然后将它们嵌入到线性层中。与NLP中Transformer的处理类似,补丁被视为令牌,然后对补丁执行自注意机制。ViT的分层框架启发了Transformer在计算机视觉领域的使用。与ViT相比,pyramid vision Transformer(PVT)引入了用于分割和对象检测的金字塔结构。通过这种方式,PVT可以在密集预测任务中用作骨干,例如CNN。最近,Swin Transformer显示出巨大的潜力和高效率。与PVT类似,Swin Transformer也采用了分层设计,包括四个阶段。与[19]类似,为了扩展CNN中的感受野,每个阶段都会降低特征图的分辨率。Swin Transformer中的窗口自关注使模型能够处理大尺寸图像。Shifted Window操作在每个独立窗口之间建立了一个长范围的依赖关系,而掩蔽则在不改变原有方法的情况下实现了对不规则窗口的注意力计算。高级计算机视觉任务的发展也导致了低级任务的创新。事实上,使用Swin Transformer(SwinIR)的图像恢复借用了Swin Transformer的结构,在低级任务中实现了具有竞争力的性能,例如图像超分辨率,图像去雨,图像去噪和JPEG压缩。SwinIR充分利用Swin Transformer的优势,设计了用于深度特征提取的级联块。
在这篇文章中,我们介绍了金字塔Shuffle-and-Reshuffle Transformer(PSRT),一个新的阶段到阶段的层次框架MHIF设计一种新的方式进行信息交互。综上所述,本文的贡献如下。
1)我们提出了所谓的PSRT MHIF的任务,结合Shuffle-and-Reshuffle(SaR)策略和多尺度特征提取学习本地和更远的表示,并减少计算量相比ViT。
2)自定义的SaR策略可以在不同的窗口之间传播信息,提高建模的长距离依赖的效率。此外,窗口金字塔结构的设计可以捕获不同粒度(分辨率)的特征,以合适的方式恢复MHIF的详细信息。
3)我们在四个常用的数据集上证明了所提出的方法的性能,即,Chikusei,哥伦比亚Imaging and Vision Laboratory(CAVE),哈佛和Pavia。结果表明,该方法可以达到国家的最先进的性能与较少的参数。
RELATED WORKS
CNNs and MHIF
最近解决MHIF任务的尝试通常基于CNN的使用。空间-光谱重建网络(SSRNet)[53]提出了一种物理直接CNN模型,分别为空间和光谱重建设计了两个损失函数。残差机制[54]被广泛用于优化网络结构,残差双流融合网络(ResTFNet)等方法利用它来避免深度网络引起的模型退化。多光谱和高光谱融合网络(MHFNet)采用卷积扩展优化算法来获得新的网络,目的是提高可解释性。模型引导(MoG)-深度卷积网络(DCN)采用了U-Net DCN,它可以利用HSI的多尺度依赖性。在MoG展开之后,使用基于DCN的去噪器对整个网络进行端到端训练。高光谱超分辨率网络(HSRNet)利用通道注意力[59]和空间注意力模块从不同维度提取信息。虽然CNN是一个强大的结构,但Transformers的使用被证明对计算机视觉有很大的潜力。
Self-Attention in MHIF
Transformer的核心模块是自我注意机制。与CNN中的卷积操作不同,自注意机制理论上可以无限扩展感受野,从而将不同的补丁相互关联。然而,以像素到像素的方式将自注意力直接应用于特征图导致计算负担的急剧增加。ViT巧妙地将特征图分割成固定大小的补丁,线性嵌入每个补丁,并将结果向量的序列馈送到标准的Transformer编码器。PVT继承了CNN和Transformer的优点,为各种视觉任务制作了统一的主干,直接取代CNN主干。PVT与ViT不同,因为它可以在图像的密集分区上进行训练以实现高分辨率输出,并且它利用阶段到阶段的结构来减少计算。在tokens-to-token(T2 T)-ViT 中,已经开发了用于ViT的新的令牌化,其中通过拼接来进一步处理相邻的令牌,以达到聚合信息和减少参数的目的。此外,研究人员还尝试将Transformer应用于低级别任务。例如,SwinIR方法依赖于用于图像恢复的鲁棒模型,其中Swin Transformer的结构已被直接用于构建用于深度特征提取的Transformer块
Shuffle-Wise Operation
近年来,如[62]和[63]中的作品解决了通过Shuffle操作创建跨窗口连接的问题。为了更容易理解,假设输入是1-D序列以保持一般性,并且考虑具有M的窗口大小和N个令牌的输入的基于窗口的自注意。Shuffle Transformer首先使用selfattention,将空间输入重塑为[M和(N/M)],转置,然后将其平坦化以将其作为基于窗口的selfattention的输入。这种类型的操作可以实现远程跨窗口连接,它将来自多个窗口的令牌分组。用于语义分割的对象上下文(OCNet)基于两个阶段,即,局部和全局,以实现跨窗口连接。第一阶段使用基于窗口的自注意来处理局部信息,而另一阶段将输入空间重塑为[(N/M)和M],转置,然后将其平坦化以将其作为基于窗口的自注意的输入。后一种方法显示了一个关键的缺陷;也就是说,如果第一层中的窗口尺寸M小,则窗口的数目(N/M)相当高。
Motivation
在HSI内有许多相似的斑块,它们都密切相关。通过ViT模型,不同位置的面片可以相互关联,达到恢复图像细节的目的,但该方法的计算量与输入成二次关系。窗口自注意的方法解决了高计算量的问题,但限制了对长距离依赖性建模的能力。
(Fig.1 实线将平面分成几个固定大小的窗口,而点网格用于将原始窗口分成四个相等的部分。蓝色块表示窗口中内容的四分之一,例如,它有2 × 2个令牌。(a)应用于Swin Transformer [1]的移位窗口方法将蓝色块移动到相邻窗口。(b)对PSRT块进行Shuffle操作进行相似度计算,将不同窗口的蓝色块聚集到一个窗口中,通过窗口自关注实现局部信息向全局区域的传播。)
Swin Transformer通过以下步骤解决了这些问题:1)将原始窗口移动半个窗口大小以得到新窗口;并且,在图像边界处,将一些新生成的窗口与原来的四分之一和二分之一窗口组合;2)利用掩模操作来独立地计算原始四分之一和半窗口的自注意;以及3)重新移位所计算的窗口。在图1(a)中,我们可以观察到,在移位和掩蔽操作之后,靠近图像边界的窗口的尺寸变得更小。因此,掩模迫使注意力矩阵的一部分为负数,导致对于位于图像边界处的窗口的不充分的自注意力计算。这个问题削弱了图像边界处的信息交互,从而激励我们通过所提出的SaR策略(其不使用任何掩模来实现全局注意)来改进Swin Transformer。图1(b)示出了在使用所提出的SaR策略之后的窗口的状态。通过按照给定的规则对平面进行洗牌,然后执行窗口自注意,可以实现长距离连接,从而以快速的方式获得全局相关性。多尺度设计对MHIF至关重要,窗口注意力是Swin Transformer的最大优势。因此,我们开发了多尺度窗口注意力(即,给定的PSRT块),以丰富特征并产生更好的信息交互。
METHODOLOGY
Overview
如示于图2,PSRT遵循常用的分层架构,其级联HR-MSI和LR-HSI的上采样版本,并且整个架构学习LR-HSI的上采样版本和地面真值(GT)之间的残差。第一卷积层提取浅层特征并提升通道数量。然后,我们使用PSRT块提取深度信息,其中每个PSRT块具有一个减小的窗口大小的自我注意,以提取不同尺度的信息。最后,卷积层被用作解码器来合并信息。通过将LR-HSI的上采样版本添加到输出来获得结果。
Window Self-Attention
Transformer的特点是建立了令牌间的长距离依赖关系,能够有效地描述全局相关性。对于一幅图像,我们通常会取一个4 × 4的补丁作为令牌,然后将其输入到注意力机制中进行计算。虽然这在一定程度上缓解了计算问题,但它没有解决由于使用原始大小作为输入而导致这种方法昂贵的问题。为了解决这个问题,我们将输入图像划分为空间维度上的较小的非重叠窗口(即,Swin Transformer);然后,我们在每个窗口中实现对令牌的自注意以进行高效计算。窗口自关注可以表示如下:
从第i个键到第j个键的查询的关注结果被标记为δi-j,Vj是第j个令牌的值,并且δi-j通过经由点积、沿着行的softmax函数和缩放因子计算Qi和Kj之间的余弦值来获得。通过这种方式,自我注意的复杂性降低,并且它允许模型获得处理大尺寸特征图的能力,并且可以以局部方式表达原始令牌。
SaR Strategy
1) Shuffle Operation: 本节介绍Shuffle操作,它由两部分组成,即,水平随机Shuffle和垂直随机Shuffle。两个混洗操作的细节在图3中的流程图中描绘。更具体地,空间域中的水平混洗可以由以下等式描述:
为了简单起见,我们将平面标记为V ∈ RH×W,并且将平面中的令牌标记为V~i j~ ∈
R
H
∗
W
R^{H*W}
RH∗W,i ∈ {1,2,…,H},j ∈ {1,2,…,W}。在上面的公式中,d是Shuffle的长度,其值是(win_size/2),并且在上面的等式中,Spliceh用于水平合并组Gk。然后,我们将V分成(W/d)个群,记为Gk,k ∈ {1,2,…,(W/d)}。该操作如图3(左上角)所示。然后,我们在平面V上执行Shuffle操作,并且该操作的结果如图3(右上角)所示。在得到水平混洗结果Vs之后,我们沿着垂直方向利用与Vs类似的策略来产生最终混洗结果;见图3的第二行。
2) Reshuffle Operation: 我们对混洗的令牌执行窗口自注意,并通过Reshuffle操作反转所获得的结果,其中仍然包含水平和垂直方向。具体操作见图4,并且表征沿着水平方向的算子的方程如下:
其中Vs表示已经被混洗的平面。根据图4,我们首先将Vs分成(W/d)个群,记为Gk,k ∈ {1,2,…,(W/d)},并且通过(8)重排Vs的列以得到V,然后在垂直方向上应用重排操作。Reshuffle的操作是Shuffle的逆操作。通过在Shuffle和Resuffle之间添加窗口自注意,可以扩展原本受窗口限制的感受野。
PSRT Block
在本节中,我们将详细介绍作为一个模块添加到主网络架构的PSRT模块。在这项工作中使用的金字塔结构与阶段到阶段的结构不同,例如PVT和Swin Transformer 。我们的PSRT块具有图5(a)所示的窗口金字塔结构。不难看出,窗口的大小逐阶段减小以创建多尺度窗口。在PSRT块中,窗口的大小在每个阶段是固定的,并且每个窗口独立于其他窗口。前一级的输出用作下一级的输入。同时,窗口的大小减少到前一阶段的一半。具体地,PSRT块由三个阶段组成,以分层的方式通过多尺度窗口提取不同的信息,以恢复局部细节。特别地,在第一阶段中,输入特征的大小为H × W× C,并且窗口的大小为W1 × W1(W1等于8)。当特征到达最后一级时,窗口的大小衰减到(W1/4)×(W1/4),但特征的形状保持不变。多尺度设计对MHIF很重要,窗口注意力是Swin Transformer的最大优点。因此,我们设计了一个独特的模型。我们开发了多尺度窗口注意(即,所提出的PSRT块)的灵感来自于经典的金字塔结构,以提供更大的感受野和丰富的特征,从而产生更好的信息交互。
One Stage in PSRT Block
在非重叠窗口中使用自注意被视为局部信息的融合。为此,我们为PSRT块的每个阶段设计了一个类似汉堡包的结构。PSRT块中的一个阶段包含三个窗口自注意层,其在图5(b)中示出。每个阶段主要由一个窗口多头自注意(W-MSA)模块,一个多层感知器(MLP),和两个LayerNorm(LN)层。第二个块中的S代表Shuffle,第三个块中的R表示在W-MSA模块之前考虑Reshuffle。此外,非线性(即,高斯误差线性单元(GELU))和残差连接在每个阶段中被利用。更具体地说,我们有以下内容:
其中W-MSA是基于窗口的自注意;
z
l
−
1
z^{l-1}
zl−1是前一级的输出;
z
l
z^{l}
zl、
z
l
+
1
z^{l+1}
zl+1和
z
l
+
2
z^{l+2}
zl+2代表每个阶段的结果。我们将“窗口自我注意+ Shuffle +窗口自我注意+Resuffle+窗口自我注意”基线作为PSRT块的一个阶段。首先对混洗后的窗口进行自注意,以构建不同窗口之间的全局依赖关系。然后对重排后的窗口进行自注意,在一个窗口中构造局部依赖关系。通过上述两种SaR策略,实现了不同窗口间的信息传播。
整个网络架构如图2所示。
Loss Function
- L1 Loss:我们以逐像素方式计算网络输出IMHIF和GT IHR之间的L1距离
- SSIM Loss:结构相似度(SSIM)可以比较IMHIF和IHR之间的结构差异,包括亮度对比度函数和结构对比度函数。SSIM函数定义如下:
整体损失函数:我们以统一和端到端的方式优化网络的参数。总损失函数由两个损失的加权和组成