Mamba中的Mamba:在标记化Mamba模型中的集中式Mamba跨扫描高光谱图像分类

摘要

高光谱图像(HSI)分类在遥感(RS)领域至关重要,尤其是随着深度学习技术的不断进步。顺序模型,如循环神经网络(RNNs)和Transformer,已被定制用于此任务,并提供了独特的视角。然而,它们面临几个挑战:1)RNNs在聚合中心特征方面存在困难,并且对干扰像素敏感;2)Transformer需要广泛的计算资源,并且在HSI训练样本有限时往往表现不佳。为了解决这些问题,最近的进展引入了状态空间模型(SSM)和Mamba,它们在线性序列处理中以其轻量级和并行扫描能力而闻名,从而在RNNs和Transformer之间取得了平衡。然而,将Mamba作为HSI分类的主干网络尚未得到充分探索。虽然存在针对视觉任务的改进型Mamba模型,如Vision Mamba(ViM)和Visual Mamba(VMamba),但直接将它们应用于HSI分类会遇到问题。例如,当为中央像素预测实现基于补丁的HSI分类器时,这些模型在特征聚合过程中不能有效地处理具有多尺度感知的土地覆盖语义标记。因此,这些模型对于此任务的适用性仍是一个悬而未决的问题。作为回应,本研究引入了创新的Mamba-in-Mamba(MiM)架构用于HSI分类,标志着Mamba在该领域的首次部署。MiM模型包括:1)一种新颖的中心化Mamba交叉扫描(MCS)机制,用于将图像转换为高效的成对序列数据;2)一个标记化Mamba(T-Mamba)编码器,它结合了高斯衰减掩码(GDM)、语义标记学习器(STL)和语义标记融合器(STF),以增强特征生成和集中;3)一个加权MCS融合(WMF)模块,结合多尺度损失设计,以提高模型训练效率。来自四个具有固定且不相交的训练-测试样本的公开HSI数据集的实验结果表明,我们的方法优于现有的基线方法,并且与最先进的方法相媲美,这突出了其在HSI应用中的有效性和潜力。

关键词:高光谱图像分类,深度学习,状态空间模型,Mamba。

  1. 引言

高光谱成像(HSI)是一种复杂的遥感(RS)技术,可在众多密集且连续的光谱波段上捕获图像。该方法覆盖了从可见光到红外波长的电磁波谱,通常利用卫星或无人机(UAV)进行[1]。与传统成像方法不同,HSI为每个像素提供详细的光谱信息,从而能够对材料和地球表面物体进行更精确的特征描述[2][3]。HSI获取的全面数据使其在各种应用中具有无可估量的价值,包括农业[4]、环境监测[5]、地质学[6]、城市规划[7]以及国防和安全[8]。鉴于这项技术的广泛应用,准确的HSI分类(即为每个像素分配一个地表覆盖标签)至关重要。这项分类任务不仅对于提高这些应用的有效性至关重要,而且已成为RS领域研究的焦点[9]。

近年来,基于深度学习的HSI分类模型的部署得到了广泛的增长[10]。这些模型通常采用“逐块”学习框架,其中处理每个像素周围的局部块以分配语义标签[11,12]。值得注意的是,最初为自然语言处理(NLP)开发的顺序模型,如循环神经网络(RNNs)[13,14,15,16,17]和Transformer[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],已被改编用于HSI分类。它们通过利用多对一或多对多的方案来捕获HSI块内像素或划分窗口内的上下文特征,从而生成全面的特征表示,并展示了令人印象深刻的结果。尽管取得了成功,但这两类模型都面临着需要进一步研究以提高其实用性和效率的缺点。

首先,RNNs通过将HSI块展平为序列并采用多对一学习框架来处理它。这种方法选择最后一步的输出作为整个块的代表性特征。然而,RNNs本质上更偏向于输入序列的后几步,导致特征表示偏向于最终处理步骤。这种偏差可能会对模型训练产生不利影响,尤其是在使用交叉熵准则将预测标签与中心像素的真实标签进行比较时。尽管一些策略使用基于注意力的加权求和来平衡所有步骤的输出,但注意力值往往仍然偏向于后面的像素,从而降低了中心像素的影响力。此外,由于RNNs的顺序处理性质,它们也很难有效地处理大型HSI块,这限制了跨像素的并行计算。较大的块会转换为更长的序列,增加模型接触到与中心像素标签不同的干扰像素的机会。随着模型对外围像素变化的敏感性增加而不是专注于中心上下文,这种差异会显著降低训练性能。

第二,为了解决RNNs的不灵活性,引入了基于Transformer的方法,利用并行自注意力机制来提高性能[34]。虽然这些方法通过并行处理和自注意力机制克服了RNNs的一些局限性,但它们也有自己的一套缺点:1)自注意力机制与HSI块的大小呈二次方关系,导致计算开销显著增加。当使用较大的块来捕获中心像素周围更多的空间或上下文信息时,这个问题尤其严重,使得该方法资源密集且不太适合硬件受限的环境;2)Transformer通常具有大量参数,增加了过拟合的风险,尤其是在HSI分类中通常可用的训练数据有限的情况下;3)与RNNs或卷积神经网络(CNNs)[35, 36,37]不同,后者本质上可以捕获递归特征或局部空间特征,Transformer没有这种归纳偏差。虽然使用位置嵌入来引入一些空间上下文,但在没有大量训练样本的情况下,其有效性有限,可能会降低模型准确捕获HSI中空间上下文的能力。尽管一些研究[38,39,40,41]探索了将RNNs或CNNs与Transformer相结合的混合方法,以利用互补优势。然而,这些方法仍可能增加计算负担和复杂性,从而导致次优性能。

第三,使用序列模型进行图像解释存在挑战,尤其是在如何由于视觉数据的非因果性质而将图像排列成序列方面:1)许多方法依赖于简单的“光栅”扫描来展平图像,当扫描到达图像边界时,这可能导致不连续或“跳跃连接”;2)以前的工作[42,43]已经证明,在HSI分类中,连续扫描方法能产生更好的结果。它可以通过确保跨像素扫描的连续性来维持最高的空间相关性。它还保留了图像方向敏感特性中固有的多方向信息。尽管有这些优点,但现有的一个方法[44]通常是以单向方式逐个处理扫描,然后聚合结果。这种方法在模型训练期间并不一定会优先考虑中心像素的特征,从而增加了特征冗余和计算负担。

针对上述三种情况,出现了两个关键需求:1)替代基础模型:需要一种替代模型,该模型增强并行计算或融入注意力机制,比RNNs提供更大的灵活性。该模型还应要求较少的资源并表现出较低的复杂性,比Transformer更轻、更高效;2)增强的扫描方法:需要一种改进的扫描方法,支持连续和多方向处理。该方法应提供图像感知认知而不产生冗余,有效捕获图像数据中固有的空间相关性和动态性。
最近,结构化状态空间序列(S4)模型[45]和Mamba架构[46,47,48,49]备受关注。这些模型擅长处理长序列数据,并且可以随序列长度线性扩展。特别是,Mamba架构在S4的基础上增加了选择性扫描机制,该机制可以自适应地关注相关输入,与Transformer相比显示出更高的计算效率。尽管基于Mamba的方法在一些视觉任务中[50, 51, 53, 52, 54, 55](如Vision Mamba (ViM)、Visual Mamba (VMamba)等)已显示出令人鼓舞的结果,但其在HSI分类中的潜力尚待充分探索。直接在HSI分类任务中应用这些先进的基于Mamba的模型可能会遇到不适用性和问题。因此,迫切需要开发一种专为HSI分类设计的基于视觉的Mamba模型。

为此,在本研究中,我们介绍了一种创新方法——Mambain-Mamba(MiM)架构,该架构专为HSI分类而设计。该方法标志着ViM在这一任务中的开创性应用。MiM模型包含几个创新组件:1)集中式Mamba-CrossScan(MCS):这种新的扫描机制将图像转换为不同的半方向序列,提供了一种更高效、更轻量、更合理的方法;2)标记化Mamba(T-Mamba)编码器:集成了高斯衰减掩码(GDM)、语义标记学习器(STL)和语义标记融合器(STF),以显著增强代表性特征的生成和集中;3)加权MCS融合(WMF)模块:与多尺度损失设计协同工作,以提高解码效率和整体模型性能。本研究的概念框架如图1所示。

本研究的贡献总结如下:

  1. 我们探索了改进的ViM架构——多尺度MiM模型在HSI分类任务中的潜在应用,从而实现了更好的性能和效率。
  2. 为了充分挖掘ViM的能力,我们提出了一种新颖的T-Mamba编码器,该编码器集成了GDM、STL和STF,使其更适合HSI分类。
  3. 我们提出了集中式MCS,以全面且连续的方式将HSI图像块扫描成多对序列,这可以充分且轻量地理解HSI图像块中中心像素的突出点,从而适用于基于图像块的HSI分类器。
  4. 该提案在四个具有固定和不连续训练-测试样本的数据集上展示了非常有竞争力甚至是最优的性能,证明了其可行性和效率。

本文的其余部分组织如下:第2节介绍了Mamba的初步知识,第3节详细阐述了方法,第4节讨论了实验设置和结果,第5节总结了研究。
2. 预备知识

本节提供了与状态空间模型(SSM)和Mamba模型相关的基础概念,介绍了进行本研究所需的知识。

2.1 结构化状态空间序列模型(S4)

基于SSM的模型是深度学习领域中最近出现的一类序列模型。它们与循环神经网络(RNNs)、卷积神经网络(CNNs)和经典的状态空间模型有广泛的联系。

受连续系统理论[56]的启发,SSM通常被视为线性时不变系统,该系统通过潜在状态 h ( t ) ∈ R 1 × N \mathbf{h}(t) \in \mathbb{R}^{1 \times \mathcal{N}} h(t)R1×N将信号 x ( t ) ∈ R 1 × D \mathbf{x}(t) \in \mathbb{R}^{1 \times \mathcal{D}} x(t)R1×D映射到 y ( t ) ∈ R 1 × D \mathbf{y}(t) \in \mathbb{R}^{1 \times \mathcal{D}} y(t)R1×D。这里, t t t表示时间步, D \mathcal{D} D是初始维度, N \mathcal{N} N是状态的维度。

在数学上,SSM通常被表述为线性常微分方程(ODEs)[57],如下所示:
h ′ ( t ) = A h ( t ) + B x ( t ) , y ( t ) = C h ( t ) + D x ( t ) , \begin{aligned} \mathbf{h}^{\prime}(t) & =\mathbf{A} \mathbf{h}(t)+\mathbf{B} \mathbf{x}(t), \\ \mathbf{y}(t) & =\mathbf{C}\mathbf{h}(t)+\mathbf{D} \mathbf{x}(t), \end{aligned} h(t)y(t)=Ah(t)+Bx(t),=Ch(t)+Dx(t),

其中, A ∈ R N × N \mathbf{A} \in \mathbb{R}^{\mathcal{N} \times \mathcal{N}} ARN×N是演化参数, B ∈ R N × D \mathbf{B} \in \mathbb{R}^{\mathcal{N} \times \mathcal{D}} BRN×D正确地对齐了输入到状态的转换维度, C ∈ R D × N \mathbf{C} \in \mathbb{R}^{\mathcal{D} \times \mathcal{N}} CRD×N是投影参数。 D ∈ R 1 × D \mathbf{D} \in \mathbb{R}^{1 \times \mathcal{D}} DR1×D,它通常支持跳跃连接,确保 y ( t ) ∈ R 1 × D \mathbf{y}(t) \in \mathbb{R}^{1 \times \mathcal{D}} y(t)R1×D

S4是连续系统的离散版本,旨在解决将连续系统集成到深度学习算法中时面临的重大挑战。使用时间尺度参数 Δ ∈ R 1 × D \boldsymbol{\Delta} \in \mathbb{R}^{1 \times \mathcal{D}} ΔR1×D将连续参数 A \mathbf{A} A B \mathbf{B} B转换为离散参数 A ‾ ∈ R N × N \overline{\mathbf{A}} \in \mathbb{R}^{\mathcal{N} \times \mathcal{N}} ARN×N B ‾ ∈ R N × D \overline{\mathbf{B}} \in \mathbb{R}^{\mathcal{N} \times \mathcal{D}} BRN×D。这种转换通常采用零阶保持(ZOH)方法 1 ^{1} 1,定义为:
A ‾ = exp ⁡ ( Δ A ) , B ‾ = ( Δ A ) − 1 ( exp ⁡ ( Δ A ) − I ) ⊙ Δ B , \begin{array}{l} \overline{\mathbf{A}}=\exp (\boldsymbol{\Delta} \mathbf{A}), \\ \overline{\mathbf{B}}=(\boldsymbol{\Delta} \mathbf{A})^{-1}(\exp (\boldsymbol{\Delta} \mathbf{A})-\mathbf{I}) \odot \boldsymbol{\Delta} \mathbf{B}, \end{array} A=exp(ΔA),B=(ΔA)1(exp(ΔA)I)ΔB,
因此,方程1a和1b的离散版本可以被重新表述为序列到序列的模型,而不是函数到函数的映射,如图2所示:
h ( t ) = A ‾ h ( t − 1 ) + B ‾ x ( t ) , y ( t ) = C h ( t ) + D x ( t ) . \begin{aligned} \mathbf{h}(t) & =\overline{\mathbf{A}} \mathbf{h}(t-1)+\overline{\mathbf{B}} \mathbf{x}(t), \\ \mathbf{y}(t) & =\mathbf{C} \mathbf{h}(t)+\mathbf{D} \mathbf{x}(t) . \end{aligned} h(t)y(t)=Ah(t1)+Bx(t),=Ch(t)+Dx(t).
最后,模型通过全局卷积操作计算输出,如下所示:
K ‾ = ( C B ‾ , C A ‾ B ‾ , … , C A ‾ L − 1 B ‾ ) , y = x ⋆ K ‾ , \begin{aligned} \overline{\mathbf{K}} & =\left(\mathbf{C} \overline{\mathbf{B}}, \mathbf{C} \overline{\mathbf{A}} \overline{\mathbf{B}}, \ldots, \mathbf{C} \overline{\mathbf{A}}^{L-1} \overline{\mathbf{B}}\right), \\ \mathbf{y} & =\mathbf{x} \star \overline{\mathbf{K}}, \end{aligned} Ky=(CB,CAB,,CAL1B),=xK,
其中, L L L是输入序列 x \mathbf{x} x的长度, K ‾ ∈ R L \overline{\mathbf{K}} \in \mathbb{R}^{\mathcal{L}} KRL是一个结构化的SSM核。 ⋆ \star 表示卷积操作。

著名工作[58]指出,SSM中的矩阵 A \mathbf{A} A B \mathbf{B} B C \mathbf{C} C具有一个关键属性,即线性时不变性(LTI)。这意味着它们是常数,对于SSM生成的每个标记都保持不变。本质上,无论向SSM呈现什么输入序列,A、 B \mathbf{B} B C \mathbf{C} C的值都保持不变,导致了一个不依赖于内容的静态表示。此外,矩阵 A \mathbf{A} A B \mathbf{B} B C \mathbf{C} C与输入无关,因为它们的维度 N \mathcal{N} N D \mathcal{D} D不会变化,这进一步强调了它们的时不变性。

2.2 基于选择性扫描的S4模型(S6)

为了解决S4模型中的局限性,Mamba通过引入选择性扫描机制作为核心的S4算子,提出了S6模型,从而提高了S4模型的性能。它允许连续参数随输入而变化,从而增强了跨序列的选择性信息处理。

它通过为矩阵 B \mathbf{B} B C \mathbf{C} C和时间尺度参数 Δ \boldsymbol{\Delta} Δ引入自适应参数化机制来修改S4模型,如下所示:
B = Projection ⁡ B ( x ) , C = Projection ⁡ C ( x ) , Δ = τ Δ ( Parameter ⁡ + Projection ⁡ Δ ( x ) ) , \begin{aligned} \mathbf{B} & =\operatorname{Projection}_{B}(\mathbf{x}), \\ \mathbf{C} & =\operatorname{Projection}_{C}(\mathbf{x}), \\ \boldsymbol{\Delta} & =\tau_{\Delta}\left(\operatorname{Parameter}+\operatorname{Projection}_{\Delta}(\mathbf{x})\right), \end{aligned} BCΔ=ProjectionB(x),=ProjectionC(x),=τΔ(Parameter+ProjectionΔ(x)),
其中 x ∈ R B × L × D \mathbf{x} \in \mathbb{R}^{\mathcal{B}} \times \mathcal{L} \times \mathcal{D} xRB×L×D。这里, B \mathcal{B} B表示批量大小, L \mathcal{L} L表示序列长度, D \mathcal{D} D是序列维度。函数 Projection ⁡ B ( ) \operatorname{Projection}_{B}() ProjectionB() Projection ⁡ C ( ) \operatorname{Projection}_{C}() ProjectionC()执行从 D \mathcal{D} D维空间到 N \mathcal{N} N维空间的线性投影,从而得到 B ∈ R B × L × N \mathbf{B} \in \mathbb{R}^{\mathcal{B}} \times \mathcal{L} \times \mathcal{N} BRB×L×N C ∈ R B × L × N \mathbf{C} \in \mathbb{R}^{\mathcal{B} \times \mathcal{L} \times \mathcal{N}} CRB×L×N。此外, Projection ⁡ Δ ( ) \operatorname{Projection}_{\Delta}() ProjectionΔ() x \mathbf{x} x转换为大小为 R B × L × 1 \mathbb{R}^{\mathcal{B} \times \mathcal{L} \times 1} RB×L×1的矩阵,然后将其广播到 D \mathcal{D} D维。 τ Δ \tau_{\Delta} τΔ,通常是一个softplus激活函数[59],用于调整尺度,从而得到新的 Δ \Delta Δ,其大小为 R B × L × D \mathbb{R}^{\mathcal{B} \times \mathcal{L} \times \mathcal{D}} RB×L×D

总结来说,Mamba通过使矩阵 B \mathbf{B} B C \mathbf{C} C和步长 Δ \boldsymbol{\Delta} Δ依赖于输入,并融入序列长度和批量大小,来增强S4模型,确保每个输入标记都用不同的矩阵进行处理。此外,这些动态矩阵通过选择性地过滤隐藏状态中应保留或省略的组件,与RNN中的“循环”机制类似。这种选择性处理是通过CUDA中的“并行扫描”操作 2 ^{2} 2实现的,该操作将序列分段、迭代处理并高效地组合它们。动态矩阵与并行处理的结合体现了Mamba如何捕捉序列处理的快速和适应性强的特点,从而增强了模型的适应性。

2.3 基于Mamba的工作

作为一种前沿的基础模型,Mamba最近备受关注。已有多种实现探索了其在不同任务中的应用性。

朱等人[51]率先为物体检测和语义分割等一般视觉任务设计了ViM架构,该架构在处理前采用双向扫描进行精确的图像块定位,并与Mamba编码器结合使用。在此基础上,陈等人[52]通过引入动态多路径激活机制增强了Mamba,在多个遥感(RS)图像分类数据集上显著提高了性能。同时,刘等人[53]开发了VMamba,该模型利用二维选择性扫描(SS2D)将非因果视觉图像转换为有序的图像块序列,以应用于图像分类和物体检测。进一步扩展该方法,陈等人[54]将VMamba应用于遥感变化检测任务,包括二元变化检测、语义变化检测和建筑物损伤评估,其中VMamba作为序列编码器来建模时空关系。此外,赵等人[60]为广泛的遥感图像中的密集预测引入了RS-Mamba,该模型结合了全向选择性扫描模块(OSSM)进行特征聚合。在高光谱图像(HSI)分类领域,贾等人[61]将基于标准SSM的模型调整为SpectralMamba,用于光谱域处理,而杨等人[62]则将Mamba的光谱处理与基于卷积神经网络(CNN)的空间特征提取相结合,用于HSI分类。此外,盛等人[63]提出了一种轻量级的光谱-空间Mamba卷积模型,用于HSI分类,该模型利用空间单向和光谱双向扫描来增强特征对齐。
尽管取得了这些进展,但据我们所知,将具有多方向扫描功能的ViM应用于高光谱图像(HSI)分类尚未完全开发或探索。同时,直接使用ViM无法很好地处理精细的语义标记特征,并且会遗漏HSI图像块中存在的多尺度特征。因此,为HSI开发优化的ViM架构仍然是一个悬而未决的问题。因此,我们旨在填补这一空白,并提出一种量身定制的HSI驱动的ViM架构。

3. 方法论

本节首先简要概述(A)方法论。然后,介绍详细内容:(B)集中式MCS,(C)T-Mamba编码器,(D)WMF模块,(E)多尺度损失设计。整体结构和伪算法分别如图3和算法1所示。由于论文格式限制,算法的总结将放在文章的末尾。

3.1 方法论概述

我们的方法由以下几个步骤组成:

  1. 我们引入了一种集中式MCS机制,该机制将HSI图像块转换为四种类型的序列,每种序列都包含两个方向的扫描。

  2. 设计了T-Mamba编码器以有效管理两个方向的扫描。它利用GDM(梯度下降机制)、一个下采样驱动的STL(空间变换层)和一个注意力驱动的STF(空间变换函数)来促进代表性标记的有效学习。

  3. MiM模型通过四个T-Mamba编码器处理MCS生成的四种类型的序列,为后续的特征融合奠定基础。

  4. 开发了一种加权混合特征(Weighted Mixed Feature, WMF)方法,以动态地为多模型混合(MiM)模型的输出分配不同的权重。同时,从融合输出中得出的尺度特征被用于表示该阶段,以便后续进行解码。

  5. 由于MiM模型具有类似于下采样的操作,我们重复上述过程,直到特征的空间大小减小到1为止。

  6. 累积的多尺度特征被准备用于解码器。每个特征都与一个特定的损失函数相关联,以在训练过程中优化性能。

后续小节中将对各组件进行详细解释。

3.2 集中式曼巴交叉扫描(Centralized Mamba-Cross-Scan, MCS)
原始的高光谱图像(Hyperspectral Image, HSI)用符号 X ∈ R H × W × C 0 \mathbf{X} \in \mathbb{R}^{\mathcal{H}} \times \mathcal{W} \times \mathcal{C}_{0} XRH×W×C0 表示,定义如下:
X = { x ( i , j ) ∣ i = 0 , 1 , … , H − 1 , j = 0 , 1 , … , W − 1 } \mathbf{X}=\left\{\mathbf{x}^{(i, j)} \mid i=0,1, \ldots, \mathcal{H}-1, j=0,1, \ldots, \mathcal{W}-1\right\} X={x(i,j)i=0,1,,H1,j=0,1,,W1}
其中, x ( i , j ) ∈ R C 0 \mathbf{x}^{(i, j)} \in \mathbb{R}^{\mathcal{C}_{0}} x(i,j)RC0 表示在空间位置 (i, j) 上的光谱特征。因此,
X = ( x ( 0 , 0 ) x ( 0 , 1 ) … x ( 0 , W − 1 ) x ( 1 , 0 ) x ( 1 , 1 ) … x ( 1 , W − 1 ) ⋮ ⋮ ⋱ ⋮ x ( H − 1 , 0 ) x ( H − 1 , 1 ) … x ( H − 1 , W − 1 ) ) \mathbf{X}=\left(\begin{array}{cccc} \mathbf{x}^{(0,0)} & \mathbf{x}^{(0,1)} & \ldots & \mathbf{x}^{(0, \mathcal{W}-1)} \\ \mathbf{x}^{(1,0)} & \mathbf{x}^{(1,1)} & \ldots & \mathbf{x}^{(1, \mathcal{W}-1)} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{x}^{(\mathcal{H}-1,0)} & \mathbf{x}^{(\mathcal{H}-1,1)} & \ldots & \mathbf{x}^{(\mathcal{H}-1, \mathcal{W}-1)} \end{array}\right) X= x(0,0)x(1,0)x(H1,0)x(0,1)x(1,1)x(H1,1)x(0,W1)x(1,W1)x(H1,W1)
该神经网络模型被设计为一个基于补丁(patch)的框架,其输入是从原始高光谱图像(HSI)中裁剪出的一个补丁。对于一个以 x ( i , j ) \mathbf{x}^{(i, j)} x(i,j) 为中心、补丁大小为 p p p p p p 为奇数)的裁剪HSI补丁 X ( i , j ) \mathbf{X}^{(i, j)} X(i,j),该补丁可以表示为:

X ( i , j ) = { x ( i + α , j + β ) ∣ α , β = − p − 1 2 , … , p − 1 2 } \mathbf{X}^{(i, j)}=\left\{\mathbf{x}^{(i+\alpha, j+\beta)} \mid \alpha, \beta=-\frac{p-1}{2}, \ldots, \frac{p-1}{2}\right\} X(i,j)={x(i+α,j+β)α,β=2p1,,2p1}

其中, α , β ∈ Z \alpha, \beta \in \mathbb{Z} α,βZ i + α i+\alpha i+α j + β j+\beta j+β 记录位置。

p = 5 p=5 p=5 为例,裁剪的HSI补丁 X ( i , j ) \mathbf{X}^{(i, j)} X(i,j) 可以表示为:

X ( i , j ) = ( x ( i − 2 , j − 2 ) x ( i − 2 , j − 1 ) … x ( i − 2 , j + 2 ) x ( i − 1 , j − 2 ) x ( i − 1 , j − 1 ) … x ( i − 1 , j + 2 ) ⋮ ⋮ ⋱ ⋮ x ( i + 2 , j − 2 ) x ( i + 2 , j − 1 ) … x ( i + 2 , j + 2 ) ) \mathbf{X}^{(i, j)}=\left(\begin{array}{cccc} \mathbf{x}^{(i-2, j-2)} & \mathbf{x}^{(i-2, j-1)} & \ldots & \mathbf{x}^{(i-2, j+2)} \\ \mathbf{x}^{(i-1, j-2)} & \mathbf{x}^{(i-1, j-1)} & \ldots & \mathbf{x}^{(i-1, j+2)} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{x}^{(i+2, j-2)} & \mathbf{x}^{(i+2, j-1)} & \ldots & \mathbf{x}^{(i+2, j+2)} \end{array}\right) X(i,j)= x(i2,j2)x(i1,j2)x(i+2,j2)x(i2,j1)x(i1,j1)x(i+2,j1)x(i2,j+2)x(i1,j+2)x(i+2,j+2)

其中, 2 ≤ i ≤ H − 3 , 2 ≤ j ≤ W − 3 2 \leq i \leq \mathcal{H}-3, 2 \leq j \leq \mathcal{W}-3 2iH3,2jW3,且 X ( i , j ) ∈ R p × p × C 0 \mathbf{X}^{(i, j)} \in \mathbb{R}^{p \times p \times \mathcal{C}_{0}} X(i,j)Rp×p×C0。中心像素 X ( i , j ) [ 2 , 2 ] \mathbf{X}^{(i, j)}[2,2] X(i,j)[2,2] 即为 x ( i , j ) \mathbf{x}^{(i, j)} x(i,j)

现有的集中式扫描方法SS2D(如[53]中所用)采用传统的栅格(Raster)展平方式跨越图像的空间域。这种方法可能导致图像内容错位,特别是在扫描遇到图像边界时出现的跳跃连接中。此外,SS2D并未充分利用图像的二维结构,从而限制了其从多个角度进行分析的能力。
因此,我们选择了Snake扫描方法(例如,U型转弯扫描),该方法已在多项研究中得到认可[42,43],并作为我们提出的MCS方法学的基础。Snake扫描方法在将像素或分割窗口转换为序列时,保留了它们之间的空间连续性,从而减少了在图像边界处出现跳跃连接的情况。多扫描策略概念[44]进一步支持了这种方法的有效性,该概念表明,使用从多个方向扫描的序列可以增强序列模型的训练。

基于这一背景,我们开发了四种集中式MCS,它们优化了从不同起点和终点将图像转换为序列的过程,确保了潜力的最大化和系统效率。Transformer的自注意力机制与我们的MCS机制之间的根本区别如图4所示。

如图5所示,每种MCS类型都从两个相对的位置开始,并在中心像素处汇聚。这种方法让人联想到RNN中典型的双向处理,但结合了集中式设计,为图像序列处理提供了一种新方法。
在将 X ( i , j ) \mathbf{X}^{(i, j)} X(i,j) 输入到MCS之前,我们首先对 X ( i , j ) \mathbf{X}^{(i, j)} X(i,j) 应用主成分分析(PCA)、深度卷积(DWconv)和逐点卷积(PWconv)进行降维、局部特征聚合和动态位置嵌入,如下所示:

X ( i , j ) ← P W conv ⁡ ( D W conv ⁡ ( P C A ( X ( i , j ) ) ) ) \mathbf{X}^{(i, j)} \leftarrow P W \operatorname{conv}\left(D W \operatorname{conv}\left(P C A\left(\mathbf{X}^{(i, j)}\right)\right)\right) X(i,j)PWconv(DWconv(PCA(X(i,j))))

其中,PCA保留了 C 1 \mathcal{C}_{1} C1 个分量的数量。PWconv和DWconv的输出特征维度数量为 C 2 \mathcal{C}_{2} C2,其中 C 2 > C 1 \mathcal{C}_{2}>\mathcal{C}_{1} C2>C1。因此,处理后的 X ( i , j ) ∈ R p × p × C 2 \mathbf{X}^{(i, j)} \in \mathbb{R}^{p \times p \times \mathcal{C}_{2}} X(i,j)Rp×p×C2
3.2.1. MCS 第一类

具体来说,如图5(a)所示,第一类MCS从两个位置 x ( i − 2 , j − 2 ) \mathbf{x}^{(i-2, j-2)} x(i2,j2) x ( i + 2 , j + 2 ) \mathbf{x}^{(i+2, j+2)} x(i+2,j+2) 开始。我们并没有直接准备两个方向的子序列,而是首先通过从 x ( i − 2 , j − 2 ) \mathbf{x}^{(i-2, j-2)} x(i2,j2) 开始的“蛇形扫描”将整个图像块展平为一个完整的序列,如下所示:

x ( i − 2 , j − 2 ) ⏞ 开始 → x ( i − 2 , j − 1 ) → ⋯ → x ( i − 2 , j + 2 ) x ( i − 1 , j − 2 ) ← x ( i − 1 , j − 1 ) ← ⋯ ← x ( i − 1 , j + 2 ) ↓ x ( i , j − 2 ) → x ( i , j − 1 ) → ⋯ → x ( i , j + 2 ) x ( i + 1 , j − 2 ) ← x ( i + 1 , j − 1 ) ← ⋯ ← x ( i + 1 , j + 2 ) ↓ x ( i + 2 , j − 2 ) → x ( i + 2 , j − 1 ) → ⋯ → x ( i + 2 , j + 2 ) ⏟ 结束 \begin{array}{llllll} \overbrace{\mathbf{x}^{(i-2, j-2)}}^{\text {开始}} & \rightarrow & \mathbf{x}^{(i-2, j-1)} & \rightarrow & \cdots & \rightarrow \mathbf{x}^{(i-2, j+2)} \\ \mathbf{x}^{(i-1, j-2)} & \leftarrow & \mathbf{x}^{(i-1, j-1)} & \leftarrow & \cdots & \leftarrow \mathbf{x}^{(i-1, j+2)} \\ \begin{array}{l} \downarrow \\ \mathbf{x}^{(i, j-2)} \end{array} & \rightarrow & \mathbf{x}^{(i, j-1)} & \rightarrow & \cdots & \rightarrow \mathbf{x}^{(i, j+2)} \\ \mathbf{x}^{(i+1, j-2)} & \leftarrow & \mathbf{x}^{(i+1, j-1)} & \leftarrow & \cdots & \leftarrow \mathbf{x}^{(i+1, j+2)} \\ \downarrow \\ \mathbf{x}^{(i+2, j-2)} & \rightarrow & \mathbf{x}^{(i+2, j-1)} & \rightarrow & \cdots & \rightarrow \underbrace{\mathbf{x}^{(i+2, j+2)}}_{\text {结束}} \end{array} x(i2,j2) 开始x(i1,j2)x(i,j2)x(i+1,j2)x(i+2,j2)x(i2,j1)x(i1,j1)x(i,j1)x(i+1,j1)x(i+2,j1)x(i2,j+2)x(i1,j+2)x(i,j+2)x(i+1,j+2)结束 x(i+2,j+2)

因此,生成的完整序列 S 1 ( i , j ) ∈ R p 2 × C 2 \mathbf{S}_{1}^{(i, j)} \in \mathbb{R}^{p^{2} \times \mathcal{C}_{2}} S1(i,j)Rp2×C2 可以表示为:

S 1 ( i , j ) = [ x ( i − 2 , j − 2 ) , x ( i − 2 , j − 1 ) , ⋯   , x ( i − 2 , j + 2 ) , ⋯   ⋯   , x ( i + 2 , j − 2 ) , x ( i + 2 , j − 1 ) , ⋯   , x ( i + 2 , j + 2 ) ] ⊤ \begin{aligned} \mathbf{S}_{1}^{(i, j)}= & {\left[\mathbf{x}^{(i-2, j-2)}, \mathbf{x}^{(i-2, j-1)}, \cdots, \mathbf{x}^{(i-2, j+2)}, \cdots\right.} \\ & \left.\cdots, \mathbf{x}^{(i+2, j-2)}, \mathbf{x}^{(i+2, j-1)}, \cdots, \mathbf{x}^{(i+2, j+2)}\right]^{\top} \end{aligned} S1(i,j)=[x(i2,j2),x(i2,j1),,x(i2,j+2),,x(i+2,j2),x(i+2,j1),,x(i+2,j+2)]

其中, S 1 ( i , j ) \mathbf{S}_{1}^{(i, j)} S1(i,j) 的每个元素都是一个光谱向量,而 S 1 ( i , j ) [ p 2 − 1 2 ] \mathbf{S}_{1}^{(i, j)}\left[\frac{p^{2}-1}{2}\right] S1(i,j)[2p21] 是序列的中心步骤 x ( i , j ) \mathbf{x}^{(i, j)} x(i,j)
随后,我们将 S 1 ( i , j ) \mathbf{S}_{1}^{(i, j)} S1(i,j) 分割成两个子序列,即 S 1 , f ( i , j ) \mathbf{S}_{1, f}^{(i, j)} S1,f(i,j) S 1 , b ( i , j ) \mathbf{S}_{1, b}^{(i, j)} S1,b(i,j)。在这种情况下, S 1 , f ( i , j ) \mathbf{S}_{1, f}^{(i, j)} S1,f(i,j) x ( i − 2 , j − 2 ) \mathbf{x}^{(i-2, j-2)} x(i2,j2) 开始,到 x ( i , j ) \mathbf{x}^{(i, j)} x(i,j) 结束;同时, S 1 , b ( i , j ) \mathbf{S}_{1, b}^{(i, j)} S1,b(i,j) x ( i + 2 , j + 2 ) \mathbf{x}^{(i+2, j+2)} x(i+2,j+2) 开始,到 x ( i , j ) \mathbf{x}^{(i, j)} x(i,j) 结束,如下所示:

S 1 , f ( i , j ) , S 1 , b ( i , j ) ← Split ⁡ ( S 1 ( i , j ) ) \mathbf{S}_{1, f}^{(i, j)}, \mathbf{S}_{1, b}^{(i, j)} \leftarrow \operatorname{Split}\left(\mathbf{S}_{1}^{(i, j)}\right) S1,f(i,j),S1,b(i,j)Split(S1(i,j))

其中, S 1 , f ( i , j ) \mathbf{S}_{1, f}^{(i, j)} S1,f(i,j) S 1 , b ( i , j ) \mathbf{S}_{1, b}^{(i, j)} S1,b(i,j) 的排列方式为:

S 1 , f ( i , j ) = [ x ( i − 2 , j − 2 ) , x ( i − 1 , j − 2 ) , x ( i , j − 2 ) , ⋯   , x ( i , j ) ⏟ length  = ( p 2 + 1 ) / 2 ] ⊤ , S 1 , b ( i , j ) = [ x ( i + 2 , j + 2 ) , x ( i + 1 , j + 2 ) , x ( i , j + 2 ) , ⋯   , x ( i , j ) ⏟ length  = ( p 2 + 1 ) / 2 ] ⊤ , \begin{array}{l} \mathbf{S}_{1, f}^{(i, j)}=[\underbrace{\mathbf{x}^{(i-2, j-2)}, \mathbf{x}^{(i-1, j-2)}, \mathbf{x}^{(i, j-2)}, \cdots, \mathbf{x}^{(i, j)}}_{\text {length }=\left(p^{2}+1\right) / 2}]^{\top}, \\ \mathbf{S}_{1, b}^{(i, j)}=[\underbrace{\mathbf{x}^{(i+2, j+2)}, \mathbf{x}^{(i+1, j+2)}, \mathbf{x}^{(i, j+2)}, \cdots, \mathbf{x}^{(i, j)}}_{\text {length }=\left(p^{2}+1\right) / 2}]^{\top}, \end{array} S1,f(i,j)=[length =(p2+1)/2 x(i2,j2),x(i1,j2),x(i,j2),,x(i,j)],S1,b(i,j)=[length =(p2+1)/2 x(i+2,j+2),x(i+1,j+2),x(i,j+2),,x(i,j)],

其中,这两个子序列分别被称为前向方向和后向方向,它们都包含了完整序列的中心步骤 x ( i , j ) \mathbf{x}^{(i, j)} x(i,j),并将其分配在子序列的最后一步。在这种情况下,当图像块大小 p p p 等于 5 时,子序列的长度为 13,如图 5(a) 所示。

因此,以 S 1 , f ( i , j ) \mathbf{S}_{1, f}^{(i, j)} S1,f(i,j) 为例,我们可以分别将其输入到Mamba模型中,参考方程3a和3b:

h 1 , f ( i , j ) [ t ] = A ‾ h 1 , f ( i , j ) [ t − 1 ] + B ‾ S 1 , f ( i , j ) [ t ] y 1 , f ( i , j ) [ t ] = C h 1 , f ( i , j ) [ t ] + D S 1 , f ( i , j ) [ t ] \begin{aligned} \mathbf{h}_{1, f}^{(i, j)}[t] & =\overline{\mathbf{A}} \mathbf{h}_{1, f}^{(i, j)}[t-1]+\overline{\mathbf{B}} \mathbf{S}_{1, f}^{(i, j)}[t] \\ \mathbf{y}_{1, f}^{(i, j)}[t] & =\mathbf{C} \mathbf{h}_{1, f}^{(i, j)}[t]+\mathbf{D} \mathbf{S}_{1, f}^{(i, j)}[t] \end{aligned} h1,f(i,j)[t]y1,f(i,j)[t]=Ah1,f(i,j)[t1]+BS1,f(i,j)[t]=Ch1,f(i,j)[t]+DS1,f(i,j)[t]

其中 t ∈ Z t \in \mathbb{Z} tZ,且 0 ≤ t ≤ p 2 + 1 2 − 1 0 \leq t \leq \frac{p^{2}+1}{2}-1 0t2p2+11,表示子序列中的元素索引(步骤)。因此,在子序列的最后一步,即图像块的中心 x ( i , j ) \mathbf{x}^{(i, j)} x(i,j),可以迭代所有先前步骤的特征。对另一个子序列 S 1 , b ( i , j ) \mathbf{S}_{1, b}^{(i, j)} S1,b(i,j) 执行相同的操作后,整个图像块的特征可以通过这两个子序列来合并。

y 1 ( i , j ) = Merge ⁡ ( y 1 , f ( i , j ) , y 1 , b ( i , j ) ) \mathbf{y}_{1}^{(i, j)}=\operatorname{Merge}\left(\mathbf{y}_{1, f}^{(i, j)}, \mathbf{y}_{1, b}^{(i, j)}\right) y1(i,j)=Merge(y1,f(i,j),y1,b(i,j))

其中, y 1 , f ( i , j ) \mathbf{y}_{1, f}^{(i, j)} y1,f(i,j) y 1 , b ( i , j ) \mathbf{y}_{1, b}^{(i, j)} y1,b(i,j) 是两个子序列的输出序列。而 y 1 ( i , j ) \mathbf{y}_{1}^{(i, j)} y1(i,j) 是通过类型-1 MCS合并得到的特征,用于表示整个图像的特征。Merge()操作的具体细节将在下一节中介绍。
3.2.2. 第二类MCS

因此,根据第一类MCS的相同描述,第二类MCS采用垂直方式,如图5(b)所示,可以表述为:

S 2 , f ( i , j ) = [ x ( i − 2 , j − 2 ) , x ( i − 2 , j − 1 ) , x ( i − 2 , j ) , ⋯   , x ( i , j ) ] ⊤ S 2 , b ( i , j ) = [ x ( i + 2 , j + 2 ) , x ( i + 2 , j + 1 ) , x ( i + 2 , j ) , ⋯   , x ( i , j ) ] ⊤ . \begin{array}{l} \mathbf{S}_{2, f}^{(i, j)}=\left[\mathbf{x}^{(i-2, j-2)}, \mathbf{x}^{(i-2, j-1)}, \mathbf{x}^{(i-2, j)}, \cdots, \mathbf{x}^{(i, j)}\right]^{\top} \\ \mathbf{S}_{2, b}^{(i, j)}=\left[\mathbf{x}^{(i+2, j+2)}, \mathbf{x}^{(i+2, j+1)}, \mathbf{x}^{(i+2, j)}, \cdots, \mathbf{x}^{(i, j)}\right]^{\top} . \end{array} S2,f(i,j)=[x(i2,j2),x(i2,j1),x(i2,j),,x(i,j)]S2,b(i,j)=[x(i+2,j+2),x(i+2,j+1),x(i+2,j),,x(i,j)].

在这种情况下,两个子序列 S 2 , f ( i , j ) \mathbf{S}_{2, f}^{(i, j)} S2,f(i,j) S 2 , b ( i , j ) \mathbf{S}_{2, b}^{(i, j)} S2,b(i,j) 分别从 x ( i − 2 , j − 2 ) \mathbf{x}^{(i-2, j-2)} x(i2,j2) x ( i + 2 , j + 2 ) \mathbf{x}^{(i+2, j+2)} x(i+2,j+2) 开始,并以垂直扫描的方式结束于 x ( i , j ) \mathbf{x}^{(i, j)} x(i,j)。它们的长度与之前的描述相同。

3.2.3. 第三类MCS

与从 x ( i − 2 , j − 2 ) \mathbf{x}^{(i-2, j-2)} x(i2,j2) x ( i + 2 , j + 2 ) \mathbf{x}^{(i+2, j+2)} x(i+2,j+2) 两个位置开始的第一类和第二类不同,第三类交叉Mamba扫描是从 x ( i − 2 , j + 2 ) \mathbf{x}^{(i-2, j+2)} x(i2,j+2) x ( i + 2 , j − 2 ) \mathbf{x}^{(i+2, j-2)} x(i+2,j2) 开始,以水平方式进行,如图5©所示。以下是制定的两个子序列:

S 3 , f ( i , j ) = [ x ( i − 2 , j + 2 ) , x ( i − 1 , j + 2 ) , x ( i , j + 2 ) , ⋯   , x ( i , j ) ] ⊤ S 3 , b ( i , j ) = [ x ( i + 2 , j − 2 ) , x ( i + 1 , j − 2 ) , x ( i , j − 2 ) , ⋯   , x ( i , j ) ] ⊤ . \begin{aligned} \mathbf{S}_{3, f}^{(i, j)} & =\left[\mathbf{x}^{(i-2, j+2)}, \mathbf{x}^{(i-1, j+2)}, \mathbf{x}^{(i, j+2)}, \cdots, \mathbf{x}^{(i, j)}\right]^{\top} \\ \mathbf{S}_{3, b}^{(i, j)} & =\left[\mathbf{x}^{(i+2, j-2)}, \mathbf{x}^{(i+1, j-2)}, \mathbf{x}^{(i, j-2)}, \cdots, \mathbf{x}^{(i, j)}\right]^{\top} . \end{aligned} S3,f(i,j)S3,b(i,j)=[x(i2,j+2),x(i1,j+2),x(i,j+2),,x(i,j)]=[x(i+2,j2),x(i+1,j2),x(i,j2),,x(i,j)].

注意:原文中 S 3 , b ( i , j ) \mathbf{S}_{3, b}^{(i, j)} S3,b(i,j) 的起始点应该是 x ( i + 2 , j − 2 ) \mathbf{x}^{(i+2, j-2)} x(i+2,j2) 而不是 x ( i − 2 , j + 2 ) \mathbf{x}^{(i-2, j+2)} x(i2,j+2),这里已经做了更正。
3.2.4. 第四类MCS

与第三类MCS类似,第四类MCS从 x ( i − 2 , j − 2 ) \mathbf{x}^{(i-2, j-2)} x(i2,j2) x ( i + 2 , j + 2 ) \mathbf{x}^{(i+2, j+2)} x(i+2,j+2) 位置开始,以垂直方式进行,如图5(d)所示。以下是两个子序列的表述:

S 4 , f ( i , j ) = [ x ( i − 2 , j + 2 ) , x ( i − 2 , j + 1 ) , x ( i − 2 , j ) , ⋯   , x ( i , j ) ] ⊤ S 4 , b ( i , j ) = [ x ( i + 2 , j + 2 ) , x ( i + 2 , j + 1 ) , x ( i + 2 , j ) , ⋯   , x ( i , j ) ] ⊤ , \begin{aligned} \mathbf{S}_{4, f}^{(i, j)} & =\left[\mathbf{x}^{(i-2, j+2)}, \mathbf{x}^{(i-2, j+1)}, \mathbf{x}^{(i-2, j)}, \cdots, \mathbf{x}^{(i, j)}\right]^{\top} \\ \mathbf{S}_{4, b}^{(i, j)} & =\left[\mathbf{x}^{(i+2, j+2)}, \mathbf{x}^{(i+2, j+1)}, \mathbf{x}^{(i+2, j)}, \cdots, \mathbf{x}^{(i, j)}\right]^{\top}, \end{aligned} S4,f(i,j)S4,b(i,j)=[x(i2,j+2),x(i2,j+1),x(i2,j),,x(i,j)]=[x(i+2,j+2),x(i+2,j+1),x(i+2,j),,x(i,j)],

因此,我们总共生成了四种类型的MCS,共有八个子序列。每种类型的MCS都将作为后续提出的双向设计T-Mamba编码器的输入,用于特征生成。

与其他工作不同,我们提出的MCS采用集中式设计的蛇形扫描方法,这更适合于逐块HSI分类器,其中块的中心像素标签被分配给块以进行训练。此外,使用两个子序列来表示整个图像块的轻量级设计可以大大节省计算负担和复杂度,而其他工作则使用两个完整的序列来对整个图像进行解释。
3.3. 标记化曼巴(T-Mamba)

从每种MCS(多通道信号)中获得两个子序列后,我们引入了新颖的T-Mamba编码器,它以双向方式处理这些子序列。T-Mamba的概述如图6所示。

3.3.1. T-Mamba的整体流程图

以等式12为例,对于类型1的MCS,我们从嵌入序列 S 1 ( i , j ) ∈ R 5 2 × C 2 \mathbf{S}_{1}^{(i, j)} \in \mathbb{R}^{5^{2} \times \mathcal{C}_{2}} S1(i,j)R52×C2开始。该序列首先被标准化,然后投影成如下序列:

z = Linear ⁡ ( Norm ⁡ ( S 1 ( i , j ) ) ) \mathbf{z}=\operatorname{Linear}\left(\operatorname{Norm}\left(\mathbf{S}_{1}^{(i, j)}\right)\right) z=Linear(Norm(S1(i,j)))

其中, z \mathbf{z} z的大小为 R 5 2 × C 3 \mathbb{R}^{5^{2} \times \mathcal{C}_{3}} R52×C3

接下来,根据MCS, S 1 ( i , j ) \mathbf{S}_{1}^{(i, j)} S1(i,j)被拆分为两个方向的子序列 s f \mathbf{s}_{f} sf s b \mathbf{s}_{b} sb,其中 f f f表示前向子序列, b b b表示后向子序列,每个子序列的维度为 R 13 × C 3 \mathbb{R}^{13 \times \mathcal{C}_{3}} R13×C3,参考等式13:

s f , s b ← M C S 1 ( S 1 ( i , j ) ) \mathbf{s}_{f}, \mathbf{s}_{b} \leftarrow M C S_{1}\left(\mathbf{S}_{1}^{(i, j)}\right) sf,sbMCS1(S1(i,j))

其中, M C S 1 ( ) M C S_{1}() MCS1()表示在类型1 MCS下的拆分操作。

然后, s f \mathbf{s}_{f} sf s b \mathbf{s}_{b} sb都通过 SiLU( ⁡ ) \left.\operatorname{SiLU(}\right) SiLU()激活函数和一维卷积来处理,以准备特征:

s f ‾ = SiLU ⁡ ( Conv ⁡ 1 d f ( s f ) ) , s b ‾ = SiLU ⁡ ( Conv ⁡ 1 d b ( s b ) ) . \begin{array}{l} \overline{\mathbf{s}_{f}}=\operatorname{SiLU}\left(\operatorname{Conv} 1 d_{f}\left(\mathbf{s}_{f}\right)\right), \\ \overline{\mathbf{s}_{b}}=\operatorname{SiLU}\left(\operatorname{Conv} 1 d_{b}\left(\mathbf{s}_{b}\right)\right) . \end{array} sf=SiLU(Conv1df(sf)),sb=SiLU(Conv1db(sb)).

随后,这些处理过的子序列被输入到第2节中描述的Mamba(S6)模型中:

s f ~ = Mamba ⁡ f ( s f ‾ ) , s b ~ = Mamba ⁡ b ( s b ‾ ) . \begin{aligned} \widetilde{\mathbf{s}_{f}} & =\operatorname{Mamba}_{f}\left(\overline{\mathbf{s}_{f}}\right), \\ \widetilde{\mathbf{s}_{b}} & =\operatorname{Mamba}_{b}\left(\overline{\mathbf{s}_{b}}\right) . \end{aligned} sf sb =Mambaf(sf),=Mambab(sb).

然后,对Mamba模型输出的特征应用高斯衰减掩码(GDM)来软选择特征:

s f ^ = s f ~ ⊗ G D M f ( s f ~ ) , s b ^ = s b ~ ⊗ G D M b ( s b ~ ) , \begin{array}{l} \widehat{\mathbf{s}_{f}}=\widetilde{\mathbf{s}_{f}} \otimes G D M_{f}\left(\widetilde{\mathbf{s}_{f}}\right), \\ \widehat{\mathbf{s}_{b}}=\widetilde{\mathbf{s}_{b}} \otimes G D M_{b}\left(\widetilde{\mathbf{s}_{b}}\right), \end{array} sf =sf GDMf(sf ),sb =sb GDMb(sb ),

其中, G D M ( ) G D M() GDM()应用高斯衰减掩码,具体细节稍后会详细说明,而 ⊗ \otimes 表示哈达玛乘积。

得到的特征 s f ^ \widehat{\mathbf{s}_{f}} sf s b ^ \widehat{\mathbf{s}_{b}} sb 被合并成一个完整的特征序列:

s ^ = Merge ⁡ ( s f ^ , s b ^ ) \widehat{\mathbf{s}}=\operatorname{Merge}\left(\widehat{\mathbf{s}_{f}}, \widehat{\mathbf{s}_{b}}\right) s =Merge(sf ,sb )

其中, s ^ ∈ R 5 2 × C 3 \widehat{\mathbf{s}} \in \mathbb{R}^{5^{2} \times C_{3}} s R52×C3,而 Merge ⁡ ( ) \operatorname{Merge}() Merge()操作的细节稍后会提供。

合并后的序列 s ^ \widehat{\mathbf{s}} s 随后被语义标记学习器(STL)模块处理,以自动学习具有代表性的语义标记并执行下采样:

u = S T L ( s ^ ) , \mathbf{u}=S T L(\widehat{\mathbf{s}}), u=STL(s ),

其中, u ∈ R 3 2 × C 3 \mathbf{u} \in \mathbb{R}^{3^{2} \times C_{3}} uR32×C3。保持空间块大小为奇数至关重要,以便保留一个中心像素。
这些下采样的语义标记 u \mathbf{u} u随后与先前准备的 z \mathbf{z} z相乘,用于类似的注意力应用:

u ^ = STF ⁡ ( u ,  AdaptivePool  ( SiLU ⁡ ( z ) ) ) , \widehat{\mathbf{u}}=\operatorname{STF}(\mathbf{u}, \text { AdaptivePool }(\operatorname{SiLU}(\mathbf{z}))), u =STF(u, AdaptivePool (SiLU(z))),

其中, u ^ ∈ R 3 2 × C 3 \widehat{\mathbf{u}} \in \mathbb{R}^{3^{2} \times C_{3}} u R32×C3。AdaptivePool()是一个自适应池化操作,它将奇数大小的块缩减为更小的奇数大小块。STF()表示语义标记融合器(STF)中的操作,具体细节稍后会介绍。

最后,将原始输入的残差连接添加如下:

o 1 ( i , j ) = Linear ⁡ ( u ^ ) + Linear ⁡ (  AdaptivePool  ( S 1 ( i , j ) ) ) .  \mathbf{o}_{1}^{(i, j)}=\operatorname{Linear}(\widehat{\mathbf{u}})+\operatorname{Linear}\left(\text { AdaptivePool }\left(\mathbf{S}_{1}^{(i, j)}\right)\right) \text {. } o1(i,j)=Linear(u )+Linear( AdaptivePool (S1(i,j)))

在类型-1的MCS中执行这些操作会产生代表整个图像块的语义标记,如图6所示。

3.3.2 高斯衰减掩码(GDM)

为了很好地分配序列中每个步骤特征的影响,对每个步骤的特征进行细致的加权至关重要。我们不依赖于0和1的二值来决定保留或消除哪些特征,而是引入了GDM作为软掩码。该GDM基于序列内的光谱和索引距离分配权重,以中心像素为中心进行聚焦。
例如,考虑由Mamba模型输出的前向特征序列 s f ~ \widetilde{\mathbf{s}_{f}} sf 。它可以表示为:

s f ~ = [ s f ~ [ 0 ] , s f ~ [ 1 ] , s f ~ [ 2 ] , ⋯   , s f ~ [ T ] ⏟ length  = ( p 2 + 1 ) / 2 ] ⊤ \widetilde{\mathbf{s}_{f}}=[\underbrace{\widetilde{\mathbf{s}_{f}}[0], \widetilde{\mathbf{s}_{f}}[1], \widetilde{\mathbf{s}_{f}}[2], \cdots, \widetilde{\mathbf{s}_{f}}[T]}_{\text {length }=\left(p^{2}+1\right) / 2}]^{\top} sf =[length =(p2+1)/2 sf [0],sf [1],sf [2],,sf [T]]

其中, t ∈ Z t \in \mathbb{Z} tZ 0 ≤ t ≤ T 0 \leq t \leq T 0tT,且 T = p 2 + 1 2 − 1 T=\frac{p^{2}+1}{2}-1 T=2p2+11,用于索引子序列中的元素(步骤)。子序列的最后一步表示块中的中心像素。因此,空间GDM(高斯衰减掩码)是通过评估每个步骤与最后步骤之间的索引差来计算的。

具体来说, σ i d x \sigma_{i d x} σidx表示到最后一个索引的平均索引距离,计算如下:

σ i d x = 1 T ∑ t = 0 T ∣ t − T ∣ \sigma_{i d x}=\frac{1}{T} \sum_{t=0}^{T}|t-T| σidx=T1t=0TtT

然后,使用以 T T T为中心的高斯分布计算子序列中每个索引 t t t的权重:

w t = exp ⁡ ( − 1 2 ( t − T σ i d x ) 2 ) w_{t}=\exp \left(-\frac{1}{2}\left(\frac{t-T}{\sigma_{i d x}}\right)^{2}\right) wt=exp(21(σidxtT)2)

这些权重被归一化以确保它们的和为1,形成子序列的最终空间GDM:

W i d x [ t ] = w t ∑ t = 0 T w t \mathbf{W}_{i d x}[t]=\frac{w_{t}}{\sum_{t=0}^{T} w_{t}} Widx[t]=t=0Twtwt

其中,基于索引的权重 W i d x \mathbf{W}_{i d x} Widx被应用于子序列 s f ~ \widetilde{\mathbf{s}_{f}} sf 中的每个元素。

此外,基于特征的GDM(高斯衰减掩码)是根据每个步骤(特征向量)与最后步骤之间的欧几里得距离来计算的,其中 σ fea \sigma_{\text {fea}} σfea表示到最后步骤的平均特征距离,计算如下:

σ fea  = 1 T ∑ t = 0 T ∥ s f ~ [ t ] − s f ~ [ T ] ∥ 2 \sigma_{\text {fea }}=\frac{1}{T} \sum_{t=0}^{T}\left\|\widetilde{\mathbf{s}_{f}}[t]-\widetilde{\mathbf{s}_{f}}[T]\right\|^{2} σfea =T1t=0Tsf [t]sf [T]2

然后,权重通过以下方式计算:

v t = exp ⁡ ( − 1 2 ( ∥ s f ~ [ t ] − s f ~ [ T ] ∥ 2 σ fea  ) 2 ) , v_{t}=\exp \left(-\frac{1}{2}\left(\frac{\left\|\tilde{\mathbf{s}_{f}}[t]-\tilde{\mathbf{s}_{f}}[T]\right\|^{2}}{\sigma_{\text {fea }}}\right)^{2}\right), vt=exp 21(σfea sf~[t]sf~[T]2)2 ,

其中, ∥ . ∥ 2 \|.\|^{2} ∥.2表示L2距离(欧几里得距离)。

最后,基于光谱的权重 W fea \mathbf{W}_{\text {fea}} Wfea可以通过以下方式获得:

W f e a [ t ] = v t ∑ t = 0 T v t \mathbf{W}_{f e a}[t]=\frac{v_{t}}{\sum_{t=0}^{T} v_{t}} Wfea[t]=t=0Tvtvt

因此,设计了两种GDM来从序列中软选择特征,如:

W i d x , W f e a ← G D M ( s f ~ ) \mathbf{W}_{i d x}, \mathbf{W}_{f e a} \leftarrow G D M\left(\widetilde{\mathbf{s}_{f}}\right) Widx,WfeaGDM(sf )

因此,等式24a可以重写为:

s f ^ = s f ~ ⊗ Norm ⁡ ( W i d x ⊗ W f e a ) \widehat{\mathbf{s}_{f}}=\widetilde{\mathbf{s}_{f}} \otimes \operatorname{Norm}\left(\mathbf{W}_{i d x} \otimes \mathbf{W}_{f e a}\right) sf =sf Norm(WidxWfea)

s b ~ \widetilde{\mathbf{s}_{b}} sb 也执行相同的操作。

这种方法可能允许对特征选择进行更精细的控制,从而增强模型捕获和强调相关空间和光谱信息的能力。
3.3.3. 交叉扫描合并

为了有效地合并来自两个半方向序列的特征,并将它们恢复到原始序列长度,我们设计了Merge()函数。该函数旨在无缝地整合两个子序列,尊重它们的时序动态,并为后续处理层做好最佳准备。该合并过程涉及的计算步骤如下,如等式25所示。

给定两个子序列 s f ^ \widehat{\mathbf{s}_{f}} sf s b ^ \widehat{\mathbf{s}_{b}} sb ,每个子序列包含 T T T个向量加上一个在 R C 3 \mathbb{R}^{\mathcal{C}_{3}} RC3中的最终向量,我们首先将这些序列划分如下:
q f ^ = [ s f ~ [ 0 ] , s f ~ [ 1 ] , s f ~ [ 2 ] , ⋯   , s f ~ [ T − 1 ] ] ⊤ , q b ^ = [ s b ~ [ T − 1 ] , s b ~ [ T − 2 ] , s b ~ [ T − 3 ] , ⋯   , s b ~ [ 0 ] ] ⊤ , c = s f ~ [ T ] + s b ~ [ T ] 2 , \begin{aligned} \widehat{\mathbf{q}_{f}} & =\left[\widetilde{\mathbf{s}_{f}}[0], \widetilde{\mathbf{s}_{f}}[1], \widetilde{\mathbf{s}_{f}}[2], \cdots, \widetilde{\mathbf{s}_{f}}[T-1]\right]^{\top}, \\ \widehat{\mathbf{q}_{b}} & =\left[\widetilde{\mathbf{s}_{b}}[T-1], \widetilde{\mathbf{s}_{b}}[T-2], \widetilde{\mathbf{s}_{b}}[T-3], \cdots, \widetilde{\mathbf{s}_{b}}[0]\right]^{\top}, \\ \mathbf{c} & =\frac{\widetilde{\mathbf{s}_{f}}[T]+\widetilde{\mathbf{s}_{b}}[T]}{2}, \end{aligned} qf qb c=[sf [0],sf [1],sf [2],,sf [T1]],=[sb [T1],sb [T2],sb [T3],,sb [0]],=2sf [T]+sb [T],
其中, q f ^ ∈ R T × C 3 \widehat{\mathbf{q}_{f}} \in \mathbb{R}^{T \times \mathcal{C}_{3}} qf RT×C3 q b ^ ∈ R T × C 3 \widehat{\mathbf{q}_{b}} \in \mathbb{R}^{T \times \mathcal{C}_{3}} qb RT×C3分别表示两个子序列的初始段,而 c ∈ R 1 × C 3 \mathbf{c} \in \mathbb{R}^{1 \times \mathcal{C}_{3}} cR1×C3表示两个子序列最后步骤的平均特征。

然后, Merge ⁡ ( ) \operatorname{Merge}() Merge()函数将这些元素连接起来:

s ^ = Linear ⁡ ( Concat ⁡ ( q f ^ , c , q b ^ ) ) \widehat{\mathbf{s}}=\operatorname{Linear}\left(\operatorname{Concat}\left(\widehat{\mathbf{q}_{f}}, \mathbf{c}, \widehat{\mathbf{q}_{b}}\right)\right) s =Linear(Concat(qf ,c,qb ))

其中, s ^ \widehat{\mathbf{s}} s 恢复了序列的原始长度,即 R p 2 × C 3 \mathbb{R}^{p^{2}} \times \mathcal{C}_{3} Rp2×C3。这种方法有效地将两个子序列合并为一个统一的序列,同时保留了特征的逻辑进展,这对于处理需要特征演化上下文理解的序列数据的模型特别有益。

3.3.4. 语义标记学习器(STL)

如何在序列内将粗糙特征有效地提炼为精细且动态的语义特征仍然是一个问题。受近期进展[26,64]的启发,我们在研究中引入了STL。STL旨在通过顺序注意力机制将序列输入抽象并提炼为一组具有代表性的语义标记,以增强特征的焦点和相关性。图7展示了STL促进的转换过程的一个示例。

对于此过程,输入特征序列表示为 s ^ ∈ R p 2 × C 3 \widehat{\mathbf{s}} \in \mathbb{R}^{p^{2} \times \mathcal{C}_{3}} s Rp2×C3,其中 p p p是块大小, C 3 \mathcal{C}_{3} C3是维度。
最初,我们采用了一个适用于 s ^ \widehat{\mathbf{s}} s 的序列注意力模块,该模块利用一维卷积。此模块强调 s ^ \widehat{\mathbf{s}} s 内的显著特征,允许在不涉及二维空间维度的情况下进行集中分析和特征提取。

其操作如下:
s ^ max  = max ⁡ ( s ^ ) , s ^ ave  = mean ⁡ ( s ^ ) , \begin{aligned} \widehat{\mathbf{s}}_{\text {max }} & =\max (\widehat{\mathbf{s}}), \\ \widehat{\mathbf{s}}_{\text {ave }} & =\operatorname{mean}(\widehat{\mathbf{s}}), \end{aligned} s max s ave =max(s ),=mean(s ),
其中, s ^ max  ∈ R p 2 × 1 \widehat{\mathbf{s}}_{\text {max }} \in \mathbb{R}^{p^{2} \times 1} s max Rp2×1 s ^ ave  ∈ R p 2 × 1 \widehat{\mathbf{s}}_{\text {ave }} \in \mathbb{R}^{p^{2} \times 1} s ave Rp2×1分别表示沿序列的最大池化特征和平均池化特征。

然后,将这些特征连接起来,并应用一维卷积,随后通过sigmoid激活函数 Sigmoid ⁡ ( ) \operatorname{Sigmoid}() Sigmoid()来生成特征权重图:

m = Sigmoid ⁡ ( Conv ⁡ 1 d ( Concat ⁡ ( s ^ max  , s ^ ave  ) ) ) \mathbf{m}=\operatorname{Sigmoid}\left(\operatorname{Conv} 1 d\left(\operatorname{Concat}\left(\widehat{\mathbf{s}}_{\text {max }}, \widehat{\mathbf{s}}_{\text {ave }}\right)\right)\right) m=Sigmoid(Conv1d(Concat(s max ,s ave )))

其中, m ∈ R p 2 × 1 \mathbf{m} \in \mathbb{R}^{p^{2} \times 1} mRp2×1

接着,将该权重图应用于原始输入:

m ^ = m ⊗ s ^ \widehat{\mathbf{m}}=\mathbf{m} \otimes \widehat{\mathbf{s}} m =ms

得到 m ^ ∈ R p 2 × C 3 \widehat{\mathbf{m}} \in \mathbb{R}^{p^{2} \times \mathcal{C}_{3}} m Rp2×C3
随后,语义标记被初始化为 u ∈ R p 2 2 × C 3 \mathbf{u} \in \mathbb{R}^{p_{2}^{2} \times \mathcal{C}_{3}} uRp22×C3,其中 p 2 p_{2} p2是一个小于 p p p的奇数,表示语义标记的数量有所减少。将加权特征序列 m ^ \widehat{\mathbf{m}} m 转换为语义标记的过程如下:

u = Softmax ⁡ ( ( m ^ ⊙ U 1 ) ⊤ ) ⏟ A ⊙ ( m ^ ⊙ U 2 ) ⏟ V \mathbf{u}=\underbrace{\operatorname{Softmax}\left(\left(\widehat{\mathbf{m}} \odot \mathbf{U}_{1}\right)^{\top}\right)}_{\mathbf{A}} \odot \underbrace{\left(\widehat{\mathbf{m}} \odot \mathbf{U}_{2}\right)}_{\mathbf{V}} u=A Softmax((m U1))V (m U2)

其中, U 1 ∈ R C 3 × p 2 2 \mathbf{U}_{1} \in \mathbb{R}^{\mathcal{C}_{3} \times p_{2}^{2}} U1RC3×p22 U 2 ∈ R C 3 × C 3 \mathbf{U}_{2} \in \mathbb{R}^{\mathcal{C}_{3} \times \mathcal{C}_{3}} U2RC3×C3是使用高斯分布初始化的权重矩阵。 ⊙ \odot 表示内积乘法。这种配置允许 m ^ \widehat{\mathbf{m}} m 有效地映射到两个语义组中,其中 A ∈ R p 2 2 × p 2 2 \mathbf{A} \in \mathbb{R}^{p_{2}^{2} \times p_{2}^{2}} ARp22×p22 V ∈ R p 2 × C 3 \mathbf{V} \in \mathbb{R}^{p^{2} \times \mathcal{C}_{3}} VRp2×C3分别表示在长度级别和维度级别上的结果矩阵,然后通过 Softmax ⁡ ( ) \operatorname{Softmax}() Softmax()函数强调最相关的语义成分。最后,通过 A \mathbf{A} A V \mathbf{V} V的内积得到语义标记 u \mathbf{u} u

这个STL有助于下采样并捕获对下游任务至关重要的高级特征。
3.3.5. 语义标记融合器(STF)

为了与原始输入进行门控,之前准备好的 z \mathbf{z} z作为残差信息与编码后的语义特征 u \mathbf{u} u相结合,如图6所示。我们不是简单地将它们相乘,而是旨在通过STF操作将它们融合,以将一组语义标记中包含的信息合并回初始序列数据中,从而有效地将学习到的抽象表示与原始序列特征相结合。这在您想要使用比原始特征更具信息性或更精细的高级学习表示来强化或调整序列数据的场景中特别有用。图8展示了STF转换过程的一个示例。

给定两个特征 u ∈ R p 2 2 × C 3 \mathbf{u} \in \mathbb{R}^{p_{2}^{2} \times \mathcal{C}_{3}} uRp22×C3 z ∈ R p 2 × C 3 \mathbf{z} \in \mathbb{R}^{p^{2} \times \mathcal{C}_{3}} zRp2×C3,我们首先将 z \mathbf{z} z池化为与 u \mathbf{u} u相同的序列长度:

z ‾ =  AdaptivePool  ( SiLU ⁡ ( z ) ) \overline{\mathbf{z}}=\text { AdaptivePool }(\operatorname{SiLU}(\mathbf{z})) z= AdaptivePool (SiLU(z))

之后,我们基于 z ‾ ∈ R p 2 2 × C 3 \overline{\mathbf{z}} \in \mathbb{R}^{p_{2}^{2} \times \mathcal{C}_{3}} zRp22×C3中的特征计算每个标记的影响分数:

z ^ = Sigmoid ⁡ ( z ‾ ⊙ Z ) \widehat{\mathbf{z}}=\operatorname{Sigmoid}(\overline{\mathbf{z}} \odot \mathbf{Z}) z =Sigmoid(zZ)

其中, z ^ ∈ R p 2 2 × p 2 2 \widehat{\mathbf{z}} \in \mathbb{R}^{p_{2}^{2} \times p_{2}^{2}} z Rp22×p22 Z ∈ R C 3 × p 2 2 \mathbf{Z} \in \mathbb{R}^{\mathcal{C}_{3} \times p_{2}^{2}} ZRC3×p22是一个相关参数矩阵。Sigmoid()函数确保分数在0和1之间。
然后,根据影响分数 z ^ \widehat{\mathbf{z}} z 对标记 u \mathbf{u} u进行加权,并对这些标记进行求和,以将标记信息融合到序列中:

u ‾ = z ^ ⊙ u \overline{\mathbf{u}}=\widehat{\mathbf{z}} \odot \mathbf{u} u=z u

其中, u ‾ ∈ R p 2 2 × C 3 \overline{\mathbf{u}} \in \mathbb{R}^{p_{2}^{2} \times \mathcal{C}_{3}} uRp22×C3,有效地将标记特征扩展到序列维度上。

接下来,将等式40a-42中提到的序列注意力 Seq ⁡ Attn ⁡ ( ) \operatorname{Seq} \operatorname{Attn}() SeqAttn()重新应用于 z ‾ \overline{\mathbf{z}} z,以强调重要特征:

m ‾ = SeqAttn ⁡ ( z ‾ ) \overline{\mathbf{m}}=\operatorname{SeqAttn}(\overline{\mathbf{z}}) m=SeqAttn(z)

其中, m ‾ ∈ R p 2 2 × C 3 \overline{\mathbf{m}} \in \mathbb{R}^{p_{2}^{2} \times \mathcal{C}_{3}} mRp22×C3表示注意力加权的序列特征。

最后,最终的序列输出结合了受标记影响的数据和经过注意力修改的数据:

u ^ = u ‾ + m ‾ \widehat{\mathbf{u}}=\overline{\mathbf{u}}+\overline{\mathbf{m}} u =u+m

其中, u ^ ∈ R p 2 2 × C 3 \widehat{\mathbf{u}} \in \mathbb{R}^{p_{2}^{2} \times \mathcal{C}_{3}} u Rp22×C3,为下游任务提供了一个丰富且细节增强的序列。

这些操作确保了融合特征 u ^ \widehat{\mathbf{u}} u 非常适合下游任务,能够捕获模型有效性能所需的详细和全局上下文信息。注意力机制的加入特别增强了模型根据给定输入上下文动态关注相关特征的能力。

3.4. 加权MCS融合(WMF)

在从不同T-Mamba编码器获得四个标记化特征 o 1 ( i , j ) \mathbf{o}_{1}^{(i, j)} o1(i,j) o 2 ( i , j ) \mathbf{o}_{2}^{(i, j)} o2(i,j) o 3 ( i , j ) \mathbf{o}_{3}^{(i, j)} o3(i,j) o 4 ( i , j ) \mathbf{o}_{4}^{(i, j)} o4(i,j)后,我们认识到每个特征集都会根据序列的扫描顺序而有所不同。这种可变性在我们提出的MCS(多序列扫描)的上下文中至关重要,因为它涉及多个扫描顺序,每个顺序都提供唯一的输出表示。为了有效地整合这些特征,需要一个深思熟虑的融合策略,因为不加区分的合并可能会稀释它们独特的贡献。

为此,我们引入了加权MCS融合(WMF),旨在根据每个特征集在整体上下文中的相关性和重要性为其分配注意力权重。融合过程制定如下:

O p ( i , j ) = k 1 o 1 ( i , j ) + k 2 o 2 ( i , j ) + k 3 o 3 ( i , j ) + k 4 o 4 ( i , j ) \mathbf{O}_{p}^{(i, j)}=k_{1} \mathbf{o}_{1}^{(i, j)}+k_{2} \mathbf{o}_{2}^{(i, j)}+k_{3} \mathbf{o}_{3}^{(i, j)}+k_{4} \mathbf{o}_{4}^{(i, j)} Op(i,j)=k1o1(i,j)+k2o2(i,j)+k3o3(i,j)+k4o4(i,j)

其中, k o ∈ R 1 k_{o} \in \mathbb{R}^{1} koR1(对于 o ∈ { 1 , 2 , 3 , 4 } o \in\{1,2,3,4\} o{1,2,3,4})表示分配给每个编码特征的权重,且 k 1 + k 2 + k 3 + k 4 = 1 k_{1}+k_{2}+k_{3}+k_{4}=1 k1+k2+k3+k4=1 O p ( i , j ) \mathbf{O}_{p}^{(i, j)} Op(i,j)表示在尺度 p p p下的融合特征。这些权重被动态地集成到网络架构中,允许通过学习进行优化,确保每个特征集都能对最终模型输出做出最佳贡献。

在特征融合之后,加权特征 O p ( i , j ) \mathbf{O}_{p}^{(i, j)} Op(i,j)通过解码器进行处理,特别是通过多层感知机(MLP),这对于细化和解释融合特征以进行模型训练至关重要:

Y p ( i , j ) = M L P ( Tanh ⁡ ( O p ( i , j ) ) ) \mathbf{Y}_{p}^{(i, j)}=M L P\left(\operatorname{Tanh}\left(\mathbf{O}_{p}^{(i, j)}\right)\right) Yp(i,j)=MLP(Tanh(Op(i,j)))

其中, Tanh ⁡ ( ) \operatorname{Tanh}() Tanh()表示双曲正切激活函数 6 ^{6} 6

模型的训练由交叉熵损失函数控制,该函数常用于分类任务。该损失函数衡量训练样本的预测标签和实际标签之间的差异,并定义为:

L p = − 1 N t r ∑ t r = 1 N t r [ L t r log ⁡ ( Y p ) + ( 1 − L t r ) log ⁡ ( 1 − Y p ) ] \mathcal{L}_{p}=-\frac{1}{N_{t r}} \sum_{t r=1}^{N_{t r}}\left[\mathbf{L}_{t r} \log \left(\mathbf{Y}_{p}\right)+\left(1-\mathbf{L}_{t r}\right) \log \left(1-\mathbf{Y}_{p}\right)\right] Lp=Ntr1tr=1Ntr[Ltrlog(Yp)+(1Ltr)log(1Yp)]

其中, N t r N_{t r} Ntr是训练样本的总数, L t r \mathbf{L}_{t r} Ltr表示第 t r t r tr个样本的真实标签, Y p \mathbf{Y}_{p} Yp表示第 t r t r tr个样本的预测标签。该函数有效地最小化了预测标签和真实标签之间的误差,从而推动训练过程朝着更高的准确性发展。
3.5. 多尺度损失设计

为了考虑图像块中不同物体可能存在的多尺度特征,我们提出将多个尺度的特征集成到解码过程中。

在我们的方法中,每个MiM模型都会对输入图像块进行下采样操作,该图像块最初由T-Mamba编码器中的STL(可能是指某种特定层或操作,但原文未明确说明,这里保持原样翻译)处理。

在从第一个MiM模型在初始块尺度 p p p上获得四个不同的特征 o 1 ( i , j ) \mathbf{o}_{1}^{(i, j)} o1(i,j) o 2 ( i , j ) \mathbf{o}_{2}^{(i, j)} o2(i,j) o 3 ( i , j ) \mathbf{o}_{3}^{(i, j)} o3(i,j) o 4 ( i , j ) \mathbf{o}_{4}^{(i, j)} o4(i,j)后,每个特征都被激活,并随后被送入下一个MiM模型进行进一步的特征标记化和下采样,如图3所示。

这个过程允许我们以级联和迭代的方式捕获多尺度特征,这可以类比为:

O p n ( i , j ) = MiM ⁡ ( MiM ⁡ ( MiM ⁡ ( ⋯ MiM ⁡ ( O p ( i , , j ) ) ) ) ) ⏟ n  times  \mathbf{O}_{p_{n}}^{(i, j)}=\underbrace{\operatorname{MiM}\left(\operatorname{MiM}\left(\operatorname{MiM}\left(\cdots \operatorname{MiM}\left(\mathbf{O}_{p}^{(i,, j)}\right)\right)\right)\right)}_{n \text { times }} Opn(i,j)=n times  MiM(MiM(MiM(MiM(Op(i,,j)))))

其中, p n < p p_{n}<p pn<p,记录了在第 n n n次MiM()迭代中的块大小。必须注意的是,所有块大小都应为奇数。迭代在 p n = 1 p_{n}=1 pn=1时结束。例如,在MiM模型下操作6次后,可以得到 p = 11 , p 2 = 9 , p 3 = 7 , p 4 = 5 , p 5 = 3 p=11, p_{2}=9, p_{3}=7, p_{4}=5, p_{5}=3 p=11,p2=9,p3=7,p4=5,p5=3,以及 p 6 = 1 p_{6}=1 p6=1
为了有效利用这些多尺度特征,我们采用了一种基于输出级别的解码策略,其中每个尺度的特征都独立地整合到损失函数中。因此,根据等式51,我们将总损失函数定义为:

L total  = 1 n ( L p + L p 2 + L p 3 + ⋯ + L p n ) \mathcal{L}_{\text {total }}=\frac{1}{n}\left(\mathcal{L}_{p}+\mathcal{L}_{p_{2}}+\mathcal{L}_{p_{3}}+\cdots+\mathcal{L}_{p_{n}}\right) Ltotal =n1(Lp+Lp2+Lp3++Lpn)

当最终的块大小 p n p_{n} pn减小到1时,迭代过程结束。因此,我们的总损失函数有效地结合了来自单个图像块的多尺度特征,以提高训练效果。

  1. 实验结果与分析

在本节中,我们首先描述了四个著名的HSI数据集。然后概述了实现细节和用于比较的方法。最后,我们进行了广泛的实验,以定量和定性地评估所提出方法的性能。由于论文格式的原因,所有评估表格都放在文章的末尾。

4.1 数据集描述

图9展示了四个HSI数据集及其对应的伪彩色图像、训练和测试样本。表1列出了这些数据集中每个类别的训练和测试样本数量。

Indian Pines(IP)数据集是一个混合植被区域,包含 145 × 145 145 \times 145 145×145个像素和220个光谱波段。为了去除水吸收带,光谱波段数量减少到200个,从而形成了16个不同的土地覆盖类别。

帕维亚大学(PU)数据集由 610 × 340 610 \times 340 610×340个像素组成,最初包含115个波段。在实验中,去除了12个噪声波段,剩下103个波段供使用。该数据集包含9种不同的地表覆盖类型。

休斯顿2013(HU2013)数据集 7 ^{7} 7用于2013年IEEE地球科学与遥感学会(GRSS)数据融合竞赛。它包含144个光谱波段,覆盖了 349 × 1905 349 \times 1905 349×1905个像素的区域,包括15种不同的地表覆盖类别。

武汉大学-洪湖(HongHu)数据集 8 ^{8} 8由中国湖北省洪湖市无人机平台于2017年11月20日获取。实验区域是一个复杂的农业场景,包含多种农作物类别,并且该区域内还种植了同一作物的不同品种。它由 940 × 475 940 \times 475 940×475个像素组成,最初包含270个波段。该数据集包含22种不同的地表覆盖类别。

为了进行公平比较,所有训练和测试样本均以固定且不相交的方式手动选择。详情可参考[19]及相应网站。

4.2 实验评估指标

为了定量评估我们提出的方法的有效性,并将其与其他方法进行比较,我们依赖于四个关键性能指标:总体准确率(OA)、平均准确率(AA)、Kappa系数(kappa)以及每类准确率。这些指标提供了分类性能的全面视图,值越高表示分类结果越优越。

所有实验均使用配备Geforce RTX 3090 GPU和Ubuntu 22.04系统的Pytorch 2.3进行。
4.3. 对比方法的简要描述与设置

我们进行了与一系列基准和最新模型的比较分析。这些模型包括原始ViT(ViT)[18]、SpeFormer[19]、MAEST[21]、HiT[22]、SSFTT[26]、3DViT[27]、HUSST[28]和ViM[51]。所有模型均作为块级分类器使用,参数设置遵循各自参考文献中的设置,特别是针对不同数据集的初始块大小。比较基于相同数量的训练样本,未进行数据增强。

  1. ViT配置为特征维度64,并包含4个多头自注意力机制。网络深度设置为4层。在所有数据集中,裁剪块的初始大小为 9 × 9 9 \times 9 9×9。我们使用 3 × 3 3 \times 3 3×3的子块大小,以非重叠方式进行划分。

  2. SpeFormer将分组光谱嵌入集成到Transformer编码器中,并包含跨层自适应融合模块以增强编码器的学习能力。在我们的实验中,所有数据集的初始块大小均配置为 7 × 7 7 \times 7 7×7

  3. MAEST为高光谱图像(HSI)分类集成了重建路径和分类路径,采用掩码自编码(MAE)。初始块大小设置为 7 × 7 7 \times 7 7×7

  4. HiT将卷积操作嵌入到Transformer结构中,以捕获细微的光谱差异并传递局部空间上下文信息。对于所有数据集,HiT的初始块大小均设置为 15 × 15 15 \times 15 15×15

  5. SSFTT结合了3D-CNN和2D-CNN,采用高斯加权特征标记器为Transformer编码器准备提取的特征。在我们的实验中,块大小因数据集而异:IP和PU数据集的块大小为 13 × 13 13 \times 13 13×13,而HU2013和HongHu数据集的块大小为 9 × 9 9 \times 9 9×9

  6. 3DViT在ViT框架内使用3D配置将光谱和空间特征集成到子立方体中。它实现了3D坐标位置嵌入和局部-全局特征融合机制,将局部细节与全局上下文相结合。对于所有数据集,3DViT模型的初始块大小均设置为 9 × 9 9 \times 9 9×9

  7. HUSST实现了一种级联方法,将光谱Transformer与空间局部-全局Transformer分层结合。它引入了跨尺度的局部-全局特征融合,以实现多尺度特征聚合。对于所有数据集,初始块大小均设置为 11 × 11 11 \times 11 11×11

  8. ViM是第一个为视觉任务量身定制的Mamba模型,被应用于高光谱图像分类以评估其可行性。其超参数与稍后详细介绍的我们提出的MiM模型保持一致。

  9. 我们的MiM模型将所有特征维度标准化为64,T-Mamba编码器的深度为2。对于IP数据集,初始块大小设置为 7 × 7 7 \times 7 7×7;对于PU数据集,设置为 11 × 11 11 \times 11 11×11;对于HU2013和HongHu数据集,则设置为 9 × 9 9 \times 9 9×9。其他设置可参见算法1。

4.4. 实验结果

4.4.1. 定量结果和分类图

表3、4、5和6分别展示了IP、PU、HU2013和HongHu数据集在5次运行下的平均分类指标,如总体准确率(OA)、平均准确率(AA)、Kappa系数和每类准确率。相应的分类图分别显示在图10、11、12和13中。

从这些结果中,很明显像原始ViT和ViM这样的基线方法并未产生令人满意的结果,尤其是原始ViT,由于其纯粹的并行和同时处理方法(例如自注意力机制)而表现不佳。这通常会导致类似噪声的分类伪影,特别是在平滑区域和土地覆盖的边界处尤为明显,因为原始ViT的分类图会显示出更尖锐的视觉伪影。相反,结合了双向序列处理和Mamba编码器的ViM通常表现出更好的性能。这种改进可以归因于类似于RNN中存在的顺序偏差,这在训练样本有限时是有利的。

作为原始ViT的增强版本,SpeFormer和MAEST取得了显著更好的结果。SpeFormer在空间和光谱域内引入了局部特征聚合,并加入了跨层连接以增强其编码器的鲁棒性。与原始ViT相比,SpeFormer在土地覆盖区域产生了更平滑的分类结果。MAEST将掩码自编码器集成到SpeFormer中,通过向原始数据添加噪声掩码并重新构建它来增强对未见数据的生成性能,特别是当训练和测试样本不相关时。MAEST在SpeFormer的基础上做出了更好的改进。

在另一个方面,3DViT将ViT扩展为跨空间和光谱域的3D序列模型,有效地将空间和光谱特征联系起来,以提高分类准确性。尽管它是一个纯粹的基于Transformer的模型,没有RNN或CNN等混合元素,但它显示出了有前景的结果。

此外,HiT、SSFTT和HUSST将CNN与Transformer相结合,以利用局部和全局特征感知能力,通常产生更优的结果。这些模型在平坦的土地覆盖区域和边界处提供了更清晰的区分。然而,它们较大的模型尺寸导致了更高的计算需求,并且对硬件的友好性较低。

我们的方法,即MiM,引入了一个带有T-Mamba编码器的MCS机制,促进了轻量级、多方向特征生成。与ViM相比,我们专用的T-Mamba编码器和扩展的双向扫描显著提高了分类性能。我们的方法比HiT、SSFTT和HUSST明显更轻量级,产生了具有更平滑区域和更明显土地覆盖边界的分类图。每类准确率具有竞争力,并且通常优于其他方法。

在图10和11中,我们重点标出了分类性能的关键差异,以便进行详细比较。

这项探索为我们未来的研究铺平了道路,即将纯Mamba模型和MCS适应到类似3DViT的3D配置中,后者将ViT扩展为3D版本。
4.4.2. 通过T-SNE进行学习的特征可视化

基于深度学习的方法擅长通过表示学习创建新的特征表示来替代原始输入。通常,这些方法会训练一个判别模型,将输入数据转换为用于如高光谱图像(HSI)分类等任务的独特输出表示,然后利用这些新特征进行聚类。

为了评估各种方法的表示能力,我们采用了t分布随机邻域嵌入(T-SNE){}^9,这是一种可视化测试样本学习特征分布的工具。

以IP数据集为例,图14展示了不同方法的可视化结果。由此可以得出两个关键点。首先,尽管在T-SNE结果中,由不同颜色表示的一些簇可能看起来位置相近,但由于T-SNE的内部机制,这种接近性不应被解释为相似性的指示。其次,相同颜色的簇在彼此相距甚远的情况下出现,凸显了T-SNE在优化非凸函数时保持局部结构的重点,这可能导致局部最小值。

可视化结果清楚地表明,我们的MiM模型有效地区分了学习的特征表示。通过T-SNE,新的特征表示不仅实现了聚类,还显示出增强的判别特性,几个簇在同一颜色下统一并显得更平滑。

4.4.3. 计算成本比较

为了评估所有方法的计算效率,我们进行了详细的统计分析,结果总结在表7中。此分析遵循之前描述的实验设置,并包括IP数据集的总训练时间(分钟)、测试时间(秒)和模型大小(参数数量)等指标。

我们的方法在处理时间上具有竞争力,在效率方面显著优于HiT、MAEST、3DViT和SSFTT等高级模型。然而,与香草ViT、SpeFormer、HUSST和ViM等较简单的模型相比,其时间稍长。在可训练参数数量方面,我们的方法证明了更高的效率,所需的参数少于其他领先方法,这凸显了其参数效率。

总之,我们的方法在运行时间和模型复杂性(以参数数量衡量)之间达到了有效的平衡。虽然它没有达到最快的训练或测试时间,但比多个复杂模型提供了更低的操作时间,并保持了可管理的参数数量。这种效率和简单性的结合使我们的方法特别适用于性能和模型可管理性都是优先考虑的场景。

4.5. 其他分析和消融研究

在本部分中,我们进行了全面的分析、实验评估和消融研究。

4.5.1. 对提出的不同组件的消融研究

在T-Mamba编码器中,我们集成了几个关键组件:STL(序列变换层)、GDM(全局动态调制)和STF(序列变换融合)。为了评估它们的有效性,我们进行了消融研究,结果总结在表8中。消融研究详细说明了每个组件的测试方法。在没有使用STL和STF的场景中,我们分别用一般的平均池化和简单求和来替代它们,以衡量它们的相对性能。

STL在合并MCS(多通道信号)特征时优于平均池化,这表明其在捕捉合并特征内的上下文信息方面具有更强的能力,从而显著提高了准确性。

GDM通过根据子序列中最后一个索引(即中心像素)的接近度对序列进行重新加权,在Mamba编码后优化了特征焦点。这种有针对性的方法增强了中心像素的突出性,减少了干扰像素的影响,并带来了适度的改进。

STF比简单求和更有效地融合了增强的特征,利用更高层次的学习表示来丰富原始特征集。仅引入STF就比求和产生更好的结果,这强调了其在加强特征表示方面的实用性。

此外,结合STL和STF带来了最显著的改进,这可能是由于它们都利用序列注意力机制且机制互补所致。

总体而言,这项消融研究表明,通过协同改进顺序模型中图像波段特征的处理方式,STL、GDM和STF的集成显著提升了性能,特别是对我们提出的MiM模型中至关重要的连续扫描特征。

4.5.2. 初始块大小分析

我们研究了初始块大小对分类精度的影响。例如,在IP数据集上,最优的起始块大小为 7 × 7 7 \times 7 7×7。这种设置使我们能够推导出四个尺度特征——尺度7、5、3和1——每个都对损失函数有贡献。因此,最终结果是通过同时训练四个损失函数获得的。

如表9所示,我们评估了一系列初始块大小( 3 , 5 , 7 , 9 , 11 , 13 , 15 3,5,7,9, 11,13,15 3,5,7,9,11,13,15)。结果,特别是四个数据集的总体精度(OA),都在同一张表中详细列出。

适当较大的初始块大小可以通过捕获更多的空间上下文来改善模型性能。然而,过大的块大小可能会带来不利影响,引入来自干扰像素的噪声。

对于相对紧凑的IP数据集,理想的初始块大小较小,确认为 7 × 7 7 \times 7 7×7。相比之下,对于具有密集空间分布但地物覆盖紧密间隔的HU2013数据集,稍大的 9 × 9 9 \times 9 9×9块大小是最优的。PU数据集以其平坦光滑的地形为特征,需要更大的最优初始块大小,即 11 × 11 11 \times 11 11×11。最后,HongHu数据集在 9 × 9 9 \times 9 9×9的初始块大小时达到理想状态。

4.5.3. 扫描设计的调查和比较

在提出的集中式MCS中,选择合适的扫描方式对顺序模型中的特征分配和定位至关重要。选择一种有效跨越空间域的交叉扫描设计至关重要。

鉴于随机和随意的扫描可能导致显著的重复性和较差的特征排列,我们制定了一条规则:在空间上,扫描应尽可能保持连续性。因此,通过研究,我们确定了几种扫描设计,如图15所示。对于每种扫描设计,都可以扩展为四种类型,类似于图5中所示的类型。

在将图像转换为序列时,Mamba扫描实现了最大的连续性。Raster扫描(光栅扫描)是一种常见方法,它将图像线性化为序列,但在图像边界处引入了跳跃连接。Diagonal扫描(对角线扫描)通过沿对角线扫描图像来实现这一点,选择对角线上的位置。相反,Zig-zag扫描(之字形扫描)通过保持图像边界处的部分连续性来修改对角线方法。

我们测试了这些扫描方法来评估其性能,结果总结在表10中。每种扫描设计都使用了一种到四种类型进行了测试。使用四种方向类型的Mamba扫描获得了最有效的结果,这证实了连续的序列排列增强了内容识别。通过将Diagonal扫描与Zig-zag扫描进行比较,这一发现得到了进一步支持,其中Zig-zag扫描由于其半连续定位而显示出轻微改进。尽管Raster扫描在图像转换任务中非常普遍,但它往往会破坏空间连续性,特别是在遥感土地覆盖分析中空间上下文很重要时,其性能不如Mamba扫描。

此外,采用四种类型的扫描增强了每种扫描方法,证明了多方向特征学习的可行性。

4.5.4. 探索T-Mamba中的特征融合策略

我们在T-Mamba编码器中开发了双向特征融合策略,包括两种方式,如图16所示:1) 后融合策略,和2) 前融合策略。为了评估这两种策略的有效性,我们在四个数据集上进行了实验。这些实验的结果详细列在表11中。

我们观察到,前融合策略在特征凝聚和聚合方面往往更为有效。这可能是因为STL模块被应用于合并后的特征上,这些特征包含了图像的全部特征。因此,STL能够全面分析整个图像的内容,促进特征的凝聚和抽象,类似于对图像的“全局”感知。随后,STF模块利用整个图像的池化特征 z \mathbf{z} z,来实现对图像特征的整体理解。相比之下,后融合策略将STL和STF独立应用于每个分支,而没有跨分支整合语义信息。这种方法与前融合策略相比,特征整合的效果较差。

因此,对于我们的高光谱图像(HSI)分类任务,我们没有直接采用ViM模型,即将两个独立分支分开,而是开发了一种更合适且创新的方法,通过战略性的特征合并和处理来提高性能。
4.5.5. 与其他序列网络的比较

在T-Mamba开发完成后,我们将其与其他已建立的序列网络进行了比较实验:包括RNN、GRU、LSTM、普通Transformer编码器、RT(LSTM和Transformer的混合体)[44]以及普通Mamba模型[46]。这些模型都在每个时间步处理向量输入,使我们能够直接将它们集成到我们的系统中进行直接比较。我们需要注意的是,所有网络在MiM模型中的四种MCS类型之间并不共享参数。所有测试均在相同条件下进行,结果如图17和图18所示。

基本RNN的性能最低,这受其处理序列数据的基本方法的限制。GRU和LSTM均表现出相似的结果,但GRU由于结构更简单(比LSTM少一个门),因此效率更高。RT模型将LSTM的序列处理与Transformer的自注意力相结合,表现出增强的性能,这突显了将这两种方法结合起来的优势。尽管RT模型的性能优于独立的LSTM和GRU,但它需要显著更大的参数集。

我们新设计的T-Mamba在基本Mamba编码器的基础上增加了标记化能力,虽然增加了一些参数,但在分类性能上实现了显著提升。与其他模型相比,T-Mamba在模型大小和效率之间达到了最佳平衡。它在效率上超越了普通Transformer编码器,提供了一个更轻量级且稳健的解决方案。虽然RT提供了具有竞争力的性能,但其较大的模型尺寸和较高的资源消耗并不理想,这使得T-Mamba在效率和有效性方面成为更有优势的选择。

4.5.6. 在数据增强下对Mamba和Transformer的进一步讨论
Mamba被引入作为Transformer的替代品,用于高效且轻量级的序列特征编码。然而,与采用全局注意力的Transformer不同,Mamba以类似线性的方式处理序列。Transformer的自注意力机制因其能够在足够数据的情况下很好地泛化,而被广泛应用于各种应用中,这使得庞大的训练数据集成为实现最佳性能的必要条件。在此背景下,我们进行了进一步的实验,以评估基于Mamba的方法与基于Transformer的方法。

这些实验主要集中在训练样本的增强上。我们设定了两个场景:1) 使用从地面真实情况中随机选择的10%的通用样本,这是HSI分类中的常见做法;2) 通过几何变换增强数据——包括 − 4 5 ∘ -45^{\circ} 45 9 0 ∘ 90^{\circ} 90 13 5 ∘ 135^{\circ} 135旋转,以及垂直和水平翻转,如[62]所述。

以IP数据集为例,其中不同土地覆盖类别的标记像素通常是不平衡且稀缺的,我们在场景1中最初选择了1024个训练样本,这显著多于之前使用不连续且固定训练集的实验。对于增强的场景2,我们对不连续的样本应用了几何变换,从而大幅增加到了4170个训练样本(695个样本乘以6)。

表12中的详细结果表明,将训练样本数量增加到近两倍,提高了所有模型(包括我们基于Mamba的模型)的性能,尽管各方法之间的准确率差距大幅缩小。这进一步由SpeFormer和ViM这两种纯粹模型驱动的方法之间性能差距的缩小所证明。

然而,当训练样本数量扩大到六倍,即4170个时,我们的MiM模型不再是表现最好的。相反,结合了MAE和先验掩码的MAEST取得了最佳结果。基于Transformer的模型通常表现良好。这种改进可能归因于Transformer的机制,它能够有效地利用充足的训练样本来增强其识别和泛化能力,这与文献中的观点一致,即当数据足够时,Transformer可以优于CNN。

因此,虽然我们的MiM模型在样本有限、不连续且固定的情况下表现出色——这些条件模拟了现实世界中的HSI应用,但基于Transformer的方法在训练数据充足的情况下往往表现更好。

  1. 结论

在本研究中,我们介绍了一种新颖且开创性的高光谱图像(HSI)分类方法,该方法利用了新开发的Mamba架构。具体来说,我们实现了一个集中式的多方向特征聚合多分类器系统(MCS),与Mamba序列模型一起,为视觉认知创建了一个更轻量且更简化的框架。为了进一步增强这一架构,我们设计了一个T-Mamba编码器,其中融入了双向全局依赖建模(GDM)和自训练层(STL),以优化特征质量并支持由下采样驱动的语义标记表示。同时,提出的序列变换融合(STF)有效地将学习到的抽象表示与原始序列特征相融合。此外,我们还集成了权重映射融合(WMF)模块和多尺度损失函数,以优化解码效率。作为首个基于视觉Mamba模型的高光谱图像分类应用,我们的结果显著优于其他基线和在有限且不连续数据样本下的最先进方法。然而,在增强的训练样本下,基于Transformer的模型往往表现更佳。未来,我们计划扩展我们的想法,包括Mamba模型的3D版本,其中可能利用光谱信息的扫描一致性。

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值