基于多特征卷积神经网络的哨兵二号影像地物分类

2023-12-08 13:09黄显培孟庆祥
应用科学学报 2023年5期
关键词:面向对象邻域形状

黄显培,孟庆祥

武汉大学遥感信息工程学院,湖北武汉430079

土地利用/覆盖分类产品是城市规划、土地资源管理、环境研究等领域的重要基础数据[1]。地面数据生产方式虽然能够保证土地覆盖数据的精确度,但是其生产周期长,消耗过大[2]。高分辨率遥感影像中地物结构清晰,空间信息丰富,影像中地物的尺寸、形状和与周围地物的邻域关系可以得到更好的反映[3]。对高分辨率遥感影像的地物进行判读,其土地覆盖分类结果的准确度和效率都能够得到保证。哨兵二号由哨兵-2A 和哨兵-2B 两颗卫星组成,每5 d 可完成1 次对地球赤道地区的完整成像。这种中周期时间分辨率的遥感影像能反映以周为最小单位的时空变化[4],同时其空间分辨率能够满足农业、林业部门的需要[5]。按照遥感卫星载荷空间分辨率标准化设计,哨兵二号影像分辨率可满足1∶10 万国家制图基本比例尺的专题图应用要求[6]。哨兵二号影像获取渠道公开,相较于Landsat 系列影像具有更高的空间分辨率,相比于高分系列卫星具有更好的光谱优势。提高哨兵二号影像分类精度能够提供更好的土地覆盖信息,为国土资源、林业、农业等领域提供有利支持。

以像元为单位的分类方法,例如最大似然分类、模糊分类等方法[7-9]都是利用光谱信息对像元进行分类。对高分辨率影像来说,其同类地物光谱差异大,不同类别间光谱差异不明显,会存在同物异谱和同谱异物的问题,对影像分类产生干扰[10]。大部分数据分类方法不能处理高分辨率影像中复杂的地物光谱信息,也不能满足高效的自动分类识别的需求。深度学习通过网络从底层到高层逐层抽取高维特征,修正网络权值以提高网络分类准确度。AlexNet[11]、VggNet[12]、GoogLeNet[13]在ImageNet 竞赛中取得了相当好的成绩,其在图像处理领域的效果得到了证明。许多学者将其应用于遥感影像土地利用分类利用分类[14-15],但是这些研究只利用了图像的光谱信息,对遥感影像所包含的信息利用有所不足,同谱异物、椒盐现象等类似问题难以得到解决。本文选取武汉市及其周边区域为研究区域,使用2019 年获取并经过去云处理的哨兵二号影像数据作为模型输入数据,在原有GoogLeNet 网络结构上引入了面向对象的光谱和形状特征来辅助规则和不规则地物的分类,提高了模型的分类精度。

1 方法

1.1 面向对象的特征

普通的卷积神经网络仅利用了遥感影像的光谱信息和邻域信息,且邻域特征一般也只是利用中心像素周围的光谱信息。除此之外遥感影像中还包含地物的形状和纹理等特征,利用这些特征辅助光谱信息分类能够提高地物类别分类精度[16-17]。在10 m 空间分辨率的遥感影像中,地表物体的形状能够十分清晰地呈现,信息更丰富、准确,纯净像元数量也更多。由于哨兵二号影像部分波段只能达到20 m 的分辨率,地物纹理特征的可分离性较低,大部分采用纹理特征的研究影像空间分辨率都在2 m 及其以下[18-19]。因此,模型输入只考虑引入面向对象的光谱和形状特征。本文引入面向对象思想,首先对影像进行多尺度分割,选择对象包含的光谱特征和形状特征参数,总共33 个特征参数,如表1 所示。其中,均值、标准差以及亮度值都是对象的光谱特征,长宽比、形状指数、密度等特征都是对象的形状特征。形状指数能够描述对象边界的光滑度,对象越破碎,形状指数越大[20]。密度特征可以描述对象的精致程度,对象形状越接近正方形,它的密度就越高[21]。这些形状特征指数能够对规则地物和不规则地物的区分提供帮助,例如耕地和灌木丛、房屋和裸地。

表1 面向对象特征参数Table 1 Object-oriented feature parameters

1.2 网络结构

深度学习自AlexNet 后迅猛发展,2014 年GoogLeNet 取得了ImageNet 竞赛的冠军,它提出了一种稀疏性的Inception 结构[13],该结构相比于其他网络,在一定程度上解决了网络深度和宽度提升时产生的过拟合和计算量增大的问题,同时还保证了网络的质量。如图1 所示,它通过不同大小的卷积核和池化操作提取不同尺度的特征,能够更大程度上利用图像中隐藏的信息。

图1 Inception 结构Figure 1 Inception structure

为了尽可能地利用地物的邻接特征,本文的网络结构输入影像大小为15×15 像素。例如,房屋和道路边缘的植被多为灌木丛,这类植被在光谱上的表现和部分耕地上的作物相似,引入邻域信息能够增加分类的准确度。原始的GoogLeNet 的网络结构如图2(a) 左半部分所示,相比于原有网络的输入大小(224×224 像素),本文实验数据采用的邻域窗口尺寸为15×15像素。因此,本文对原始的GoogLeNet 结构进行了一定修改,修改部分为图2(a) 红色虚线框部分,将进入Inception 结构前的操作更换成一个3×3 的卷积,共经过7 个Inception 结构,2 个最大池化、将7×7 的平均池化替换成4×4 的平均池化。最后,经过一个全连接层得到最后的分类结果。

图2 网络结构Figure 2 Network structure

输入影像大小为15×15 像素,能够有效地利用邻域特征,但是如果中心像素的对象过小,则过大的邻域窗口会影像最终分类结果,因此,利用中心像素所属对象的均值、标准差、亮度值等光谱特征可以辅助邻域窗口进行分类。同时,除了对象的光谱特征,本文还引入了对象的形状特征。人工地物如建筑物、道路、街道绿化以及耕地等地物,相比于自然地物例如水体、绿地、裸地和滩涂等地物其形状更加规则[22]。长宽比、形状指数、密度等特征有助于区分同谱异物的情况。如图2(b) 所示,结合对象形状特征的网络结构是在修改后的GoogLeNet 基础上加入一个全连接网络,通过网络对面向对象的光谱特征和形状特征进行训练,提取出512维特征,然后与修改后的GoogLeNet 提取出来的512 维特征进行结合,最后通过全连接层得到的6 维向量,即是网络模型对于输入中心像素类别的结果。

2 实验数据与分类过程

2.1 实验数据与预处理

本文采用的是2019 年获取的武汉市及其周边的10 m 空间分辨率的哨兵二号影像,由于影像有部分云雾遮挡,所以选用了多幅云量覆盖率较少的影像数据,采用Google Earth Engine 平台利用云评分算法对影像进行了去云处理[23]。该算法认为云的像素是明亮和寒冷的,但不共享雪的光谱特性。具体而言,它将云分数定义为以下值中的最小值:

本文选取了哨兵二号的10 m 分辨率的可见光和近红外(宽)波段、20 m 分辨率的近红外(窄)波段、3 个红边范围内波段和2 个短波红外波段,共计10 个波段。将20 m 分辨率的影像采样到10 m 分辨率,再加上NDVI、NDWI、NDBI 这3 个归一化指数,共计13 个波段。从中裁剪了10 幅400×400 像素大小的影像和5 幅200×200 像素大小的影像分别作为训练集和测试集,并对影像进行目视解译,得到影像对应的训练标签。参考全国土地利用现状分类标准[24](GT/T2010-2017)和中国土地利用制图产品(CNLUCC)的分类标准将地物分为了6 个类别,分别是人工地物、耕地、绿地、裸地、水体、滩涂。利用15×15 像素大小的窗口获取中心像素地物的邻接特征,由于在Pytorch 框架下读入大量小文件时耗时过长,不利于训练。因此,将训练集和测试集都制作成LMDB (lightning memory-mapped database),这种数据库使用的内存映射文件可以提高数据读入效率。

2.2 实验环境与训练过程

实验环境采用Pytorch 框架,参数batchsize 设置为1 500。学习率采用CyclicLR 策略[25],使学习率在上边界和下边界范围内周期性变化,以此达到网络的最佳拟合状态。其中上边界、下边界和stepsize 分别设置为0.000 2、0.000 001、8 071。由于训练集的类别种类不平衡,因此滩涂和裸地的类别数过少,为了解决这个问题,在计算交叉熵函数时加入类别权重值,权重分别设置为0.247、0.330、1.000、0.194、0.260、5.380。网络每一个卷积函数后加入了BN 层来加快模型收敛速度,避免梯度爆炸或者梯度消失。如表2 所示,原始影像数据的10个波段和计算的3 个特征波段作为图2(b) 左结构的输入,输入数据大小为15×15×13,经过多次卷积和3 次池化得到1×1×512 的输出。如表3 所示,计算得到的面向对象的特征作为图2(b) 右结构的输入,输入数据大小为1×1×33,经过3 次线性层得到1×1×512 的输出。将左右两边的结构输出结果在channel 通道进行拼接得到1×1×1 024 的数据,最后通过全连接层得到最后1×1×6 的分类结果。

表2 面向对象的GoogLeNet 左结构Table 2 Object-oriented GoogLeNet left structure

表3 面向对象的GoogLeNet 右结构Table 3 Object-oriented GoogLeNet right structure

3 实验结果与分析

本文采用了两种网络结构进行训练,并利用混淆矩阵的方法对两种网络模型的精度进行评价。如表4 和5 所示,使用GoogLeNet 模型训练得到的总体分类准确率为83.632%,Kappa 系数为0.788 1;使用Object-oriented GoogLeNet 模型训练得到的总体分类准确率为85.405%,Kappa 系数为0.811 4。在引入面向对象的特征后,无论是总体精度还是Kappa 系数都有所提升。除了水体和耕地的分类精度下降,其他4 种地物的分类精度都有所上升。

表4 GoogLeNet 模型混淆矩阵Table 4 GoogLeNet model confusion matrix

30 m 分辨率的Landsat8 影像存在大量的混合像元,而哨兵二号影像的分辨率是10 m,其细节信息更加丰富且纯净像元数量更多[3],其分割质量更高,更容易满足整体分析的需要。以像元为分析单元时,同谱异物和同物异谱问题难以得到解决,而采用面向对象的特征能够补充光谱特征的不足,区分光谱相似的地物,减少同谱异物的问题,从而提高了分类精度。从图3(a)~(d) 的分类结果图中可以看出,滩涂、人工地物和裸地在高亮度值区域光谱特征过于近似,只利用光谱特征不能有效区分这3 种类别。从表4 和5 中可以看出在引入面向对象的特征后,人工地物和滩涂类别被误分为裸地的数量就有所减少。人工地物的误分类减少的原因是加入了规则的形状特征作为区分标准,而滩涂的误分类减少是因为分类的最小单元从像素转换到了对象,而滩涂对象的光谱特征中的标准差和裸地之间的差距较为明显,能够更容易区分。

光谱近似的还有绿地中低矮植被和耕地。耕地之间道路上的低矮植被在分类过程中受到周围地物的影响,常被误分成耕地。比如图3(d) 中左上角一些种植在道路两旁的植被受到邻域窗口的影响被误分类成耕地,引入形状特征后分类情况得到了改善。从表4 和5 中也可以看出,误分类数从8 114 降低到了5 573。耕地被误分类为绿地的数量些许增加,这是由于大部分绿地的形状都不规则,而城市绿化会出现排列整齐的情况,其中的灌木丛会同时具有规则形状和与耕地相似的光谱值,一定程度上会影响分类结果。

除了解决同物异谱问题,面向对象的特征还能在一定程度上帮助小面积地物减少其受到大尺寸邻域窗口的影响。如图3(a) 中,采用GoogLeNet 模型进行分类,将很多在城市区域的绿化和建筑物错误分类成耕地。引入面向对象的特征后,图3(a) 中的错误分类耕地类别被正确分类为人工地物。从表4 和5 的对比中也可以看出,被误分为耕地的人工地物类别数从3 303 减少到1 224。

4 结语

在不考虑邻域窗口的情况下,单个像元的分类容易产生椒盐现象,而邻域窗口过大会影响中心像素的分类结果。本文在原始GoogLeNet 的基础上,引入面向对象的光谱和形状特征为地物分类提供更多有利的信息。实验结果表明,引入面向对象特征的GoogLeNet 模型对哨兵二号影像进行分类具有更高的分类准确率,分类结果中的椒盐现象有所减少,同谱异物的问题得到了一定程度的解决,同时还减少了大尺寸邻域窗口对小面积地物的影响。

由于本文未对对象的分割参数进行研究,某些地物的分类错误可能就是由于对象边界分割得不够准确,在引入形状特征后造成了误分类。同时,在选取形状特征时没有深入探究不同特征对模型的影响。在后续的研究中,可以更加细致地探究各形状特征对于不同地物类型分类结果的影响,建立更加完善的特征组合。

猜你喜欢
面向对象邻域形状
挖藕 假如悲伤有形状……
稀疏图平方图的染色数上界
你的形状
面向对象的计算机网络设计软件系统的开发
基于邻域竞赛的多目标优化算法
面向对象的数据交换协议研究与应用
看到的是什么形状
关于-型邻域空间
面向对象Web开发编程语言的的评估方法
面向对象信息提取中影像分割参数的选择