APP下载

融合栈式自编码与CNN的高光谱影像作物分类方法

2021-02-14李仪邦董思意张伟涛

农业机械学报 2021年12期
关键词:降维编码器光谱

郭 交 李仪邦 董思意 张伟涛

(1.西北农林科技大学机械与电子工程学院, 陕西杨凌 712100;2.陕西省农业信息感知与智能服务重点实验室, 陕西杨凌 712100;3.西安电子科技大学先进遥感技术研究院, 西安 710071)

0 引言

通过遥感技术对农作物进行精准分类,对于指导农业生产具有重要的意义。在遥感技术方面,涌现出普通光学遥感、多光谱遥感、微波遥感等一系列遥感技术。其中高光谱遥感技术作为一种新型的对地观测方法,相较于普通光学遥感,具有空间信息与光谱信息合一、光谱分辨率高的特点,可提供丰富的观测信息,进而实现精准的作物参数反演、病虫害检测、作物估产与精细分类。高光谱遥感技术逐渐在农业遥感及精准农业领域获得了广泛的应用[1-4]。

高光谱遥感地物分类的过程中,原始光谱数据维度高,若直接使用完整的原始光谱信息进行分类,会导致Hughes现象[5],严重影响高光谱遥感影像地物分类的精度。此外,在大尺度的高光谱影像地物分类任务中,难以完整获取准确的地面真实分布信息,存在训练样本过少的问题,无法有效地发挥神经网络技术的分类能力。如何有效利用原始影像数据中丰富的光谱信息,在尽可能使用少量的训练样本下提升分类精度,同时避免Hughes现象,成为研究热点[6]。对于传统的高光谱影像,地物分类方法都采用先降维后分类的处理思路。在高光谱影像特征降维方面,通常采用主成分分析(Principal component analysis,PCA)、独立分量分析(Independent component analysis,ICA)等算法[7-8]进行特征降维,但这类方法仅利用了光谱信息,没有利用空间信息。为了更好地利用高光谱影像中的空谱信息,形态学特征、空间变换域特征等空间信息的加入,优化了高光谱影像的降维效果[9-11]。在分类方法方面,K最近邻(K-nearest neighbor,KNN)算法、支持向量机(Support vector machine,SVM)算法等在高光谱影像分类方面取得了较好的效果。基于人工神经网络(Artificial neural network,ANN)的深度学习方法凭借其出色的特征提取能力,在高光谱影像处理领域得到了广泛应用[12-17]。除了直接应用于数据分类外,栈式自编码网络(Stacked autoencoder,SAE)作为一种典型的深度学习网络,在高光谱影像特征降维方面也体现出一定优势。HINTON等[18]研究表明深层的自编码器(Autoencoder,AE)可以有效地对高维特征进行低维表征,取得了很好的降维效果[19-21]。

在实际使用深度学习方法进行高光谱影像分类过程中,这种先特征降维,后分类的数据处理方式将特征降维与分类2个步骤割裂开,而且理论上无法保证降维后的特征一定适应分类网络的要求,从而影响分类效果。文献[22]提出了直接使用SAE对高光谱影像进行分类的方法,通过SAE的“微调”(Fine-tuning)过程,优化网络参数,提高分类精度。但该方法的分类方法较为简单,并未较好地利用降维后的数据进行分类。

针对以上问题,本文充分利用SAE的数据降维优势与卷积神经网络(CNN)的分类优势,通过对这2种神经网络结构的有机融合,构建用于高光谱影像作物分类的统一架构,仅通过一次监督训练,即可实现原始高光谱影像的直接分类,从理论上确保降维后的特征与分类器需求完全一致,以期简化传统高光谱影像作物分类的处理流程,提高分类精度。

1 研究方法

针对高光谱影像分类中训练样本不足,特征降维与分类过程割裂等问题,本文结合SAE高效的降维能力与CNN网络的分类能力[23],提出了一种融合栈式自编码网络与CNN的高光谱影像作物分类方法,构建了一种降维与分类为一体的融合网络。

1.1 栈式自编码网络

SAE是一种多层网络结构,它由简单的自编码器栈式连接而成[24]。图1为单层自编码器结构图,包括输入层、中间隐层与输出层。自编码器尽可能使输入数据等于输出数据,在中间隐层中重构输入信号,实现数据的有效降维[25]。

在自编码器中,数据会通过编码与解码过程,实现数据降维。规定输入数据为x={x1,x2,…,xn},中间隐层输出为h={h1,h2,…,hm},自编码器输出为y={y1,y2,…,yn}。在自编码器的编码与解码过程中,输入数据分别经过变换

h=f(Wyx+by)

(1)

y=g(Wzh+bz)

(2)

式中f(·)、g(·)——激活函数,一般取sigmoid函数

Wy——输入层神经元与中间隐层神经元间的权重矩阵

by——输入层神经元与中间隐层神经元间的偏置

Wz——输出层神经元与中间隐层神经元间的权重矩阵

bz——输出层神经元与中间隐层神经元间的偏置

自编码网络的训练可以概括为通过反向传播算法(Backpropagation algorithm),不断训练参数{Wy,Wz}与{by,bz}来最小化损失函数,本文规定损失函数为均方误差(Mean square error,MSE)。

SAE由简单的自编码网络栈式连接而成,每层自编码器均进行单独训练,将前一层自编码的输出作为下一层自编码器的输入,构成SAE,具备更好的数据低维特征提取能力,如图2所示。

在完成SAE的无监督训练后,提取编码器网络。将编码器网络与Softmax分类器连接,使用少量的样本进行简单的有监督训练,实现编码器网络参数的微调(Fine-tuning),使编码器网络的泛化能力更强[26-28],得到更好的数据降维效果,其训练模式如图3所示。

1.2 SAE与CNN融合的可行性分析

高光谱遥感影像作为一种高维遥感数据,采用SAE对高维遥感数据进行特征降维并使用CNN对降维后数据进行分类,在分类精度上具有较大的优势[24],但是数据的特征降维过程与数据的分类过程仍然是两步的割裂过程。

首先,通过深入分析SAE与CNN 2种网络结构可以看出,二者均采用原理相同的前向传播和基于梯度下降的误差反向传播,在训练的过程中存在共性,具备网络融合的理论基础。其次,在完成SAE的训练后,可以提取编码器网络,结合Softmax分类器对SAE监督训练,实现网络参数的微调和更好的数据降维效果。基于以上分析,利用CNN网络代替原先网络中的Softmax分类器,进一步对降维后的数据进行特征提取。最终在同一个网络中同时实现高维数据的降维与分类,充分利用SAE的数据降维能力与CNN的特征提取与分类能力,构建融合网络,简化数据处理流程,并且使降维后的低维特征更加适合CNN进行分类,提高分类精度,2种网络的融合示意图如图4所示。

1.3 整体网络结构

结合SAE较强的数据特征提取能力与CNN网络的分类能力,提出了如图5所示的网络融合结构,完成2个网络结构的有机融合,简化数据处理流程,并提高数据分类精度。

本文构建的网络整体上由数据输入、数据降维、CNN特征提取及数据分类4部分组成。在数据降维部分,构建了一个4层的SAE,实现单个像素点原始光谱数据的x-220-64-32-24降维;在CNN特征提取部分,构建了一个3分支并行结构的一维卷积神经网络(1 dimensional convolutional neural networks,1d-CNN),该结构借鉴了Inception模块结构[24],通过多个并行的CNN分支来实现不同感知野的特征提取,其中分支1首先采用了20个1×3卷积核进行卷积,随后采用60个1×3卷积核进行卷积;分支2则采用了60个1×3卷积核进行卷积;分支3采用了50个1×3卷积核完成卷积。上述每个卷积操作后均加入批量标准化(Batch normalization,BN)层与线性整流函数(Rectified linear units,ReLU)层;在数据分类部分,即在3个分支网络结构后,使用Add操作将3个分支所提取的特征激活值进行累加,最终由Softmax分类器得到n类的概率结果,完成分类。

在模型使用中,首先选取一定数量或比例的已知像素点作为训练集,采用逐层贪婪式训练算法预训练SAE,并提取编码器网络,其次将提取的编码器网络与CNN网络连接,使用有监督训练方式对整体网络进行学习,实现对CNN参数的训练以及预编码器网络参数的微调,最终完成模型训练。

1.4 数据集选择

选择了Pavia University和雄安地区2组公开的高光谱遥感影像数据集进行实验验证。Pavia University数据集由ROSIS成像光谱仪在意大利Pavia University上空采集。对应的观测场景中包含9种地物类别。数据集共包含115个光谱波段信息,其波长范围为400~860 nm,空间分辨率为1.3 m。去除12个干扰噪声波段,最终剩下103个有效波段信息,图像尺寸为610像素×340像素。Pavia University数据集信息如图6所示。

雄安新区马蹄湾村航空高光谱遥感影像分类数据集由中国科学院空天信息创新研究院发布[29],对应场景中包含20种地物类别。数据集包含了400~1 000 nm的250个有效光谱波段信息,空间分辨率为0.5 m,图像尺寸为3 750像素×1 580像素,雄安数据集信息如图7所示。

2 实验与结果分析

2.1 实验设计与评价

将本文方法与文献[14]提出的1d-CNN方法、文献[22]提出的SAE方法进行对比,其中对文献[14]中的1d-CNN方法进行了修改,实现类似x-220-64-32-24的降维过程。在分类效果评估中,使用了总体分类精度(Overall accuracy,OA)与Kappa系数(Kappa)作为分类性能的评估指标。此外,本实验采用的硬件环境为Intel i7-8750H CPU,Quadro P600 GPU,使用的软件环境为Python 3.8.2,TensorFlow 2.3.1。

其它实验参数设置:训练集均采用随机方式进行选取,对于Pavia University数据集,每一类的训练集数量为该类像素数的10%;对于雄安数据集,训练集样本数量约为每一类像素数目的1%。 对于本文提出的方法,在训练的过程中,预训练采用的损失函数为均方误差损失函数(MSE),采用的优化器为自适应矩估计(Adaptive moment estimation,Adam),学习率设定为0.001;整体训练采用损失函数为交叉熵损失函数(Categorical cross entropy),采用的优化器为Adam,学习率设定为0.000 1。预训练阶段采用较大的学习率,用于加速网络的收敛,节约预训练的时间。在整体训练的过程中,采用较小的学习率,让网络参数均得到最优解,优化参数微调效果[30]。

2.2 Pavia University数据集实验与结果分析

图8为Pavia University数据集在3种不同方法下的分类结果,表1为分类精度结果统计。由图8、表1可以看出,在采用相同测试集的情况下,本文提出的方法优于其他方法,其OA与Kappa系数分别为98.73%和0.983 1,其中OA相较于SAE和1d-CNN分别提高了9.25个百分点和8.79个百分点,Kappa系数分别提升了0.126 1和0.118 8。

2.3 雄安数据集实验与结果分析

雄安地区高光谱遥感数据集共包含了20种地物,图9为该数据集在不同方法下的分类结果,表2为分类精度指标统计结果。在采用相同测试集的情况下,本文方法的OA与Kappa系数分别达到了98.04%和0.977 3,其中OA相较于其它方法分别提高了9.00个百分点和7.07个百分点,Kappa系数分别提高了0.104 9和0.082 4。

2.4 实验结果分析

通过以上实验结果可以看出,本文所提出的高光谱影像作物分类方法相较于其它方法在分类精度上均有所提升,对于Pavia University数据集与雄安数据集,在选用训练集仅占全部像素点数目10%与1%的情况下,其整体分类精度最高分别提升了8个百分点和7个百分点,而且对于观测场景中的每一类作物,本文所提出的算法均取得了较优的分类精度。

表1 不同方法在Pavia University数据集的分类效果Tab.1 Classification results with different methods of Pavia University dataset

表2 不同方法在雄安数据集的分类效果Tab.2 Classification results with different methods of Xiong’an dataset

3 结论

(1)提出了一种融合栈式自编码网络与CNN的高光谱影像作物分类方法,该方法结合了SAE与CNN的优点,只需经过简单的无监督预训练和一次有监督训练,即可在一个网络中同时实现高光谱遥感数据的有效降维与分类,简化了传统高光谱影像分类的复杂流程。

(2)通过本文所提出的分类方法,在数据量较小的Pavia University数据集中,分类精度达到了98.73%,相对于传统方法提高了约8个百分点,在数据量较大的雄安数据集中,分类精度达到了98.04%,相对于传统方法提高了约7个百分点。实验结果表明,本文提出的方法适用于高光谱影像作物分类任务,能够提高农作物的识别分类精度。

猜你喜欢

降维编码器光谱
基于三维Saab变换的高光谱图像压缩方法
融合CNN和Transformer编码器的变声语音鉴别与还原
混动成为降维打击的实力 东风风神皓极
基于3D-CNN的高光谱遥感图像分类算法
基于数据降维与聚类的车联网数据分析应用
设定多圈绝对值编码器当前圈数的方法
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
大气腐蚀数据降维最优维度研究
降维打击