APP下载

一种新的空谱联合高光谱图像分类方法

2021-07-15段小川王广军梁四海杜海波吴萍

遥感信息 2021年3期
关键词:降维编码器分类器

段小川,王广军,梁四海,杜海波,吴萍

(1.中国地质大学(北京) 土地科学技术学院,北京 100083;2.天津市勘察设计院集团有限公司,天津 300191;3.中国地质大学(北京) 水资源与环境学院,北京 100083;4.内蒙古煤田地质局勘测队,呼和浩特 010010;5.青海省环境地质勘查局,西宁 810007)

0 引言

高光谱遥感图像具有高的光谱分辨率、图谱合一的特点[1],在目标探测[2]、环境监测[3]、地物识别[4]等诸多领域应用广泛。高光谱遥感图像分类是高光谱遥感在地物识别领域的研究热点之一。高光谱遥感图像具有丰富的光谱信息,光谱分辨率可达纳米级,用很窄并且连续的光谱通道获取地物的光谱信息[5],可以反映地物的细微特征,为高光谱遥感图像分类提供了便利。但高光谱遥感图像波段多,信息量大,相邻波段的信息具有较高的相关性,从而导致数据冗余度高,因此会出现“维数灾难”的现象[6],即分类精度会随着维数的增加,出现先上升后下降的现象。目前,为解决这一问题,高光谱遥感图像降维是降低“维数灾难”对高光谱遥感图像分类影响的主要手段。在机器学习领域中,降维方法主要分为线性降维和非线性降维。常用的线性降维方法有主成分分析(principal component analysis,PCA)和多维尺度变换(multidimensional scaling,MDS)等,非线性降维方法有局部线性嵌入(locally linear embedding,LLE)[7]和等距特征映射(isometric feature mapping,ISOMAP)[8]等。传统机器学习的分类方法有支持向量机(support vector machine,SVM)和随机森林(random forest,RF)[9]等。近年来,深度学习在高光谱遥感图像分类中的应用比较广泛。目前,基于深度学习的高光谱遥感图像分类方法有堆栈式自编码器(stacked auto-encoder,SAE)[10]、深度置信网络(deep belief networks,DBN)[11]和卷积神经网络(convolutional neural networks,CNN)[12]等。前人研究证明了基于深度学习的高光谱遥感图像分类具有良好的分类性能。

高光谱遥感的传感器在成像时会受光照、大气、气候以及混合像元等的影响,不同地物的光谱曲线会出现相似的现象,即“异物同谱”。同时,相同地物的光谱曲线也会出现较大差异的现象,即“同物异谱”。目前,为解决这一问题,在高光谱遥感图像分类时不仅要考虑光谱信息,也要考虑空间信息。针对高光谱的这一特性,本文提出了二维Gabor(two-dimensional gabor,2D-Gabor)滤波的空间特征提取的堆栈式稀疏自编码器(stacked sparse auto-encoder,SSAE)和三维Gabor(three-dimensional gabor,3D-Gabor)滤波的空谱特征提取的堆栈式稀疏自编码器对高光谱遥感图像分类的算法。为了充分论证该算法的可行性,分别将其在Indian Pines数据集和Pavia University数据集上进行验证。实验结果表明,该算法在2个数据集中都表现出良好的分类性能。

1 堆栈式稀疏自编码网络

1.1 自编码器

自编码器(auto-encoder,AE)[13]是在1986年由Rumelhart等[14]提出的,其目的是为了得到数据的压缩表达,实现数据降维的作用。自编码器通常用于以无监督的方式学习数据集的特征,一个自编码器是由一个输入层、一个隐含层和一个输出层组成,输入层的节点与输出层的节点相同,隐含层的节点一般少于输入层和输出层节点,从而起到降维的作用。从输入层到隐含层称为编码阶段,从隐含层到输出层称为解码阶段,其网络结构如图1所示。

图1 自编码器的网络结构图

编码阶段如式(1)所示。

y=f(Wyx+by)

(1)

解码阶段如式(2)所示。

z=f(Wzy+bz)

(2)

式中:x表示输入数据;y表示隐含层数据;z表示输出数据;Wy和by表示编码阶段的权重和偏置;Wz和bz表示解码阶段的权重和偏置;f(·)表示激活函数。目前比较常用的激活函数有Sigmoid函数、tanh函数和ReLU函数,本文采用ReLU函数作为激活函数。具体表示如式(3)所示。

f(x)=max(0,x)

(3)

为了更好获取数据的压缩表达,要使输入x与输出z尽可能地接近,本文采用梯度下降法[15]不断优化权重W和偏置b来最小化x和z之间的误差,即通过最小化损失函数来获得W和b。本文选取均方误差作为损失函数,具体表示如式(4)所示。

(4)

式中:m为训练样本的个数;xi为第i组训练样本;zi为第i组训练样本的解码数据。

1.2 稀疏自编码器

稀疏自编码器(sparse auto-encoder,SAE)[16]是在自编码器的隐含层中增加了稀疏约束,其目的是为了更好地获得输入的压缩表达,即在隐含层节点数目比较多的情况下也可以获得输入数据的主要成分。稀疏自编码器是通过最小化损失函数来找到最佳参数,损失函数如式(5)所示。

(5)

(6)

1.3 堆栈式稀疏自编码器

1989年,Hecht-Nielsen[17]证明了三层反向传播神经网络具有普遍的表达能力,由于缺乏合适的训练算法,当时并没有得到广泛的应用。直到2006年Hinton等[18]提出了深度学习的思想,人们才得以驾驭这个强大的模型。堆栈式自编码器就是建立在这个模型上的深度学习算法。

堆栈式自编码器由多个自编码器和一个逻辑回归分类器组成。为了集成神经网络和利用学习特征进行分类,需要用逻辑回归分类器对整个训练后的网络进行微调,Softmax分类器作为逻辑回归分类器以实现多分类问题的改进,因此,本文使用Softmax作为其输出层激活。Softmax分类器可以确保每个输出单元的激活值的和为1,因此,可以将输出视为一组条件概率,输入属于类别i的概率,如式(7)所示。

(7)

堆栈式自编码器是通过反向传播网络对高光谱遥感图像实现降维,学习数据的深层次的特征,进而达到分类的目的。具体步骤如下。

步骤1:将数据输入到第一层自编码器中训练网络参数,将第一层自编码器训练好的隐含层数据当作第二层的输入。

步骤2:采用与步骤1相同的方法训练其余的自编码器,将最后一层自编码器的隐含层数据输入到Softmax分类器中,通过训练样本的标签对整个的网络参数进行微调。

步骤3:将测试数据输入到训练好的网络中实现分类。

堆栈式自编码器的网络结构图如图2所示。

图2 堆栈式自编码器的网络结构图

堆栈式稀疏自编码器[19]是用稀疏自编码器代替自编码器组成的网络结构。在高光谱遥感图像分类过程中,堆栈式稀疏自编码器可以更好地学习数据的深层次的特征,进一步提高分类性能。

2 空谱联合的高光谱遥感图像分类

2.1 Gabor滤波器

Gabor滤波与人类视觉密切相关,广泛应用于人脸识别[20]、纹理特征提取[21]和信息挖掘[22]等领域。在高光谱遥感领域,2D-Gabor滤波器主要用于提取图像的空间信息,其具体表示如式(8)所示[23]。

(8)

高光谱遥感图像具有光谱分辨率高和图谱合一的性质,不仅包含丰富的空间信息,而且包含丰富的光谱信息。2D-Gabor滤波可用于提取图像的空间信息。为了充分利用高光谱遥感图像所提供的信息,3D-Gabor滤波器是在2D-Gabor滤波器的基础上考虑了波谱信息,它可以同时获取高光谱遥感图像的空间信息和光谱信息。3D-Gabor滤波器的具体表示如式(9)所示[24]。

(9)

2.2 空谱联合分类器

为了获取不同频率和不同方向的空间特征信息,通过改变滤波器的径向中心频率ω和旋转参数θ,构造不同的2D-Gabor滤波器。其径向中心频率ω选择(1/16,1/8,1/4,1/2),旋转参数θ选择(0,π/4,π/2,3π/4),最终构造了16个2D-Gabor滤波器。本文采取的2D-Gabor滤波的空谱联合分类器具体步骤如下。

步骤1:为了更好地提取高光谱遥感图像的空间特征,通过PCA对高光谱遥感图像进行降维处理并提取前三个主成分。

步骤2:利用2D-Gabor滤波提取降维后的高光谱遥感图像的空间特征。

步骤3:将提取后的空间特征信息与高光谱遥感图像的波谱信息进行融合。

步骤4:将融合后的信息输入到SSAE中进行分类。

网络结构如图3所示。

图3 2D-Gabor滤波的空谱联合分类器网络结构图

为了获取不同频率和不同方向的空谱特征信息,本文通过改变滤波器的径向中心频率ω和旋转参数φ和θ,构造不同的3D-Gabor滤波器。其径向中心频率ω选择(1/16,1/8,1/4,1/2),旋转参数φ和θ分别选择(0,π/4,π/2,3π/4),但是当φ取0时,正弦值为0,此时,θ取任何值都不会影响ωx和ωy的值,因此,共有13个方向,最终构造了52个3D-Gabor滤波器。每个滤波器对高光谱遥感图像进行滤波的结果作为提取的空谱特征信息。如果高光谱遥感图像有b个波段,经过52个3D-Gabor滤波器进行滤波后会产生52×b个空谱特征信息。由于提取的空谱特征信息量过大,为提高后续的分类效率,需要对提取的空谱特征采取降维处理。本文采取的3D-Gabor滤波的空谱联合分类器具体步骤如下。

步骤1:利用3D-Gabor滤波提取降维后的高光谱遥感图像的空谱特征。

步骤2:通过PCA对3D-Gabor滤波后的空谱特征信息进行降维处理,以便提高后续的分类效率。

步骤3:将降维后的空谱特征信息与高光谱遥感图像的波谱信息进行融合。

步骤4:将融合后的信息输入到SSAE中进行分类。

网络结构如图4所示。

图4 3D-Gabor滤波的空谱联合分类器网络结构图

3 结果与分析

3.1 评价指标

为了评价所提出模型的分类性能,采用总体精度(overall accuracy,OA)和Kappa系数作为评价指标。

3.2 Indian Pines数据集实验

Indian Pines数据集是1992年6月在印第安纳州西北部的农业区通过AVIRIS传感器采集的高光谱遥感图像和真实分类图,如图5所示。高光谱遥感图像是由145像素×145像素和200个波段组成,波长范围为0.4~2.5 μm,光谱分辨率为10 nm,空间分辨率为20 m。该图像包括三分之二的农田,三分之一的森林或其他天然生长的多年植被。其中,有两条主要的双车道高速公路、一条铁路线、一些低密度的房屋,以及其他已建成的建筑和较小的道路。

图5 Indian Pines高光谱遥感数据集

在本实验中,设置了五种不同高光谱遥感图像分类方法的对比实验,分别为:光谱信息分类的支持向量机(SVM)、随机森林(RF)、堆栈式稀疏自编码器(SSAE)、空谱联合分类的2D-Gabor滤波的堆栈式稀疏自编码器(2D-Gabor+SSAE)和3D-Gabor滤波的堆栈式稀疏自编码器(3D-Gabor+SSAE)。由于SSAE的参数调节较为复杂,如图6所示,当隐含层节点数量过少时,会使数据的压缩表达能力不足,分类精度较低,随着隐含层节点增多,分类精度会趋于稳定,但是当隐含层节点数量过多时,会导致过拟合,分类精度降低。本文根据图6的隐含层节点数变化影响折线图得出的结论设置隐含层节点数,其余参数参考文献[25]的建议设置参数,参数设置如下所示。

图6 SSAE隐含层节点数变化影响

SSAE的参数设置为:输入层节点数为200,最大迭代次数为1 000次,隐含层为2层,隐含层节点数为100和50,权重衰减项权重λ为0.01,稀疏性惩罚项权重β为4,预期激活值ρ为0.05。

2D-Gabor+SSAE的参数设置为:输入层节点数为248,隐含层节点数为150和80,其他参数与上述SSAE的参数设置一致。

3D-Gabor+SSAE的参数设置为:3D-Gabor滤波的空谱特征经过PCA降维后的维度为200维,输入层节点数为400,隐含层节点数为200和100,其他参数与上述SSAE的参数设置一致。

分别随机选取10%的数据作为训练样本,重复十次实验。五种方法的最高分类精度的分类结果如图7所示,求得评价指标的平均值和标准差如表1所示。

图7 不同方法的分类结果比较(Indian Pines)

表1 在Indian Pines数据集上的分类精度比较 %

实验结果表明,经过十次重复实验,在光谱信息分类实验中,RF的总体分类精度最高可达75.83%。SVM的总体分类精度最高可达81.55%,相较于RF平均总体分类精度提高了4.95%,标准差增加了0.56%。SSAE的总体分类精度最高可达83.86%,相较于SVM平均总体分类精度提高了3.3%,标准差降低了1.03%。在空谱联合的分类实验中,2D-Gabor+SSAE的总体分类精度最高可达94.98%,相较于光谱信息分类实验中的SSAE算法,平均总体分类精度提高了11.32%,标准差降低了0.04%。3D-Gabor+SSAE的总体分类精度最高可达98.04%,相较于2D-Gabor+SSAE的平均总体分类精度提高了3.17%,标准差降低了0.15%。

3.3 Pavia University数据集实验

选取Pavia University数据集进一步验证本算法的普适性。Pavia University数据集是2003年在意大利的帕维亚大学通过ROSIS传感器采集的高光谱遥感图像和真实分类图,如图8所示。高光谱遥感图像是由610像素×340像素和103个波段组成,波长范围为0.43~0.86 μm,空间分辨率为1.3 m。

图8 Pavia University 高光谱遥感数据集

在本实验中,设计思路与Indian Pines数据集实验基本一致,在参数设置上有些许不同,不同之处如下所示。

SSAE的参数设置为:输入层节点数为103,隐含层节点数为80和50。

2D-Gabor+SSAE的参数设置为:输入层节点数为151,隐含层节点数为100和50。

3D-Gabor+SSAE的参数设置为:3D-Gabor滤波的空谱特征经过PCA降维后的维度为100维,输入层节点数为203,隐含层节点数为100和50。

同样分别随机选取10%的数据作为训练样本,重复十次实验。五种分类方法的最高分类精度的分类结果如图9所示,求得评价指标的平均值和标准差如表2所示。

表2 在Pavia University数据集上的分类精度比较 %

图9 不同方法的分类结果比较(Pavia University)

实验结果表明,经过十次重复实验,在光谱信息分类实验中,SVM的总体分类精度最高可达89.68%。RF的总体分类精度最高可达90.42%,相较于SVM平均总体分类精度提高了1.07%,标准差降低了0.09%。SSAE的总体分类精度最高可达94.73%,相较于RF平均总体分类精度提高了4.58%,标准差降低了0.23%。在空谱联合的分类实验中,2D-Gabor+SSAE的总体分类精度最高可达98.90%,相较于光谱信息分类实验中的SSAE算法,平均总体分类精度提高了3.99%,标准差降低了0.03%。3D-Gabor+SSAE的总体分类精度最高可达99.60%,相较于2D-Gabor+SSAE的平均总体分类精度提高了0.87%,标准差降低了0.03%。

4 结束语

针对如何解决高光谱遥感图像“维数灾难”的现象,本文选取SSAE作为分类器。该分类器是以监督的方式学习高光谱遥感图像的深层次特征,同时,降低了高光谱遥感图像的维度,更有利于高光谱遥感图像的分类。与传统的机器学习算法SVM和RF相比,总体分类精度和Kappa系数均有较大幅度提升,鲁棒性更强。针对如何合理利用高光谱遥感图像丰富的光谱信息和空间信息,本文提出了基于Gabor滤波的堆栈式稀疏自编码的分类方法,分别利用2D-Gabor滤波和3D-Gabor滤波对高光谱遥感图像进行特征提取。2D-Gabor+SSAE相较于仅利用光谱信息的SSAE分类的总体分类精度和Kappa系数均有大幅度提升,鲁棒性更强。3D-Gabor+SSAE相较于2D-Gabor+SSAE分类的总体分类精度和Kappa系数均有大幅度提升,鲁棒性更强。本文提出的两种空谱联合分类器和光谱信息分类器相比,总体分类精度和Kappa系数都有显著提高,并具有较强的鲁棒性。3D-Gabor滤波对高光谱遥感图像特征提取的能力优于2D-Gabor滤波,进一步说明了空谱特征对高光谱遥感图像的表达能力优于空间特征。

猜你喜欢

降维编码器分类器
混动成为降维打击的实力 东风风神皓极
降维打击
基于FPGA的同步机轴角编码器
BP-GA光照分类器在车道线识别中的应用
基于PRBS检测的8B/IOB编码器设计
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
JESD204B接口协议中的8B10B编码器设计
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别
多总线式光电编码器的设计与应用