融合BOVW和复杂网络的高光谱遥感图像分类
2022-05-15谢红薇孟丽楠
宁 晨,谢红薇,孟丽楠
太原理工大学 软件学院,太原030024
高光谱遥感图像(hyperspectral remote sensing images,HSRSI)发展始于机载可见/红外成像光谱仪(airborne visible infrared imaging spectrometer,AVIRIS)于1987 年问世[1],其可以提供更丰富的光谱信息,增强了区分地物类别的能力,也因在目标检测、农业管理、矿物检测和医学领域的成功应用而受到特别关注[2]。
高光谱遥感图像分类的任务是根据数百个连续且细分的不同光谱波段电磁波对地物的反射信息,确定样本点的类别。不同的地物拥有特定的光谱曲线,因此有许多利用光谱信息的特征提取方法被提出用于高光谱图像分类。高光谱遥感图像具有以下特征:(1)可供训练的数据较少;(2)地物的高光谱特征在大空间内的多样性;(3)数据稳定程度受光照、大气影响较大[3];(4)数据维数较高所导致的维数灾难问题,出现严重的Hughes现象[4]。高光谱遥感图像数据通常不作为图像处理,而是作为光谱测量的无序列向量操作[5],因此,其处理方法与一般图像不同。所以,有效地降低数据的维数,挖掘数据特征的最佳子集,提取优化光谱数据的特征,是高光谱图像特征提取和地物分类研究的关键任务[6]。
高光谱遥感图像的经典分类方法包括主成分分析算法[7](principal components analysis,PCA)、独立成分分析算法(independent component analysis,ICA)、线性判别式分析算法[8](linear discriminant analysis,LDA)、基于稀疏表示的分类器算法[9-10](sparse representation based classifier,SRC)和K-近邻算法[11](K-nearest neighbor,KNN)。关于高光谱遥感图像特征提取的方法可分为三类:(1)降维方法;(2)深度学习;(3)其他特征提取方法[12]。在降维方法中,除PCA、ICA、LDA 等方法外,为了解决支持向量机的非线性分类问题,引入了核方法[13-15]。文献[15]提出核非参数加权特征提取,从解决数据的非线性角度出发,利用核函数,将数据映射到线性空间进行分类,有效地对高光谱数据进行解混。在深度学习方法中,随着卷积神经网络(convolutional neural networks,CNN)在图像处理领域中的广泛应用,很多研究也将CNN 用与高光谱遥感图像的分类中[16-20]。近年来,出现了很多空-谱联合特征提取方法[21-22]。文献[23]提取光谱空间特征频谱空间特征学习(spatial-spectral feature learning,SSFL)是一种深层的层次结构。此外,应用局部二值模式(local binary patterns,LBP)图像的特征与频谱空间特征进行融合。最后,采用核函数极限学习机(extreme learning machine with kernel,KELM)对高光谱图像进行分类。此外,文献[24]提出使用多尺度密集网络(multi-scale density networks,MSDN)用于高光谱遥感图像分类,该网络实现了深度特征提取和多尺度融合重构,提高了收敛速度,有效地节省了计算资源,具有较高的稳定性。
除此之外,近年来,有很多通过复杂网络方法处理图像的研究。其中,研究可分为关键点检测和纹理特征提取两部分。关键点检测方面,文献[25]提出使用复杂网络对彩色图像建模,并设置阈值划分子网络,计算子网络中各个像素点的出入度、紧密中心性以及中介中心性,将其中高于各自拓扑参数均值的像素点作为图像的关键点。纹理特征提取方面,文献[26]将图像建模为一个多层复杂网络,其中RGB每个颜色通道为一层,每个像素点表示为一个复杂网络节点,并通过动态演化获取单个通道像素点之间的关系,以及不同通道之间像素点的空间关联。文献[27]同样利用复杂网络方法,提取子网络的熵、能量,能较准确地描述泡沫图像的纹理,并能较好地分类不同的泡沫。
基于以上研究,针对高光谱遥感图像的光谱信息,挖掘样本点不同光谱波段之间的关联特征,本文提出一种基于视觉词典和复杂网络(bag of visual wordscomplex networks,BOVW-CN)的高光谱遥感图像的特征提取方法。受视觉词典方法能够以无序视觉词汇表示图像的启发,设计了一种高光谱图像的视觉词典方法,提升模型识别精度,降低数据维度。并且,为挖掘单个像素点不同波段之间的关系,将光谱一维数据转化为复杂网络并提取其拓扑参数。并在Salinas和KSC高光谱数据集上验证了本文算法的有效性。
1 视觉词典和复杂网络
1.1 视觉词典
视觉词典的出现源自于自然语言处理和信息检索领域,具有算法灵活性强,且鲁棒性好等特点,得到的字典辨别能力更强。BOVW方法将图像中的像素点视为无序特征集合,忽略像素点之间的空间位置关系,选取K个最具代表性的样本,使用K-Means聚类方法将关键视觉单词组成视觉词典。其代价函数如下:
令β为图像的视觉特征向量的v属于视觉词典向量vD的隶属度,则有:
上式表示视觉词典向量与其他向量的欧式距离越小,则该向量对于该词典向量的隶属度越大。
在构建词汇表之后,来自数据集的每个样本都用可视化单词的直方图表示。直方图是根据组成图像的视觉词汇的词频来构建的。例如,给定一个图像I,首先检测该图像的关键点。通过给定的特征提取过程对每个关键点进行描述,并对每个描述的图像关键点计算它们与词汇表中的视觉词之间的距离。最后,表示最短距离的可视单词的直方图将增加一个单位。
1.2 复杂网络
复杂网络没有相对严格的定义。通常,复杂网络可视为拥有小世界(small-world)、无标度(scale-free)、自组织(self-organization)、自适应(self-adaptive)、社区结构(community structure)等特性的网络[28]。复杂网络可以表示自然结构,它能够表示许多现实世界的系统,在表示几乎任何自然结构方面具有灵活性和通用性[29]。其中,存在大量的静态统计特征描述量,如度、聚类系数、网络直径、平均路径长度、小世界属性等。而网络的度的分布函数f(x)以及局部聚类系数cj可以表示出网络各节点与其他节点的关系。公式如式(4)、(5)所示:
其中,p(x)为度为x的节点个数,N为总节点个数;ntri为节点所构成的三角形个数,k为该节点的邻居个数。
复杂网络除了拥有大量静态结构参数,还关注网络的动态特征。动态演化是复杂网络表现其动态特征的关键。动态演化过程中,复杂网络结构随时间变化而变化,在同一种演化方式下,不同时刻得到的多个网络具有不同的特征。多个子网络的拓扑参数并集构成了原有数据的光谱特征。动态演化步骤如下的伪代码所示:
当应用于机器学习时,复杂网络的使用通常有三个步骤:(1)将问题的特征空间建模为初始网络;(2)初始网络进行动态演化,形成子网络;(3)从各个网络中提取拓扑参数作为特征向量[30]。如图1所示。
图1 复杂网络机器学习分类Fig.1 Machine learning in complex networks
针对用于分析图像而构建的初始复杂网络,采用不同像素点之间的像素位置和像素值的相关关系构建。将每个像素点作为网络中的一个节点Ix,y,定义阈值半径r,当两个节点的欧式距离小于r时,则为两个节点增加边e∈E,即:
再为每一条边赋予权值,定义如下:
复杂网络的动态演化一般采用阈值演化或最小生成树的方法。阈值演化发在初始网络构造完成之后,定义动态演化阈值t,将初始网络中的各个边的权值与阈值相比较,删除大于阈值的边,由此形成多个子网络,即在生成的子网络中有d(e)≤t。多个阈值可计算出多个子网络,多个子网络的拓扑参数的并集构成了当前图像的特征。最小生成树法通过最小生成树算法构建子网络,并在所构成子网络对于初始网络的补集中迭代计算,从而生成多个子网络。
2 融合视觉词典和复杂网络特征的高光谱遥感图像分类
本文提出一种基于视觉词典和复杂网络的高光谱遥感图像特征提取及分类方法。首先,在不同类别地物中计算均值(单一聚类中心)或使用K-Means算法聚类,作为当前地物类别的中心,所有中心构成与类别数相等的视觉单词数的词典。将像素点的每个波段像素值与词典中相对应的波段比较,构成直方图特征。其次,为提取单个像素点的波段之间的关联特征,将单个像素点的一维离散光谱向量矩阵化,并构建为复杂网络,经过动态演化后提取网络拓扑参数,构成特征向量。
2.1 数据标准化
首先对高光谱遥感图像数据进行标准化处理,处理方法如公式(8)所示:
其中,Imin和Imax代表图像立方体中的最小像素值和最大像素值,Ii为任意像素值。
2.2 视觉词典特征提取
本文结合视觉词典,提出了一种高光谱图像地物分类的词典构造方法。对于每一类地物k,其中,k∈{1,2,…,K},每类地物的样本数为nk,分别针对每类地物生成一个样本集合。可表示为:
其中,uk表示第k类的光谱向量集合。根据视觉词典方法,利用K-Means 算法对训练集每类地物进行聚类,根据聚类中心分别生成词典向量,集合词典向量得到最终用于高光谱遥感图像地物分类的字典。
在像素点光谱向量集合β={v1,v2,…,vnk}中,vi=[bi,1,bi,2,…,bi,B],i=1,2,…,nk为像素点向量,其中,p∈{1,2,…,B}为波段序号,bi,p为i个光谱向量的第p个波段的像素值。波段像素值bi,p与词典中的向量相对应的波段像素值比较,可构建单像素点的直方图。直方图根据组成图像词汇的视觉词汇频率来创建的,表示最短距离的单词的直方图值将增加一个单位,即
最终得到像素点的词频直方图特征。
其中,Hk为直方图对应频数。示意图如图2所示。
图2 单像素点的直方图构建过程Fig2 Process of constructing histogram of single pixel points
2.3 复杂网络特征提取
2.3.1 初始网络构建
本文方法将单个像素点的一维光谱向量集合vi∈β转化为矩阵。首先,计算满足相乘等于向量维度的两数a,b,即:
建立大小为a×b的零矩阵。若无可整除整数,则寻找平方值与向量维数之差最小的整数,即:
根据矩阵的坐标值及标准化后的波段像素值构建复杂网络G=(V,E),其中,V={node1,node2,…,nodem}E={e1,e2,…,el}分别为网络的节点和边的集合,当波段像素的矩阵位置距离小于等于阈值r时,则为两样本点之间增加边。每条边拥有各自的权值d(ei.j)的计算公式(15)~(17)如下:
上式中,(xi,yi)为像素点在矩阵中的坐标,Ist(xi,yi)为像素点(xi,yi)的标准化像素值,r为半径阈值。此时,每个网络顶点表示相同数量的连接。因此,计算图呈现出一种规则的行为。而正则图并不被认为是一个复杂网络,它也没有为数据提取过程提供任何相关的属性。因此,获取初始复杂网络后,需要进行动态演化进行子网络分析。定义一组动态演化阈值T={t1,t2,…,tn},对每一个阈值ti,若ti>d(ei,j),则删除边ei,j;否则,将其保留。由此,可以得到多个子网络。
2.3.2 动态演化
对于每一个子网络,分析并提取每一个子网络的网络拓扑参数,将全部子网络的全部参数组合,作为这个像素点的特征描述。本文选取5个参数,分别为整个网络节点度的频数分布直方图的均值、方差、能量和熵以及整个网络的平均聚类系数[31-32],分别为:
其中,f(i)代表度频数直方图的概率分布函数,i为度的值,k为最大度值,cj为单个节点的局部聚类系数,m为节点个数。将以上参数进行组合,形成子网络的特征向量。
根据不同的阈值ti,可得到多个子网络,子网络分别提取各自的特征向量,最终构成单个像素点特征向量。
算法步骤具体描述如图3,复杂网络特征提取方法伪代码如下:
图3 复杂网络特征提取过程Fig.3 Feature extraction process of complex network
2.4 特征融合
将得到的复杂网络特征与视觉词典特征进行特征融合,为了简化处理,本文选择了最简单的方法,即直接组合法。最终得到的特征如公式(24)所示:
方法流程如图4所示。
图4 BOVW-CN方法特征提取过程Fig4 BOVW-CN method feature extraction process
3 实验分析
3.1 实验数据
本文使用两个具有代表性的高光谱遥感图像数据集Salinas和KSC。
3.1.1 Salinas
Salinas数据集场景由AVIRIS传感器采集加利福尼亚州Salinas 山谷的景象,共224 个波段,具有高空间分辨率(空间分辨率为3.7 m)的特点。舍弃了20 个吸水带,吸水带为[108~112]、[154~167]、224。该图像大小为517×517,包含111 104 个像素点,已标记样本点54 129个。并类别包括蔬菜、裸露的土壤和葡萄园的田地,其中包含蔬菜、裸地和葡萄园等16 个类。伪彩色合成图像和地面真实信息如表1及图5所示。
图5 Salinas数据集假彩色图像及真实地物信息Fig.5 False color image and groundtruth of Salinas data set
表1 Salinas数据集信息Table 1 Information of Salinas data set
3.1.2 KSC
KSC数据集由AVIRIS仪器在佛罗里达州肯尼迪航天中心(Kennedy space center,KSC)获得数据,从大约20 km 的高度获得,具有18 m 的空间分辨率,在波长为400 nm至2 500 nm的224个光谱波段中获得数据,包含5 211 个样本点。在去除吸水率和低信噪比波段后。为了进行分类,该地点数据定义了13个类别,伪彩色图像和类别信息如表2及图6所示。
图6 KSC数据集假彩色图像及真实地物信息Fig.6 False color image and ground truth of KSC data set
表2 KSC数据集信息Table 2 Information of KSC data set
3.2 实验方法
本文全部实验均在Python3.7环境下运行,Red Hat操作系统,硬件设备为Intel core i7-6800k CPU,GeForce RTX 2080 Ti显卡。
为了验证本文算法的地物分类效果,本文分三个部分进行实验验证:
(1)分别只使用视觉词典方法、只使用复杂网络方法以及本文所提算法在Salinas数据集上进行实验。
(2)分别使用高斯核函数支持向量机方法(support vector machine with radial basis function,RBF-SVM)、KNN、LBP-KELM、SSFL、CNN,以及本文所提出的BOVW-CN方法对高光谱遥感图像进行分类。
(3)调整本文所提算法中的两个重要参数:复杂网络动态演化阈值与K-Means聚类中心个数,测试二者对于整体分类效果的影响。
其中,本文算法针对Salinas数据集将一维向量转化为20×10 矩阵,KSC 数据集转化为11×16 矩阵,动态演化阈值t范围从0.25至0.55每次增加0.025,半径阈值r为3,利用各类地物向量的均值作为中心构造。所有参数均通过交叉验证(cross validation)和网格搜索(grid searching)寻找最优解。
在实验中采用常用的高光谱遥感图像地物分类评价指标,即总体精度(overall accuracy,OA)、平均精度(average accuracy,AA)和KAPPA系数衡量各算法的分类性能公式如(25)~(27)所示。OA 表示正确分类的样本占总体样本的百分比,而AA计算测试样本上每个类别准确率的平均值。Kappa 系数用来衡量预测的标签和真实的标签之间的一致性,是反映模型“偏向性”的重要指标。
其中,r为混淆矩阵的对角线元素个数,CMi,i为对角线元素,CMi+、CM+i为行和列的总观测数,C为类别总数,N为矩阵总元素个数。
混淆矩阵(confusion matrix,CM)是表示精度评价的一种标准格式,也是分析总体精度和Kappa系数等指标的基础。
3.3 实验结果
(1)单一特征分类方法和本文方法的对比
图7 为只使用视觉词典方法以及只使用复杂网络方法与本文所提出的二者融合算法的实验结果。图(a)为真实地物信息,图(b)为只使用视觉词典方法的分类结果图,图(c)为只使用复杂网络方法的分类结果。图(d)为本文所提出的融合二者的分类方法。图中标记了2个区域,圆形区域以及矩形区域。在圆形区域中(对应类别15),单独使用BOVW方法和单独使用复杂网络方法的大量错分类样本点在二者的融合方法中得到了改正。在矩形区域(对应类别1、10、11、12、13、14),单独使用BOVW 方法的分类结果较差,其中存在大量的噪声点,相比之下,单独使用复杂网络方法的分类结果的噪声点较少,而二者融合的算法极大地优化了此区域的分类结果。从表3中也可以看出,本文所提出的BOVW-CN算法的OA 值有13.08%和6.66%提高。AA 和Kappa 也有不同程度的提升。
图7 单一特征分类方法和BOVW-CN的对比结果Fig.7 Comparison results of single feature classification method and BOVW-CN
表3 Salinas数据集不同特征分类结果数据集分类结果Table 3 Results of classification of different characteristics of Salinas data set
(2)现有算法与本文算法比较
图8展示了真实地物信息以及6种特征提取算法所在Salinas 数据集下的分类效果图。分别为RBF-SVM、KNN、SSFL、LBP-KELM、3D-CNN 以及BOVW-CN 方法。可以看出,除最易错分的第8 类和第15 类之外,本文算法在其他类别上的错分噪声点较少,大部分地物的分类准确率很高。
图8 Salinas数据集分类效果图Fig.8 Classification results of Salinas data set
表4给出了6种不同特征提取方的分类精度。RBFSVM、KNN、LBP-KELM、SSFL、3D-CNN和BOVW-CN的OA值分别为88.27%、86.09%、95.23%、94.11%、98.01%、98.97%。
表4 Salinas数据集不同算法分类结果Table 4 Salinas data set classification results of different methods
可以看出本文所提出的特征提取方法对于高光谱遥感图像分类具有优越性。在光谱曲线较为相似且极易错分的第8 类和第15 类的分类上相较其他分类方法也有所提高。在训练样本较少的第13 类中,分类精度也有所提高。同时,通过对Kappa 值的分析,本文算法在分类一致性上相较其他算法也有相应提升。
图9 显示了真实地物信息和KSC 数据集下6 种方法分类效果图,可以看出在图中所标记区域,BOVWCN算法的分类结果更接近于真实地物信息。
图9 KSC数据集分类效果图Fig9 Classification results of KSC data set
表5给出了在KSC数据集下的6种方法分类结果。本文算法较为RBF-SVM、KNN、LBP-KELM、SSFL、LBP-KELM 以及3D-CNN 算法OA 值提高了30.66%、14.94%、2.42%、2.14%以及1.46%。由此,可以得出以下结论:
表5 KSC数据集不同算法分类结果Table 5 KSC data set classification results of different methods
①单纯使用支持向量机算法在不同数据集上的分类结果表现不稳定;
②本文算法在训练样本数据较少的情况下,仍能保持较高的分类精度。
为更直观地表现各算法分类结果的类间混淆,利用弦图工具进行直观分析[33-34]。图10 显示了KSC 数据集在6种方法分类下的混淆弦图,结果表明,BOVW-CN类间混淆数据相比其他方法最少,从而达到最好的分类效果。可以证明,本文提出的算法能够有效地提取高光谱遥感图像特征,从而更加准确地完成分类任务。
图10 KSC数据集分类混淆弦图Fig.10 Confusion circos of KSC data set
(3)动态演化阈值个数和聚类中心个数对本文所提算法的影响
图11 为不同复杂网络动态演化阈值的个数对OA值、AA值和Kappa系数的影响。随着阈值个数增加,在动态演化过程中生成的子网络个数增加,拓扑参数提取数目也随之增加。在分类中,每增加2 个阈值,分类的准确率以及Kappa值可增加0.85%至1.12%。
图11 阈值个数对评价指标的影响Fig.11 Influence of threshold number on evaluation index
当使用K-Means算法构建视觉词典时,为研究单个类型地物不同的聚类中心个数对整体分类精度的影响,分别在两个数据集上,并在聚类中心个数1 至5 对图像进行分类。
结果如图12 所示,聚类中心的增加对最终分类结果的影响较小。聚类中心的增加虽然对分类结果有提升的效果,但同时增加了所提取特征向量的维数。
图12 聚类中心个数对评价指标的影响Fig.12 Influence of number of clustering centers on evaluation index
相较之下,求取均值作为单一中心的计算结果虽然在精度上有所损失,但能够有效降低向量的维数,提升算法的运行效率。
4 结束语
本文提出一种基于视觉词典和复杂网络的高光谱遥感图像光谱特征提取方法,通过对高光谱遥感数据进行预处理,计算归一化数据聚类的聚类中心,构建视觉词典,通过视觉词典机制形成光谱直方图特征。同时,为突出样本波段间的关联特征,将归一化数据矩阵化,采用复杂网络理论方法构建复杂网络,经动态演化之后,提取网络拓扑参数形成复杂网络特征。融合两种特征向量,作为图像样本点的光谱特征进行分类。实验表明,本文所提方法具有很好的分类效果,克服了光谱信息不足的缺陷,能够挖掘出深层光谱信息,提高了高光谱遥感图像的分类精度。但是,该算法没有结合空间信息。下一步的研究工作,将结合高光谱遥感图像的空间特征信息。