基于卷积神经网络的遥感图像地物分类

2024-02-03 08:52
信息记录材料 2024年1期
关键词:分支残差光谱

仇 龙

(北京科技大学资产经营公司 北京 100083)

0 引言

遥感技术是在20 世纪60 年代逐步发展起来的新兴技术[1]。 通过非接触传感器接收目标地物的电磁波信息,遥感图像的获得能够测量目标地物的几何和物理特性,并以可视化的形式展现出来。 由于不同地物在遥感图像中具有独特的特征,因此可以通过提取和学习这些特征来区分不同的地面物体。 随着遥感技术的不断发展,遥感数据被广泛应用于都市规划、农林、地质、生态等行业,这些应用也在一定程度上推动了遥感技术的进步。 高光谱图像已成为遥感技术发展的重要趋势,相对于传统遥感技术,高光谱遥感利用数百个成像波段,每个波段的宽度通常小于10 nm,并在某个光谱范围内连续分布。 高光谱图像蕴含丰富的光谱和空间信息,因此在农业、环境、监测、医学等许多重要领域广泛应用。 高光谱图像分类作为上述应用中的关键技术,是遥感领域中的一项重要任务。

1 研究背景与基础

在过去几十年中,针对高光谱图像分类的传统方法得到了不断发展,这些方法通过将每个像素点分类为独特的土地覆盖标签,例如最大似然、最小距离、K 近邻、随机森林、贝叶斯模型、神经网络等。 其中,基于核的支持向量机是最重要的分类器之一。 支持向量机通过建立最佳的超平面来分离训练样本,从而获得较高的高光谱分类精度。然而,这些传统方法通常只用来提取边缘、纹理等浅层次特征,难以应对高光谱遥感图像的类内差异性高和类间差异性低的挑战。 例如,类内差异性高是指同一类别的像素在邻域内可能具有不同的形状,其中一些是直线形状,而其他一些是弯曲形状,仅从它们的浅层特征来进行判断和分类,可能会导致这些像素被模型误判定为不同类别。 类间差异性低是指不同类别的像素的纹理可能极其相似,模型易误判定其为相同类别。 在这些情况下,传统的底层特征提取方法可能无法获得最优的分类结果。 因此,研究人员开始探索更好的高光谱图像分类方法。

自2006 年Geoffrey Hinton 提出深度置信网络后,深度学习得到了众多学者的广泛关注,深度学习的主要目的就是建立能够模拟生物体的大脑进行分析新知识和学习所需特征的神经网络[2]。 Yann LeCun 于1998 年设计的卷积神经网络是深度学习的典型应用。 卷积神经网络由卷积层、池化层和全连接层组成,是一个多层神经网络。 近年来,各种经典模型的不断提出使得卷积神经网络的识别准确率持续提高,使计算机具备超越人类的识别能力。图像可以直接作为卷积神经网络的输入,无需任何处理,并可进行端到端的训练任务,省去了传统机器学习中的手工设计特征提取和数据重建过程。 随着深度学习技术的不断推陈出新,遥感图像场景分析也迎来了新的变革[3]。

目前,许多学者开展了深度学习技术在遥感图像处理上的应用。 赵爽[4]将卷积神经网络用于遥感影像的处理,并将其与传统人工神经网络方法进行对比。 刘大伟等[5]将深度学习中的深度信息网络应用于高分辨率遥感影像的研究。 基于深度学习的高光谱遥感图像分类方法可以提取更高层次的特征,从而获得更好的分类结果。 与传统的机器学习方法相比,基于深度学习的高光谱遥感图像分类方法不仅省去了手工设计特征提取的过程,还在分类精度上有了显著的改进。 然而,目前仍存在三个普遍的问题:第一,过度增加卷积神经网络的层数可能会阻碍网络的融合。 第二,大多数现有方法忽略了不同层之间的相关信息。 第三,在联合提取光谱特征和空间特征时仍然存在一定的挑战。 为了解决这些问题并提高分类性能,本研究构建了一种新的双流密集残差网络,详细介绍了网络框架和一些参数设置,并在一个知名的高光谱图像数据集上进行了实验。 实验结果表明,与其他先进的分类方法相比,本研究提出的双流密集残差网络具有更优越的分类性能。

2 实验数据与实验环境

2.1 实验数据

Indian Pines 数据集是由美国印第安纳州的农林地区于1992 年使用波长范围为0.4 ~2.5 μm 的机载可视红外成像光谱仪,通过连续的220 个成像波段对地物信息进行收集。 该数据集实际上是一张像素分辨率为145×145 的图像,其空间分辨率为20 m。 在实际分类中,背景像素被排除,剩下的10 249 个像素是地物像素。 这个数据集总共包含16 类地物,主要以农作物为主。 图1 为Indian Pines 图像的伪彩图,由第25、19、8 这三个波段组成,显示了真实地物标签。

图1 Indian Pines 数据集可视化伪彩图(左)和真实标签(右)

2.2 实验软硬件环境

为了处理高光谱遥感图像分类问题,首先需要建立整个实验平台的软硬件环境。 在软件配置方面,本文选择使用TensorFlow 框架,并需要在系统中配置相应的环境。 实验将在Linux 系统下进行,因此需要配置统一计算设备架构(compute unified device architecture,CUDA)。 本文使用Windows 系统通过PyCharm 软件进行远程操作,并使用Python 语言编写模型代码。 此外,为了生成伪彩图,本实验还将使用MATLAB 软件。 在硬件配置方面,本文使用一台配备Ubuntu 系统的计算机,并配备一块NVIDIA GeForce GTX 1080Ti 图像处理器(graphics processing unit,GPU)。 该GPU 将提供计算能力支持,加速深度学习模型的训练和推理过程。 通过以上软硬件环境的搭建,可以为高光谱遥感图像分类问题的研究提供必要的计算平台和工具支持。

3 实验方法

3.1 数据预处理

高光谱数据是一个具有三个维度的立方体形状数据,包括一维光谱信息和二维空间信息。 本文的方法是通过两个分支分别学习光谱特征和空间特征。 因此,需要对三维高光谱数据进行划分,将每个像素块对应的光谱向量和相邻的空间区域送入网络。 这里的空间相邻区域是由三个波段组成的伪彩图,大小为21×21 像素,由像素点及其上下左右的10 个相邻像素组成。 主成分分析(principal component analysis,PCA)是常用的数据降维技术。 通过采用PCA 将空间分支的成百个光谱带压缩为三个光谱带,不仅可以减少光谱带的冗余,还可以减轻计算负担。 通过PCA,保留了光谱带的主要特征,虽然会丢弃一些光谱特征,但空间特征保持不变。 由于空间分支主要关注空间特征,因此丢弃少量光谱特征对分类结果的影响不大。

3.2 双流密集残差网络结构与训练

本文设计的双流密集残差网络的整体分类系统框架如图2 所示。 将高光谱遥感数据划分为一系列谱向量及其相应的空间邻域。 对于这些空间邻域:首先引入PCA 对光谱信息进行压缩,以提高训练速度。 然后,将训练数据送入双流密集残差网络中,利用反向传播来更新参数。 最后,利用最优模型的参数对测试数据进行预测。

图2 高光谱遥感图像分类整体框架

如图3 所示,双流密集残差网络主要由三部分组成:光谱特征学习、空间特征学习和特征融合。 所设计的网络具有两个分支,上面的分支输入一维光谱向量,且该分支中所有的卷积和池化操作都属于一维计算,用于光谱特征学习。 下面的分支输入每一个像素对应的空间近邻区域,且该分支中所有的卷积和池化操作都属于二维计算,用于空间特征学习。 在空间分支中,由于高光谱数据的通道有上百个,先通过PCA 选取三个光谱带形成伪彩图,对所得到的伪彩图提取空间特征。 考虑上下文信息可以提取更丰富的特征,将像素的近邻区域块被设置为空间分支的输入。 为了公平比较,采用跟其他方法相同的21×21 像素块作为空间分支的输入。 该深度卷积网络的两个分支,首先通过一维/二维卷积层和池化层得到浅层特征,随后通过密集残差网络得到深层特征。 同时,如图3 中的残差块上方的曲线箭头所示,通过跳跃连接将浅层特征和深层特征结合,进一步提高分类结果。 最后,将得到光谱特征和空间特征通过全连接层结合起来。 需要注意的是,最后一层全连接层的隐藏卷积神经元节点的个数必须等于分类的类别数,而且还需要通过一种常用的激活函数——Softmax函数来预测每个类的概率分布,输出分类结果以及整体分类精度。

图3 双流密集残差网络结构图

如图3 所示,双流密集残差网络主要由三个部分组成:光谱特征学习、空间特征学习和特征融合。 该网络采用两个分支的设计:上面的分支(光谱分支)接收一维光谱向量作为输入,其中的卷积和池化操作都属于一维计算,用于学习光谱特征。 下面的分支(空间分支)接收每个像素对应的空间近邻区域作为输入,其中的卷积和池化操作都属于二维计算,用于学习空间特征。 在空间分支中,由于高光谱数据的通道数较多以及更好地捕获上下文信息,使用经过PCA 降维后的图像像素的近邻区域块作为空间分支的输入。 为了公平比较,采用与其他方法相同的21×21 像素块作为空间分支的输入。 该深度卷积网络的两个分支首先通过各自的卷积层和池化层提取浅层特征,然后通过密集残差网络获得深层特征。 同时,通过跳跃连接(如图3 中残差块上方的曲线箭头所示),将浅层特征和深层特征结合起来,进一步提高分类结果。 最后,将得到的光谱特征和空间特征通过全连接层进行融合。需要注意的是,最后一层全连接层的隐藏神经元节点数量必须与分类的类别数相等,并通过Softmax 函数输出每个类别的概率分布,以得到分类结果和整体分类精度。

受到ResNet[6]和DenseNet[7]的启发,这样的结构在一定程度上减轻了在训练过程中的梯度消失问题,并证明了增加网络的层数可以同时提高模型的准确性。 为了实现这一目标,本文设计了密集残差模块,如图4 所示。 密集残差模块包括浅层的特征提取层、级联的残差块、密集特征融合模块和反卷积上采样模块,通过残差连接的方式,既没有引入额外的参数,也没有增加模型的复杂度。 具体来说,残差块采用了“瓶颈块”设计,以减少参数数量。 光谱分支的残差块包含三个阶段的卷积层,卷积核的尺寸分别为1×1、3×1 和1×1。 空间分支的残差块也包含三个卷积层,卷积核的尺寸分别为1×1、3×3 和1×1。 第一层的1×1 卷积将通道数从75 降低到17,最后一层的1×1 卷积将通道数恢复到75。 与传统的普通卷积神经网络相比,该设计将网络的总参数减少了约95%,显著提高了训练效率。 为了验证其有效性,本文还比较了具有相同层数的普通网络,结果表明其精度达到饱和后迅速下降。 因此,本文重点关注这种结构,以增加网络深度。 为了解决下采样过程中卷积和池化操作导致的信息丢失问题,网络的后端采用反卷积操作来恢复信息。 反卷积并不能完全恢复卷积前的矩阵,但可以恢复尺寸,通过自动填充以使输出矩阵与指定的输出矩阵形状相同。

图4 密集残差网络细节图

同时,深度卷积神经网络的超参数选择非常重要。 本文通过实验分析了残差块数目和残差块中卷积核数目对模型分类精度的影响,并得出了最优网络的超参数配置,如表1 所示。 其中,n 表示波段数目,m 表示像素点数目。光谱分支采用一维卷积,空间分支采用二维卷积,每个残差块包含三个卷积层,前两层的通道数设置为17,最后一层的通道数设置为75。

表1 网络的超参数配置

损失函数的设计在卷积神经网络的优化中起着至关重要的作用。 在理想情况下,损失函数能够衡量实际输出与期望输出之间的接近程度,通常可以使用交叉熵作为网络的损失函数。 交叉熵的值越小,代表两个概率分布越接近[8]。 交叉熵公式如式(1)所示。

式(1)中n表示参与训练的数据集样本的个数,概率分布p(xi)为期望的模型的输出,即标签,概率分布q(xi)为实际的模型的输出,H(p,q)表示交叉熵的值。 整个网络的损失函数被定义为平均交叉熵值。 在卷积神经网络迭代学习过程中,当损失值达到最小且基本不再变化时,可以终止训练,即网络参数如权重和偏差达到最佳值。 此外,为了优化学习过程,常使用Adam 算法作为优化算法,它具有高效和易于实现的特点。

4 结果与分析

在本节中,设计了实验以重点验证密集双流残差网络在高光谱遥感图像分类中的效果。 为了公平比较,本文的数据划分方式将按照以前的高光谱遥感图像分类方法的设置,从Indian Pines 数据集中随机抽取10%的训练样本。

4.1 精度评价标准

为了评估神经网络模型的性能,需要使用评价指标来确定分类结果的准确性。 一种常见的方法是将预测的分类结果与实际的标签进行比较,从而创建一个混淆矩阵。混淆矩阵C是一个r阶方阵,具有r行r列,这里r指的是类别数。 如式(2)所示,Cij表示应该分到第i类样本却被分到第j类样本的所有总数。 因此,混淆矩阵对角线上的元素表示被正确分类的样本数量,而非对角线上的元素表示被错误分类的样本数量。 因此,混淆矩阵对角线上的元素之和越大,模型的分类效果就越好。 相反,如果非对角线上的元素之和较大,则模型的分类效果较差。

在高光谱图像分类中,通常使用三个指标进行评估,即总体准确度(overall accuracy, OA)、平均准确度(average accuracy,AA)和一致性系数(Kappa)[9]。 具体而言,总体准确度OA 表示被正确分类的像素数量占整个图像的比例,可以根据混淆矩阵计算得出[10],如式(3)所示。平均准确度AA 是各个类别精度的平均值。 Kappa 通过对精度进行加权测量来计算,代表了一致性程度和稳健性的度量标准,也是基于混淆矩阵计算的,如式(4)所示。

式(3)、式(4)中N代表测试集像素点总数,Ni表示测试集样本中第i类的像素点总数,r为类别数,Cii表示第i类被分为第i类的像元素,Ci+表示第i类的真实像元素,C+i表示被分为第i类的像元素。

4.2 实验结果及方法比较

为了验证所提出的方法的有效性,在实验中将本文提出的方法与其他高光谱遥感图像分类方法进行了比较,包括支持向量机(support vector machine,SVM)、卷积神经网络(convolutional neural networks,CNN)、深度卷积神经网络(deep convolutional neural networks,DCNN)、双分支卷积神经网络(two⁃branche deep CNN,Two⁃CNN)、像素对卷积神经网络(CNN with pixel⁃pair features,CNN⁃PPF)和波段自适应光谱空间网络(band⁃adaptive spectral⁃spatial Net,BASS⁃Net)。 为了进行公平的比较,训练样本选择使用与之前方法相同的数量,从Indian Pines 数据集中随机抽取了10%的训练样本用于训练网络。 表2 显示了在不同方法下使用Indian Pines 数据集时的性能比较结果。 显然,传统的机器学习方法SVM 的性能表现不佳。 此外,CNN 方法的性能也不佳,这是因为它忽略了空间信息。 相比较于其他方法,提出的方法在性能上有所提升。 图5 展示了所有方法的分类图像,本文所提出的方法具有最少的误分类像素。

表2 Indian Pines 数据集在不同分类方法下的精度

图5 Indian Pines 数据集下不同方法的分类结果图

5 结语

为了解决高光谱遥感图像分类问题,本文设计了一种能高效处理有限训练样本的双流密集残差网络。 从双流结构、密集残差网络两个方面提高了高光谱遥感图像分类精度。 该框架包含提取光谱特征的一维密集残差网络和提取空间特征的二维密集残差网络。 将光谱特征与空间特征相结合,可以显著提高分类性能。 通过在可公开获取的高光谱数据集Indian Pines 上所进行的实验表明,本文搭建的框架不但能够提取出比其他方法更加深层次的特征。 而且与传统的方法和其他深度学习网络相比,本文所设计的网络可以获得较高的分类性能。

猜你喜欢
分支残差光谱
基于三维Saab变换的高光谱图像压缩方法
基于双向GRU与残差拟合的车辆跟驰建模
基于残差学习的自适应无人机目标跟踪算法
巧分支与枝
基于递归残差网络的图像超分辨率重建
一类拟齐次多项式中心的极限环分支
星载近红外高光谱CO2遥感进展
平稳自相关过程的残差累积和控制图
苦味酸与牛血清蛋白相互作用的光谱研究
铽(Ⅲ)与PvdA作用的光谱研究