基于上下文感知和超像素后处理的多光谱图像分类

2022-12-30 14:09吴志平麻尧斌汤文超胡必伟胡毕炜刘明嘉
计算机与现代化 2022年12期
关键词:光谱卷积像素

吴志平,麻尧斌,汤文超,胡必伟,胡毕炜,刘明嘉

(1.江西省科技基础条件平台中心,江西 南昌 330003; 2.南昌大学资源与环境学院,江西 南昌 330031;3.南昌大学空间科学与技术研究院,江西 南昌 330031)

0 引 言

地物分类信息的获取在农业资源调查、土地利用现状分析、作物产量估算和灾害评估等领域具有重要意义。基于卫星数据源的地物类型识别已被广泛应用,为开展大区域地物分类提供了一种经济有效的方法。多光谱分类是地物的一级类别提取的最重要数据源。与高光谱数据相比,多光谱数据通常具有更高的空间分辨率和更大的幅宽,而较短的重访周期使其适用于土地解译或农业观察。

由于土地利用发生在比像素足迹更大的斑块上,并且地面真值和光谱数据之间可能存在轻微的错配误差,利用来自邻近像素的信息显然可以提高分类精度,这种信息通常被称为空间上下文信息。基于此,多种融合空间背景信息的多光谱图像分类方法得到了发展。这些方法可以粗分为2类:利用光谱空间中相邻像素之间的空间相关性进行分类,或者利用“决策”空间中相邻像素之间的相关性进行后处理平滑。由于能够自动学习相关的二维空间上下文信息,卷积神经网络(CNN)在图像分类任务中起到了巨大的作用。纵观上述各种图像分类算法,其中全卷积网络(FCN)可以端到端、像素对像素进行训练,得到了广泛研究。随着残差网络(ResNet)的提出,FCN上出现了许多新的基于上下文的变体,以提高分类精度。

相较于传统的基于影像光谱值的逐像元分类方法,面向对象分类方法是针对高空间分辨率遥感影像应用而兴起的一种新的遥感影像分类方法。其以包含相似语义信息的图块作为分类的处理对象,除了可以利用图像的光谱特征外,还可以同时利用图像的几何特征、纹理特征、邻接关系等空间特征。为了探究将基于像素的空间特征提取与光谱特征提取相结合的图像分类和基于区域的图像分类这2种策略的分类精度高低,Wang等[1]在高分辨率多光谱遥感影像上进行了实验,实验结果表明参数相同的情况下,区域级分类并不一定比基于像素的方法表现出更高的精度,分割的结果对于基于区域的方法的分类精度有很大的影响。由此可知,基于区域的分类方法固然可以更多地利用图像的多种特征,但效果并不是最理想的,而基于像素的方法对于光谱和空间特征均有利用,效果更稳定也更精确。

虽然面向对象分类方法并不一定非常理想,但是图像分割作为面向对象分类方法中的基本步骤,仍旧值得人们借鉴利用。图像分割是一种分析图像内容的有效工具,分割的目的是将图像分解成有意义的片段。分割是根据一些先验来计算的,比如形状、颜色或纹理。为了降低计算成本,超像素分解方法被开发出来,该方法利用像素之间的相似性来提供图像的空间信息,在考虑图像轮廓的同时,将像素分成同质区域[2]。超像素能够大幅减少需要处理的元素数量,同时保留图像的几何信息。Giraud等[3]提出了一种基于超像素的块SurperPatch,该结构基于超像素邻域,将空间信息包含在内。Zhao等[4]提出了一种基于超像素的多局部卷积神经网络(Superpixel-based Multiple Local Convolution Neural Network, SML-CNN),利用简单线性迭代聚类(Simple Linear Iterative Clustering, SLIC)[2]来生成超像素,以超像素代替像素作为基本分析单元减少CNNs的输入数据量,并提出了一种结合细节信息和语义信息的多信息修改策略来消除超像素内部和超像素之间对分类结果的不利影响。Li等[5]在重要样本选择策略(Important Samples Selection Strategy, ISSS)中,采用SLIC生成超像素,根据超像素分割结果来选取训练样本。He等[6]同样利用SLIC构建超像素分割图,根据分割后的超像素从原始数据中提取每个对象的三维小块,利用包含训练样本的小块对网络进行训练。

因此,在上述工作的启发下,考虑到FCN对空间上下文信息的建模能力,本文的首要目标是开发一种用于高分辨率遥感图像的基于像素的分类方法,不仅要考虑精度也要考虑计算成本。此外,为了细化分类后的结果,综合利用图像的几何与纹理等特征,本文引入多尺度图像分割的方法对图像进行分割生成超像素,基于超像素对分类结果进行后处理,进一步细化分类结果。

1 已有的多光谱图像分类方法

近几十年来,大量的分类方法被提出,从分类执行方式上可分为非监督分类和监督分类。

1.1 非监督分类

非监督分类方法不需要训练数据,这使得它们适用于具有简单先验知识的特征分类场景。目前遥感非监督分类多采用聚类方法实现,即聚类分析,包括K-means算法和ISODATA算法等。K-means算法的分类准则是指每一个待分像元的灰度值到所分类别的中心的距离平方和最小。ISODATA算法可以认为是K-means算法的改进版,是通过增加并设定参数来控制类别的“合并”和“分裂”这2个操作的一种聚类算法。

最近,越来越多复杂的非监督分类方法被开发出来,以有效地提取一组适当的特征来用于遥感数据的分类和分割。例如,Marinoni等[7]提出了一种基于数据驱动发现的非监督特征提取方法用于对遥感数据进行准确分类。Huang等[8]提出了一种多视图子空间聚类模型,将局部和非局部的空间上下文信息整合到一个统一的框架中。

1.2 监督分类

非监督分类方法仅凭遥感影像中地物特征的分布规律进行分类,而监督分类通过从包含地面真实信息的给定训练集中学习数据关系,已经证明可以提供更准确的分类结果。与非监督分类相比,监督分类更适合地物类型复杂、分布变化大的遥感图像,分类结果也更为准确。由于遥感多光谱数据的复杂特性,监督分类更符合遥感地物解译的需求,因此得到了广泛的关注。

监督分类的方法主要包括2大类,第一类是基于统计模型的监督分类方法,主要包括:最小距离法和最大似然法。最小距离法是一种相对简化了的分类方法,依据像元距各类别中心距离的远近决定其归属。最大似然法是建立在贝叶斯准则基础上分类错误概率最小的一种非线性分类。

第二类监督分类是基于机器学习的监督分类方法,主要包括决策树、RF、SVM、基于深度学习的分类方法以及面向对象分类。决策树分类法是以各像元的特征值为设定的基准值,分层逐次进行比较的分类方法。CART模型由Breiman等[9]在1984年提出,是应用广泛的决策树分类方法。RF算法是一种集成分类模型,是由Breiman[10]于2001年提出的。SVM根据结构风险最小化准则,在使得样本分类误差极小化的前提下,提高了分类器的泛化(普适)推广能力,具有较强的非线性和高维数据处理能力。

人工神经网络包含许多不同的算法,基于误差反向传播的多层感知器神经网络是最早被引入遥感影像分类的一种算法。在最新的研究中,基于深度学习的分类方法得到了广泛使用。Li等[11]引入了深度信念网络(Deep Belief Network, DBN)用于高光谱图像的光谱空间特征提取和分类。Zhong等[12]在DBN模型的预处理(非监督)和微调(监督)过程中引入了多样性促进,以提高高光谱图像的分类性能。Chen等[13]提出了一种基于光谱空间信息的堆叠自编码器(Stacked AutoEncoder, SAE)方法对高光谱图像的高级特征进行提取。Xing等[14]采用堆叠降噪自编码器(Stacked Denoise AutoEncoder, SDAE)方法对高光谱数据进行特征提取,并采用logistic回归方法进行监督的微调和分类。Zhao等[15]还利用一种叠式稀疏自编码器从光谱特征集、空间特征集和光谱空间向量中逐层提取更抽象和更深层次的特征,使用射频进行分类。

全卷积网络(Fully Convolutional Network, FCN)的提出实现了像素到像素的语义级图像分割,有效地避免了目前基于深度学习的方法中斑块式特征学习的局限性。基于此,Maggiori等[16]设计了一个完全卷积的结构,使用CNNs对卫星图像进行密集的像素级分类,并通过两步训练方法解决训练数据不完美的问题。Jiao等[17]在深层多尺度空间光谱特征提取算法中引入了基于VGG-verydeep-16的深度全卷积网络对深层多尺度空间结构信息进行挖掘。Ji等[18]针对多光谱多时相遥感数据提出了一种基于三维卷积神经网络(3D-CNN)的方法,该方法自动从时空遥感图像中对作物进行分类,适用于表征作物生长的动态。Liu等[19]提出了一种基于深度多实例学习(Deep Multiple Instance Learning, DMIL)的端到端学习框架,采用深度卷积神经网络(Deep Convolutional Neural Network, DCNN)和SAE分别提取全色对应的空间信息和多光谱对应的光谱信息,利用基于特征融合的联合光谱和空间信息对多光谱和全色图像进行分类。与SAE和DBN相比,CNNs模型允许使用空间斑块作为数据输入,提供了一种自然的方式来整合空间信息,提高分类性能。近年来,基于深度学习的卷积神经网络的发展在多光谱图像分类方面不断取得突破。针对更深层次网络带来的梯度爆炸、梯度消失和不收敛问题,残差网络(Residual Nets, ResNet)[20]利用残差学习和跳过连接的概念加深网络复杂度,以换取更高的分类性能。另一方面,一些研究集中在提高网络的计算效率上,例如Linknet[21],它非常轻,但性能优越。

以上介绍的大多数分类算法都是基于单个像元进行的,基于像元的分类方法通常仅利用影像的光谱信息和纹理信息进行分类,忽略影像上下文与形状等空间特征。对于高空间分辨率遥感影像,如果仅仅依靠像元的光谱信息对影像进行分类,会造成严重的“椒盐”现象,导致提取的土地覆盖图破碎度比较高。影像上一个像元所代表的地面信息有相当大一部分来自周围地物,因此需要一种新的算法,这种算法不仅要考虑单个像元的光谱特征,还要考虑周围像元的光谱特征,此外还需要有邻近像元的空间特征信息,从而产生了面向对象的分类方法。面向对象分类方法不仅依靠地物的光谱特性,更多的是根据地物的形状、纹理等几何特征和结构信息把具有相同特征的像元组成一个对象,以对象为单位进行分类。比如,Mirzapour等[22]提出了一种基于目标的多光谱图像分割与分类方法。

2 基于上下文感知网络和超像素后处理的图像分类

受用于SAR图像分类的上下文编码器网络(Context-Aware Encoder Network, CAEN)[23]的启发,本文提出一种适用于多光谱图像分类的基于像素的上下文感知网络,命名为Pixel-based Context Aware Network或PCAN。该网络主要由降采样上下文块(Downsample Context Block, DCB)和上下文聚合块(Context Aggregate Block, CAB)组成,从而捕获局部到全局的语义上下文信息。并采用基于多尺度模糊分割的超像素对分类结果进行分类细化。

2.1 上下文感知网络

PCAN的网络结构如图1所示。在网络开始,首先采用一个3×3卷积层来对输入图像块进行初步的特征提取。然后堆叠3个DCB模块来提取图像块局部和周围的上下文特征。DCB模块中采用了一个步幅为2的卷积,使得输出特征图变为输入特征图的一半,在提取尺度特征的同时加速网络学习。并将第3个DCB输出的高级特征图输入步幅为2的最大池化层进一步降低特征的维度,更好地保留图像的纹理特征。之后利用CAB模块来将提取到的上下文特征进行聚合。最后本文采用全局平均池化层加Softmax层来代替全连接层,将多通道特征映射转化为多类问题来进行像素分类预测,分类效果会更好,并且在全局平均池化层后加上一层Dropout进行正则化,防止过拟合。

图1 基于像素的上下文感知网络PCAN的网络结构(s表示步幅)

如图2所示,DCB由跨越式残差单元(Stride Residual Unit, SRU)和膨胀式残差单元(Dilated Residual Unit, DRU)组成。多级残差连接被用于DCB中,将学习问题转移到学习残差映射的残差映射上,并加速网络学习。为了提取局部特征,SRU中使用了2个3×3卷积。同样,为了学习周围环境,DRU中使用了2个3×3膨胀卷积层(膨胀率为2)来扩大感受野。DCB块中的每个残差单元都具有不同的空间上下文学习能力,通过级联2个不同的残差单元,可以充分利用图像块的局部空间特征和周围的环境信息。

图2 降采样上下文感知模块DCB的结构(s表示步幅,Dilate2Conv3表示膨胀率为2的3×3膨胀卷积)

通过DCB对输入图像块进行特征提取,本文获得了包含语义上下文信息的高级特征。为了更好地区分多光谱图像中的复杂地物,需要在高级特征图上进一步学习地物之间的潜在依赖关系,从而获得更好的一致性分类结果。因此,CAB被用来聚合高级特征图中从局部到全局的多尺度语义上下文特征。CAB的具体结构如图3所示。受CE-Net[24]中的密集空洞卷积(Dense Atrous Convolution, DAC)模块以及CAEN[23]中的全局上下文感知(Global Context-Aware, GAC)模块的启发,CAB首先通过4个级联分支来捕获整个图像块更广泛和更深的全局上下文,从而提高分类精度。输入的特征先经过1×1卷积来减少模型的参数个数,降低模型复杂度,在一定程度上防止过拟合。之后4个级联分支聚合的上下文特征被输入到一个3×3卷积中进行进一步的特征学习,最后利用步幅为2的最大池化层来进一步压缩图像特征。

图3 CAB的具体结构

2.2 超像素后处理

为了进一步提升分类精度,减少分类结果的破碎度,受面向对象分类方法的启发,本文将图像分割应用到基于像素分类的方法中。图像分割是基于对象的图像分析的基本过程,而分割尺度则是其中的关键参数。为了开发一种通用的框架来分析和估计最优的尺度参数,Hu等[25]提出了一种逐步演化分析(Stepwise Evolution Analysis, SEA)框架。该框架逐步分析了尺度、局部方差和莫兰指数的演化过程,集成了4种基于局部指数和莫兰指数度量的方法,应用于自动尺度参数化。其后,在文献[26]中,他们又通过分类实验应用证明了基于对象的图像分析工作的最佳尺度是一个范围,而不是一个单一的值,从而证明了该框架自动、直接估计最优分类尺度的可能性。

基于此,本文提出超像素后处理(Superpixel Post-Processing, SPP)。本文采用SEA框架来对遥感图像进行小区域分割,利用像素之间的相似性并根据图像的形状和纹理等特征将图像分割成众多超像素。本文将超像素分割结果与分类结果相匹配。以超像素S为例,不同类别Cn在S中所包含的像素个数不同,则:

P(C1)+…+P(Cn)=1

(1)

其中P(Cn)表示类别n在S中所占的比例,即S中所含类别n的像元数S的总像元数。

小区域分割产生的超像素通常包含同一类型的地物,但考虑到图像场景的复杂性,并不能完全保证块内地物类型的一致性。因此需要采用投票的策略来确定超像素的类别,其与超像素中像元占比有关。当超像素中某一类像元所占的比例较高时,则认为该超像素属于这一类,其他像元很大概率属于类别噪声或误分像元。该投票比例参数需要通过试验来进一步确定。

3 实验验证和结果分析

为了验证方法的有效性,本文使用高分1号卫星数据进行测试,并使用6个算法进行比较。所有算法的结果展示在这一章,并使用客观评价准则进行评估。

3.1 实验方案

本文实验所使用的测试图像来自于高分1号卫星,于2014年12月4日在江西省鄱阳湖上空获得,地面分辨率为8 m,图像尺寸为4548×4503。场景分为农田、水、森林、裸地和建筑共5类。

由于将带标签的数据划分为训练集和测试集的采样策略对于估计的泛化误差的质量和可靠性影响很大,因此本文采用聚类采样策略,以此来扩大不同算法之间的优劣势。对于每一类,使用K-means算法将所有样本的空间坐标划分为2个聚类。从一个聚类中随机抽取一个类的训练样本,另一个聚类作为测试数据。这确保了相同类的2个相邻补丁要么贡献给序列集,要么贡献给具有不重叠的序列和测试区域的测试集。从一个聚类中选取整个数据集的10%作为训练(每一类都选取该类总标记像素的10%,后面同理),从另一个聚类中选取整个数据集的5%作为验证,该聚类的剩余部分作为测试。

为了实现分类,本文对实验数据进行预处理,原始的多光谱图像被归一化为零均值和单位方差,之后,为了充分利用高分辨率多光谱图像中的光谱和空间信息,提取每一个像素点周围的三维立方体块,块的尺寸为27×27,并将立方体块输入到模型作为输入数据,图像边界采用镜像方法进行扩充。

为了评估分类结果,采用混淆矩阵的方法,除了分类精度外,还使用了总体精度(Overall Accuracy, OA)、平均精度(Average Accuracy, AA)和Kappa系数等指标,即:

(2)

其中pc为OA,m为分类类别数,N为样本总数,pii为第i类的判对样本数。

(3)

其中,K为Kappa系数,ppi为第i类所在列总数,pli为第i类所在行总数。

为了验证新方法的有效性,本文将PCAN与随机森林(RF)、支持向量机(SVM)、VGG19[27]、ResNet34[20]、SSRN[28]和MS-PSSRN[29]进行比较。所有算法都是使用Python编程语言和Keras深度学习框架实现的。在RF中,决策树个数设为100,SVM将gamma值设为0.1,惩罚系数设为100。在实验比较过程中,本文对所有比对算法均保留其原始参数设置。在PCAN方法中,网络优化算法采用随机梯度下降(Stochastic Gradient Descent, SGD)算法,初始学习率为0.001。为了防止过拟合且保证公平性,本文对所有基于深度学习的算法均采用了早停策略,批次大小设置为64,训练迭代100次,当损失停止下降15次时停止。

3.2 实验结果及分析

仅使用测试集进行精度评估的测试结果呈现在表1中。其中,OA和Kappa系数的度量表明本文方法比其他方法表现得更好,而RF和SVM的方法表现最差。可以注意到,对于大多数类别来说,传统算法的准确率都较低。RF和SVM都是传统的分类算法,只考虑像素的光谱信息,没有考虑像素的空间信息,故而分类效果会差于其他基于深度学习的方法。RF和SVM对于水体和森林的分类准确率较高,因为它们无需结构信息提取。在训练时间上,本文方法优于ResNet34和MS-PSSRN。

表1 仅使用测试数据验证的高分1号图像测试结果

由于测试集的像素点是分散在整个图像中的,后处理SPP模块无法使用。为了测试SPP模块的有效性,本文对完整图像中的所有像素进行了类别的重新判断,它同时包含了训练集和测试集。分类结果使用SPP后处理来进行局部拼合,它应用于所有图像。对完整图像评估的结果展示在表2中。与表1相比,所有算法的分类精度均有提升。OA和Kappa系数的度量表明本文方法比其他方法表现得更好。同时,当加入SPP进行分类细化后,OA、AA和Kappa系数均有提升。经过实验我们发现,当投票比例设为0.75时,所有图像的分类精度均会提升,当图像的标记像素比例较大时可以将投票比例设为0.6,分类精度会有更进一步的提升。

表2 使用全部标记数据验证的高分1号鄱阳湖图像测试结果

图4展示了不同算法在鄱阳湖图像上的分类图,每种方法的结果由2幅图组成,分别是整幅图像的结果和带标签的像素点的结果。比较图4中PCAN与PCAN+SPP的完整分类结果,可以看出SPP不仅会提升分类精度,而且可以减少图像的破碎度。

高分1号图像 标签 样本分类类别比例

随机森林(RF) 支持向量机(SVM)

VGG19 ResNet34

SSRN MS-PSSRN

PCAN PCAN+SPP图4 高分1号图像的分类结果

4 结束语

本文提出了一种基于上下文感知网络和超像素后处理的多光谱图像分类方法来提高高分辨率多光谱图像的分类精度,该方法被命名为PCAN。所提方法通过构建基于像素的上下文感知网络,来更好地学习多光谱图像的空间上下文信息。本文将新方法与6种常用的图像分类算法在高分1号卫星图像上进行了分类比较。实验结果表明,该方法对多光谱图像具有较高的分类精度,在OA和Kappa系数方面都表现出最优性能。而且,所提出的基于超像素后处理的分类细化方法也进一步提升了图像的分类精度,这为其他分类算法进行分类细化提供了一个新的思路。

猜你喜欢
光谱卷积像素
基于三维Saab变换的高光谱图像压缩方法
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
高光谱遥感成像技术的发展与展望
卷积神经网络的分析与设计
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
高像素不是全部
苦味酸与牛血清蛋白相互作用的光谱研究