一种高光谱处理方法及波段选择方法
技术领域
本发明涉及高光谱处理领域,特别是涉及高光谱处理方法及波段选择方法。
背景技术
高光谱成像是在光谱维度上将给定的波长区间分割为窄密的波段进行成像的光学检测技术,将每个窄波段获得的影像信息在光谱维度上进行展开,可以极大地提升信息量。相较于多光谱成像仅切分出若干宽波段用于光谱检测,高光谱成像产生的波段数量可以达到上百甚至上千,从而有更高的光谱分辨率去获得更特异的光谱细节,因此即使成本较高,在防御和监控、食品安全、医学诊断、地质勘探、农业检测、药物筛选等领域依然有着广泛的应用案例。
高光谱数据叠加了空间维度和光谱维度的信息,在空间维度上取决于扫描模式,可以是二维图像(如采用高光谱快照模式对地表区域遥感成像并进行分类)或离散点(如采用高光谱推扫模式对奶粉样品进行光谱数据采集来检测化学添加物)。由于光谱维度上各窄波段反映的都是相同目标对象的光谱特性,彼此间不可避免地存在信息的重叠和冗余,因而需要确定波段间的相关性并尽可能地去冗余,以此实现降低光谱数据采集成本、改善采集效率等目的。这一问题在高光谱技术领域内称为高光谱波段选择,是高光谱检测分类应用中的一个核心任务。
以往解决高光谱波段选择问题的方法常见以排名算法(Ranking-based)、搜索算法(Searching-based)和聚类算法(Clustering-based)为基础。基于排名的波段选择方法对每个波段的重要性进行量化,对重要性大小排序选取前若干个波段,该类方法的困难在于通过量化指标选择出的波段可能彼此依旧存在较大的重叠、信息冗余度高;基于搜索的波段选择方法,由于搜索空间大小与原始波段数量呈2的指数级关系,计算代价大是其面临的主要难题;而基于聚类的波段选择方法依赖初始聚类中心的选择且由于是无监督方法难以保证选出的特征波段真正适用匹配下游分类任务。
发明内容
基于此,提供一种高光谱处理方法。该处理方法可进行波段选择和获得高光谱分类模型,且选出的波段与高光谱分类模型匹配度高。
一种高光谱处理方法,包括:
使用第一训练数据集对高光谱分类模型进行训练,所述第一训练数据集为全波段高光谱训练数据集,
将第一训练数据集中的每个训练样本输入训练完毕的所述高光谱分类模型,通过所述高光谱分类模型获取用于波段选择的第二训练数据集,将第二训练数据集输入波段选择模型进行训练,所述波段选择模型输出选择出的波段序号集合,
根据选择出的波段序号集合从第一训练数据集中提取对应的波段,形成第三训练数据集,
使用第三训练数据集对所述高光谱分类模型进行训练。
上述处理方法将高光谱波段选择和高光谱分类进行协同关联建模,高光谱波段选择取决于原始全波段数据的分类训练结果,而挑选出的高光谱波段则用于对相同的高光谱分类模型进行训练,这样一方面可以实现高光谱波段选择的目的,以此实现降低光谱数据采集成本、改善采集效率等,另一方面,这种方法选出的波段有利于与上述高光谱分类模型匹配,且最终得到的高光谱分类模型在应用时,精度又可以得到有效保证。
在其中一个实施例中,所述全波段高光谱训练数据集为一维全波段高光谱训练数据集。
在其中一个实施例中,所述高光谱分类模型包括挤压-激励的残差网络模块,所述挤压-激励的残差网络模块包括挤压-激励模块。
在其中一个实施例中,
所述挤压-激励模块首先通过一个全局平均池化层计算每个特征通道的均值,然后通过两个1×1的卷积层将重要的特征通道进行增强,并将不重要的特征减弱,所述两个卷积层之间引入ReLU非线性函数,且所述两个卷积层中,在第一个卷积层先进行了通道压缩,在第二个卷积层再恢复到原始通道数,最后,使用Sigmoid函数将各特征通道的重要性度量限定到[0, 1]之间。
在其中一个实施例中,
所述高光谱分类模型包括多个级联的挤压-激励的残差网络模块,所述多个级联的挤压-激励的残差网络模块形成挤压-激励的残差网络模块组。
在其中一个实施例中,所述高光谱分类模型还包括:
所述高光谱分类模型在网络输入和所述挤压-激励的残差网络模块组之间设置一个卷积-非线性激活模块,所述卷积-非线性激活模块使用ReLU非线性函数,
所述高光谱分类模型在所述挤压-激励的残差网络模块组之后设置三个全连接层,用于将特征映射到样本标记空间,
所述高光谱分类模型最后通过Softmax函数产生每类的概率预测。
在其中一个实施例中,所述波段选择模型包括异常点检测算法。
在其中一个实施例中,所述异常点检测算法为孤立森林算法。
在其中一个实施例中,所述第二训练数据集是通过以下方法获得:
所述将第一训练数据集中的每个训练样本输入训练完毕的所述高光谱分类模型后,通过所述高光谱分类模型的挤压-激励的残差网络模块组输出显著性特征,在每个挤压-激励的残差网络模块后设置一个概率生成模块,
每个概率生成模块根据对应的显著性特征输出对应的概率向量,将各个概率向量计算平均值得到对应训练样本的平均概率向量,
接着将该训练样本的平均概率向量放入对应的分类收集器中,最后,将每一类收集器中的概率向量计算均值,即可得到所述第二训练数据集。
一种高光谱波段选择方法,包括:
使用第一训练数据集对高光谱分类模型进行训练,所述第一训练数据集为全波段高光谱训练数据集,
将第一训练数据集中的每个训练样本输入训练完毕的所述高光谱分类模型,通过所述高光谱分类模型获取用于波段选择的第二训练数据集,将第二训练数据集输入波段选择模型进行训练,所述波段选择模型输出选择出的波段序号集合,
根据选择出的波段序号集合从第一训练数据集中提取对应的波段。
上述波段选择方法不但可以进行波段选择,而且有利于后续获得匹配度较高的高光谱分类模型。
附图说明
图1为本发明的实施例的高光谱处理方法的流程图。
图2为本发明的实施例的高光谱处理方法采用一维高光谱训练数据的具体实施方式的流程图。
图3为本发明的实施例的基于“挤压-激励”选通机制的一维高光谱分类深度神经网络结构及基于选通特征构建高光谱波段选择方法的原理图。
图4为本发明的实施例的一维挤压-激励的残差网络模块的示意图,图中,Conv1D(输入特征通道数, 输出特征通道数, 卷积核尺寸, 卷积步进尺寸)为一维卷积操作。
图5为本发明的实施例的一维卷积操作原理图,其中,图中的右下方的图框显示了不同步进将计算得到不同长度的特征。
图6为概率生成模块的通道方向取最大值的计算方法的示意图。
图7 为概率生成模块的线性插值的过程的示意图。
图8为Pavia Center的分类标签图像。
图9为Pavia University的分类标签图像。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1和图2所示,本发明的实施例提供了一种高光谱处理方法,该方法包括:
S100、使用第一训练数据集对高光谱分类模型进行训练,所述第一训练数据集为全波段高光谱训练数据集。
S200、将第一训练数据集中的每个训练样本输入训练完毕的所述高光谱分类模型,通过所述高光谱分类模型获取用于波段选择的第二训练数据集,将第二训练数据集输入波段选择模型进行训练,所述波段选择模型输出选择出的波段序号集合。
S300、根据选择出的波段序号集合从第一训练数据集中提取对应的波段,形成第三训练数据集。
S400、使用第三训练数据集对所述高光谱分类模型进行训练。
以下以一维高光谱分类模型为例介绍本发明的上述步骤S100的具体实施方式。一维高光谱分类模型的输入数据为一维的高光谱数据,数据的长度为N0,即波段数为N0。
本实施例中,上述步骤S100中,高光谱分类模型可包括多个级联的挤压-激励的残差网络模块,所述多个级联的挤压-激励的残差网络模块形成挤压-激励的残差网络模块组。
具体的,所述挤压-激励的残差网络模块包括挤压-激励模块。所述挤压-激励模块首先通过一个全局平均池化层计算每个特征通道的均值,然后通过两个1×1的卷积层将重要的特征通道进行增强,并将不重要的特征减弱。所述两个卷积层之间引入ReLU非线性函数。且,所述两个卷积层中,在第一个卷积层先进行了通道压缩,在第二个卷积层再恢复到原始通道数。最后,使用Sigmoid函数将各特征通道的重要性度量限定到[0, 1]之间。
本发明的上述挤压-激励的残差网络模块采用挤压-激励特征通道选通机制,这样可以对特征通道间的相关性进行建模,这一方法目前已经运用于二维图像分类(Squeeze-and-Excitation Networks,CVPR 2018),其挤压
激励模块构成描述如下:
首先通过一个全局平均池化层(Global Average Pooling Layer)计算每个二维特征通道(Channel)的均值,即“挤压”操作,这步操作的目的是保证选通过程在特征通道尺度而非空间尺度展开。
之后通过两个1
1的卷积层(Convolutional Layer)将重要的特征通道进行增强,而不重要的特征减弱,即“激励”操作。两个卷积层之间引入非线性关系(ReLU函数),更好地拟合通道间复杂的相关性。此外在第一个卷积层先进行了通道压缩(压缩比记为R),而第二个卷积层再恢复到原始通道数,这样做的目的是减少参数量和计算量,利于训练阶段扩大神经网络输入的单批次(Batch)包含的样本数量,提高模型训练的稳定性。其中,ReLU函数为:
。
通过Sigmoid函数将各特征通道的重要性度量限定到[0, 1]之间,并将“挤压
激励”模块嵌套在残差网络(Deep Residual Learning for Image Recognition,CVPR 2016)模块中使用,可以有效抑制模型训练过程中的梯度爆炸问题。其中,Sigmoid函数为:
。
需要说明的是,特征通道选通机制是一种典型的“注意力”机制,赋予了深度神经网络可以专注于特征子集的能力,即选择输入特征的特定部分。本发明将它运用于一维高光谱分类场景。
具体地,本发明的一维挤压-激励的残差网络模块结构如附图4所示,其原理和上述二维情形相同。
进一步的,使用多个这样的挤压-激励的残差网络模块级联构成高光谱分类深度神经网络的骨干架构,可以加深神经网络的学习能力。
本实施例中,上述高光谱分类模型在网络输入和所述挤压-激励的残差网络模块组之间设置一个卷积-非线性激活模块,所述卷积-非线性激活模块使用ReLU非线性函数。
具体的,上述卷积-非线性激活模块包括一个卷积层Conv1D(1, C0, 7, 1)和ReLU激活函数,其目的是先得到一个较为高层的特征。这里用了较大的卷积核(为7)来获得较大的感受野,是为了在较大尺度上获得局部特征。该卷积层的输入是网络的输入数据。
以一维高光谱分类模型为例,该模型接受数据尺寸为[B, C0, N0]的一维高光谱训练样本数据作为输入,每个样本是一维的高光谱数据。其中, N0为高光谱的波段数量,也就是数据的长度为N0。这里B为单批次包含的样本数量,在整个神经网络前向计算过程中不会改变。C0=1为通道数,即包含了C0个特征,每个特征这里的长度依然为N0,因为卷积层的卷积步进为1,随着每个卷积层使用的不同数目的卷积核而改变,每个卷积核会与输入特征进行卷积操作产生一个通道的输出特征,具体地操作如图5所示。卷积层后的非线性激活函数ReLU是为了引入非线性。
本实施例中,所述高光谱分类模型在所述挤压-激励的残差网络模块组之后设置三个全连接层,用于将特征映射到样本标记空间,所述高光谱分类模型最后通过Softmax函数产生每类的概率预测。
具体的,最后通过Softmax函数产生每类的概率预测,其输出概率结果数据尺寸为[B, S],这里S为检测类型的类别数量,表示每个样本属于每一类的概率大小,单个样本所有类别的概率和为1。Softmax函数为:
。
可以理解,本发明的上述方法也可以应用二维的高光谱数据。二维的高光谱数据在空间维度上,每个像素是一个一维高光谱数据样本,所以,所有像素的集合就是一组一维高光谱数据。因此,二维的高光谱数据也可用于本发明的上述一维高光谱分类模型。
本实施例中,上述步骤S200中,将第一训练数据集中的每个训练样本输入训练完毕的所述高光谱分类模型,通过所述高光谱分类模型获取用于波段选择的第二训练数据集,将第二训练数据集输入波段选择模型进行训练,所述波段选择模型输出选择出的波段序号集合,具体包括:
首先,本发明中,高光谱波段建模方法依托于步骤S100,原始全波段高光谱训练数据集中每个训练样本(一维高光谱数据,其数据形状为[B=1, 1, N
0])丢入步骤S100训练完的分类网络模型中。挤压-激励的残差网络模块组会输出形状为[1, C
1, N
1]、[1, C
2, N
2]、…、[1, C
K, N
K]的显著性特征。在每一个挤压-激励的残差网络模块后接上一个概率生成模块。该概率生成模块通过以下操作:通道方向取最大值
ReLU
Softmax,得到尺寸为[1, 1,N
1]、[1, 1, N
2]、…、[1, 1, N
K]的概率,将它们沿着特征长度的维度插值回原始波段数目N
0,并计算平均值得到该训练样本的一维平均概率向量(长度为N
0)。由于每个训练样本都有对应的分类标签,将该一维平均概率向量放入对应的分类收集器中(如附图3)。所有训练样本按照如上方法完成概率向量计算及分类收集后,利用这些收集器中的概率向量数据来进行波段选择建模。
需要说明的是,上述概率生成模块的“通道方向取最大值
ReLU
Softmax”操作具体包括:
1、第一个概率生成模块为例,该模块的输入是形状为[B, C1, N1]的特征,B为一个批次包含的原始输入数据,C1为包含了多少个通道的特征,N1为每个特征的长度。概率生成模块首先沿着C1维度取最大值,得到形状为[B, 1, N1]的特征,这里假定B=1,则具体计算方式如图6所示,得到的特征再接一个可选的ReLU函数保证特征的取值都大于0。
2、Softmax函数是为了从特征得到概率数据,其计算公式如下:
,这里x
i为长度N
1的特征的每个元素。
3、经过了Softmax函数之后的概率数据形状依然为[B, 1, N1],将N1的概率插值为N0长度,这样就可以使得从各个模块得到的一维概率向量都具有和原始波段数相同的长度N0,这样才能进行离群点检测(从原始波段选择一些显著的“异常”波段),线性插值的过程如图7所示。
接着,进行波段选择建模。考虑到选择的波段子集只占原来波段数目的很小比例,如10%
20%等,因此选择出的波段相对所有波段可以认为是异常或特殊的,故这里将波段选择问题转化为离群点或异常点检测问题(Outlier/Anomaly Detection Issue)。具体地,采用了孤立森林算法(Isolation forest,ICDM 2008)来进行高光谱波段选择。孤立森林的核心思想是使用二叉树结构(Binary Tree)将数据进行分离,异常点在被分离之后更靠近树的根部,而正常数据被分离后则更趋向于树的深层。这里,将每一类概率收集器中的概率向量计算均值,这样得到孤立森林算法的训练数据,其数据结构形状为[S, N
0],可以理解为待分离的数据为一个集合
(
=1, 2, …, N
0),每个数据
。模型拟合后输出选择的波段序号集合。
本实施例中,上述步骤S300中,根据选择出的波段序号集合从第一训练数据集中提取对应的波段,形成第三训练数据集。以及步骤S400中,使用第三训练数据集对所述高光谱分类模型进行训练。具体包括:
具体的,如图2所示,从原始训练数据中提取选择出的波段,再放入步骤S100训练完毕的网络结构中重新训练高光谱分类模型。其中,可以采用迁移学习算法(TransferLearning)提升模型训练精度。在分类深度神经网络结构中,全连接层的参数形状与具体的特征长度相关,由于采用全波段和采用选择波段进行神经网络训练时的特征长度是不一样的,所以步骤S100训练得到的全连接层模型参数无法复用,但全连接层之前的卷积层与特征的形状无关,所以可以将这一部分模型参数作为初始化参数用在选择波段的高光谱分类网络的训练,然后针对选择波段的分类网络进行模型微调使其更快更好的收敛。
通过以上分析可知,本发明第一阶段首先使用原始全波段的一维高光谱训练样本数据来进行训练,采用交叉熵(BCE Loss)等方法构建预测值与标签真值之间的损失度量函数,并利用优化器(如Adam或随机梯度下降即SGD)和反向传播算法(Back-Propagation)更新模型的参数。当模型训练完毕,使用训练完的模型再对训练集的高光谱数据进行预测 ,抓取残差“挤压-激励”模块的显著性特征输出来构建第二阶段高光谱波段选择方法。进一步的,通过选出的波段再对高光谱分类模型进行训练。最终得到可以部署使用的分类模型。
本发明的上述高光谱处理方法使波段选择与高光谱分类进行协同关联建模,高光谱波段选择取决于原始全波段数据的分类训练结果,而挑选出的高光谱波段则采用相同的深度学习网络结构训练选择波段的高光谱分类模型,构成了一套闭环构建高光谱波段选择和分类的方法。
以下通过实验证明本发明的效果。
采用Pavia Center和Pavia University两组高光谱遥感图像数据进行实验。
1.Pavia Center数据
该图像数据空间维度尺寸为1096
715,在光谱维度包含了102个原始波段,其空间像素属于9类目标(如水域、树木、砖石房顶、土壤等),其分类标签图像如图8所示。
2.Pavia University数据
该图像数据空间维度尺寸为610×340,在光谱维度包含了103个原始波段,其空间像素属于9类目标(如草坪、树木、阴影、金属表面等),其分类标签图像如图9所示。
分别测试这两组数据,将每组数据的像素分为训练集、验证集和测试集,比如为0.5,0.25和0.25,即对于Pavia Center数据,有19341个训练样本,分别有2412个验证和测试样本;对于Pavia University数据,有6831个训练样本,分别有846个验证和测试样本。
此外,设定了两个波段选择比例0.25和0.12,即从Pavia Center数据102个波段和Pavia University数据103个波段中分别选择26个和12个波段。
一维高光谱分类模型训练中,设定的单批次包含训练样本数Batch=200,完整训练完所有样本为一个Epoch,实验中Epoch总次数为100,使用了3个一维挤压-激励的残差网络模块构成特征选通骨干网络。模型训练阶段采用了交叉熵作为损失函数,Adam优化算法来计算每次反向传播后模型参数的更新,初始学习率设置为0.001,每25个Epoch后乘以0.1减小搜索步长。
对于一维高光谱分类网络,在一维挤压-激励的残差网络模块组之前的卷积层,设定了输出特征通道数为36,而对于三个挤压-激励的残差网络模块,每个模块的输出特征通道数为36,54和96,而模块中的激励压缩比R统一设为6。在孤立森林模型中,我们设定的二叉树数目为100。
按照本发明所述流程,首先使用原始全波段的训练数据进行训练,然后进行波段选择,再从原始训练数据中抽取选择出的波段高光谱数据进行训练。为了得到统计意义,我们的训练集、验证集和测试集的划分是随机的,共进行了25次测试,得到的总体平均准确率总结如表1所示。由表1可以看出,通过本方法将模型训练所需波段显著减少的情况下,总体平均准确率仍然较高。
表1
本发明具有以下有益效果包括:
1.本发明提出基于深度神经网络的高光谱分类方法,将自然语言处理和图像识别领域热点“注意力”机制引入其中,创新地将图像分类应用中的“挤压
激励”特征选通思想方法运用于一维高光谱分类任务场景。
2.不同于现有的大多数将高光谱波段选择和高光谱分类独立考虑,本发明将两者进行协同关联建模,高光谱波段选择取决于原始全波段数据的分类训练结果,而挑选出的高光谱波段则采用相同的深度学习网络结构训练选择波段的高光谱分类模型,构成了一套闭环构建高光谱波段选择和分类的方法。
3.本发明仅基于高光谱数据的一维光谱维度信息,不考虑空间维度信息。如考虑空间维度信息,只能基于高光谱图谱数据,而线扫描模式等产生的高光谱离散点数据无法处理,因此本方法适用于不同高光谱采集方式得到的数据,通用性高。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。