张 昊,何灵敏,潘 晨
1.中国计量大学 信息工程学院,杭州 310018
2.中国计量大学 浙江省电磁波信息技术与计量检测重点实验室,杭州 310018
借助计算机对高分辨率遥感图像进行语义分割是遥感图像理解领域中最基本和最具挑战性的任务之一。遥感图像的语义分割是指通过解析遥感图像上每个像素点的语义信息来给像素点分配一个语义标签,并用不同的颜色标注,进而形成分割图[1-2]。随着无人机(unmanned aerial vehicle,UAV)和遥感技术的发展,高分辨率遥感图像的获取变得越来越方便快捷[3],目前遥感图像已经广泛应用于城市规划[4]、精准农业[5]、灾害评估[6]、环境监测[7]等多种行业与任务。因此,对高分辨率遥感图像进行语义分割具有极其重要的研究意义和研究价值。
因为遥感图像分辨率高且包含不同跨度的地物信息,所以图像中的分割目标不仅具有尺度大小不一,分布密集的特点,而且还有拓扑结构多样,特征信息差别大的情况。高分辨率遥感图像所具有的上述特点使得其语义分割更具困难与挑战。为了实现高分辨率遥感图像的精确分割,需要通过深度分析不同尺度的数据来充分利用图像中不同层次的信息,进而提高图像语义分割的精度。传统的图像分割是以图像像素本身为基础,通过边缘、阈值、区域等方式进行图像分割,适用于信息量较少的简单情况[8]。但是,高分辨率的遥感图像包含的信息丰富且复杂,传统的图像分割方式已经无法适用。随着深度学习特别是卷积神经网络(convolutional neural network,CNN)[9]在图像处理领域的发展,图像语义分割也进入新的发展时期。深度学习领域的卷积神经网络具有极强的特征学习能力,可以自动学习空间特征和拓扑关系,从训练图像中提取不同层次的表征特征,从而对图像进行语义分割,比传统的图像分割方法具有更好的分割效果[10]。FCN[11]的提出是语义分割的一个巨大突破,标志着语义分割进入深度学习的时代。FCN在预测输出端用一个卷积层代替全连接层,允许任意大小的输入图像,实现了端到端的训练和预测。PSPNet[12]提出用金字塔池化模块(pyramid pooling module,PPM)聚合不同区域的上下文信息,从而提高获取全局信息的能力。Chen等提出基于空洞卷积结合编码器-解码器结构的DeepLab 系列[13-14]网络,使用空洞空间金字塔池化模块(atrous spatial pyramid pooling,ASPP)提取图像的多尺度特征。
虽然CNN在遥感图像语义分割中取得了十分优异的成绩,但是使用CNN 的特征提取方式在本质上存在着巨大的桎梏——模型前期只使用小尺寸卷积核导致网络对全局信息的忽视。CNN模型前期选取小尺寸卷积核的主要依据有四点:(1)局部特征提取。小尺寸卷积核有助于提取局部特征,例如边缘、纹理等基本视觉特征。(2)参数量和计算复杂度。使用小尺寸卷积核可以降低模型的参数量和计算复杂度,减少模型训练的成本。(3)平移不变性。使用小尺寸卷积核可以增强模型的平移不变性,即模型能够在输入图像中的不同位置检测相似的特征。(4)层次结构。网络在深层结构中通过堆叠多个卷积层,逐渐扩大卷积核的感受野,从而实现对更大范围的特征提取。但是,CNN 模型前期只使用小尺寸卷积核的操作会让模型过于注意图像的局部特征信息而忽略同样关键的全局信息。即便模型后期通过添加额外的全局上下文模块进行补救,模型前期只使用小尺寸卷积核的问题也依旧会对模型的分割性能造成一定影响。针对CNN 前期对全局信息的忽视,Dosovitskiy 等[15]提出包含多层Transformer 结构的ViT模型,该模型通过构建特征的全局联系来处理图像分类任务。Zheng 等[16]借鉴ViT 模型提出了SETR,利用ViT编码器每一层的Transformer结构进行全局上下文建模,并针对图像语义分割任务设计了三种解码器。Xie等[17]针对ViT只输出单尺度特征的问题,提出了SegFormer,不仅输出多尺度的特征,而且摒弃了ViT 中的位置编码,避免了测试图像分辨率与训练时不同而导致的模型性能下降。
鉴于Transformer 优秀的自注意力机制,越来越多的模型采用其进行遥感图像语义分割训练。Wang等[18]设计一种新颖的密集连接特征聚合模块DCFAM 来帮助解码器恢复SwinTransformer编码造成的分辨率下降问题并生成分割图。Gao 等[19]提出STransFuse,模型结合Transformer全局深度信息和CNN局部浅层信息,进一步提高模型的分割精度。田雪伟等[20]提出将SegFormer解码器中的多层感知机网络替换为多尺度特征融合,以此增强网络的分割性能。参考上述论文,本文决定选用模型参数量较小的SegFormer网络作为模型的主干,并在主干的基础上补充使用CNN的额外模块以此增强模型对局部浅层特征的提取,最后针对模型简易的解码层进行改进。
针对高分辨率遥感图像存在目标大小尺度不一、阴影遮挡、地物目标信息复杂等问题,本文提出改进的SegFormer遥感图像语义分割网络。本文在国际摄影测量与遥感学会(International Society for Photogrammetry and Remote Sensing,ISPRS)提供的Vaihingen 和无人机遥感图像语义分割数据集UAVid[21]上评估了本文提出的网络结构,并分别获得了90.30%和77.90%的平均交并比。综上所述,本文的主要贡献如下:
(1)提出轮廓提取模块(edge contour extraction module,ECEM)来获取遥感图像中目标的浅层轮廓信息,辅助模型进行更加准确的语义分割。
(2)提出使用多尺度条纹池化(multi-scale strip pooling,MSP)替换全局平均池化的MSASPP模块来提取图像中线形目标的特征信息。
(3)参考U_Net[22]网络的解码层对原始网络的解码层进行优化,在减少特征信息损失的同时加强特征的传播与融合。
如图1 所示,SegFormer 网络由编码器和解码器组成。编码器内部的Transformer模块先采用允许重叠的贴片嵌入(overlap patch embeddings,OPE)模块对输入图片进行切片,对切片所得图片的张量进行特征提取与下采样。因为OPE模块可以让切片之间互相重叠,所以切片内部的元素之间也会产生联系,以此保证元素的连续性与完整性。将得到的切片特征输入高效多头自注意力层(efficient multihead self-attention,EMSA)和混合前馈(mix feed forward,MixFFN)层中进行全局联系构建。为取代普通Transformer 中的位置编码,SegFormer在前馈层的两层线性变换层中间加入3×3 二维卷积层来获取图片空间上的位置信息。每一个Transformer均采用多个叠加的EMSA 和MixFFN 模块来加深网络深度,以提取更加丰富的细节和语义特征。通过不同尺寸的切片让图片在每一个尺度上都能在Transformer中进行自注意力计算,相较于卷积神经网络一步步加深感受野的方法,SegFormer 网络能更加快速地获取全局信息。本文选择SegFormer MiT-B0[17]作为主干,MiT-B0的超参数如表1所示。
图1 SegFormer网络结构Fig.1 Network structure of SegFormer
表1 MiT-B0的超参数Table 1 Hyper-parameter of MiT-B0
虽然SegFormer 的Transformer 模块可以让每一个元素获取和其他元素的联系,但是其过于简单的解码层不能精确地还原编码信息,单纯的双线性插值和拼接还会导致大量细节信息的丢失。此外,Transformer结构需要大量的数据进行训练,在遇到数据量不足的情况时,网络本身对局部浅层特征提取不足的缺点会对其分割性能造成影响。为此,本文提出额外的特征提取模块和更加复杂的解码层来提高原始网络的分割性能。
提高卷积神经网络远程依赖关系建模能力的方法较多,主流的方法分为三种——自注意力机制、空洞卷积以及金字塔池化。自注意力机制是当今最为有效的构建全局联系的方法。然而,在自注意力机制优异表现的背后是其海量的计算消耗和数据依赖,这两点特性导致其使用场景的受限。空洞卷积在不引入额外参数的情况下通过扩大卷积神经网络的感受野构建全局元素之间的联系。金字塔池化通过结合不同大小的池化层,为图像提供全局信息。然而,空洞卷积和池化操作都是在正方形卷积中输入特征图并进行卷积运算,这种特征提取方式限制了它们捕获广泛存在于现实场景中的各向异性上下文信息的能力。
为了更有效地捕获长依赖关系,Hou等[23]在空间池化层扩大卷积神经网络感受野和捕获上下文信息的基础上,提出了条纹池化(Strip Pooling)的概念。条纹池化的结构如图2所示。
图2 Strip Pooling结构Fig.2 Structure of Strip Pooling
作为全局池化的替代方案,条纹池化主要有以下几点优势:首先,条纹池化是一个长条状的池化核形状,因此相较于全局池化能够捕获孤立区域中更长距离的依赖关系。其次,条纹池化在空间维度上保持较窄的内核形状,便于模块捕获局部上下文,防止不相关区域干扰标签预测。
综上,在网络中使用这种长而窄的池化内核,可以使语义分割网络同时聚合全局和局部上下文信息。这与传统的、从固定的正方形区域收集上下文信息的池化有着本质上的不同。
Strip Pooling的主要流程如下:
(1)输入一张特征图,特征图的大小为C×H×W,图2展示的是针对单通道特征图的处理方式,针对多通道特征图的处理操作是一致的。
(2)输入的特征图经过水平和竖直方向条纹池化后分别变为H×1 和1×W,对池化核内的元素值取平均,并以该值作为池化层的输出值。
(3)经过卷积核大小为3 的1D 卷积对两张输出特征图分别沿着水平和竖直方向进行扩容,扩容后的两张特征图尺寸和原图相同。对扩容后的特征图对应位置求和并得到H×W的特征图。
(4)通过1×1 卷积与Sigmoid 处理后与输入图对应位置像素相乘得到输出结果。
Strip Pooling 可以直接应用于任何预先训练的骨干网络之上,无需从无到有进行训练。与全局平均池化相比,条纹池化考虑的是较长但较窄的范围,而不是整个特征图范围,避免了大量非必要联系的构建。与需要海量计算建立每对位置关系的基于自注意力机制的模块相比,Strip Pooling 是轻量级的,可以更容易地嵌入到任何模块中,从而提高网络捕获远程空间依赖关系和利用通道间依赖项的能力。
但是,对于具有不同尺度目标的高分辨率遥感图像来说,同一尺度的Strip Pooling并非最好的选择。Lu等[24]为了提高云和云阴影检测的准确性,提出了一种多尺度条带池化特征聚合网络,以此提高对目标边缘的提取能力。本文也针对城市遥感图像具有大量建筑、道路、汽车等线形目标的特点,提出了多尺度的Strip Pooling来获取不同大小线形目标的特征信息。
注意力双边上下文网络(ABCNet)[25],是一种轻量级的具有空间路径和上下文路径的卷积神经网络。在ABCNet 中,模型配备了空间路径来捕获空间细节并生成低级特征图。由于空间路径仅关注低级细节,因此该分支只需要具有小步幅的浅层结构。具体来说,空间路径由三层组成,每层卷积的内核大小、通道数、步长和填充分别为[7,64,2,3]、[3,64,2,1]和[3,64,2,1]。每层卷积之后紧跟批量归一化和ReLU操作。
虽然ABCNet 中的空间路径已经能获取特征图的边缘信息,但是ABCNet所采用的普通卷积的感受野相较于整张遥感图像来说过小,较小的感受野不能很好地获取遥感图像的全局信息。为此,本文使用混合空洞卷积代替原本的普通卷积,在边缘提取模块参数量尽量少的前提下提供更加广阔的感受野。
高分辨率遥感图像语义分割一直是遥感领域的长研课题[1]。由于高分辨率的遥感图像存在背景复杂、目标大小尺度不一等问题,给语义分割带来了不小的困难。针对以上问题,本文提出一种改进的SegFormer遥感图像语义分割网络。网络通过使用边缘提取模块(ECEM)和多尺度条纹池化的空洞空间金字塔池化模块(MSASPP)辅助网络进行特征的提取和融合,提高网络的分割性能。本章将详细介绍改进之后的网络结构。改进的SegFormer网络结构如图3所示。网络采用编码器-解码器结构。为了提高网络对特征的提取能力,网络在原始主干的基础上添加了额外的两个模块——ECEM模块和MSASPP模块,作为辅助模块。
ECEM 模块的主要作用是提取遥感图像中目标的浅层轮廓特征,弥补Transformer 对浅层特征的疏漏。MSASPP 模块的主要作用是通过多尺度条纹池化来辅助网络捕获线形的长距离依赖,并融合低层次特征和高层次特征,帮助网络进行更加细致地遥感图像语义划分。
除此之外,因为原始模型编码层过于简单,极易导致目标特征信息的丢失。为了让模型能够更好地还原信息,本论文参考U_Net 模型解码层,使用逐级融合特征再上采样的同时添加SE通道注意力[26]的方式还原特征信息。通过以上举措增加模型解码层的复杂度,减少模型特征信息的损失。
对于SegFormer网络,多次使用Transformer自注意力机制的目的是获取图像中更加抽象、更加深层的特征。但是,频繁的注意力操作也会导致原始网络过于关注高级的抽象信息而忽略图像中边缘、轮廓、纹理等浅层的、具体的低级信息,导致网络语义分割效果下降。为了让模型能够获取更多图像的浅层轮廓信息,本文借鉴ABCNet双分支结构中的空间分支,提出了轮廓提取模块(edge contour extraction module,ECEM)。
ABCNet 中原始的空间路径为了获取低级细节,使用的是小步幅的浅层卷积结构。原文中的空间路径使用7×7的卷积来扩大感受野,但是因为其使用的是浅层卷积,卷积堆叠较少导致卷积的感受野较小,模块不能获取大目标的轮廓信息。相比于普通卷积,空洞卷积因为具有膨胀率参数,所以可以在拥有和普通卷积相同参数量的同时具有更大的感受野。综上,使用空洞卷积代替普通卷积是一个在保证参数量相同甚至更小的情况下获取更大感受野的优良方案。
相较于普通卷积的随意堆叠,如果简单粗暴地直接叠加膨胀率相同的卷积核,会让一部分特征信息无法参与到卷积运算中,最终导致信息连续性的损失。为了避免信息的间断,参考WANG 等[27]提出的混合空洞卷积(hybrid dilated convolution,HDC),设置卷积膨胀率为[1,2,5],通过有规律地设置膨胀率防止连续空洞导致特征信息丢失。除此之外,常规卷积操作会对输入的各通道做卷积,并对各通道的卷积结果进行求和。这种操作会将卷积学习到的空间特征和通道特征混合在一起,最终造成特征信息的混乱。为了抽离这种混杂,在使用HDC 之后还需额外添加SE 模块。SE 模块可以让模型动态地调整不同通道的权重,从而提高模型的表现能力。轮廓提取模块如图4所示。
随着城市化的深入,几乎所有的遥感图像都包含着大量的楼房建筑和道路。而这些目标都有着共同的特点——存在大量的横向和纵向直线。为了能够更好地提取线形目标的特征,SPNet[23]提出了一种条状的池化模块——Strip Pooling。该池化模块可以捕获孤立区域的长距离条状关系,提高网络对条状物体的分割能力。
但是,原始的Strip Pooling只能单纯根据输入特征图的长短做单一的、相同长度的池化,不能灵活地进行多尺度条纹池化。遥感图像中有着不同长度、不同大小的条状目标,单一尺度的条纹池化无法完全胜任此项工作。为此,本文提出了可以提取不同大小条状特征的多尺度条纹池化(multi-scale strip pooling,MSP)。多尺度条纹池化的结构如图5所示。
图5 多尺度条纹池化Fig.5 Multi-scale stripe pooling
原始的条纹池化是直接对特征图进行池化,池化生成的特征信息图大小分别为1×W和H×1,这是根据输入特征图本身的长宽所决定的。为了能够进行多尺度的条纹池化,改进后的模块先将输入的特征图进行长度和宽度方向的切分,再进行池化操作。图5展示的是将特征图切分成4块(长度和宽度方向分别切分为2块),之后再分别对4 块大小相同的特征图进行横向和纵向的条纹池化,最后将完成池化的特征图按初始位置拼接回原图大小。模块通过设置特征图长宽的划分份数来控制条纹池化的大小,以此获取不同大小目标的条状特征信息。
受到SPP 的启发,语义分割模型DeepLabv2[13]提出了ASPP 模块,该模块具有不同采样率的多个并行空洞卷积层。模块让每个不同采样率的空洞卷积提取的特征在单独的分支中进行处理,最后融合不同分支上的特征以生成最终结果。该模块通过不同的膨胀率构建不同感受野的卷积核,用来获取多尺度的物体信息。模块的具体结构如图6所示。
图6 空洞空间金字塔池化模块Fig.6 Atrous spatial pyramid pooling
但是,因为遥感图像数据集目标存在大量长短规模不同的线形目标,普通的全局平均池化不能很好地获取不同线形目标的特征,所以本文决定使用多尺度的条纹池化替换普通的池化,帮助ASPP 更好地提取不同尺度的线形特征。本文将原始ASPP中的全局平均池化替换为三个MSP。三个MSP的长宽划分份数分别为[4,2,1]。这样,模块就可以获取到不同尺度的线形特征,并将它们融合在一起,帮助模型更好地理解大小各异的线形目标。改进后的MSASPP模块如图7所示。
图7 使用多尺度条纹池化的空洞空间金字塔池化模块Fig.7 Atrous spatial pyramid pooling using multi-scale stripe pooling
原始SegFormer 的解码层只是单纯地对四个不同Transformer模块的输出进行上采样和维度方面的拼接,没有充分融合不同尺度的特征图。这样简单的拼接和上采样不仅不能很好地还原编码层提取的特征,甚至还会造成目标特征信息的丢失。为了更好地还原图像信息,参考U_Net解码层对原始模型解码层进行修改。通过让特征从小到大依次融合、逐级进行上采样以及使用SE 通道注意力的方法,减少原本直接上采样造成特征信息损失的同时融合不同尺度的特征信息,以此加强特征的传播和融合。
本文在ISPRS 提供的Vaihingen 数据集和无人机遥感图像语义分割数据集UAVid[21]上评估本文提出的改进网络。Vaihingen数据集拍摄于德国的Vaihingen市,地面采样距离为9 cm,包含33个不同的城市区域。UAVid数据集是用于针对城市场景语义分割任务的UAV视频数据集,具有4 096×2 160像素分辨率、8种物体类别、街景环境等特点。除此之外,两个数据集的拍摄方法也有所不同。Vaihingen数据集使用专业遥感设备垂直拍摄图像,UAVid使用简易无人机倾斜拍摄图像。两种不同的拍摄方式给网络带来的信息量也会有所差异。通过让网络在两种不同拍摄方式的数据集上进行训练及预测,进一步证明改进网络对不同数据集具有同样高效的特征提取与分割能力。
因为高分辨率遥感图像普遍较大,所以在对其进行语义分割之前,首先要对图像进行预处理操作。经过切分,Vaihingen 数据集被划分为3 300 张长宽均为512 像素的图片。由于UAVid数据集图片数量过于庞大,所以只选取其中一半图片进行裁剪,选中的图片被划分为5 400张长宽均为512像素的图片。分割好的图片以9∶1的比例划分为训练集和验证集。数据集的详细信息如表2所示。
表2 数据集Table 2 Datasets
本文使用动量为0.9 的AdamW 优化器对网络进行训练,损失函数选用SegFormer 网络的原始损失函数。初始学习率为0.000 4,最小学习率为0.000 004,权重衰减设为0.02。训练总迭代次数设置为200次,每5个epoch存储一次模型。训练期间保存在验证集上表现最佳的模型。
本次实验的硬件环境:处理器Intel E5-2678V3,显卡NVIDIA TITAN X 12G,运行内存128 GB,存储内存3 TB,显卡驱动10.2。本次实验的软件环境:Ubuntu16系统,Python3.8,Pytorch1.10.1的开发环境。
为了定量评估网络的语义分割性能,实验设置了三个针对分割性能的评价指标:MIoU(mean IoU score),MF1(mean F1 score)和OA(overall accuracy)。MIoU、MF1和OA的计算方式用公式(1)~(3)表示。其中,TP、FP、TN、FN分别表示真正例、假正例、真负例、假负例的元素数量。
3.4.1 对比通用分割网络
为了评估所提出方法的有效性,本文将改进后的SegFormer 与FCN[11]、DeepLabV3+[14]、Swin-Unet[28]、使用MiT-B0[17]的SegFormer 进行对比。为了确保实验的公平性和数据的有效性,所有的网络均在相同的软硬件环境下进行训练和测试。本次实验采用相同的学习率策略,迭代次数设置为200 次,保存训练过程中在验证集上分割效果最好的模型。
Vaihingen 数据集分割效果比较结果如表3 所示。结果显示,改进后的SegFormer 网络的分割表现最佳。改进后的模型在Vaihingen数据集上的所有指标均为最优,且MF1指标、OA指标和MIoU指标比表现第二好的网络分别高出0.60、0.11和1.02个百分点。
表3 Vaihingen数据集上对比通用分割网络Table 3 Comparison of general-purpose segmentation networks on Vaihingen dataset 单位:%
UAVid数据集分割效果比较结果如表4所示。结果显示,改进后的SegFormer网络的分割表现最佳。改进后的模型在UAVid 数据集所有指标均为最优,且MF1指标、OA 指标和MIoU 指标比表现第二好的网络分别高出0.56、0.22和0.78个百分点。
表4 UAVid数据集上对比通用分割网络Table 4 Comparison of general-purpose segmentation networks on UAVid dataset 单位:%
改进后的SegFormer 与通用分割网络在两个数据集上的部分分割效果图对比如图8、图9 所示。结果显示,改进后模型的分割图与标签图最接近,对建筑物、道路、汽车等长条形目标的分割更加精确。基于上述分析,实验证明本文所提出的改进方法是有效的。改进网络具有比列举的通用分割网络更好的分割性能,并且不受单数据集偶然性的影响。
图8 对比通用分割网络分割Vaihingen数据集的分割效果图Fig.8 Comparison of segmentation effect of Vaihingen dataset using universal segmentation network
图9 对比通用分割网络分割UAVid数据集的分割效果图Fig.9 Comparison of segmentation effect of UAVid dataset using universal segmentation network
3.4.2 关于网络对不同拍摄方式数据集分割效果的分析
经过对实验结果的分析和总结,本文发现对于使用专业机载徕卡ALS50 拍摄的Vaihingen 垂直数据集,使用CNN 的模型比如DeepLabV3+的分割效果可以超过使用全局联系TransFormer 结构的模型——Swin-Unet和原始SegFormer。但是,反观CNN在对无人机拍摄的UAVid 数据集进行分割时的效果却不尽如人意。作者认为,除了两个数据集在数量上的差别造成的影响外,数据集本身的复杂程度也是其中一项重要的因素。对于Vaihingen 数据集,由于拍摄图像的方式是使用专业遥感设备进行高空垂直拍摄,拍摄图片的内容信息复杂程度较低,同一类别目标的个体差别被削弱,共性特征得到加强。这些特点导致全局特征的重要性降低,CNN提取局部特征的能力得到很好的体现。但是,UAVid数据集是使用简易无人机拍摄的倾斜遥感图像,图像中大量大小、形状不同的目标混杂在一起,同一类别的目标之间的特征也有一定差距。针对复杂目标的分割,拘泥于局部信息的CNN已经无法再获取更多的信息来辅助网络分析,最终造成网络分割性能的下降。TransFormer可以通过获取全局像素点之间的联系来判断不同元素之间的关系,通过局部和全局的综合分析进而精准有效地划分出不同种类的、大小不一的复杂目标。所以,在更加有难度的UAVid数据集中,TransFormer相较于CNN取得了更加优秀的分割效果。改进网络因为具有额外的MSASPP 等模块辅助网络提取城市数据集中大小不一的条状目标,所以在对比的各项指标上均取得了更为优异的成绩。
随着无人机的普及,网络获取遥感数据集的难度会越来越低。鉴于TransFormer对无人机斜拍数据集强大的数据分析与提取能力,TransFormer 在未来的遥感领域会被更多人所关注。
3.4.3 MSASPP与同类型模块对比
为了证明MSASPP模块的有效性,本文将MSASPP模块与原始ASPP模块以及使用Strip Pooling替换全局平均池化的ASPP模块进行对比。使用上述两种模块替换改进SegFormer中的MSASPP模块进行分割性能的对比实验,并在Vaihingen 数据集上进行相同训练策略的训练。对结果使用MF1、OA以及MIoU三个指标进行比较。
在Vaihingen 数据集上的测试结果如表5 所示。结果显示,在相同的训练环境下,使用MSASPP 模块的改进SegFormer 网络各项指标上均取得了最高的分割精度。除此之外,图10展示了ASPP与MSASPP对数据集中条状目标的提取能力。经过对比分析,MSASPP对城市数据集中的建筑物、道路、车等不同大小的长条形目标更加关注,同时对这些目标的提取能力也更加强大。
图10 不同模块的热力图Fig.10 Thermal diagrams of different modules
表5 分割性能对比Table 5 Comparison of segmentation performance 单位:%
网络使用不同模块在单个epoch的训练时间上的差别主要在于池化层数量上的不同。使用ASPP模块单个epoch 的训练时间为5 min29 s。将ASPP 中的全局平均池化替换为条状池化后,单个epoch 的训练时间为5 min30 s,训练时间几乎没有变化。使用本文提出的MSASPP 模块后,单个epoch 的训练时间变为6 min5 s。之所以网络在使用MSASPP 模块后训练时间在三个模块中最长,主要是因为MSASPP中有三个提取不同大小条状目标的MSP 池化层,额外的两个池化层增加了模块的计算量,导致网络的训练时间有所增长。
实验结果表明,本文提出的MSASPP模块相比原始的ASPP 模块以及使用普通条纹池化的ASPP 模块,在Vaihingen 数据集上的MF1 指标、OA 指标和MIoU 指标都有了一定的提高,并且在具体的建筑、道路、汽车三种大小不一的条状目标上的IoU 指标均取得了最好的成绩。综上所述,虽然训练时间较长,但是MSASPP 模块相较于ASPP 和使用普通条纹池化的ASPP 模块,具有分割性能更高的优势,且更适用于存在大量长短不一条状目标的城市遥感影像分割任务。
3.4.4 消融实验
在本小节中,通过在Vaihingen 数据集上进行消融实验证明提出模块的有效性。实验使用MF1、OA 和MIoU三个评价指标定量地评估网络的分割性能。本文选用使用MiT-B0 的原始SegFormer 网络作为本次实验的基准网络。消融实验结果如表6所示,Base表示基准网络,Decoder Layer 表示解码器采用逐层融合的上采样解码方式。结果表明,在解码器采用逐层融合的上采样解码方式后,网络的MF1指标、OA指标以及MIoU指标分别提高了0.39、0.30和0.69个百分点。数据的提升表明本文针对解码器的改进是有效的,改进后的解码层可以加强特征的传播和复用,提高网络的分割性能。在编码层添加ECEM 模块后,网络的MF1 指标、OA 指标以及MIoU指标分别提高了0.28、0.16和0.49个百分点,证明ECEM 模块可以更好地提取目标的浅层轮廓信息。通过添加MSASPP 模块,网络的MF1 指标、OA 指标和MIoU 指标分别又提高了0.42、0.31 和0.73 个百分点,表明MSASPP模块提取的多尺度线形目标的特征信息有助于提升网络的分割性能。随着本文所提出的关键模块逐步添加在基准网络上,网络的分割准确性逐渐提高。最后,添加了所有模块的网络达到了最佳的分割性能。实验结果表明本文所提出的每个关键模块对于改进模型获得最佳遥感图像语义分割结果都是必要的。
表6 消融实验Table 6 Ablation experiments 单位:%
高分辨率遥感图像语义分割是遥感领域的一个重要研究课题,在国土资源规划、地理信息系统构建和智慧地图等领域有着十分广泛的应用。本文提出的改进的SegFormer遥感图像语义分割网络,在原始网络的基础上,对解码器进行修改,使用逐层融合的上采样解码器减少上采样时所丢失的特征信息。因为原始网络对图像浅层信息的忽略,所以提出ECEM模块用于对遥感图像中的浅层轮廓信息进行提取。由于遥感图像中越来越多建筑和道路等条状目标的存在,提出使用多尺度条纹池化替换全局平均池化的MSASPP 模块来提高模型对线形目标的分割效果。通过对比实验证明MSASPP模块相较于原始ASPP以及使用普通条纹池化的ASPP 模块具有分割性能更高的优势。在Vaihingen和UAVid 数据集上的实验表明,改进后的网络相比FCN[11]、DeepLabV3+[14]、Swin-Unet[28]、使用MiT-B0[17]的SegFormer网络具有更高的分割精确度。改进后的Seg-Former网络对相似地物和条状线形目标分割更加精确,训练过程相对简单,具有实际应用价值。
虽然网络的分割效果有了显著提升,但是随着网络中模块的添加,网络的参数量也随之增加,最终导致网络的训练速度相对于原始SegFormer更慢,训练占用的GPU显存也更多。在后续工作中,为了降低网络的训练成本,考虑对SegFormer 主干进行改动,设计出更加快速高效的自注意力模块。