基于多级交叉局部二值模式的高光谱图像分类
2021-04-15王立国
王立国, 张 震
(哈尔滨工程大学 信息与通信工程学院,哈尔滨150001)
0 引 言
高光谱图像包含了数百个连续的光谱带,包含详细的光谱信息,故可以有效地区分不同的地物类别,但是高光谱图像的高维数和少量可用的标记样本通常会造成Hughes现象[1]。因此,有必要减少高光谱图像的维度,其中一种策略是将频段选择和相关矩阵等方法用于挖掘具有代表性的谱带[2];另一种策略是降维,将高光谱数据投射到低维空间中,包括传统的主成分分析PCA和Fisher的线性判别分析LDA等[3-4]。对于高光谱图像分类,结合空间信息有助于提高分类性能,马尔可夫随机场MRF在与相邻样本之间具有相互依存关系上,可以捕获复杂空间的上下文信息。Tarabalka等提出的SVM-MRF,在高光谱图像下表现出了较好的分类性能[5]。Gabor特征提取也能获得有效的空间和光谱信息,Jia等提出了一种级联超像素正则化Gabor特征融合方法CSRGFF[6],而不是使用反映局部强度和变化的Gabor幅度和相位特征。文献[7]提出了一种用于高光谱图像分类的三维高斯-Gabor特征提取与选择方法,充分挖掘高光谱图像的空谱特征,在高光谱图像下取得较优的分类结果。局部二值模式LBP能够成功地描述局部图像纹理信息和空间结构[8],一般多用于模式识别[9]和计算机视觉问题中的旋转不变纹理分类。近年来,LBP也被应用于高光谱图像的纹理特征提取,文献[10]提出了通过局部二值模式从降维影像中提取空间纹理特征,以线性加权求和为多核组合方式,与原始光谱特征结合构造混合核极限学习机模型的方法。Li等在从高光谱图像中选择的波段子集中采用LBP和全局Gabor滤波器来产生对空间纹理信息的全面描述[11]。Ye等提出了分段的LBP,通过对相关波段进行分组,从每个波段组中提取空间光谱特征[12]。上述方法虽然都取得不错的效果,但都是采用了传统的LBP描述子。一方面,只考虑了中心像元和邻域像元的关系,没有考虑邻域像元之间的关系;另一方面,经传统LBP描述子获得的特征向量维度过高,不利于后序的计算处理[13]。
针对前面相关方法的不足,本文提出了一种利用多级交叉的LBP算子获取多尺度纹理特征辅助高光谱图像分类的方法,称其为MCSLBP-SVM。此方法从水平垂直方向和对角方向,计算中心像元和邻域像元的编码值,和邻域像元之间的编码值。同时,利用多尺度的窗口生成统计直方图,得到多范围、高精度的纹理特征,将其用于辅助分类,获得了较好的分类结果。
1 多级交叉局部二值模式
1.1 局部二值模式
传统的局部二值模式LBP算子,通过比较中心像素与邻域像素进行灰度值的阈值运算,得到中心像素和邻域像素的二值关系,将二值化的邻域像素值按照一定的编码规则生成编码值,最后将该编码值的统计直方图作为纹理特征描述。传统的LBP算子表示为:
式中:rp为邻域像素灰度值;rc为中心像素灰度值;s(x)为阈值化函数。
计算过程:首先,取3×3大小的8邻域,比较邻域范围内中心像素和邻域像素的灰度值,根据阈值化函数s(x)将邻域位置赋值为0或1,得到8个二进制数值,然后,按照一定的编码规则获得LBP算子的编码值,计算LBP算子的值如图1所示。其中LBP描述子为:2+4+32+128=166。
图1 LBP阈值化示意图Fig.1 Schematic diagram of LBP thresholding
LBP算子虽然广泛地应用于自然图像的各个领域,但其不适合直接应用于高光谱图像分类。传统LBP算子都是针对像素点的灰度值进行计算的,然而高光谱图像的每个像元有很多个波段,这些波段中的反射率等信息组成了该像元的光谱向量,对于这一特点,提出了适合高光谱图像的HLBP算子,其定义为:
式中:(x,y)为中心像元的位置;vc为中心像元的光谱向量;vp为邻域像元的光谱向量;cos(vp,vc)为vc和vp的夹角余弦;K为给定的阈值。
1.2 多级交叉局部二值模式
无论是传统的LBP算子还是适用于高光谱的HLBP算子,都只考虑了中心像元和邻域像元之间的关系,没有考虑邻域像元和邻域像元之间的关系。在生成统计直方图获取纹理特征向量时,其特征向量维度较高,不利于后序的计算处理。因此,提出了一种适用于高光谱的多级交叉局部二值模式,称其为MCLBP。计算了水平垂直方向和对角方向,降低了特征向量维度,且考虑了邻域像元之间的关系,使得对纹理特征的描述进一步精确。MCLBP邻域示意图如图2所示,其定义如下:
首先,计算中心像元与水平垂直四个邻域像元的局部LBP算子Llv:
图2 MCLBP邻域示意图Fig.2 Neighborhood diagram of MCLBP
然后,计算中心像元和对角四个邻域像元的局部LBP算子Ldia:
最后,计算邻域像元之间的局部LBP算子Larea:
通过对上述算子级联可以获得多级交叉LBP算子MCLBP:
式中:(x,y)为中心像元的位置;vc为中心像元的光谱向量,v1,…,v8为邻域像元光谱向量;s为阈值化函数,与式(4)相同。
通过对高光谱图像的每一个像元进行MCLBP算子的计算,可以得到MCLBP图像MX×Y×B,进一步对图像M计算统计直方图即可获得纹理特征。
2 基于多尺度纹理特征的高光谱分类框架
2.1 多尺度纹理特征
由于高光谱图像各地物类别的分布,既可能有紧密聚集的大块地物,也可能有分布离散的小块地物,为了更精确地描述不同范围的纹理特征。在利用MCLBP算子生成统计直方图时,要选用多尺度的窗口,获取不同窗口下的统计直方图,可获得多尺度的纹理特征。高光谱图像的多尺度纹理特征向量Tex的定义为:
式中:Wi(x,y)为某一窗口大小的统计直方图向量;m为MCLBP图像MX×Y×B对应的数值;k为窗口大小;Count函数为计算数值出现的次数。
多尺度纹理特征计算示意图如图3所示,具体步骤如下:
(1)对原始高光谱图像进行PCA主成分分析,获得降维后的图像RX×Y×B;
(2)对图像RX×Y×B进行MCLBP算子运算,获得编码值图像MX×Y×K;
(3)利用编码值图像MX×Y×K结合多个窗口大小,获取多个统计直方图图像WX×Y×V;
(4)将多个统计直方图图像WX×Y×V级联,获得多尺度纹理特征图像TexX×Y×nV。
图3 多尺度纹理特征计算示意图Fig.3 Sketch map of multi scale texture feature calculation
图4 本文分类方法流程Fig.4 Flow chart of classification method in this paper
2.2 本文分类方法
利用多级交叉LBP算子获得编码值图像,并且使用多个窗口生成统计直方图,可获得多尺度纹理特征。将该纹理特征与光谱特征级联,获得包含空间信息和光谱信息的空谱联合向量,利用支持向量机SVM对其进行分类。本方法获得的多范围、高精度的纹理特征,较好地解决了获得纹理特征时只考虑邻域像元和得到的特征维度较高的问题,具体流程如图4所示。
3 实验仿真与分析
3.1 实验数据
为了验证本方法的有效性,利用两个广泛使用的开源真实数据集Indian pines和Pavia高光谱数据进行实验。Indian pines数据集是通过印第安纳地区AVIRIS成像光谱仪获得的,其空间分辨率为20 m,图像像素为145×145,地物像素占10 249个。其中包含220个光谱带,去掉水汽区域和噪声谱带后,保留了200个光谱带,并且在实验过程中选取样本数目较多的12类进行实验,其真实地物类别如图5所示。Pavia数据集是通过帕维亚大学的ROSIS成像光谱仪获得的,其空间分辨率为1.3 m,图像像素为610×340,地物像素占42 776个。其中包含115个光谱带,去掉水汽区域和噪声带后,保留了103个光谱带,在实验过程中选取全部的9类进行实验。其真实地物类别如图6所示。
图5 Indian pines真实地物图Fig.5 Real feature map of Indian pines
图6 Pavia真实地物图Fig.6 Real feature map of Pavia
3.2 实验条件和评价指标
图7 不同窗口大小下分类精度折线图Fig.7 Line chart of classification accuracy under different window sizes
实验CPU为Inter(R)Core i5-7200U、64位Windows10操作系统、内存为4 GB的PC机,使用Matlab 2016 a进行仿真实验。三种高光谱数据集在实验中都选取1%作为训练样本,选取高斯径向基作为本文实验中支持向量机SVM的主要核函数,通过交叉验证搜索法自动取得核参数σ和惩罚因子C的最优值,最终记录的数据为实验10次数据的平均值。评价指标为总体分类精度OA、平均分类进度AA和Kappa系数。
将本方法与其他方法进行对比,以证明本方法的可行性和有效性。第一种方法是利用标准支持向量机算法SVM进行分类;第二种方法是采用Gabor滤波提取纹理特征,经过与光谱特征级联融合再利用SVM进行分类,称其为Gabor-SVM方法;第三种方法是利用适用于高光谱的HLBP算子获得纹理特征,再与光谱特征融合后利用SVM分类,称其为HLBP-SVM;第四种方法是利用本文提出的多级交叉定向LBP算子获得单一尺度纹理特征,将其与光谱特征融合后利用SVM分类,称其为MCLBP-SVM。
在利用MCLBP算子生成统计直方图以获得纹理特征时,根据选择的窗口大小不同,获得的统计直方图也有所不同,如MCLBP-SVM方法。在不同窗口大小下,所获得分类精度折线图如图7所示。可以看出,两种高光谱数据集都是在窗口大小为35左右取得较高的分类精度,所以在MCLBP-SVM方法对比实验中,窗口大小取35。本文方法获得多尺度纹理特征时,窗口大小分别取25、35和45的组合,并由以上窗口大小获得纹理特征后叠加。
3.3 实验结果及分析
在Indian pines数据集上验证了本文算法,每类的训练样本和测试样本的选择策略为选取1%作为有标签训练样本,其他为无标签的测试样本。对比实验和本文实验共5种算法的分类结果如图8所示。
图8 Indian pines高光谱图像分类结果图Fig.8 Classification result maps of Indian pines hyperspectral images
从几种算法的分类结果可以看出,本文方法相比较于Gabor-SVM和HLBP-SVM方法,分类精度更高,错分现象更少,拥有更清晰的轮廓,说明本文方法提出的多级交叉LBP算子获得的纹理特征是有效的。与MCLBP-SVM方法相比,本文方法边缘的错分更少,轮廓更加规整,验证了本文方法中多尺度纹理特征考虑多范围的变化是有效合理的。各方法的总体分类精度OA、平均分类精度AA和Kappa系数如表1所示。可以看出,本方法的OA、AA和Kappa系数均优于其他方法,进一步证明了本文方法在几种方法中分类效果最佳。
表1 Indian pines高光谱图像分类结果Table 1 Classification results of Indian pines hyperspectral images
在Pavia高光谱数据集上的实验,每类的训练样本和测试样本的选择策略为每类选取1%作为有标签训练样本,其他为无标签的测试样本。对比实验和本文实验共5种算法的分类结果如图9所示。
图9 Pavia高光谱图像分类结果图Fig.9 Classification result maps of Pavia hyperspectral images
几种算法的分类结果与Indian pines数据集分类结果类似,相比较于Gabor-SVM和HLBP-SVM方法,本方法分类精度更高,错分现象更少,这是因为利用多级交叉LBP算子可以多角度的获取纹理特征,并考虑了邻域像元之间的关系。与MCLBP-SVM方法相比,本文方法处理的图像边缘更加规整,“斑点”现象减少,充分说明了多尺度纹理特征的有效性。各方法的总体分类精度OA、平均分类精度AA和Kappa系数如表2所示。可以看出,本方法的OA、AA和Kappa系数都优于其他方法,同样,证明了本文方法在几种方法中分类效果最佳。
表2 Pavia高光谱图像分类结果Table 2 Classification results of Pavia hyperspectral images
4 结 论
提出了一种基于多级交叉LBP算子获得多尺度纹理特征的高光谱图像分类方法。利用新的MCLBP算子获取编码值图像,并且在利用编码值图像生成统计直方图时,采取多个窗口的组合,获得了多尺度的纹理特征。多尺度纹理特征充分考虑了邻域像元之间的关系,描述的空间信息更加广泛,降低了特征维度,便于后序分类的计算。实验表明,本文方法在两个开源数据集上,总体分类进度OA、平均分类精度AA和Kappa系数都是几种对比方法中最好的,证明了本文方法的有效性和可行性。