paper:Spectral-Spatial Attention Networks for
Hyperspectral Image Classification
空谱注意力网络应用于高光谱图像分类
摘要:
CNN、RNN等深度学习模型被广泛应用于高光谱任务中提取深层特征。受人类视觉系统的启发,本文提出一种空谱注意力网络来进行高光谱图像分类。本文方法中,具有注意力机制的RNN可以通过连续光谱段学习内部光谱间的关系;具有注意力机制的CNN聚焦于空间域内显著特征和邻近像素的空间相关性。实验结果表面本文方法充分利用了空间、光谱信息,获得很好的效果。
1.介绍
高光谱成像,也称为成像光谱学,从可见光到红外波长范围的数百个狭窄、连续的光谱段上捕获同一区域反射或发射的电磁能量。
针对高光谱图像分类,传统的方法忽略了空间信息。基于空间-光谱信息的方法因为融合了附加的空间信息,可以取得更好的分类效果。
1.1动机
深度学习算法由于其杰出的预测能力,被应用到现代HSI分析中。深度学习算法可以提取更具显著性的特征,实现更好的分类效果。深度模型,例如1D卷积网络、2D卷积网络、3D卷积网络,被应用于高光谱数据分析。
1D网络方法将光谱作为输入,仅使用光谱信息来学习特征;Mou[13]等人利用循环神经网络(RNN)对HSI中的像素谱进行建模作为分类的1D序列,他们发现修改后的门控循环单元(GRU)优于传统方法和基线卷积神经网络(CNN)。基于深层空谱特征的方法被提出:Yang[15]等人设计了2D-CNN模型来同时学习光谱和空间特征;Cao[17]等人在一个统一的贝叶斯框架下,通过CNN与马尔可夫随机场结合,对HSI像素向量进行分类;空谱统一网络[18]将基于光谱维波段分组的长短期记忆(LSTM)模型与提取二维空间特征的CNN相结合,融合了光谱有限元(FE)、空间有限元和分类器训练,变成一个统一的神经网络;结果显示充分利用空谱信息可以很大地改善精确度。
注意力机制增强了对包含宝贵信息的特征的感知性。注意机制使模型能够聚焦于特征空间的关键部分,区分无关信息。它首先被应用到语言翻译中,它学会了在翻译句子时关注特定的单词或短语,在长序列上表现出很大的性能提升。将HSIs中的光谱维度数据作为序列数据,通过上述方法,注意机制可以捕捉到相邻光谱之间的高光谱相关性。
**
1.2贡献
**
本文主要贡献包括下面三方面:
设计了光谱注意力双向RNN分支和空间注意力CNN分支联合网络,来提取空谱特征。如Fig1所示,注意力机制用于强调有意义的特征。我们的目标是通过使用注意力机制改善表征能力,即,关注邻近光谱维度和空间依赖性之间的连续,同时抑制不必要的特征。
设计了具有注意力机制的双向RNN网络,用于处理前向和后向的光谱信息。对于每个像素点,将一个光谱向量分解为一组有序的单个数据,逐个输入GRU单元。附加的注意力权重增强了光谱通道间的光谱联系。与RNN相比,双向RNN效果更佳。
对于空间轴,我们在二维CNN上增加注意力机制,并在像素点周围的块上训练这个模型。与平等考量每个图像区域相比,注意力参数为关键部分分配了更大的权重,使得模型聚焦于重要特征。增加注意力的CNN与CNN相比,中心像素点得到更好的划分。
2. 相关工作
介绍双向RNN,CNN和注意力机制的背景知识。
2.1双向RNN
RNN通过在连接时使用循环,扩展了传统的前馈神经网络,在解决很多具有挑战性的序列数据分析中获得了极大的关注,如语音识别和语言建模。与前馈神经网络不同的是,RNN因其循环隐藏状态被称为循环神经网络,其每一步的激活依赖于之前的计算。RNN有一个记忆函数,可以记住到到目前为止的所有被计算信息。
RNN结构如图2左半部分所示。双向RNN的展开结构如图2右半部分所示,展示了计算过程。RNN中的隐藏层,维持了每次迭代的隐藏状态,该层接收输入向量x,并且生成输出向量y。Bi-RNN将两个反向运行的隐藏层连接到一个单独的输出,允许它们接收来自过去和未来状态的信息。这两种输出状态都不与相反方向的输入相连接。通过同时使用输入数据的两个方向,可以使用来自过去和未来的信息来计算输出。
引入LSTM、GRU来学习长期依赖性,同时缓解梯度消失问题。这两种架构与RNN并无根本上的差异,但他们使用不同的函数计算隐藏状态。与LSTM相比,GRU不维护单元格状态C,它使用两个门替代了三个门,GRU的参数更少,因此可以训练的更快,泛化需要的数据也更少。
2.2CNN
CNN是视觉任务领域中另一个留下的深度学习模型。从根本上来说,哺乳动物的视觉系统是具有空间层次的。受此启发,CNN具有一个可训练的多层架构,其由一系列卷积层、非线性层和池化层交替堆叠而成。CNN被用于学习边缘、纹理等低级特征,以及包含更具识别性信息的高层特征。典型CNN结构如图3所示。
在卷积层,并不是与输入全连接,而是每个隐藏层单元通过共享权重连接到输入周围的局部感受野,局部感受野可能是k个尺寸为mn的二维特征图。卷积层通过尺寸为ll*q的卷积核Wi计算输入特征图Xi的卷积,然后采用element-wise非线性激活函数。第l层的第i个特征图的激活函数是:
bi-----------------------------第i个特征图的偏置项;
Xj-----------------------------之前层的第j个通道;
非线性激活函数概括了一些输入位置的响应,它通常通过ReLU(f(x) = max (0,x) )计算输出特征图(p i = f(ci))。池化层计算经过划分后每个特征图的各个区域上的最大值或平均值,最大值池化最常见。池化操作通过降低特征图的分辨率来维持不变性。对叠层完成后,常采用全连接层和softmax层来预测分类标签。与其他神经网络相比,CNN由于权值共享和局部连接方案,连接和参数更少,训练起来更容易。
2.3注意力机制
注意力机制的使用,是的神经网络专注于现有信息的某一部分,并且每个像素都有一个独立的权重,强调了显著性和有效特征,弱化了不利于分类的信息。
空间变换网络智能聚焦于图像的特定区域,是注意力机制的一个特殊案例;Kim等人采用联合残差注意力模型,利用注意力机制旋转最有价值的视觉信息,从而加强针对视觉问答问题的语言特征选取和特征提取;Yang等人提出用注意力机制提取转换层上额外的有意义的信息,并传递给下一个特征提取块以供后续特征开发。在HSI分类方面,通过堆叠已提出的attention inception模块构建成网络,该网络可以通过attention inception模块之间的动态路由自适应地学习网络架构。他们设计了一种新的神经网络,该网络有一个反馈注意机制的“主干分支”和一个带门控注意力机制的“掩膜分支”,用于对极高分辨率遥感图像进行像素级分类。
正如前述研究提及的,许多网络使用注意力机制,通过全局信息对原始数据的内部关系和依赖性进行建模,并将更高的优先级分配给信息量更大的区域。获得的注意力权重图可用于特征的再校准。它模拟了使人类视觉系统立即被复杂图像中的一小块重要信息吸引的生物过程。我们可以重新学习基于特征的权重,以获得更多相关的、值得注意的信息。
3. Method
本方法包括三个主要部分:基于双向RNN的光谱注意力特征学习器,基于CNN的空间注意力特征学习器,协同训练模型。
在我们的工作中,注意力机制十分重要。针对光谱分类,鉴于每个像素都可以被表征为包含丰富光谱特征的连续光谱曲线,我们可以通过注意力机制关注特征的波段间关系。在空间维度,我们将空间特征视作光谱信息的补充;此分支通过挖掘CNN的空间注意力,改善了兴趣表达,关于特征的空间内的关系。然后,我们将两个分支连接到全连接层,学习高层次的联合空谱特征,经softmax层后,获得预测类。
3.1具有注意力机制的RNN应用于光谱分类
RNN是针对各种序列问题建模的流行架构,提出Bi-RNN以充分利用前后的信息。通过将所有高光谱像素的光谱看作一个序列,我们设计了Bi-RNN模型,包含了一个前向GRU层和一个反向GRU层,如图4所示。我们的模型在向前、向后两个方向处理输入,到达具有两个独立隐藏层的相同输出层。
输入是一个高光谱向量x的光谱向量,x = ( x1, x2, …, xn ),Bi-RNN隐藏向量计算方法如下:
前向隐藏状态:
反向隐藏状态:
t--------------------------------------从1到n,第一个光谱段到第最后一个光谱段。
←W、→W---------------------系数矩阵来自当前步骤的输入
→V-------------------------------来自前一步骤的隐藏状态ht-1
→V-------------------------------来自后一步骤的隐藏状态ht+1
f-----------------------------------隐藏层非线性激活函数
编码器输出作为输出的内存,gt:
Concat(.)是连接前向隐藏层和后向隐藏层的函数。
Bi-RNN通过逐个输入光谱向量,在前、后两个方向学习连续的光谱特征。如果我们直接将每个光谱段的数据相加求平均值,这意味着每个光谱通道对分类任务的贡献都是相同的。实际上光谱是具有波峰和波谷的连续曲线,而不是具有固定值的直线。因此,一些光谱段应该权重较小,关键光谱段权重应该更大。Bi-RNN中引入注意力机制,模型会给每个光谱通道分配合适的权重,从而使得模型可以捕捉光谱内部信息并进行分类。
与传统RNN模型相比,我们添加了注意力层来解码不同的光谱信息,学习特征。注意力层定义如下:
Wi和Wi’是转换矩阵,bi和bi’是偏置项,softmax(.)是将非标准化映射为概率分布,并将输出约束在(0,1)内。
计算预测像素x的标签yt:
U(.)是所有状态之和,这些状态由相应的注意力权重来加权。
(4)是一层神经网络。这一层将Bi-RNN的状态在其当前向量空间中进行重新排列,然后tanh激活将其变换得到eit,作为ht的一种新的隐藏表示。注意力权重α通过softmax层产生,如(5),我们基于et与另一个通道的向量的相关性来衡量输入的重要性。得到心学习的注意力权重后,我们使用软注意力操作(6)更新标签表征向量y。
通过注意力机制,我们的模型采用更合理的解释。一些光谱数据起着关键作用,一些光谱数据没有意义。同时,我们的Bi-RNN模型能更好第标准高光谱数据的光谱特征,更关注相邻波段的相关性,使训练模型更加准确。
3.2具有注意力模型的CNN用于空间分类
本文的CNN模型旨在提取鲁棒的空间特征。我们在空间CNN上添加的注意力机制关注的是整个输入块上空间相邻像素和显著性特征的依赖性关系。实验基于CNN和注意力CNN,显示注意力权值对框架分类有很大贡献,注意力CNN框架如5所示。
首先,为了融合所有波段的空间信息,抑制噪音,我们通过PCA对HSI降维。目标像素和邻域的关系越紧密,为目标像素创建的块就越小。例如,Pavia University数据集的前三种成分被保留,因为它们包含约99.3%的信息。在每个像素点周围。我们创建kk3尺寸的领域块,作为空间分支的输入。通过增加注意力机制,CNN模型可以估计不同区域内部的显著性和相关性。
与光谱注意力不同,空间注意力专注于哪里有信息,是对光谱注意力的补充。CNN注意力增设在卷积层之前。针对输入的mnc的邻域,我们通过利用特征的内部空间关系生产有效的特征描述器。空间注意力由与特征图大小m*n相同的权重矩阵α表示,元素αij表示邻域中位于(i,j)的cPCA通道组成的像素向量Sij的注意力权重。
空间注意力权重图α通过两步计算。第一步,通过单层神经网络得到分别是表示,如(7)所示。第二步,sigmod函数计算αij,它计算第i个位置和第j个位置之间的影响。此外,音乐享受的特征表示表明所提高的两个位置的相关性越大。空间注意力模型的定义如下:
是映射图像视觉特征的转换矩阵,
是模型偏置项。σ(·)是sigmod函数,将注意力权值约束在(0,1)之间。
针对每个patch,卷积层使用滑动窗口作为核来移动,通过计算点对点的内积可以在这个patch中找到相似的特征。池化层选择值来减小特征图维度。卷积核为5*5,池化层步长为2.全连接层拥有1024个单位。表1列出了空间注意力网络的其他设置。
3.3融合
在我们的方法中,最后一步将两个分支连接起来进行协同训练,完整的框架如图6所示。分别采用带注意力网络的Bi-RNN和带注意力网络的CNN作为光谱特征学习器和空间特征学习器。为了利用光谱相关性和空间特性和提取综合空谱特性,我们将Bi-RNN的最后一个完全连接层与CNN的一个全连接层连接,形成一个新的全连接层, 紧随其后的是另一个全连接层,表征联合空谱特性。softmax回归层预测每个类的概率分布。
具有注意机制的光谱RNN更关注可识别的本质特征和内部光谱相关性,而有注意力空间CNN用空间结构特征和内部空间相关性补充邻域信息,使得分类图更加均匀,准确率更高。合并层对空间信息和光谱信息进行融合和平衡,其结果在类别概率估计中多样性最大。
与手工特征相比,在端到端框架中训练的深层联合空谱特征更具显著性和鲁棒性。由Bi-RNN和CNN组成的协同训练网络,增加了注意机制,提高了特征提取的有效性,提高了高光谱分类的准确率。
4.实验结果
此部分介绍三个数据集,以及光谱空间注意力网络(SSAN)的配置。除此之外,基于提出方法和其他方法的分类表现做了比较。
NVIDIA RTX 2080Ti GPU
tensorflow-gpu 1.9.0
Keras 2.1.0 with python 3.6.
4.1数据描述
• Pavia Center: 第一个数据集由ROSIS获得。在去除13个噪声通道后,我们使用102个光谱波段。图像为1096×715像素,覆盖了Pavia的中心。可用的训练样本包括9个城市地物类。
• Pavia University: 第二个数据集是在Pavia上空飞行时由ROSIS传感器获得的。ROSIS-03传感器在430 - 860nm范围内的115个光谱通道中记录原始图像。去除12个噪声频带,采用左边103个频带。图像的空间尺寸为610×340像素。地面真值图包含9种不同的城市地物类型,每种类型都有超过1000个标记像素。
• Indian Pines: 第三个数据集是由AVIRIS传感器在印第安纳州西北部的印第安松试验场采集的。去除覆盖水吸收特征的波段,本文使用剩余的200个145×145像素波段。原始数据包括16个已识别的代表地物类型的类的观测数据。
在我们的实验中,训练集是从地面参考数据中随机生成的,剩余的参考样本组成测试集。对于深度学习模型,训练集由标记样本和验证样本组成。为了克服类别不平衡问题,不是通过每个类的平均百分比来分裂数据集,我们在帕维亚中心数据集和帕维亚大学数据集每个注释类的训练集中,随机选择100个标签样本和100个验证样本, 具体如表2和3。在Indian Pines数据集中,同样的问题,该数据集中有部分类样本小于100。表4给出了不同类以及对应的训练集和测试集的详细信息。
the Pavia Center 数据集,选择四种主要成分,占原始信息的99%,然后提取图像块作为CNN分支的输入。相似的,the Pavia University选取三种主要成分,the Indian Pines数据集选取四种主要成分。
4.2参数设置
有三个主要的参数对我们的实验有重要的影响:学习率,空间大小和dropout。在本节中,我们将详细评估我们提出的模型的不同参数设置对性能的影响。
(1)学习率:首先,我们测试不同学习率的影响。学习率控制着每次更新模型权值时的学习过程和分配误差的大小。在极端情况下,学习率可能太大而导致训练周期的振荡,也可能太小而无法收敛。模型的学习率为[0.0003,0.0005,0.0008,0.001,0.003,0.005,0.01],基于分类精度的最佳学习率为:Pavia Center数据集0.005,Pavia University数据集0.0005,Indian Pines数据集0.0005。
(2)空间大小:CNN学习的空间特征严重依赖于空间邻近区域的大小。由于我们固定了减少的通道数,我们测试空间大[15×15,19×19,23×23,27×27,31×31]来获取足够的空间信息。结果如表5所示,在批次大小为128,每个数据集的最优学习率下,经过10000次训练迭代,得到全部结果。空间输入的规模越大,学习空间特征的机会就越多。然而,较大的空间区域也会带来负面影响,带来不必要的信息,并有可能出现过平滑现象。为了公平的比较,我们将27×27的空间大小固定在不同的分类方法中。
(3)Dropout:神经网络在训练过程中,神经元之间产生相互依赖,导致数据过拟合。Dropout是神经网络中的一种正则化方法,有助于减少相互依赖的学习,防止过拟合。我们用不同的dropout比率来测试。表6显示Pavia University数据集的dropout率为0.6,Pavia Center数据集dropout率为0.5,Indian Pines数据集在dropout率为0.5时精确度最高。
4.3分类结果
为了演示提出模型SSAN的优势和高效性,我们将其与一些算法进行对比。传统方法如KNN和SVM、先进的机器学习算法如CNN、RNN、ARNN(带注意力的)、ACNN(带注意力的)。这些算法总结如下:
(1) KNN: k-最近邻, Pavia Center数据、Pavia University数据集和 Indian Pines数据集的k参数分别设置为3,5,5。
(2) SVM: 径向基核函数的支持向量机。
(3) RNN: 基于GRU的双向RNN,基于本文SSAN中的RNN模型。学习率和训练步骤经过优化,实现了较高的分类精度。
(4) CNN: 2D-CNN, 与SSAN中的CNN结构相同。在验证样本上优化学习率和空间输入大小。
(5) ARNN: SSAN中的注意力Bi-RNN分支.
(6) ACNN:SSAN中的注意力CNN分支.
(7) SSAN: 提出的空谱注意力网络。
为了公正地比较,所有方法我们都使用相同的训练和测试集,所有的算法都执行了二十次。采用20次运行得到的标准差相加的平均结果,可以减少随机选择的影响。OA、AA、和Keppa系数k被用作评估标准。
4.4Pavia Center数据集的结果
深度学习模型以及本文模型在Pavia Center数据集上得到的分类如图7所示,相应的准确率项包括OA、AA和keppa系数如表7所示。本文方法比其他方法表现更优异,SSAN得到了最高的OA、AA、keppa系数以及最佳的分类效果。表7中,比较OA和AA的值,我们可以发现大部分结果都是不平衡的,例如SVM中的类Bitumen,RNN中的类Self-Blocking Bricks,这两类分类准确度较低。SSAN方法获得了更平滑和均匀的结果,证明仅使用光谱或空间信息是不够的。ARNN和RNN相比,Self-Blocking Bricks明显改善,从50.46%到76.69%。ACNN中Asphalt, Tiles and Shadows的分类精度与CNN相比也都增长了。考虑到所有类别分类的准确性,SSAN在训练样本较少和分类间不平衡的前馈下具有更强的鲁棒性。
4.5Pavia University数据集结果
图8给出了深度学习网络和我们的方法得到的的定性分类图。表8列出来指标结果和评价措施。SSAN优于其他方法,在大部分类上都取得了最高的精度,除了在Asphalt和Meadows类上,分类精度略低于ARNN。通过添加注意力机制,Meadows和Self-Blocking Bricks类在ARNN中分类精确较RNN有很大改善。Trees, Bitumen and Shadows类在ACNN中分类结果比在CNN中好。通过分类图,我们注意到大部分地物都分类准确,且访问和道路边缘清晰。尽管如此,自然植被区内一些分散多样的的误分类,尤其是Bitumen和BareSoil,破坏了目标的完整性。通过添加注意力机制将ARNN与ACNN结合,结果显示SSAN模型优于其他方法,可以获得更好的分类图
4.6Indian Pine数据集上的结果
图9显示了Indian Pine数据集的伪彩色图像和相应的地面真值图以及模型的分类图,表9显示了相应的准确性指标。传统方法很少利用浅层光谱特征,忽略了丰富的空间特征,导致分类表现不佳。其他方法得到的分类图有很多噪声点,将Soybean-mintill和class Building-Grass-Trees-Drives与其他类混淆。对比ARNN和RNN,注意力层有效改善了数据集中的大部分类的分类精度。相似地,对比ACNN和CNN,通过注意力机制,Alfalfa,Grass-pasture-mowed,Soybean-clean 和Buildings-Grass-Trees-Drives在ACNN中表现更好。从这些分类图可以看出,有些类很难被正确分类,这些分类器的有效性和鲁棒性带来了挑战。
将ARNN与RNN对比,ACNN与CNN对比,注意力权值捕捉相邻通道的空间联系和空间内部依赖性,有助于聚焦于强相关特征和纠正严重分类错误的像素。SSAN提高了不可分辨类的准确性,得到了更骄傲均匀和平滑的结果。误分类一个肯的原因是一些不可分辨类可能在光谱或空间域具有相似的特征。另一点值得考虑的是IndianPine数据集的某些类过于不平很,无法学习足够的可辨别特征。为了客服这些问题,SSAN在获得同质分类图方面优于其他算法,且显示了最高的准确率。
结果表明,SSAN具有注意机制的两个分支,在HSI分类中是有效的。显然,上述传统方法,如SVM和KNN,表现出较差的性能。深度学习方法,如CNN和RNN,是有效的,因为他们的区别性的特点。通过RNN与ARNN、CNN与ACNN的比较表明,注意机制在我们的方法中起着重要的作用。在注意力权值范围内,CNN更关注空间域的显著性特征,RNN试图从相邻光谱中学习光谱相关性。我们的融合网络结合了空间维度和光谱维度,在所有场景的所有比较方法中显示了良好的平衡结果。
5.结论
本文提出了一种新的基于ARNN和ACNN的双分支协同训练方法来提取光谱空间特征,用于HSI分类。受人类感知图像启发,强调信息特征并抑制不必要信息,我们将这一机制纳入我们的模型。ARNN和ACNN分别从光谱和空间信息学习特征,通过注意力权重,它们掌握了连续光谱域之间的大量光谱内联系,聚焦于空间维度的邻域像素的相似空间特征。特别地,我们使用Bi-RNN来学习光谱段的前向和后向信息。协同训练网络可以学习更高层空谱联合特征,从ARNN和ACNN继承特征。对三个公开数据集的实验结果的分析表明,我们的方法不仅性能优于其他方法,而且提取出更高的同质显著特征表征。
我们的工作证明了注意机制在HSI分类中的有效性,并且我们计划将我们的方法推广到其他更复杂的遥感应用中,例如在不久的将来进行分解和更改检测。