渠慎明,刘煊,梁胜彬
(1.河南大学 软件学院,河南 开封 475001;2.河南大学 智能网络系统研究所,河南 开封 475001)
高光谱遥感(hyperspectral remote sensing,HRS)是指获取许多非常窄且光谱连续的图像数据的技术[1]。近年来,高光谱图像被广泛应用于航空航天、农业科学[2]等多学科交叉领域。其中,提升高光谱图像的分类精度是目前研究的热点之一。
高光谱图像具有的高维度特征容易导致Hughes现象[3],常用的高光谱图像降维方法有特征提取和波段选择方法。特征提取是找到一种特征变换,将原始数据转换到低维特征空间,例如,主成分分析降维(principal component analysis,PCA)[4]和线性判别分析[5]等方法。波段选择是从高光谱图像所有光谱波段中选出一个波段子集来实现降维,该方法可以保留高光谱图像原始特征的物理意义并且降低维度,在小样本情况下仍可提升高光谱图像的分类精度。波段选择方法分为有监督方法和无监督方法两类[6]。有监督方法有人工蜂群算法[7]、核模糊粗糙集的波段选择算法(fuzzy rough set,FRS)[8],该类算法需要设置较多的参数,导致模型复杂度较高。无监督方法有葛亮等[9]提出的基于波段聚类的波段选择方法及张悦等[10]提出的基于K-means聚类与自适应波段指数结合的方法(k-means adaptive band selection,KABS),该类方法降低了模型的复杂度。
高光谱图像在采集和传输的过程中会因成像设备与环境因素而引入噪声,这些噪声问题影响了高光谱图像后续的分类精度和可信度[11]。为了减少高光谱图像中的噪声,常采用基于滤波的去噪技术,例如高斯滤波、双边滤波和引导滤波[12]等。其中,引导滤波方法因其去噪的同时能够保持边缘平滑而被广泛应用到高光谱图像的预处理或分类后的处理中。然而,对于图像中的边缘强度大和分辨率小的图案,引导滤波方法会出现图案的信息越过边缘继续传播的现象。为解决这一问题,Eduardo等[13]提出了递归滤波算法(recursive filtering,RF),很好地消除了图像中的噪声。Andrey等[14]提出了一种基于最小二乘法的扩展形态学滤波算法(extended morphological profiles-least square method-support vector machine,EMP-PLS-SVM),提高了分类精度。Kang等[15]将PCA降维后的高光谱图像作为引导图像,使用保持边缘的引导滤波处理图像。冯逍等[16]提出了结合三维Gabor滤波器和基于自动子空间划分波段选择的高光谱图像分类算法。Jia等[17]提出了结合相似性传播的波段选择算法和三维Gabor滤波器的高光谱图像分类算法。王巧玉等[18]提出结合波段选择和保边滤波并运用堆栈降噪编码器分类的算法(band selection_edge preserving filtering_stacked denoising auto-encoders,BS_EPF_SDAE)保持了高光谱图像的边缘特征,同时提高了分类精度。
虽然单独运用波段选择方法可以改善稀疏子空间聚类时的分类精度,但是在图像的特征维数较大时却表现出分类精度下降的现象[19],单独运用滤波的方法无法控制信息在梯度幅值较大的强边缘之间传播,而结合波段选择和保持边缘滤波的BS_EPF_SDAE算法没有考虑光谱的权重以及信息跨越强边缘传播的问题,在分类精度上还有进一步提高的空间。针对以上问题,本文提出了一种联合波段聚类和改进递归滤波的空谱联合高光谱图像分类方法(band clustering-improved recursive filtering,BC-IRF)。首先,利用相对熵对高光谱图像的所有光谱波段进行K-means聚类,实现对高光谱图像的降维。相比于其他滤波方法,本方法改进的是对聚类后的中心波段进行高斯滤波,将高斯滤波后的图像作为递归滤波的引导图像,将聚类后选出的中心波段集作为递归滤波的输入图像且保持不变,执行递归滤波后的输出图像做为下一次递归滤波的引导图像。最后,使用支持向量机对最后一次滤波的输出图像集进行分类。在两个真实数据集上的实验表明,本方法能够提高高光谱图像的分类精度。
相对熵是一种度量两个概率分布之间差异的方法,在高光谱图像中,可以度量波段间的相关性。设任意两个波段Xp和Xq中任意像元xi对应的概率为p(xi)和q(xi),则Xp对Xq的相对熵如式(1)所示。
(1)
式中:E为每波段像元个数。相对熵满足非负性,且相对熵越大,波段之间的相似度越低;反之,波段之间的相似度越高。
求出每个聚类中相对熵和的平方均值最小的波段作为该聚类的中心波段。其计算方法如式(2)所示。
(2)
式中:Xp∈pk∈(1,…,K);AVXp表示波段子集pk中Xp波段和该子集中其他波段之间相对熵和的平方的平均值;Xq表示波段子集pk中除了Xp外的其他波段;B表示该波段子集的波段数目;K表示波段子集个数。AVXp越大,表示Xp与其他任意波段之间的相似度低;AVXp越小,表示Xp与其他波段的相似度高。选出使AVXp取得最小值的波段作为该聚类的中心。
高斯滤波是一种线性平滑的滤波器,其公式如式(3)所示。
(3)
递归滤波的原理是给定一个变换域Dt,将原域D中的一维信号I转换到新域Dt中,新域Dt中相邻样本的欧几里得距离必须等于原域D中相邻样本间的欧几里得距离,递归滤波的计算如式(4)所示。
J[N]=(1-ac)I[N]+acJ[N-1]
(4)
Dt(x+h)-Dt(x)=h+|I(x+h)-I(x)|
(5)
假设Dt为单增函数,对式(5)两边除以h,且取极限h→0,可得式(6)。
D′t(x)=1+|I′(x)|
(6)
对式(6)两边积分,可得式(7)。
(7)
在实际滤波中引入调整滤波器的2个参数,即空间标准差σs和光谱标准差σr,则有式(8)。
(8)
式中:I′(x)为输入信号I(x)的导数。因此,式(8)对信号I进行了域变换,当c增大时,ac趋近于0,J[N]≈I[N],同时式(8)的递归过程会逐渐收敛,同一侧的信号会越来越相似,从而起到保护边缘的作用。
本文提出的BC-IRF方法的流程图如图1所示。
图1 BC-IRF算法流程图
对于一幅高光谱图像HR*E,R表示波段个数,E表示单波段的像素个数,本方法可分为如下步骤。
步骤1:将高光谱的波段平均分为K组,每一组为pk,k∈(1,2,…,K)。
步骤2:根据式(2),得到每一组平方均值最小的波段,将其作为该组的聚类中心波段Xp。
步骤3:根据K-means聚类中的迭代聚类思想,将任意波段组pk的非聚类中心波段Xi∈(X1,X2,…,Xp-1,Xp+1,…,XB)与其他组pj(j∈(1,2,…,k-1,k+1,…,K))的聚类中心波段根据式(2)计算AVXp。如果聚类中心未发生改变,则将K个聚类中心波段作为特征图像集Qi(i∈(1,2,…,K));如果聚类中心发生改变,则重复步骤2、步骤3,直到聚类中心不变。
步骤4:将特征图像集QK作为递归滤波的输入图像,对输入图像集QK中的每幅图像使用高斯滤波器进行滤波,将高斯滤波后的图像G设为初始的引导图像Fi[0]=G。
步骤5:对输入图像集QK中的每一幅图像Qi进行递归滤波,保持输入图像Qi不变,M为递归次数,将滤波后输出的图像Fi作为新的引导图像,如式(9)所示。
Fi[M]=(1-ac)Qi+acFi[M-1]
(9)
步骤6:输出最后一次滤波图像Fi[M],将滤波后的图像集FK[M]输入SVM中进行分类,得出分类结果。
Indian Pines数据集是由AVIRIS高光谱仪在印第安纳州农业实验场采集的145像素×145像素的高光谱图像,共包含16类地物220个波段。去掉含噪声的20个波段,其余200个波段作为实验数据集。总体样本大小为10 249。
PaviaU数据集是由ROSIS高光谱仪在帕维亚大学上空采集的610像素×340像素的高光谱图像,共包含9类地物115个波段。去掉含噪声的12个波段,其余103个波段作为实验数据集。总体样本大小为42 776。本文实验环境为Windows 8操作系统,编程语言为MATLAB。图2和图3分别给出了两种数据集的假彩色图和真值图。
图3 PaviaU数据集
1)波段选择数目和总体精度的关系。基于篇幅考虑,本文仅展示在Indian Pines数据集上的实验。选取总体样本的5%作为训练样本,使用总体精度(overall accuracy,OA)作为评价指标。如图4所示,随着波段选择的数目不断增加,总体精度有不断增加的趋势,当波段选择数目达到30时,总体精度逐渐收敛。以上结果的主要原因是每组波段集的聚类中心波段可以代表该波段组的最大光谱信息量,所有聚类中心波段达到了整个高光谱图像的光谱信息量的最大阈值,当波段数目为25时,总体精度达到了最优值。所以,在后续分析递归滤波的参数和总体精度的关系时,将波段选择的数目设为25。
图4 波段选择数目和总体精度的关系
2)空间标准差σs、光谱标准差σr和总体精度的关系。此处分析当选取5%作为训练样本、波段选择的数目为25、空间标准差σs∈[80,230]、光谱标准差σr∈[0.2,1]时,σs与σr与总体精度的关系。当σs较小时导致忽略了整体的空间信息,总体精度会逐渐降低;当σs过大时会出现多处边缘侵袭的现象,导致图像失去真实轮廓信息,从而精度下降。同理,当σr较大时图像会出现丢失真实形状从而无法保护边缘;当σr较小时图像会出现噪声导致滤波效果较差。在Indian Pines数据集上,由图5可知,当波段选择数目为25时,σr为0.8、σs为170时估计的最大总体精度为96.91%。
图5 Indian Pines数据集下不同σs、σr和总体精度的关系
为了评估本文方法的性能,将本文方法和其他分类方法进行比较。对比方法除了传统的基于支持向量机(support vector machine,SVM)的高光谱图像分类算法[20]以及基于PCA降维的高光谱图像分类算法,还有单独波段选择的非监督波段聚类算法KABS、基于核模糊粗糙集的有监督的波段选择算法FRS、基于空谱联合的分类算法EMP-PLS-SVM,及BS_EPF_SDAE算法。本文方法和传统方法SVM、PCA所用到的SVM分类器采用MATLAB中的LIBSVM工具箱,具体使用的参数如表1所示,其他分类方法所使用的参数采用相关文献中给出的默认参数。
表1 本文方法和SVM、PCA方法所用到的SVM分类器所使用的参数
1)本文方法和PCA降维方法的对比结果。为了验证本方法可以很好地保持地物之间的边缘信息并降噪,图6展示了在Indian Pines数据集上使用PCA降维和BC-IRF方法所提取的特征图像。由图6可知:图6(a)、图6(b)噪声严重,图6(c)、图6(d)很好地消除了噪声,对于不同地物之间的边界,图6(c)、图6(d)中边界划分相比于图6(a)、图6(b)清晰规整;图6(a)、图6(b)的纹理现象明显,图6(c)、图6(d)的平滑效果更加明显;图6表明了BC-IRF方法相比于PCA降维可以阻止强边缘信息互相传播。
图6 PCA方法和BC-IRF方法提取的特征图像比较
2)本文方法和单独波段选择方法的对比结果。图7对比BC-IRF方法和FRS、KABS方法。限于篇幅考虑,本文仅展示在Indian Pines数据集上的实验。本方法的训练样本数目为5%。在选择较少的波段时,BC-IRF方法和FRS、KABS方法相比,总体精度要略优于FRS、KABS方法;当选择波段数量较多时,BC-IRF方法的总体精度仍然优于FRS、KABS方法。原因是BC-IRF方法通过改进递归滤波后保持了不同地物之间的边缘信息,阻止信息跨越强边缘继续传播的现象,起到平滑局部邻域的效果,从而提高分类精度。
图7 波段数量与总体精度的关系曲线
3)不同空谱联合方法分类精度的对比结果。为验证BC-IRF方法的分类精度效果,将提出的BC-IRF方法和SVM、PCA以及EMP-PLS-SVM、BS_EPF_SDAE方法分别在Indian Pines数据集和PaviaU数据集上进行对比实验,以总体精度(OA)、平均精度(average accuracy,AA)和Kappa系数作为指标。在Indian Pines数据集上,每次随机选取总样本数的10%作为训练样本,其余作为测试样本;在PaviaU数据集上,每次随机选取总样本数的6%作为训练样本,其余作为测试样本。将20次实验结果的平均值作为精度指标。表2和表3给出了对比方法在两个数据集上的比较结果。
表2 对比方法在Indian Pines数据集上的比较结果
表3 对比方法在PaviaU数据集上的比较结果
实验采用了小样本的训练集,但BC-IRF方法在两种数据集上仍然可以获得最高的分类精度。表2在Indian Pines数据集上进行,对比SVM、PCA方法的总体精度,本文方法分别提高了16.93%和18.2%。对比文献[14]、文献[18] 两种空-谱联合分类算法,本文方法的总体精度分别提高了6.07%和2.4%。表3在PaviaU数据集上进行,相比于SVM、PCA方法,本文方法的总体精度提高了7.15%和9.63%。比较文献[14]、文献[18]两种算法,本文方法的总体精度提高了2.23%和0.2%。
4)比较不同分类方法的地物分类图。图8和图9分别展示了在Indian Pines和PaviaU数据集上不同分类方法随机一次的地物分类图。
图8 不同分类方法在Indian Pines数据集上的分类结果图(训练样本10%)
图9 不同分类方法在PaviaU数据集上的分类结果图(训练样本6%)
对于图8中传统的SVM和PCA方法,分类结果的噪点较多,同时结合表2可以看出,每种地物的分类精度也较低。KABS方法虽然对高光谱图像进行了降维,但是地物分类图像中仍然有许多噪声。EMP-PLS-SVM方法的分类结果中,一些误分类和侵袭边缘现象仍然存在。BS_EPF_SDAE方法结合波段选择和边缘保持滤波算法,提升了分类精度;对于本文提出的BC-IRF方法,利用了基于相对熵的波段聚类法降低高光谱图像的维度并保留了高光谱图像最大的光谱信息,结合了改进递归滤波算法消除了大量的噪声,多次迭代滤波消除了小尺度结构并阻止了信息在强边缘传播从而强化了高光谱图像的空间结构。由图8(e)、图8(f)中的各三处标记可知,本文方法保持了边缘的平滑,有效控制了边缘被侵袭的现象,从而提高了分类精度。同样,从图9可以看到,在PaviaU数据集上的PCA、SVM、KABS方法均出现了大量噪声,SVM方法由于没有考虑高光谱图像的空谱联合信息导致分类精度比BC-IRF低,PCA方法由于没有对图像去噪处理而直接降维分类导致存在噪声,基于空谱联合的EMP-PLS-SVM、BS_EPF_SDAE方法虽然精度较高,但是存在一定的误分类和侵袭边缘的现象。根据图9(e)、图9(f)左上方的标记可知,本文方法消除了块状的误分类现象,保护了边缘信息。同时,从表3可以看到,本文方法对所有地物种类的分类精度都达到了96%以上。实验证明,本文方法在两种数据集上可以有效联合空谱信息,从而提高分类精度。
本文提出了一种基于波段聚类和改进递归滤波的高光谱图像分类方法,波段聚类尽可能多地保留了原始图像的光谱信息并降低了高光谱图像的维度;另外,对波段聚类得到的中心波段集进行改进后的递归滤波,保持了不同地物之间的边缘信息使图像变得平滑,消除了噪声。实验结果表明,本文方法在两个数据集上相比于BS_EPF_SDAE方法的总体精度分别提高了2.4%和0.2%,达到了97.25%和99.30%。所以,本文方法可以有效地保持地物边缘信息并提高分类精度,在小样本的训练集上能够满足高光谱图像分类精度的需求。在后续研究中,将通过对分类器的优化进一步提高分类精度。