基于优化HRNetV2的高分辨率遥感影像土地利用自动分类
2022-03-30常秀红李纯斌李全红
常秀红,李纯斌,吴 静,李 颖,李全红
(甘肃农业大学资源与环境学院,甘肃 兰州 730070)
土地利用分类数据可以为生态环境监测[1]、城市规划[2]、土地资源管理[3]等任务提供重要的数据支撑。目前获取该数据的途径主要是遥感影像的解译,常用的方法有目视解译和机器解译。目视解译精度高,能够实现小区域内精细的土地利用分类,但面对大区域内海量高分辨率遥感影像的土地分类任务时,需要漫长的时间,且要求解译者有丰富的影像判读经验。除目视解译外,机器解译也在土地利用分类中具有较强的应用价值,如柴旭荣等[4]用随机森林机器解译方法实现了大区域尺度上的土地覆被快速分类。虽然机器解译能实现快速分类,但不能满足对分类的高精度需求。因此,如何快速、准确地实现区域内遥感影像的土地利用分类是目前遥感领域内具有挑战性的研究方向之一。
近年来,计算机视觉技术发展迅速,该领域内的语义分割算法是像素级别细粒度分类,能够实现海量遥感影像的自动解译任务,因此在基于遥感的土地利用分类领域内具有较好的应用前景。LONG等[5]于2015年首次提出全卷积神经网络(Fully Convolutional Networks, FCN),该研究是利用高级语义信息对图像像素进行预测分类的重要突破,为语义分割的发展奠定了基础。如MAGGIORI E等[6]于2016年将FCN应用于遥感影像的分类任务中,实现了细粒度的影像分类。随后,学者们通过引入空洞卷积(Atrous Convolution)替换骨干网络(backbone)、引入条件随机场(CRF)等方法对FCN做了适应性改进后应用于遥感影像的地类提取中[7-9],但由于FCN没有利用低层级特征,导致分类结果依旧较粗糙[10]。之后提出的Unet[11]、Segnet[12]等语义分割模型使用编码器—解码器(Encoder-Decoder)、跳跃连接(skip-connection)结构将深层特征与浅层特征进行了融合,提高了模型的分割精度。如李道纪等[13]在Unet中引入注意力模块来提取不同层次的语义信息,强化了特征图之间的相互关系,且在Vaihingen数据集上的平均交并比达到64.46%。Deeplab系列模型[14-17]中提出的空洞卷积、全局金字塔池化(Atrous Spatial Pyramid Pooling)能够使模型学习到多尺度的上下文信息。其中, DeepLab V3+模型在语义分割领域内分割性能较好,应用也较为广泛。如胡伟等[18]将Deeplab V3+与树形结构相结合,在Potsdam数据集上的整体准确率OA达到90.7%。虽然上述研究取得了突破性进展,但是这些主流的语义分割网络多数是以串联一系列卷积池化操作的分类网络如 AlexNet[19]、VggNet[20]、GoogleNet[21]、ResNet[22]为backbone进行特征提取,在提取特征信息的同时减小了特征的空间尺寸,丢失了一部分的细节信息,即使上采样也不能将丢失的信息完全恢复。
SUN等[23-24]在2019年提出了HRNetV2语义分割模型,该模型以并联卷积池化方法来提取不同层次的特征信息,且在各个分支上分辨率保持不变,从而减少了空间细节信息的丢失,提高了模型对分割目标的细节表示。但HRNetV2语义分割模型中的多层次特征融合方法是先将低分辨率特征图上采样到高分辨率特征图,再进行的Concat。此方法会存在信息冗余、特征不匹配等问题。此外,用语义分割模型实现高分辨率遥感影像的土地利用分类时,存在地类目标尺度大小不一、样本不均衡等问题,使用交叉熵损失函数无法兼顾小比例样本的学习。再加上目前大多数研究是基于Vaihingen、Potsdam、WHDLD等数据集对城市场景、土地覆被进行分割来实现模型的改进,分割体系并不能满足目前的土地利用分类需求。
因此,本文制作了土地利用数据集,并基于HRNetV2模型从损失函数、特征提取两个方面对模型进行了优化,以提高模型的分割精度。最后,将优化后的模型运用到民乐县的土地利用分类中,并基于混淆矩阵对分类结果进行了评估,实现高分辨率遥感影像的土地利用自动分类。
1 研究区域与数据集制作
1.1 研究区概况
民乐县(东经100°22′59″~101°13′9″、北纬37°56′19″~38°48′17″)位于张掖市东南部、祁连山北麓,河西走廊中段。海拔在1 559~4 951 m之间,呈现出东南高、西北低的地势特征,形成以山地和高原为主的地形地貌。该区南部为祁连山山地,海拔在2 800 m以上,分布着大面积的林地和草地;在海拔4 000 m以上的高山,有冰川及常年积雪,形成天然的“高山水库”。中部区域气候舒适、地势平坦,适合人类居住,且有洪水大河等七条大河,因此该区域为农业灌溉区。北部区域气候干燥、降雨量较少,因此植被较少,砂石裸露。境内用地类型复杂多样,主要有耕地、草地、林地,且耕地有水浇地和旱地,林地主要有乔木林地、灌木林地和其他林地,草地主要以天然牧草地和其他草地为主。其余的用地类型有园地、商服用地、工矿仓储用地、住宅用地、公共管理与公共服务用地、交通用地、水域及水利设施用地及其它用地。
1.2 数据集制作
高分六号卫星于2018年6月2日在酒泉卫星发射中心成功发射,该卫星携带高分相机,有2 m空间分辨率的全色,8 m分辨率的多光谱波段,具有高分辨率、高质量、高效成像等特点。资源三号是高分辨率立体测绘卫星,搭载的4台光学相机中多光谱相机包括红、绿、蓝、近红外4个波段,可获得分辨率为5.8 m的多波段影像。本文以2019年夏季民乐县高分六号、资源三号卫星影像为主要研究数据,通过正射校正、影像融合、影像镶嵌与裁剪得到研究区空间分辨率为2 m的高分辨率影像,在红、绿、蓝波段组合下进行土地利用分类。
深度学习需要大量带标签的数据进行训练,而现有的遥感影像开源数据集无法满足本文相对精细的土地分类要求,因此,需要人工建立相对精细的用地类型标签数据集。参照土地利用成果数据,按照第三次国土调查分类体系(表1),通过目视解释的方法勾绘出研究区内的土地利用一级用地类型,保存为shp
表1 土地利用分类体系Tab.1 Land use classification system
格式的数据,用ArcGIS pro中的“导出数据进行深度学习”工具将影像图和土地利用数据以步幅为128分割成小尺寸图像,长宽为256×256像素,得到该区域的样本总量为38 331张图像,随机将样本划分为训练集(60%,22 999张)、验证集(20%,7 666张)、测试集(20%,7 666张)。部分数据集影像及对应标签如图1。
图1 部分数据集影像及对应标签Fig.1 Example of image and label of dataset
2 模型与方法
2.1 HRNetV2语义分割模型
HRNetV2语义分割模型的结构如图2,该模型首先通过HRNet分类网络提取不同层次的特征信息,其次将不同层次特征信息进行融合,最后通过分类器完成图像的密集预测。在HRNet的分类网络中,包含4个分支,每增加一个从高分辨率到低分辨率的下采样分支,相应通道数就会扩大为2倍,如输入高分辨率特征图为256×256×64(长×宽×通道数),增加一个分支后得到特征图为256×256×64(高分辨率)、128×128×128(低分辨率分支)。该网络结构中包含4个阶段。第一个阶段含4个残差单元,每个残差单元中包含一个3×3卷积和两个1×1卷积,1×1卷积主要用来改变特征图维度,3×3卷积用来提取特征,与ResNet50中的残差单元一致;第2、3、4个阶段中分别包含1、4、3个交换块(多尺度特征融合结构),每个交换块包含4个残差单元,交换块主要通过低层级特征的上采样、高层级特征的下采样及同层级特征图的融合完成,其目的就是不同层次特征图之间能够融合出较完整特征信息。在不同层次特征融合中,将2、3、4分支的特征图分辨率上采样到第1分支特征图分辨率,再进行Concat。
图2 HRNetV2语义分割模型结构Fig.2 HRNetV2 semantic segmentation model structure
2.2 HRNetV2语义分割模型的优化
HRNetV2语义分割模型是以HRNet为backbone来提取不同层次的特征信息。在该过程中多次使用多尺度融合单元对高、中、低分辨率的特征进行融合时会出现通道信息不匹配问题。针对该问题本文用引入SE模块的残差结构代替普通残差块来改善。同时,为了进一步增强模型对不同尺度大小分割目标的感知能力,本文在每一分支特征图上均加入ASPP模块来捕捉上下文信息,且输出特征的通道数扩大一倍,从而提高了对特征的表达能力。此外,在多尺度特征融合时,本文引入Attention_Gate来学习不同层次特征融合的权重值,使得特征信息能够有效地融合[25]。整体优化结构如图3,具体过程表现为:若经过ASPP模块后得到的特征图为L1、L2、L3、L4, 先将L2、L3、L4的特征上采样到L1特征分辨率,得到L22、L33、L44,以便进行特征信息的融合;再用1×1卷积(包含ReLU和批标准化)改变通道数,增强特征的表达能力,经过该操作得到特征分辨率一致的特征图,接着将L1、L22、L33、L44特征图送入Attention_Gate, 使不同层次特征图进行加权融合。在Attention_Gate的设计中,先将不同层次的特征进行Concat以获取丰富特征, Relu函数进行非线性激活获取复杂分割目标的特征信息,再用1×1×1的卷积进行运算,最后通过Sigmoid函数得到注意力系数,通过注意力系数与Concat之后的特征图相乘实现对特征信息的加权融合。Attention_Gate的结构如图4,该过程定义为:
图3 HRNetV2语义分割模型优化结构Fig.3 The optimized structure of HRNetV2 semantic segmentation model
图4 Attention_Gate结构Fig.4 Attention_Gate structure
式(1)—式(3)中:α表示注意力系数;φ表示1×1×1的卷积;ρ1、ρ2表示Relu、Sigmoid;b1、b2表示偏置;X*为融合后的特征信息;X为加权融合后的特征信息。
2.3 引入SE模块的残差结构
SE(Squeeze and Excitation) 模块是由HU等[26]于2018年提出的。该结构考虑到对不同分类目标,各通道的重要程度不同而提出的,主要有Squeeze 和Excitation 两个操作。整个过程为:先用Squeeze操作在特征图的空间维度上用全局平均池化提取分类目标的全局信息,之后用Excitation操作来计算各通道之间的相互依赖关系,从而对Squeeze得到的全局信息有选择激活,该过程如图5。
图5 SE结构示意图Fig.5 SE structure diagram
残差结构是为了防止网络层数过深而导致过拟合设计的。该结构中先用1×1卷积降低维度,然后用3×3卷积进行特征提取。为了输入特征向量与输出特征相量进行融合,需要用1×1卷积进行升维使其通道数保持不变。最后用Relu函数进行非线性激活得到丰富的特征信息。该过程定义为:
式(4)中:x为输入残差网络的特征向量;Wi为第i层的权重;F(x,{Wi})为第i层输出的特征向量;y为残差块最后的结果输出。
将SE模块与残差结构结合即能避免网络由于过深而造成的过拟合现象,又能在通道维度上对特征进行选择,结构图如图6。
图6 引入SE模块的残差结构Fig.6 The residual structure with SE module
2.4 ASPP
空洞卷积的主要思想是在标准卷积中加入“空洞”来增大感受野,能够在不增加额外计算量的情况下获取图像的全局信息,主要用来解决在特征提取时为增大感受野而带来的信息损失问题。但是,空洞卷积对分割大物体的表现性能较好,却对小物体分割效果表现欠佳。在Deeplab V2中提出了ASPP结构,该结构中用不同采样率的空洞卷积对顶层特征进行操作来捕获不同尺度的特征信息,提高了模型的分割精度。然而,随着采样率的增加,卷积的有效性却不断降低。Deeplab V3模型先在ASPP的基础上引入全局平均池化来得到图像的全局信息,再通过1×1卷积进行不同尺度信息的融合,有效的提高了模型的性能。
ASPP主要是采用一个1×1卷积,3个采样率为rates={6,12,18}的空洞卷积及一个全局平均池化组成,其结构图如图7。
图7 ASPP结构Fig.7 ASPP structure
2.5 损失函数
在使用交叉熵损失函数时,网络能够快速收敛,但同时面积较大、地类背景简单的样本会引导梯度下降的方向,因而无法兼顾面积较小、地类背景复杂的样本学习。在多分类任务中,常用MIOU进行精度评估,用来表示预测值与真值的一致性。MIOU是由每种分类目标的IOU加和平均得到,而Lovasz Softmax Loss间接优化了IOU,能够兼顾每一种分类目标的提取,在一定程度上能缓解样本不均衡问题。因此,本文的损失函数用Cross Entropy Loss与Lovasz Softmax Loss[27]的组合[28]来对模型进行优化。定义为:
式(5)中:LC为Cross Entropy Loss;LO为Lovasz Softmax Loss;∂为LC的权重参数,设置为0.6.
3 结果与分析
3.1 模型分割结果分析
本实验中使用Window操作系统,编程语言为Python 3.7,深度学习框架为paddlepaddl 2.2.0,batchsize为16,iters为600 000,因为SGD(Stochastic Gradient Descent)能够较快的收敛,因此优化器选择SGD,momentum设置为0.9,学习率下降方法采用poly,下降指数设置为0.9。用MIOU来验证本文优化方式的有效性,且在相同的实验配置下,将优化后的HRNetV2语义分割模型与FCN、Unet、Attention_Unet、PSPnet、DeeplabV3、DeeplabV3+、HRNetV2进行对比。
3.1.1 模型分割结果定量分析
表2为不同语义分割模型在验证数据集上各类别的IOU值及MIOU值。可以看出优化后HRNetV2分割模型的精度最高,MIOU达81.9%。相比于优化前的HRNetV2,MIOU提升4.4%,从而说明了优化方法的有效性。基于IOU值的最优与次优来分析,优化后的HRNetV2对每种地类提取的IOU值均为最优(除林地外),优化前的HRNetV2对多数地类的提取达到次优,说明该模型能够兼顾各种地类的提取;PSPnet对于林地的提取精度达到最优(IOU为94.7%),对于草地、商服用地和工矿仓储地的提取精度达到次优值(IOU分别为92.4%、73.7%和84.1%),而在道路的提取上效果很差(IOU为36.1%,低于最优值18.3%),说明该模型对于纹理特征明显地类的提取效果很好,对于提取混杂的、纹理特征不明显的小地物类型表现较差;DeeplabV3+的MIOU值低于最优MIOU值5%,在草地与其他用地上的提取精度达到次优值(分别为92.4%、81.5%),而对于难检测难区分的道路用地的提取精度依旧不理想。
表2 不同模型在测试数据集上的IOU值及MIOUTab.2 IOU and MIOU values for different models on test datasets (%)
通过统计可以看出:模型对耕地、林地、草地的分割精度最高(最优的测试精度IOU达到92%以上),而对于光谱特征差异较小的的商服用地、住宅用地、公共管理与服务用地、交通用地等用地的提取精度并不理想(最好的测试精度分别为81.5%、88.3%、86.6%、54.4%)。
3.1.2 模型分割结果定性分析
为了全面比较不同模型的分割性能,选取典型场景1—场景8进行可视化分析(图8)。其中,场景1—场景3是为了探究模型对简单背景场景的分割能力;场景4—场景5是为了探究模型对细小线状地类的分割能力;场景6—场景8是为了探究模型对复杂背景场景的分割能力。在复杂场景中分割目标种类较多、边界不明显、特征相似,因此很难将它们准确分开。
图8 部分分割结果的可视化Fig.8 Visualization of partial segmentation results
对于简单场景1—场景3,所有模型均能将不同地类准确的分割开,且分割边缘细化较好,与标签数据差异不大;对于提取细小地类的场景4—场景5中,FCN、Unet、Attention_Unet模型出现了错分的现象,PSPnet、DeeplabV3、DeeplabV3+均出现了道路断裂、没有被提取的现象,而HRNetV2能够将其准确分割开,且优化后的分割结果中线状地类的连通性更好,边缘细化能力更强;在复杂背景场景6—场景8中,HRNetV2模型由于在每一分支上均保持分辨率不变,细节信息损失较少,分割性能也较好,且优化后的HRNetV2对于复杂背景中细小地类的提取效果表现更好,而其他模型在一定程度上均出现错分漏分现象,且提取地类的完整性也较低。
可视化结果对比分析得到所有模型的共性:(1)对于背景简单的地类,模型能够准确的将用地类型分割开,如场景1—场景3;而对于一些复杂背景中的地类,模型分割结果中边缘定位不准确,且存在没被提取的情况,如场景8。(2)由于语义鸿沟现象在土地利用任务中依旧普遍存在,因此很难依据影像中的光谱纹理特征准确判断地类的用途,导致光谱特征相似的地类分割精度不高,错分漏分现象严重,如一些混杂在建筑用地、耕地、草地里面的小道路没有被准确提取出来。(3)土地利用分类是根据土地的用途给土地区域赋予不同的用地类型,在水域及水利设施用地中包含了用于浇灌水浇地的沟渠,该地类常与道路、耕地交织在一起,且还有被遮挡等因素的影响,导致该用地类型的整体提取效果较差。
虽然模型在地类提取中呈现出共性,但是相比之下,HRNetV2更适合于高分辨率遥感影像的土地利用分类,且优化后的HRNetV2不但能提取线状地物,还能体现地类本身的形状特征(场景6—场景8),出现的“椒盐噪声”也最少,对细节表达也最为精准。因此该模型对于地类的提取更稳健,结果图也更接近实际分类状况。
3.2 民乐县土地利用分类
本文基于优化后HRNetV2对民乐县进行土地利用分类,分类结果如图9,基于模型分类和目视解译建立混淆矩阵如表3。可见,民乐县高分辨率遥感影像分类结果精度较高,总体精度为89.72%,Kappa系数为0.888。分类结果中园地、林地、工矿仓储用地、住宅用地、公共管理与公共服务用地、其它地类的用户精度与生产者精度均大于90%;而交通道路用地、水域及水利设施用地的用户精度较低;耕地、草地的生产者精度较低。其误差主要体现在将特殊用地、交通道路用地、水域及水利设施用地错分为耕地、草地。错分的原因可能包括:乡间道路与田埂、沟渠、草地之间交织在一起,没有明显的边界界限;土地利用分类是根据土地的用途划分为不同的类型,而在影像上光谱特征无明显的差异;在语义分割数据集中耕地、草地的样本数据分布面积很大,而道路与水域的分布面积很小,导致模型对于这两种地类特征学习不充分,出现了明显的错分漏分现象。
图9 基于优化后HRNetV2民乐县土地利用分类Fig.9 Land use classification based on optimized HRNetV2 in Minle County
表3 民乐县土地利用遥感制图混淆矩阵Tab.3 Confusion matrix of land use remote sensing mapping in Minle County
4 讨论与结论
4.1 讨论
用深度学习语义分割方法能够快速实现高分辨率遥感影像的土地利用自动分类,且分类精度较高。本文针对HRNetV2语义分割模型做了适应性优化。从实验结果可以看出,优化后HRNetV2模型的分割精度明显提高。但是,神经网络的学习过程本身并不透明,目前并不能用数学原理进行严谨的推导,因此,本文只是通过实验和分析来证明优化方式的有效性。
本文中的分类标准是第三次国土调查的分类体系,相比于目前使用语义分割方法实现土地利用的自动分类的研究相比[29],本文的分类体系更为精细;与同等分辨率影像分割的研究相比[30],本文的精度明显高于其改进后模型的精度,进而证明该模型更适应于高分辨率遥感影像的土地利用自动分类。
在语义分割结果中,耕地、草地、林地的分割精度是最佳的,而在民乐县整体的分类结果中,耕地、草地的生产者精度分别67.71%、76.74%,与模型训练精度出现较大差异,这可能是由于模型训练结果是基于所有像素进行评价指标的计算,且在训练数据集中耕地、草地占绝大多数,正确分类的像素掩盖了错分的像素;而整体分类结果的评估是依赖于均衡分层随机抽样点的混淆矩阵,与地类的分布面积无关,从而导致了两者精度的不一致。
4.2 结论
相比于主流的语义分割模型(FCN、Unet、Attention_Unet、PSPnet、DeeplabV3、DeeplabV3+),HRNetV2在本文制作的数据集上分割性能最佳,MIOU达77.5%。为了进一步提高模型的分割能力,本文通过损失函数、特征提取对HRNetV2进行优化。优化后模型的分割精度MIOU达81.9%,提升了4.4%,说明了优化方式的有效性。
用优化后的模型对民乐县2 m的高分辨率遥感影像进行分类,整体的分类结果能够真实反映用地类型的分布状况,且分类边缘较平滑。基于混淆矩阵进行精度评估,总体精度达89.72%,Kappa达 0.888,说明语义分割方法能够实现高分辨率遥感影像的自动分类,且分类精度较高。从混淆矩阵来看,园地、林地、工矿仓储用地、住宅用地、公共管理与公共服务用地、其它用地等的分类精度较高;而耕地、草地、交通运输用地、水域及水域设施用地之间由于数据集中地类面积的分布差异较大,影像中地类的辨识程度不高等因素导致错分漏分现象明显,分类精度仍需提高。在未来的研究中可以通过加强模型对不同地类样本特征的学习来提高模型的分割精度,从而提高土地利用分类的精度。初步的思路设想为:对于线状地类的提取可以通过算法使得线状地类具有连通性;对于背景复杂地类的提取,通过数据增强方法增加样本数据,从而学习更丰富的特征信息;对于辨识度不高地类的提取,可通过对分类结果进行后处理,从而得到更加精准的土地利用成果数据。