APP下载

标准分数降维的3D-CNN高光谱遥感图像分类

2021-02-22佘海龙解山娟邹静洁

计算机工程与应用 2021年4期
关键词:降维波段光谱

佘海龙,解山娟,邹静洁

杭州师范大学 遥感与地球科学研究院,杭州 311121

高光谱遥感图像包含着数百个丰富的空间和光谱信息的波段,可以为对感兴趣的领域进行分类提供依据,因此在农业[1]、医学图像[2-3]、土地管理[4]、生态监测[5]和法医学[6]等领域有着广泛的应用。随着高光谱成像技术的发展,光谱分辨率大大提升,同时也增加了高光谱图像的复杂度,容易造成所谓的Hughes 现象[7]。因此,在高光谱图像处理过程中,去除数据冗余的过程必不可少。而降维可分为特征提取和特征选择两种方式。特征提取用于寻找合适的映射,将高维特征空间转换为低维特征空间,如常见的主成分分析方法[8]、独立成分分析方法[9]等。另一种是特征选择方法,特征选择是从原始集合中选择最具代表性的特征子集,可以保留原始数据的物理意义,因此应用最为广泛。如Huang等人根据信息熵理论,量化了各波段的信息量,从而达到降维的目的[10]。

近年来,深度学习已经成功应用到语音识别[11]、自然语言处理[12]和图像识别[13]等领域并取得了显著进展。因此,将深度学习应用于高光谱遥感图像分类有着巨大的研究价值。国内外也有越来越多的学者将深度学习的方法应用于高光谱遥感图像分类。如王立伟等人采用迁移学习策略和深度残差网络对高光谱影像进行分类并取得较好的效果[14]。Hu等人在2015年首次利用深度卷积神经网络(Convolutional Neural Networks,CNN)模型对高光谱遥感图像进行分类[15]。该方法利用CNN的局部感知、权值共享等特性,大大减少了模型参数,降低了训练难度,进一步提高了分类性能,但未能充分利用高光谱遥感图像的空间信息。而后3D 卷积出现,由于可以同时提取时间和空间维度的特征[16],使得各学者尝试使用3D 卷积处理高光谱遥感图像。2016年,Chen等人将3D卷积神经网络应用于高光谱图像分类,提取空间-光谱的深层特征,并且加入了虚拟样本的方法解决样本匮乏的问题[17],但网络卷积层参数较多,增加了模型的计算量。

基于以上问题,本文提出了基于标准分数的特征选择方法,结合3D-CNN网络提取高光谱遥感图像的空间和光谱特征,对图像进行分类,并使用大步距卷积层替代池化层[18],以达到提升分类精度和减少计算量的目的。

1 标准分数降维的3D卷积神经网络分类方法

1.1 基于统计方法的高光谱图像异常检测

高光谱图像的异常检测在没有任何已知信息的情况下,逐一检测图像中的每一个像元,若待测像元与周围的背景像元相差较多,则此像元被判定为异常像元,否则为背景像元,图像中的任一像元只属于此两种情况中的一种[19]。

本文为了减少数据量以提升后续分类速度,且通过去除质量较低的波段对分类精度的影响,引入基于统计方法的离群点检测方法,对高光谱数据进行预处理。统计方法中基于分布的方法,是假设给定的数据集符合某种概率分布模型,或利用给定的数据集自动构造其概率分布模型,然后根据分布模型采用不一致性检验来确定离群点,优点是可以达到无监督异常检测且速度较快[20]。其中标准分数是一种常见的一维或低维特征空间中基于统计概率原理的参数异常检测方法[21]。该方法适合处理较大的无标签高光谱遥感数据集,并且方便后续指标的建立。

1.2 标准分数的降维方法

标准分数是一种不受原始测量单位影响的数值,其作用除了能够表明原数据在其分布中的位置外,还能对未来不能直接比较的各种不同单位的数据进行比较。标准分数的计算公式为式(1):

其中,z为标准分数,x为某一具体分数,μ为平均数,σ为标准差。

本文定义了两个指标来衡量波段质量,第一个是某一波段的样本点的标准分之和,另一指标是某一波段样本点标准分数绝对值大于3 的个数。原理是基于统计分布理论,在已知目标概率分布模型的情况下,通过假设检验原理可以进行离群点检测[22]。根据拉依达准则,以3作为阈值,如图1,即样本中99.74%的数据区域的数据视为正常数据,将超出此范围的数据视为异常数据。

图1 正态分布曲线和标准分之间的关系

设Cv为第v类样本(v=1,2,…,C),Bk表示高光谱遥感图像中第k个波段(k=1,2,…,B)。一个波段中,标准分之和越小,说明该波段的反射率越趋于稳定,各样本的离群点个数总数越少,说明该波段数据质量更好。

根据上文中定义的两个指标对高光谱遥感图像的每个波段进行评价,本文以标准分总和为主要参考指标,离群点个数作为次要指标,获取质量最好的前15个波段参加后文的分类。

1.3 3D-CNN模型

卷积神经网络(CNN)是一种专门处理具有类似网络结构的数据的神经网络。卷积神经网络最初受到视觉系统的神经机制启发,是针对二维形状的识别设计的一种生物物理模型,在平移情况下具有高度不变性,在缩放和倾斜情况下也具有一定的不变性。

但CNN 最初是针对二维形状的识别而设计的,对三维数据进行分析时,存在一定的局限性。高光谱图像不同于通常的二维图像,在二维图像空间信息的基础上添加了光谱维,形成三维的数据立方体。针对二维卷积神经网络对三维高光谱数据的信息利用不足的问题,本文采用三维卷积神经网络对降维后高光谱数据立方体进行分析处理。三维卷积神经网络[16]最早被用于视频分析,该方法通过三维卷积操作可以从不同帧间同时提取空间维和时间维特征,因此能更好地对视频中的运动进行分析。三维卷积神经网络(3D-CNN)与二维卷积神经网络(2D-CNN)的网络结构较为类似,都是由卷积层和池化层组成。与2D-CNN不同的是,3D-CNN采用的是3D 卷积核来进行卷积操作,这是两种卷积运算的关键区别。网络的第l层第j个特征图在位置(x,y,z)处的值的计算公式如式(4):

其中,Pl与Ql表示三维卷积核的长度和宽度;Rl为三维卷积核在光谱维上的尺寸;m表示第l-1 层中与当前特征图相连的特征图的个数;表示与第l-1 层相连的第m个特征图的权值;表示第l-1层中第m个特征图在位置(x+p,y+q,z+r)处的值;blj为第l层第j个特征图的偏置;f(·)为激活函数。

1.4 本文的网络结构

高光谱遥感图像是典型的三维数据立方体,在应用深层网络对其分类时,需要面临高维度导致的“维数灾难”问题,以及网络参数过多导致的计算量过大问题。在设计适用于高光谱遥感图像分类的CNN 模型时,实验研究表明,当构建一定层数的模型时,进一步增加CNN 模型的层数,会出现分类精度没有提高反而降低的情况,且还会花费更多时间[23]。因此在构建CNN 模型的过程中,需要重点考虑的因素主要为模型的深度(层数)、滤波器的大小和滤波器的数量,其中模型的深度是影响分类精度的主要因素。

针对此问题,本文构建了三维卷积神经网络对降维后的高光谱遥感图像进行分类,网络结构如图2 所示。网络由若干层的一维和三维卷积/池化的成对组合以及一层全连接层组成,并且使用大步距的卷积层替代池化层完成特征图的降维操作,从而可以降低网络的参数量,以达到降低计算量的目的。

本文卷积层均采用ReLU 激活函数进行非线性映射。ReLU 激活函数比传统的Sigmoid 函数和tanh 函数收敛速度更快。ReLU激活函数的形式如式(5):

本文算法分类步骤如下:

(1)构建空谱数据

首先根据标准分对W×L×H的高光谱遥感数进行降维,降维后的数据大小为W×L×15,以每个目标像元为中心,提取邻域大小为5×5×15 的高光谱数据立方体及其标签作为训练样本,按照一定的比例随机选取每类像元作为训练样本。由于高光谱遥感图像不同波段的数据范围不一致,为了降低不同数据范围对高光谱遥感图像分类精度的影响,在训练CNN 模型之前需要对高光谱遥感图像数据按波段分别进行归一化操作,才能作为网络模型的标准输入。

(2)提取空谱特征

将上一步骤提取到的高光谱图像数据立方体作为网络的输入,首先经过N层的K个三维卷积/池化层的操作,将输出转换为K个一维输出,再将得到的一维输出作为输入,经过M层的P个一维卷积/池化层操作后,得到P个一维特征图,然后经过全连接层,产生高光谱地物类别数量为n个的神经元,并在全连接层采用Dropout方法随机丢弃50%的隐藏层节点以控制过拟合的风险。

(3)分类

在输出层使用Softmax 分类器,完成高光谱遥感图像的多分类任务。n个标定训练样本(x(i),y(i))用于网络的学习,x(i)为第i个样本,y(i)∈{1,2,…,k}为其期望输出的标签。本文构建的目标函数如式(6):

图2 本文3D卷积神经网络结构

2 实验结果和分析

为验证网络的有效性,本文提出的网络算法分别和SVM、4 层的全连接神经网络(NN)、Hu 的1D-CNN[15]以及Chen的3D-CNN[17]在Pavia University和Pavia Centre两个数据集上,采用总体分类精度(OA)、F1-score 和Kappa 系数进行精度评价。实验运行环境为GeForce GTX 1060(6 GB)的PC,Windows10系统。

2.1 实验数据

Pavia Centre和Pavia University两个数据集是2013年由德国机载反射光学光谱成像仪ROSIS 传感器在意大利帕维亚的飞行活动中获得的。该光谱成像仪对波长范围为0.43~0.86 μm内的115个波段连续成像,图像分别共有1 096×715,610×340个像素,空间分辨率都为1.3 m。由于受到噪声的影响,Pavia Centre数据集剔除了13个波段,Pavia University数据集剔除了12个波段,分别剩下102 个和103 个波段作为分类使用数据,同时两个图像中都包含一些没有信息的样本点,在使用之前已被剔除。两个数据集都包含9 种地物类别。两个数据集的伪彩色图和真值图如图3、图4所示。

使用标准分数的方法对两组测试数据集的统计结果如图5、图6,并以每个波段的标准分总和为主要考虑因素,每个波段的离群点个数为次要因素,对每个波段的质量进行评价和排序,并选取质量最优的15 个波段进行分类,最终结果如表1。

2.2 实验参数设置

图3 Pavia Centre数据图像

图4 Pavia University数据图像

表1 选取的最优波段

图5 Pavia University数据集的统计结果

图6 Pavia Centre数据集的统计结果

本文按照7∶1∶2的比例将数据集分为训练集、验证集和测试集,网络采取Xavier 初始化方法,偏置初始化为 0,Dropout 层的参数设置为 0.5,采用 SGD 优化器对网络进行学习训练,学习率设置为0.01。参与结果对比的神经网络均将Batch size设置为100,Epoch为100,每次卷积操作之后都加入了BN层。为适应本文降维后的数据,将参与对比的Chen的3D-CNN[17]的卷积核尺寸由4×4×32调整为4×4×4大小,其余参数不做改变。本文的卷积核采用3×3×3大小,因经过验证,3×3×3的小卷积核能够很好地处理三维时空特征[13]。

2.3 网络模型的选择

本节主要比较了网络深度和训练样本的邻域大小的选择对网络精度结果的影响,结果如表2、表3 所示,分别构建了4层和6层的网络模型对分类精度进行对比,通过实验结果对比选择适合降维后数据的最优网络。

其中3 层卷积的神经网络参考Hu 的1D-CNN 网络模型[15],在实验中发现两层全连接层对于分类精度影响不大,但是会增加大量网络的参数,因此只采用了一层全连接层。4 层和6 层的网络参考了Hamida 的网络模型[24],4 层的卷积神经网络采用了两层的卷积-池化结构,并采用步距为2的小卷积核1×1×3代替了池化层,最后加入一层全连接层。由于大步距小卷积核的加入,使得在加深网络深度的情况下,网络整体的参数不会增加过多,因此尝试构建6 层的网络对数据进行分类,在原有4层的基础上,增加一层卷积-池化层,以提取数据更深层次的特征。不同网络的参数和对应的分类精度如表2和表3所示。最后取10次预测结果的OA的平均值和总体方差作为评价指标。从实验结果对比可以看出,6层的网络模型和取邻域大小为5的网络模型对于两个数据集的适应性最好,精度最高。因此采用此模型参与对比,详细的网络模型参数及特征图计算过程如图7所示。

2.4 网络模型的时间复杂度分析

网络的时间复杂度以FLOPS(Floating Point Operations Per Second)作为衡量标准,即每秒执行的浮点运算数。卷积的时间和全连接层的复杂度计算公式如式(7)、(8):

表2 Pavia Centre数据集中各网络的参数和分类精度

表3 Pavia University数据集中各网络的参数和分类精度

图7 网络模型的参数结构和特征图大小计算过程

式(7)中,W、H、C分别代表特征图的宽(Width)、长(Height)、通道数(Channel),K为每个3D 卷积核的边长,Cin为每个卷积核的输入通道数,Cout为本卷积层具有的卷积核个数,即输出通道数。式(8)中,O(·)代表时间复杂度函数,I代表输入的数量,O代表输出的数量。

由于采用了大步距的小卷积核替代了池化层和小尺寸的卷积核,本文的网络能在保持一定准确率的前提下,极大地减少网络的整体参数和时间复杂度。以本文第一个代替池化的卷积层为例,未加入之前根据式(8)网络的计算量为(3×3×13)(3×3×3)(20×35)=2 211 300,加入替代池化层的卷积层后,计算量为(3×3×13)(1×1×3)(20×20)+(3×3×7)(3×3×3)(20×35)=1 331 100,使得时间复杂度下降了约40%。

本文所用到的神经网络的时间复杂度和实际训练所用时间见表4,对比4 层的1D-CNN,本文的6 层3DCNN 计算量增加并不明显,对比3D-CNN,由于本文3D-CNN采用了小卷积核和卷积层替代池化层的策略,使得对比6层的3D-CNN,整体计算量减少明显。

表4 网络的时间复杂度分析

2.5 分类结果对比

本文中的3D-CNN 和参与对比的分类方法对两组数据进行分类的结果见表5 和表6,整体精度主要采用了OA、Kappa 系数进行评价,单个地物种类精度采用F1-score进行评价。

在Pavia Centre数据集中,由于数据样本充足,各分类方法都得到了较好的分类精度,普遍高于95%,其中本文方法精度达到了99.01%。尤其可以注意到,同样是将空间信息纳入考虑范围的3D-CNN 网络和本文的3D-CNN 网络,在地物 4 中,即 Self-Blocking Bricks,其分类精度明显高于未将光谱信息纳入考虑范围的SVM、NN、1D-CNN等方法,证明了3D卷积将空间关系之外的光谱信息纳入特征学习范围,可以有效提高分类的正确性。

表5 Pavia Centre数据集的分类精度

表6 Pavia University数据集的分类精度

在Pavia University 数据集中,本文方法与传统的NN、1D-CNN 以及3D-CNN 对比,总体精度和大部分样本的分类精度都优于其他方法。3D-CNN 方法在验证集中,具有和本文方法差不多的分类精度水平,但是在测试集中,效果远不及验证集,如图8。其主要原因是本数据集整体样本点较少,且降维后的数据可能失去了一些次重要波段,加之网络深度和参数过多的原因,无法较好地适应降维后的数据集,发生了过拟合现象。而本文的3D-CNN网络,因为采用了多种方式减少网络参数,且具有防止过拟合现象的策略,能较好地适应降维后的数据,在降低网络训练时间的同时对比其余网络取得了更高的分类精度。

图8 训练集误差和验证集精度

3 结束语

本文以标准分数的方法对高光谱数据进行降维,并结合优化后的3D-CNN 对数据进行分类。本文方法可以提取出高光谱数据中数理统计角度的最优波段,从而减少数据质量较差的波段对分类精度的影响。同时3D-CNN和普通CNN比较,可以考虑到高光谱遥感图像中每个地物像素的空间-光谱信息,对比只考虑光谱信息的模型能够提取更多特征,因此可以提升分类效果。此外,由于数据集降维后数据量的减小,在构建网络时也要充分考虑到网络模型深度、滤波器大小和整体网络参数的问题,因此本文尽量减小了网络模型的参数量。实验结果表明,本文的网络模型不仅可以很好地适应降维后的数据,同时也减少了网络模型的训练时间。

猜你喜欢

降维波段光谱
春日暖阳
基于三维Saab变换的高光谱图像压缩方法
混动成为降维打击的实力 东风风神皓极
降维打击
M87的多波段辐射过程及其能谱拟合
星载近红外高光谱CO2遥感进展
日常维护对L 波段雷达的重要性
苦味酸与牛血清蛋白相互作用的光谱研究
抛物化Navier-Stokes方程的降维仿真模型
基于特征联合和偏最小二乘降维的手势识别