基于ResNet的高光谱图像波段选择方法
作者: 王鑫 曾恒 杨文春
摘要:高光谱遥感图像具有丰富的光谱信息,但其波段数量庞大,导致数据冗余和计算复杂度增加,限制了其在实际应用中的效率。针对该问题,本文提出了一种基于ResNet的波段选择方法BSNET_ResNet,通过深度学习技术挖掘高光谱图像的光谱和空间信息,同时降低数据维度。BSNET_ResNet方法由波段特征提取模块和波段重构模块组成。在特征提取模块中,利用卷积神经网络对高光谱图像进行前置处理,以增强数据质量并提取关键特征。波段重构模块则基于特征提取模块的输出,对提取的特征进行放大和还原,以恢复原始波段数。通过计算不同波段的权重,BSNET_ResNet能够选择出最具代表性的波段,从而在保证信息完整性的同时降低数据冗余。
关键词:高光谱遥感图像;波段选择;ResNet;深度学习;特征提取
中图分类号:TP751 文献标识码:A
文章编号:1009-3044(2024)24-0036-04
开放科学(资源服务)标识码(OSID)
0 引言
高光谱遥感图像往往由数百个光谱波段组成,为地表描绘提供了丰富且具有价值的光谱信息[1]。然而,高光谱图像的波段数量较大,使得数据量剧增,不利于存储与计算。此外,相邻波段之间间距较短,信息差异较小,从而产生了数据冗余。在高光谱图像中进行波段选择,可以充分挖掘其丰富信息的同时降低数据量,因此在实际应用中具有重要意义。
高光谱图像波段选择的主要目的是从原始图像数据中剔除冗余的波段,保留有用的波段。对图像分类任务而言,分类准确率很大程度上取决于波段选择[2]。现有的波段选择方法可以分为无监督和有监督两种。无监督的高光谱波段选择方法是通过利用电磁波谱的结构信息或统计方法来进行波段选择。然而,与有监督方法相比,由于数据不可感知特性,无监督方法在特定任务上的表现通常较差。另一个问题是信息基础与应用的相关性,所选择的信息标准可能与任务无关,因此,所选波段的表现可能比全波段要差。同时,波段选择过程无须漫长的训练过程,可直接应用于没有标签的数据集。
无监督高光谱图像波段选择方法按照选择原理不同,可分为搜索、稀疏性、聚类、排序等4种。基于搜索的波段选择方法通过寻找波段的最佳子集来达到优化的目的。ZHAO[3]设计了一种基于fisher score与超像素相结合的适应度函数,用于评估同时考虑光谱和空间信息的波段子集的可区分性。基于稀疏性的方法将稀疏表达理论应用于高光谱图像波段选择中,其假设每个波段可以由其他几个波段稀疏表示。TANG[4]提出了一种基于稀疏表示的HSI目标检测方法(TD-SRBBS)。在子空间划分中定义对称Kullback-Leibler散度,使原始HSI数据集成为子集。对每个子集的检测结果进行稀疏重建,然后根据所选频带与稀疏向量的非零元素之间的一一对应关系进行波段选择。基于聚类的方法先将波段聚类,然后在波段中选择出最不相关的作为最终的波段。例如,HUANG[5]提出了一种基于张量的高光谱波段选择子空间聚类模型,模型中的三个因子矩阵和一个核心张量共同编码了高光谱多模相关性,有效避免了破坏张量结构和信息丢失。基于排序的方法涉及一种策略,该策略首先根据预先设定的标准来评估光谱波段的重要性,然后根据这些重要性评分对波段进行排序。排序完成后,会选择那些排名靠前,即重要性更高的波段进行后续分析或应用。简而言之,排序法是一个基于波段优先级评估的筛选过程,目的是挑选出最具信息量的光谱波段。主成分分析(Principal Component Analysis,PCA)是一种常用的无监督降维技术,在高光谱图像的波段选择中得到了广泛应用,PCA可以通过将原始波段变换为一组互相正交的主成分,实现了数据的精简和信息的浓缩。最大方差主成分分析法(Maximum Variance PCA,MVPCA)[6]通过改进PCA方法对波段的方差进行排序,进而选择出主要波段。
基于监督的高光谱图像波段选择方法使用已有的样本标签等先验知识进行波段选择。采用监督方法进行波段选择的分类精度通常优于非监督方法。但是有标签高光谱图像的获取过程成本高、耗时长。Habermann[7]提出了一种新的基于神经网络的监督模型用于高光谱图像波段选择。每个类使用一个单层神经网络分类器,用于该类与其余数据之间的分类。CAO[8]引入了基于高光谱图像局部空间信息的监督模型和包装方法来选择最具信息量的光谱波段。
随着深度学习技术的快速发展,深度学习相关技术在高光谱图像波段选择中也得到了应用[9]。CHANG[10]引入了一个合并卷积神经网络(C-CNN),它由一个三维卷积神经网络(3D-CNN)和一个二维卷积神经网络(2D-CNN)合并而成。首先,选择信息量最大的光谱波段进行主成分分析。然后,利用3D-CNN同时提取光谱特征和空间特征,并利用2D-CNN进一步学习空间特征。ZHOU[11]提出了一种基于数据驱动的迭代图自动编码器(IGAEBS)。通过训练图卷积神经网络来提取HSI特征。这些特征被用来构建一个图来表示波段之间的结构关系。利用导出的图,波段被划分为若干簇,并从不同的簇中选择不同的具有代表性的波段。
1 BSNET_ResNet波段选择方法
本文提出了一种基于ResNet的波段选择方法BSNET_ResNet(Band Selection ResNet)。该方法由2个模块组成:1)波段特征提取模块;2)波段重构模块。波段特征提取模块的主要任务是从原始的遥感图像中提取每个波段的特征,利用卷积神经网络对原始高光谱数据进行前置处理和优化,以提高其数据质量。波段重构模块将提取后的图像数据特征进行放大和还原,将波段数恢复为原始波段数,通过计算不同波段权重,最终选择出最佳波段。
1.1 模型结构
1.1.1 波段特征提取模块
高光谱图像数据作为特征提取网络的输入,用于从中抽取出关键的特征信息。将每个波段的数据通过卷积网络进行特征提取,模型中特征提取部分由卷积模块、池化层、全连接层组成,通过使用深度卷积神经网络(CNN)提取高光谱图像的空间特征。该模块的结构图如图1所示:
其结构特点为对特征图进行平均池化操作,将特征图的每个通道上的数值取平均值。这有助于在保留图像中重要信息的同时,减少特征图的空间维度。通过对特征图进行平均池化操作,可以有效地降低特征图的空间维度,同时保留重要信息。最后使用全连接层处理卷积层提取的特征,并将其映射到一个更高维的空间,从而捕获更多的抽象特征,以提高模型性能。
1.1.2 波段重构模块
残差块(Residual Block)是深度神经网络中的一个重要组件,特别适用于构建深层网络。这种设计旨在解决深度网络训练过程中可能出现的梯度消失和梯度爆炸问题,同时促进更有效的信息传播和模型训练。残差块包含两个主要部分:主路径和残差连接(又称跳跃连接)。
主路径主要由两个或多个卷积层(通常使用3×3大小的卷积核)、批量归一化层和激活函数组成。这些卷积层和批量归一化层的组合旨在学习输入数据的非线性特征表示。残差连接将输入数据直接添加到主路径的输出之上,形成残差连接。这种连接机制允许梯度更轻松地反向传播,从而减少梯度消失的影响,并使网络能够更深入、更容易地进行训练。
残差连接允许梯度直接通过跳过层的方式传播。在反向传播过程中,该设计有效地缓解了梯度消失的问题,促进了更深层次神经网络的成功训练。通过堆叠多个残差块,可以构建非常深的神经网络,而不会出现退化问题(即性能下降)。这使得可以训练非常深的网络模型,从而提高模型的表现能力。残差块使模型能够更有效地学习特征表示,因为它们引入了更简单的路径,减轻了学习任务,使参数的优化更加容易。
网络最终输出的图形大小与原始图像一致。重构网络部分是整个模型的重要组成部分,它负责接收特征提取模块提取的特征,并将其重构为原始图像或更好的表示。该模块结构如图2所示:
2 模型训练
2.1 损失函数
为了衡量预测加权高光谱图像与实际高光谱图像之间的差异,本文选用平均绝对值误差(MAE)作为损失函数。设原始高光谱图像数据为[x=(x1,x2,...,xm,)],[x=(x1,x2,...,xm)],表示经过网络输出的图像块。损失函数可以表示如下:
[L=1mxi-xi] (1)
其中,[m]为训练样本的数量。
2.2 优化器
为了最小化损失函数,选择合适的优化器至关重要。在训练模型时,本文选择随机梯度下降(Stochastic Gradient Descent, SGD)优化器。SGD在每一步只使用一个样本或一个小批量样本进行参数更新,因此计算速度相对较快。特别是在大规模数据集上,SGD通常比使用整个数据集的批量梯度下降要快得多。
SGD通过在每一步中使用随机抽样的数据点来估计梯度,随后模型参数根据梯度的反向方向进行更新,以最小化损失函数。SGD的更新规则如下:
[θt+1=θt-η∇]([θt]) (2)
式中:[θt]为第[t]步的模型参数向量;[η]为学习率,用来控制着每一步更新的幅度;[L]([θt])为损失函数;[∇]([θt])为损失函数相较于参数的梯度。
2.3 训练数据集
本文所使用的数据集为Indian Pines数据集,该数据集由AVIRIS传感器在美国印第安纳州捕获,涵盖了400至2 500纳米波长范围内的光谱信息。在实际训练中,选用了其中的200个波段。拍摄到的区域包含多样化的地物类型,共计16种,包括玉米、燕麦、小麦以及树木等。
为了对该数据集进行可视化,从中选择了三个代表性的波段来生成一幅彩色图像。选择高光谱图像中的3个维度生成的彩色图像如图3所示:
给定高光谱图像[I∈ℝW×H×L],式中:[W]、[H]分别为图像的宽和高;[L]为波段数。对高光谱图像[X]进行边缘填充,以像素[pi,j]为中心提取尺寸为[S×S×D]的数据块[Bij],[1≤i≤W],[1≤j≤H]。
2.4 训练策略
对于Indian Pines数据集,本文采取如下训练策略:
首先,对原始高光谱图像进行边缘填充,并提取尺寸为7×7的图像块作为输入。学习率设置为0.01,共进行200个epoch。经过特征提取部分后,输出的图像块大小为128×5×5。随后,通过重构网络处理,最终输出图像大小与原图像块大小一致,为200×7×7。
3 实验结果与分析
为了验证所提出的BSNET_ResNet方法,本研究将其与PCA方法的波段选择结果进行对比分析,如表1所示。
将上述两种方法选择出的波段分别使用SVM和2D-CNN进行高光谱图像分类。
使用SVM对Indian Pines进行分类,分类精度如表2所示。
使用2D-CNN进行分类,将原图像的200个波段根据2种方法选择出25个波段,并将图像分为特定大小([25×7×7])的图像块。图像总共划分了10 249个块,其中20%作为训练集,80%作为测试集,训练轮次(epoch)为200。2种波段选择方法的分类精度如表3所示。