基于注意力机制的多目标优化高光谱波段选择 下载: 1076次
1 引言
高光谱遥感图像是成像光谱仪以数十乃至数百个连续且细分的光谱波段对地面目标区域同时成像得到的同时具有空间和光谱信息的三维结构图像[1]。凭借纳米级的光谱分辨率,高光谱图像具有很强的地物分辨能力。但其相邻波段的相关性较强,存在较高的数据冗余[2],再加上高光谱图像本身存在小样本问题,在数据分析(如分类)时会产生较高的计算成本,并且极易导致“Hughes”现象的产生[3]。因此,对高光谱图像进行降维预处理是十分必要的。
高光谱图像的降维方法主要分为特征提取和波段选择两大类[4]。特征提取方法就是利用线性或非线性方法将原始特征从高维转换到低维,从而产生新的特征空间。但是原始高光谱数据在经过特征空间转换之后,数据的特征理解性很差,不具备原始的物理特性[5]。波段选择方法是从原始波段集合中选择一个波段子集,这样可以在保留原始数据物理意义及光谱特性的同时降低数据的维度。
现有的高光谱波段选择算法可以分为三类:滤波式、封装式和嵌入式。滤波式算法通过计算数据本身的固有属性来评价和选择波段,如最大方差主成分分析(MVPCA)[6]、基于几何方法的波段选择(OPBS)[7]和近邻传播聚类[8]等,此类算法的计算复杂度低,但波段子集的性能不稳定。封装式算法利用后续算法模型检测波段的选择性能,Ma等[9]利用随机森林和支持向量机两种分类器,从分类精度、计算时间和稳定性三个方面构建评价标准,进而选择波段。虽然封装式算法所选波段子集的分类精度较高,但是每一次迭代都需要重新训练模型,计算相对比较耗时。嵌入式算法在模型训练过程中通过优化目标函数来完成波段选择任务,避免了模型的重复训练,可以快速获得最优特征子集。Tschannerl等[10]利用自编码器重构光谱特征,对不同的输入权重进行稀疏优化,实现了波段选择。
注意力机制(AM)是深度学习领域中的一个研究热点,它通过对深度学习网络中不同的关注部分赋予不同的权重来抽取更加关键的信息[11]。Lorenzo等[12]构建了基于注意力机制的卷积神经网络(CNN),并用其对高光谱图像进行波段选择,但提取到的波段子集的相关性很强,数据冗余较大。Cai等[13]将波段选择任务转换成使用少量特征波段对原始光谱数据进行稀疏重建的任务,但是该算法仅从波段信息量的角度进行波段选择,难以确保所选波段最利于分类。
本文提出了一种基于注意力机制的多目标优化(MOP)波段选择方法(AM_MOP),该算法将Hu等[14]提出的注意力模块SENet嵌入到自编码器(AE)构建的编码-解码网络中,结合多目标优化方法将交叉熵损失与均方误差(MSE)损失非负加权之和作为模型的目标损失函数,以充分学习光谱数据之间的非线性关系,实现端到端的高光谱波段选择。最后,在Botswana与Indian Pines高光谱数据集上进行了波段选择实验,以验证所提算法的性能。
2 本文算法
高光谱图像的波段选择一般基于以下两个原则[15]:1)信息量原则,即少量波段包含全波段数据的大部分信息量;2)利于分类原则,即波段子集有利于地物分类,直接表现在波段子集的分类精度上。Cai等[13]依据信息量原则,利用注意力机制筛选少量波段进行光谱稀疏重构,迫使网络选择信息量较大的波段。本文拟借鉴这一方法的思路,并在信息量原则的基础上,考虑了利于分类的原则。
本文算法利用自编码器构建一个编码-解码网络,并将注意力模块嵌入到网络前端。主要思路包括两方面:一方面,通过编码-解码网络进行波段的稀疏重建任务,利用均方误差衡量稀疏重建的误差,选择信息量较大的波段;另一方面,将网络中编码部分提取到的特征向量用于计算交叉熵损失,通过降低交叉熵损失使注意力模块关注更有利于分类的特征(波段)。结合多目标优化理论,通过对比实验设置两类损失的加权系数,使网络中的两种损失同时得到优化。最终通过训练,选择注意力模块中各波段权重大的波段子集,这些波段子集即为波段选择结果。
2.1 SENet结构
SENet是一种可以嵌入到其他深度学习网络中的模块。其核心思想是通过降低训练损失学习特征通道的权重,使重要性较高的特征通道的权重较大,而重要性较低或无意义的特征通道的权重较小[14]。因此,本实验选择SENet学习光谱通道的权重。
在SENet中,处理过程主要包括Squeeze、Excitation和Reweight三个步骤[14]。Squeeze部分对维度大小为W×H×B特征图进行全局平均池化(GAP),沿着空间维度进行特征压缩,获取全局感受野,输出大小为1×1×B;Excitation部分使输入先经过一个全连接层(FC)实现数据的降维(1×1×(B/k)),其中k为SENet中的参数,然后再经过一个全连接层对数据进行升维(1×1×B),得到各个特征通道的权重;Reweight部分将权重与原数据相乘,完成各特征通道的加权。SENet结构如
2.2 两类损失的多目标优化方法
大部分的机器学习问题本质上是一个多目标优化问题[16]。在深度学习领域中,多目标优化问题可以理解为将多个损失函数通过非负加权转换为单目标优化问题。其定义为
式中:L代表总目标函数;Li代表第i个损失函数;wi代表第i个目标函数的权重;n为损失函数的个数。本文选择均方误差损失(LMSE)和交叉熵损失(LCross Entropy)加权作为总损失函数。这两类损失函数公式分别为
式中:yi为单个像素在第i个波段的真实值;
模型的总目标损失为两类损失的加权之和,训练过程中需要设置合理的权重,使两类目标得到优化,但是对两个权重进行遍历组合则计算量较大。本文将均方误差损失的权重设为1,交叉熵损失的权重系数设为γ,则总目标损失函数L可表示为
权重系数γ的大小由后续对比实验确定。
2.3 波段选择模型结构
本文提出的波段选择模型结构如
注意力模块由一个SENet组成,该模块将单个像元包含的一维光谱数据作为模型输入。光谱重构模块是由自编码器构成的编码-解码网络,该模块对光谱数据进行编码,提取深层特征(降维),然后将深层特征进行解码重构(升维),计算重构数据与原始光谱数据的均方误差损失。每个自编码器的输出均经过批归一化(BN)层与ReLU激活函数。为了避免梯度消失导致注意力模块得不到有效学习的情况,网络中的编码器和与之相对应的解码器之间使用跳跃连接(skip-connection)[17]。分类模块将光谱重构模块中编码部分提取到的深层特征向量(latent vector)输入到全连接层中,经过Softmax激活函数后计算交叉熵损失。最后将两类损失加权求和得到总目标损失,再通过训练使总目标损失收敛。模型中各层的输入、输出尺寸以及激活函数如
表 1. 模型中的数据尺寸及激活函数变化
Table 1. Data size and activation function change in the model
|
本文算法的具体实现步骤如下:
1) 数据预处理。去除高光谱数据中的水吸收及噪声波段,对原数据进行min-max标准化,将所有像元值缩放到[0,1]范围内。
2) 模型训练。将一维光谱数据(1×1×b)作为模型输入进行训练,直到损失收敛。
3) 选择波段。提取注意力模块中各波段的权重,比较每个波段权重的大小,选择权重较大的波段作为最终的波段。
3 数据集与评价标准
3.1 实验数据集
本文选择Botswana与Indian Pines高光谱图像数据集对模型波段的选择效果进行验证。Botswana原始数据集包含242个光谱波段,去除噪声和受水汽影响的波段(去除波段序号为1~9, 56~81, 98~10, 120~133, 165~186)后剩余145个波段;Indian Pines原始数据集包含220个光谱波段,去受除噪声和水汽影响的波段(去除波段序号为104~108, 150~163, 220)后剩余200个波段。Botswana数据集和Indian Pines数据集的拍摄地点、成像传感器、分辨率、地物类别数及样本数等信息如
表 2. 高光谱图像数据集
Table 2. Hyperspectral image data set
|
图 3. Botswana数据集的真彩色图像和地物真值图。(a)真彩色图像;(b)地物真值图
Fig. 3. True color image and ground truth map of Botswana data set. (a) True color image; (b) ground truth map
图 4. Indian Pines数据集的真彩色图像和地物真值图。(a)真彩色图像;(b)地物真值图
Fig. 4. True color image and ground truth map of Indian Pines data set. (a) True color image; (b) ground truth map
3.2 评价标准
本实验从分类精度和信息量两个方面对波段子集进行评价。采用总体分类精度(OA)、平均分类精度(AA)和Kappa系数这三种常用指标来衡量波段子集的分类精度。其中:总体分类精度是指在测试集上分类正确的样本占所有样本的比例;平均分类精度是指在每一地物类别样本中分类正确的样本占总样本的比例;Kappa系数也是一种衡量分类精度的指标,主要用于衡量模型预测效果和实际分类效果的一致性。利用混淆矩阵计算Kappa系数,计算公式为
式中:N表示总样本的个数;r表示混淆矩阵的行数;xi+表示混淆矩阵第i行元素之和;x+i表示混淆矩阵第i列元素之和;xii代表混淆矩阵第i行、第i列的元素值。
利用支持向量机(SVM)计算总体分类精度、平均分类精度和Kappa系数。计算策略如下:从波段子集中随机选取10%的样本作为训练集,对SVM分类器进行训练,将其余数据作为验证集。对每种算法提取到的波段子集进行10次重复实验。
平均光谱散度(MSD)[18]用来衡量波段之间的相关性,MSD值越大,所选波段之间的相关性就越小,信息量也就越大。本文采用MSD定量分析波段子集的信息量,计算公式为
式中:DSKL表示对称KL散度(symmetrical Kullback-Leibler divergence)[19];Xi和Xj分别表示第i和第j波段的图像;k表示波段子集中的波段数。DSKL定义如下
其中,
式中:DKL表示KL散度;y和Ω分别表示图像中的灰度级和灰度级空间;pi(y)表示第i波段图像各灰度级的概率分布;pj(y)表示第j波段图像各灰度级的概率分布。
4 实验结果及分析
4.1 实验方案
所有实验均在同一台计算机上完成,计算机配置为Intel(R) Core(TM) i7-8750H CPU @2.20 GHz 2.21 GHz,8 GB运行内存,NVIDIA GeForce GTX 1060显卡。软件平台采用Windows 10系统下的Python 3.6.0和PyTorch 0.4.0深度学习框架。
本文采用光谱数据进行波段选择实验,数据输入维度为1×1×b,利用SENet完成注意力学习时无需进行空间维度的压缩。除此之外,在Excitation步骤中,参考文献[
14],令k=16。本文实验中使用的SENet结构如
本实验使用SGD优化器进行网络训练,初始学习率设为0.01,动量设为0.8,权重衰减率设为0.0005。模型的batch size设为32,网络训练epoch数设为100。为了充分学习样本数据的特征空间,本实验将所有标注和未标注的数据都输入到模型中进行训练。
4.2 实验结果分析
4.2.1 损失函数权重的选择
将权重系数γ分别设为0.1、0.3、0.5、0.7、0.9,在两个数据集上进行对比实验,选择10个最具代表性的波段,使用SVM分类器验证波段选择的效果,结果如
表 3. 不同权重系数下两个数据集的实验结果
Table 3. Experimental results of two data sets with different weight coefficients
|
4.2.2 AM_MOP算法实现过程分析
为了进一步分析AM_MOP算法的波段选择过程,使用AM_MOP算法分别在Botswana和Indian Pines数据集上提取10个最具代表性的波段,分析训练过程中两个数据集的总体分类精度、训练损失和各波段权重的变化。将所有权重缩放到[0, 1]范围内,用热力图显示不同训练阶段的波段权重变化,其中横轴代表高光谱数据的波段序号,纵轴代表模型训练epoch数,如
对于Botswana数据集,观察
图 6. Botswana数据集上的总体分类精度、训练损失和波段权重变化。(a)总体分类精度;(b)训练损失;(c)波段权重热力图
Fig. 6. Overall classification accuracy, training loss, and band weight changes in the Botswana data set. (a) Overall classification accuracy; (b) training loss; (c) band weight thermal map
图 7. Indian Pines数据集上的总体分类精度、训练损失和波段权重变化。(a)总体分类精度;(b)训练损失;(c)波段权重热力图
Fig. 7. Overall classification accuracy, training loss and band weight changes on the Indian Pines data set. (a) Overall classification accuracy; (b) training loss; (c) band weight thermal map
对于Indian Pines数据集,从
综合Botswana和Indian Pines数据集上的实验结果可以发现,本文提出的波段选择算法可以在深度学习网络训练过程中,通过收敛训练损失来优化注意力模块上各波段的权重。训练损失下降得越快,波段权重更新得就越快;当训练损失趋于0时,各波段权重几乎不再变化。在这一过程中,注意力模块上的信息量较大,有利于分类的波段被赋予更大的权重,进而达到提取特征波段子集的目的。
4.2.3 波段选择算法的性能对比
为了验证本文所提算法的性能,将本文所提AM_MOP算法与MVPCA[6]、OPBS[7]、ISSC[20]这三种常用的波段选择算法,以及其他三种基于注意力机制的波段选择算法BS_Net_FC[13]、BS_Net_Conv[13]、BS_CNN[12]进行对比。所有算法的参数及训练策略均采用原文中性能最优的参数和策略。
在Botswana数据集上进行波段选择实验,分别采用不同的波段选择算法提取5~35之间不同大小的波段子集,使用SVM分类器验证波段子集的分类精度,结果如
图 8. 各算法在Botswana数据集上的总体分类精度、平均分类精度和Kappa系数。(a)总体分类精度;(b)平均分类精度;(c) Kappa系数
Fig. 8. Overall classification accuracy, average classification accuracy and Kappa coefficient of each algorithm in the Botswana data set. (a) Overall classification accuracy; (b) average classification accuracy; (c) Kappa coefficient
图 9. 各算法在Botswana数据集上平均光谱散度
Fig. 9. Average spectral divergence of each algorithm on the Botswana data set
在Indian Pines数据集上进行波段选择实验,分别采用不同的波段选择算法提取5~35之间不同大小的波段子集,使用SVM分类器验证波段子集的分类精度,结果如
图 10. 各算法在Indian Pines数据集上的总体分类精度、平均分类精度和Kappa系数。(a)总体分类精度;(b)平均分类精度;(c) Kappa系数
Fig. 10. Overall classification accuracy, average classification accuracy and Kappa coefficient of each algorithm in the Indian Pines data set. (a) Overall classification accuracy; (b) average classification accuracy; (c) Kappa coefficient
图 11. 各算法在Indian Pines数据集上的平均光谱散度
Fig. 11. Average spectral divergence of each algorithm on the Indian Pines data set
5 结论
本文结合注意力机制和多目标优化理论提出了一种端到端的高光谱图像波段选择算法。该算法的主要思想是将波段选择任务转化为一个注意力模块的优化任务:利用自编码器构建编码-解码网络,选择两种目标损失函数对网络进行训练,使嵌入在深度学习网络中的注意力模块学习各波段之间的非线性关系;当训练损失收敛时,注意力模块对信息量大、有利于分类的波段赋予更大的权重,最终实现波段选择。两个数据集上的实验结果表明:基于注意力机制的波段选择算法的性能优于常规算法;相对于其他基于注意力机制的波段选择算法,本文算法提取到的波段子集的分类精度更高,信息量更大。
但是本文仅针对Botswana与Indian Pines两个数据集进行了实验,在其他高光谱数据集上的性能仍需验证。另外,在将特征提取能力更强的深度学习网络作为骨干网络、进一步优化训练策略以及降低计算复杂度等方面仍需进行进一步研究。
[1] Bioucas-Dias J M, Plaza A, Camps-Valls G, et al. Hyperspectral remote sensing data analysis and future challenges[J]. IEEE Geoscience and Remote Sensing Magazine, 2013, 1(2): 6-36.
[2] 张兵. 高光谱图像处理与信息提取前沿[J]. 遥感学报, 2016, 20(5): 1062-1090.
Zhang B. Advancement of hyperspectral image processing and information extraction[J]. Journal of Remote Sensing, 2016, 20(5): 1062-1090.
[3] Hughes G. On the mean accuracy of statistical pattern recognizers[J]. IEEE Transactions on Information Theory, 1968, 14(1): 55-63.
[4] 苏红军, 杜培军, 盛业华. 高光谱影像波段选择算法研究[J]. 计算机应用研究, 2008, 25(4): 1093-1096.
Su H J, Du P J, Sheng Y H. Study on band selection algorithms of hyperspectral image data[J]. Application Research of Computers, 2008, 25(4): 1093-1096.
[5] 袁永福. 基于粒子群和互信息的高光谱图像波段选择和分类[D]. 西安: 西安电子科技大学, 2014: 9- 10.
Yuan YF. Band selection and classification for hyperspectral image based on particle swarm optimization and mutual information[D]. Xi'an:Xidian University, 2014: 9- 10.
[6] Chang C I, Du Q, Sun T L, et al. A joint band prioritization and band-decorrelation approach to band selection for hyperspectral image classification[J]. IEEE Transactions on Geoscience and Remote Sensing, 1999, 37(6): 2631-2641.
[7] Zhang W Q, Li X R, Dou Y X, et al. A geometry-based band selection approach for hyperspectral image analysis[J]. IEEE Transactions on Geoscience and Remote Sensing, 2018, 56(8): 4318-4333.
[8] 任智伟, 吴玲达. 基于AP聚类的高光谱波段选择[J]. 激光与光电子学进展, 2018, 55(10): 103002.
[9] Ma L, Fu T Y, Blaschke T, et al. Evaluation of feature selection methods for object-based land cover mapping of unmanned aerial vehicle imagery using random forest and support vector machine classifiers[J]. ISPRS International Journal of Geo-Information, 2017, 6(2): 51.
[10] TschannerlJ, Ren JC, ZabalzaJ, et al.Segmented autoencoders for unsupervised embedded hyperspectral band selection[C]//2018 7th European Workshop on Visual Information Processing (EUVIP). November 26-28, 2018, Tampere, Finland.New York: IEEE Press, 2018: 1- 6.
[11] 朱张莉, 饶元, 吴渊, 等. 注意力机制在深度学习中的研究进展[J]. 中文信息学报, 2019, 33(6): 1-11.
Zhu Z L, Rao Y, Wu Y, et al. Research progress of attention mechanism in deep learning[J]. Journal of Chinese Information Processing, 2019, 33(6): 1-11.
[12] Lorenzo PR, TulczyjewL, MarcinkiewiczM, et al. 2018: arxiv:1811.02667[2020-06-30]. https://arxiv.org/abs/1811.02667?context=cs. LG.
[13] Cai Y M, Liu X B, Cai Z H. BS-nets: an end-to-end framework for band selection of hyperspectral image[J]. IEEE Transactions on Geoscience and Remote Sensing, 2020, 58(3): 1969-1984.
[14] HuJ, ShenL, SunG. Squeeze-and-excitation networks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. June 18-23, 2018, Salt Lake City, UT, USA.New York: IEEE Press, 2018: 7132- 7141.
[15] 刘建平, 赵英时. 高光谱遥感数据解译的最佳波段选择方法研究[J]. 中国科学院研究生院学报, 1999( 2): 153- 161.
Liu JP, Zhao YS. Methods on optimal bands selection in hyperspectral remote sensing data interpretation[J]. Journal of the Graduate School of the Chinese Academy of Sciences, 1999( 2): 153- 161.
[16] Jin YC. Multi-objective machine learning[M]. Berlin: Springer-Verlag, 2006.
[17] KugaR, KanezakiA, SamejimaM, et al.Multi-task learning using multi-modal encoder-decoder networks with shared skip connections[C]//2017 IEEE International Conference on Computer Vision Workshops (ICCVW). October 22-29, 2017, Venice, Italy.New York: IEEE Press, 2017: 403- 411.
[19] Martínez-Usómartinez-uso A, Pla F, Sotoca J M, et al. Clustering-based hyperspectral band selection using information measures[J]. IEEE Transactions on Geoscience and Remote Sensing, 2007, 45(12): 4158-4171.
[20] Sun W W, Zhang L P, Du B, et al. Band selection using improved sparse subspace clustering for hyperspectral imagery classification[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2015, 8(6): 2784-2797.
[21] Gong M G, Zhang M Y, Yuan Y. Unsupervised band selection based on evolutionary multiobjective optimization for hyperspectral images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2016, 54(1): 544-557.
Article Outline
关世豪, 杨桄, 卢珊, 付严宇. 基于注意力机制的多目标优化高光谱波段选择[J]. 光学学报, 2020, 40(21): 2128002. Shihao Guan, Guang Yang, Shan Lu, Yanyu Fu. Multi-Objective Optimization of Hyperspectral Band Selection Based on Attention Mechanism[J]. Acta Optica Sinica, 2020, 40(21): 2128002.