本发明属高光谱图像处理技术领域,具体涉及一种基于自动确定卷积核大小卷积神经网络的高光谱图像分类方法。
背景技术:
目前存在的高光谱图像像素级分类方法主要有两类:一类是基于人工设计特征的;另一类是基于深度学习特征的。文献“dingc,liy,xiay,etal.convolutionalneuralnetworksbasedhyperspectralimageclassificationmethodwithadaptivekernels[j].remotesensing,2017,9(6):618.”公开了一种基于深度学习的高光谱图像分类方法,其卷积核可以通过预先学习得到,而且自适应卷积核的数量可以通过文献设计方法求得。该文献提出将改进的基于密度峰值快速寻找的聚类算法(modifiedclusteringbyfastsearchandfindofdensitypeaks,简称mcfsfdp算法)用于提前学习卷积神经网络卷积核,并且自适应的确定卷积核的数量,并将此提前学习卷积核的卷积神经网络(convolutioanalneuralnetwork,cnn)应用到高光谱图像分类中,并得到了有效的分类结果。文献中所用的mcfsfdp聚类算法提前学习的卷积核需要经验进行卷积核大小设定,但是,人工经验设定的卷积核大小往往不能最优的表征数据信息的特点。
技术实现要素:
为了克服现有基于卷积核提前学习的卷积神经网络结构中卷积核大小需要人工设定且无法自适应表征数据信息特点的问题,本发明公开了一种基于自动确定卷积核大小卷积神经网络的高光谱图像分类方法,将基于k-means聚类算法引入到卷积神经网络的卷积核学习中去,即先用k-means算法对多组不同大小的样本进行聚类处理,然后,设计一种新的针对不同尺寸且各类别数量呈非均匀分布样本聚类结果的评价指标,对不同尺寸样本聚类结果进行评价,根据评价结果确定自适应卷积核,最后,将学习到的卷积核引入卷积神经网络并对网络的全连接层进行训练,利用训练好的网络对高光谱图像进行分类。
一种基于自动确定卷积核大小卷积神经网络的高光谱图像分类方法,其特征在于包括以下步骤:
步骤一:从高光谱图像中随机提取带有维度信息且大小相同的图像块作为卷积神经网络的样本,其中,一半作为训练样本,另一半作为测试样本;再从训练样本中,选取不同尺寸大小的g组图像块作为聚类样本数据,其中,每组所包含的图像块数量相同,且聚类样本图像块的尺寸小于训练样本图像块的尺寸,g的取值范围为[1,13]。
步骤二:利用k-means聚类方法分别对不同尺寸的g组图像块样本数据进行聚类处理,得到不同尺寸图像块样本的聚类结果。
步骤三:利用
其中,dinner为按照
步骤四:将图像块训练样本输入基于步骤三得到的自适应卷积核的cnn网络进行训练,得到训练好的网络。所述的cnn网络结构包括输入层、卷积层、池化层、全连接层和一个softmax分类器,按照梯度下降法对最后的全连接层和softmax分类器进行训练。
步骤五:利用训练好的网络对图像块测试样本进行分类,得到分类结果。
本发明的有益效果是:由于将k-means算法应用于cnn网络卷积核的确定中,并采用一种新的针对不同尺寸且各类别数量呈非均匀分布的样本聚类结果的评价指标来评估其聚类结果,可以自适应确定卷积核的尺寸大小,且学习到的卷积核可以更加有效的表征数据信息,得到更好的高光谱图像分类结果。
附图说明
图1是本发明的一种自动确定卷积核大小卷积神经网络的高光谱图像分类方法流程图
图2是本发明的自适应卷积核的卷积神经网络结构示意图
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
如图1所示,本发明提供了一种自动确定卷积核大小卷积神经网络的高光谱图像分类方法,具体步骤如下:
1、数据预处理
从高光谱图像中随机提取m个带有维度信息、大小为m×m×h的图像块作为卷积神经网络的训练样本与测试样本,训练样本与测试样本的个数均为m/2。一般,m的取值范围为[5,27],m的取值范围为5000~10000,本实施例中m为27,m为5000,h为光谱数,即高光谱图像波段数。
然后,再从训练样本图像块中,选取不同尺寸大小的g组图像块作为聚类样本数据,其中,每组所包含的图像块数量相同,且聚类样本图像块的尺寸小于训练样本图像块的尺寸,g的取值范围为1~13。本实施例选取大小分别为6×6×h,8×8×h…,22×22×h的共9组图像块样本,每组各包含10000个相同大小的图像块。
2、利用k-means方法进行聚类处理
利用k-means聚类方法对9组聚类样本数据分别进行聚类处理,得到其对应的聚类结果。具体为:
(1)将一组聚类样本数据中的每一个图像块都拉成列向量,作为聚类样本数据点。设初始类别数为50,从数据点中随机抽取50个数据点作为初始聚类中心,这50个聚类中心记作μ1,...,μf,...,μ50,f=1,...,50。
(2)对于任一个数据点pj,计算它与每个聚类中心uf的距离,并以与数据点pj距离最近的聚类中心的类别作为这个数据点pj的类别,如公式(1)所示:
(3)对于属于同一个类别f的所有cf个数据点pj,按下式重新计算得到其新的聚类中心μ′f:
其中,cf为属于同一类别f的数据点个数;
(4)重复步骤(2)-(3)z次(z=400),得到最终数据点类别的聚类结果,及其最终的聚类中心。
所有9组图像块都分别进行如上所述的聚类处理后,分别得到其对应的聚类结果,即每组数据点所属类别和其聚类中心。
3、确定自适应卷积核
对于每组聚类结果,分别按如下过程进行评估,确定评估结果最优的图像块尺寸为自适应卷积核的尺寸大小,此尺寸图像块样本数据的聚类中心即被确定为卷积核。
(1)计算类内距离dinner。类f中每个数据点与类中心
其中,
按下式计算得到每个类别所有数据点的类内距离的加权和:
以每个类别所包含数据点的数量nf为权重,即:
wf=nf/n(5)
再按各类数据点数量从小到大依次排列各个类别,数据点数量最少的类对应权重为1/50,数据点数量最多的类对应权重为50/50,中间权重依次分别为2/50到49/50,得到另一种权重,记为ef。
按下式计算类别f的类内距离为:
dinner(f)=wf·ef·d′inner(f)/nf(6)
最后,计算所有类别的类内距离为:
(2)计算类间距离dinter。
首先,计算得到各个类中心的类间距离矩阵dm。由于聚类中心有50个,所以dm的大小为50×50,dm中的每个元素按
dm=dm/max(dm)(8)
其中,max(dm)表示矩阵dm中所有元素的最大值。
然后,按下式计算得到最终的类间距离dinter:
(3)对每组聚类结果都按照以下公式计算其评价指标ei:
使得评价指标ei值最大的聚类样本尺寸,即图像块的大小为自适应卷积核大小,该类样本的聚类中心对应的图像块为自适应卷积核。
由于ei值的确定引入了各类别中样本数量这个重要影响因素,因此ei针对不同尺寸且各类别数量呈非均匀分布的样本聚类结果有着更加准确的评价效果。
4、基于自适应卷积核的cnn训练
将图像块训练样本输入基于步骤3得到的自适应卷积核的cnn,进行网络训练,得到训练好的网络。其中,cnn网络结构如图2所示,包括:输入层、卷积层、池化层、全连接层和一个softmax分类器。
经过第k个卷积核后的特征图为:
其中,x表示训练样本图像块与测试样本图像块,k=1,...,50,σ表示限制线性单元函数(relu),ω∈rn×n×h,k代表第k个卷积核,x∈rm×m×h,f∈r(m-n+1)×(m-n+1)。
再经降采样后第k个特征图为:
其中,g∈r(m-n+1)/p×(m-n+1)/p,p为空间局部尺寸,并且1≤i,j≤(m-n+1)/p。
利用梯度下降法训练最后的全连接层及softmax分类器,最终得到训练好的网络。
5、高光谱图像分类
将测试样本图像块输入训练好的cnn网络,得到分类结果。