基于改进Deeplabv3+的遥感图像语义分割算法
2023-11-22凤磊陆灏耿帅帅高昂
凤磊,陆灏,耿帅帅,高昂
(1.安徽理工大学 计算机科学与工程学院,安徽 淮南 232001;2.安徽人防建筑设计研究院,安徽 合肥 230001)
随着卫星传感器的不断进步,遥感影像覆盖范围越来越广,分辨率也越来越高,高分辨率遥感图像提供了丰富的地物信息,包括空间结构和纹理特征,在环境监测、土地利用、城市规划、农业管理等领域得到广泛应用[1].语义分割作为遥感图像解析的关键技术之一,通过对图像中的每个像素进行分类,并使用不同颜色标记不同类别[2].高分辨率遥感面临地物尺度变化大、背景复杂等问题,使得语义分割任务变得更加具有挑战性.
传统的遥感图像分割方法主要是基于底层特征,如灰度、颜色、空间纹理和几何信息等[3],通过这些特征差异,将目标与背景分开.传统的方法具有算法简单和速度较快等优点,但分割效果具有较低的确定性且对其他的数据可能无法适用.深度学习的进步使得卷积神经网络(Convolutional Neural Network,CNN)在计算机视觉领域中得到普及,大量的遥感图像分割研究工作都开始采用基于CNN 的深度学习方法,遥感图像的分割性能和效果也得到显著的提高和改善.全卷积神经网络模型(Fully convolutional networks,FCN)[4]是一种具有显著影响力的早期语义分割模型,对于语义分割技术起到重要的突破作用.FCN 的独特之处在于将全连接层替换为卷积层,以输出空间特征图,并通过上采样操作生成预测图.然而,FCN 仅利用深层特征进行像素分类,忽视了图像的细节特征信息.因此,后续出现一系列其他的语义分割模型,如SegNet[5]、Deeplabv3+[6]和U-Net++[7]等网络,这些模型也被用于遥感图像的分割处理.王银宇等[8]针对(Atrous Spatial Pyramid Pooling,ASPP)模块中存在参数量过多和内存占用率高等问题,提出使用分组空洞空间金字塔池化模块以捕捉多尺度目标上下文信息.通过采用分组化策略,成功消减网络参数规模,同时也保持了高精度的语义分割水平.BAHETI等[9]提出降低ASPP(Atrous Spatial Pyramid Pooling,ASPP)的空洞卷积采用率,可提升小目标的特征提取能力.张鑫禄等[10]提出基于Deeplabv3的小波域算法以改善目标的边缘的分割效果.吴从中等[11]提出自适应滤波模块AFM(Adaptive Filtering Module)和特征融合优化模块RFM(Residual Fusion Module),AFM 模块自适应在不同空间和通道上学习滤波权重参数以保留细节信息,RFM 模块设计了残差模块,以减少解码阶段特征融合的语义差异.
近年来,注意力机制成为提高模型精度的一种必要手段,在遥感图像分割算法中得到了广泛应用.Li[12]设计了一种具有空间和通道注意力(SCAttNet)的语义解析网络,在远程感知图像的语义分割任务中也表现出准确的分割.LV等[13]设计了一种混合注意力语义分割网络(HAssNet).该网络利用空间注意力模块来捕捉不同区域之间的相互依赖性,并引入通道注意力模块以增强区域之间的相关性.两个模块相互协作,显著改善了分割结果.DING等[14]提出注意力机制与级联结构结合的方法,对无用的低频特征进行过滤,对高频特征中的重要特征进行提取.陈娜等[15]在Deeplabv3+中增加类特征注意力模块增强类之间的相关性,以提取和处理不同类别的语义信息.
虽然前述的一些研究在遥感图像分割方面有所发展,但仍面临目标边缘分割准确性不高和小目标漏检、分割效果欠佳等挑战.因此,本文提出一种改进的遥感图像分割算法,该算法基于Deeplabv3+进行优化.针对遥感图像中目标尺度大小不一致以及小目标容易被忽视等特点,对多尺度特征提取的ASPP模块进行改进,调整其膨胀卷积的膨胀率大小,以提高对小尺度目标的关注度;引入一种全局和局部注意力机制[16],以保留分割目标的全局位置和语义信息,并在模型解码器中使用,从而增强网络捕捉目标对象特征信息的能力;在编码阶段,为了有效地融合浅层空间细节信息和深层语义信息,提出多级特征上采样方法,通过逐级自下向上地融合深浅层次特征,改善了遥感图像中目标物体的边缘分割效果.在ISPRS的Potsdam 和Vaihingen两个城市数据集上进行实验评估,以验证本文提出方法的有效性.
1 研究方法
1.1 DeepLabv3+网络
DeepLabv3+是一个深度语义分割模型,它使用了编码器-解码器结构和空洞卷积金字塔池化模块,整体网络框架如图1所示.
图1 Deeplabv3+模型
其中编码器部分主干网络采用Xception网络提取深层特征,然后将深层特征传入ASPP模块,获取不同尺度的特征进行融合.ASPP模块由1×1卷积、3个膨胀率不同的空洞卷积和全局平均池化组成,这5个分支并行构成.空洞卷积的对应膨胀率分别为6、12和18,全局平均池化分支则用于捕捉全局上下文特征.将从这5个分支获得的特征图进行融合,然后将融合后的特征图送入1×1卷积,输出的特征图作为编码器的输出.在解码阶段,编码器输出的特征图首先进行4倍上采样,并与主干网络提取相应大小的低级特征图在通道上进行融合,然后再对获得的特征图进行3×3卷积微调特征,最后进行4倍上采样恢复到图像大小,输出模型最终的预测结果.
1.2 改进的DeepLabv3+网络
本研究对DeepLabv3+进行了改进,图2为改进的算法模型图.
图2 改进的Deeplabv3+模型
具体的实现流程如下:编码层按照1/2、1/4、1/8和1/16的比例生成不同尺寸的语义特征图.将捕获的深层特征(尺寸为原图的1/16)传递到优化的ASPP模块中进行处理,获取不同尺度的特征并融合,接着使用1×1卷积降维,得到的特征图作为编码层的输出.在解码部分,采用多级特征上采样的方法进行特征融合,即编码器生成的对应尺度大小的低级特征作为解码器的高级语义特征的补充.另外对不同尺度大小的低级特征添加全局和局部注意力机制(GALA),并与高级特征进行相加.经过2次2倍上采样操作,最终对获取的特征图进行3×3卷积和2倍上采样,以恢复到原图尺寸并生成预测图像.
1.3 注意力机制
一般来说,全局池化通常与注意力机制一起实现,但是大多数的注意力机制很少会利用局部特征,为了能同时受益于全局和局部池化,本文提出一种全局和局部注意力(Global and Local with Attention)机制,以保留目标的全局位置和语义信息.将全局二维空间池化和局部一维条带池化相结合,能够提高分割性能.GALA 模块的结构如图3所示.
图3 全局和局部注意力机制
首先对输入的特征图X∈(C,H,W)使用全局平均池化操作进行空间降维,得到一个新的1×1×C特征图gc,其输出可以表示为
其中,H、W 和C表示特征图的高、宽和通道数,GAP表示全局平均池化操作,xc和gc分别表示第c个通道的输入和输出特征图,xc(i,j)表示输入特征图在(i,j)位置的第c个通道的值.
在经过激活函数和卷积变换处理后,其第c个通道的全局池化输出特征图可表示为
其中,σ表示激活函数,δ表示Relu函数,F1和F2分别表示通道重要性的非线性函数.其次,在水平和垂直方向上考虑通道之间的相关性,分别进行一维池化.如公式(3)和(4)所示:
其中Fh和Fw表示两个1×1卷积变换.
在特征融合的过程中加入全局和局部注意力机制,聚合跨通道维度的全局位置和语义上下文信息,提高了模型的分割精度.
1.4 空洞空间金字塔池化模块
本文对原始的Deeplabv3+模型编码器中的ASPP模块进行改进.ASPP 模块利用三组并行的空洞卷积,其中膨胀率分别为6、12和18,以提取不同空间尺度的特征信息并扩大感受野范围,从而获取更广泛的信息.然而,研究表明,对于遥感图像这种具有复杂背景和不同目标尺寸的情况,ASPP模块中的18膨胀率并不适用,因为过大的膨胀率提取的信息在远距离上是不相关的,从而影响了分类结果.因此,在遥感图像分割中,需要调整ASPP模块的空洞率.将膨胀率调整为3、6、9和12,这样既能优化大目标的分割效果,又能避免对小目标物体的漏分.
1.5 多级特征上采样模块
为了解决解码上采样时进一步模糊化的问题,重新考虑对特征提取过程中中间特征的利用,本文提出一个多级特征上采样(Multi-level feature up-sampling module,MLFM)模块.模块结构如图4所示.
图4 多级特征上采样模块
主干网络提取的特征被输入到ASPP模块,将ASPP模块与语义分割骨干网络输出的高级语义特征融合,获得深层的语义特征.经过ASPP模块处理的高级语义特征通过3次2倍上采样进行恢复.每次上采样操作后,将语义特征与编码阶段中获得相同大小的特征图相加,通过连接求和操作,能够更全面地保留分割目标的位置和边界信息.多级特征上采样模块可以使用公式表示为
其中,Up代表上采样的操作,k为上采样倍数,Conv1×1表示1×1卷积调整特征图的通道数操作.解码器中Fi的特征层首先进行2倍上采样,然后将其与编码器中同样大小的特征图Ei进行特征融合.在特征融合前,需对特征图Ei进行1×1卷积调整通道数.
在特征融合的过程中,将编码器中对应尺度大小的低级特征作为解码器的高级特征的补充进行融合.这种融合方式旨在补充目标的细节信息,以更好地保留分割目标部分位置和边界信息.
2 实验数据与结果分析
2.1 数据源与预处理
实验数据来源于在ISPRS的Potsdam 和Vaihingen两个城市数据集.Potsdam 数据集由11个不同地区的多源遥感影像组成,一共38幅高分辨率遥感图像,每个图像的尺寸为6000×6000像素,分为6个类别:背景、不透明水表面、建筑物、低矮植被、树木、车.Vaihingen数据集包含33张遥感图像,是通过航拍Vaihingen市而获得的,和Potsdam 数据集里具有相同的类别,平均每张大小为2494×2064像素.
对数据集的预处理:将两个数据集中所有图像裁剪为600×600像素大小.Potsdam 数据集有5400张训练图像、600张验证图像、600张测试图像.Vaihingen数据集有800张用于训练的图像,200张用于测试,200张用于验证.为了提高模型健壮性,对有限的数据集进行数据增广,例如随机旋转和添加噪声等操作.此外,由于数据集中图像的像素值和亮度分布不均匀,需对其进行归一化处理再输入网络训练,减少梯度消失问题,并加快网络的收敛速度.
2.2 实验设置和环境
实验基于Windows10操作系统,计算机设备的CPU 和GPU 分别为i7-13900HX和RTX3090,使用的开发环境、学习框架、编程语言以及开发工具分别为Cuda11.0、Pytorch1.7.0、Python和Pycharm2020.在实验过程中,模型采用动量为0.9的随机梯度下降算法进行训练,损失函数使用交叉熵损失函数进行计算,设置初始学习率为0.001,训练总迭代次数为300次,权重衰减参数设置为10-4,批处理大小为8.在开始实验训练前,先载入以MobileNetV2为主干网络的预训练权重,用于加速模型收敛.
2.3 评价指标
本文使用PA(Pixel Accuracy)像素精度、MIoU(Mean Intersection over Union)平均交并比等作为语义分割能力评估的重要指标.PA 指被正确分类的像素数占总像素数的比例,公式如下:
MIoU 是各个类别上的真实值的集合与预测值的集合之间的交集比它们的并集,之后再求各个类别上的平均值,公式如下:
其中,nc表示使用的数据集中分割类别的数量(含背景),nij表示目标类别i被预测成类别j的像素的个数,nii表示预测正确的像素个数.nij和nji分别表示假负和假正的像素个数.
2.4 实验结果及对比分析
2.4.1 网络模型对比
为验证本文所提出的改进网络的优越性,将其与SegNet、U-Net++、Deeplabv3+等网络模型进行对比分析.不同网络模型在Potsdam 和Vaihingen数据集的模型分类结果评估分别在表1和表2中展示.从最终结果来看,本文的模型在MIoU 和PA 指标上均有优异的表现,高于其他的语义分割网络.
表1 不同网络在Potsdam 数据集上的结果对比
表2 不同网络在Vaihingen数据集上的结果对比
从表1可以看出,本文所提出的网络模型在Potsdam 数据集的测试集上达到80.69%的MIoU 和91.78%的像素准确率.与基线网络Deeplabv3+相比,在MIoU 和PA 上均取得了4%左右的提升,建筑物的MIoU 提高了4.55%,且高达93.68%,小目标车的MIoU 提高了6.42%.实验表明,本文在保持大型目标分割精度的同时,提高了小型目标的准确性.相比SegNet算法的MIoU 和PA 分别高5.08%和7.71%,相比U-Net++网络的MIoU 和PA 分别高2.29%和2.6%,相比DeepLabV3+网络的MIoU和PA 分别高4.62%和4.37%.经对比可见,本文网络均优于对比模型的分割性能.
如表2所示,从Vaihingen数据集上得到的实验数据来看,本文提出的方法取得了更好的性能.图5为可视化结果.由图5可以观察到,本文的模型可以有效识别遥感图像中不同类别目标的轮廓,面对小型物体(如车等)能够清楚划分边界,对结构复杂的建筑类别分割得也更加准确完备.可以观察到SegNet、Deeplabv3+和Unet++对于建筑类别的分类产生个别像素的错分,且边缘部分产生锯齿状,而本文的模型因为采用了基于多尺度特征融合,获得的建筑物的边缘轮廓更清晰、连贯,具有最接近真实情况的结果,有较少的错分现象发生.实验表明,本文引入的MFLM 模块提高了目标边界的分割效果.以遥感图像中的小目标汽车为例,在第二行图像中可以看出,汽车的分割效果更清晰,轮廓划分更准确,并且不存在粘连现象,并没有出现较多错分和漏分现象,而其他网络常常出现误分,也可以看到目标车的粘连现象.由此验证改进ASPP模块提升了中小目标物体的分割能力.综上所述,可视化对比结果表明,本文较于其他模型获得了更好的分割效果.
图5 不同网络在Potsdam 和Vaihingen数据集上的分割效果
2.4.2 消融实验
为了验证改进空洞空间金字塔池化(ASPP)模块、全局和局部注意力机制模块(GALA)和多级特征上采样模块(MLFFM)对网络整体性能的影响,在数据集Potsdam 上进行消融实验.实验选取Deeplabv3+网络作为基础网络,其他实验条件均保持一致,以MIoU 和PA 值为评价指标,实验结果如表3所示.
表3 消融实验在Potsdam 测试集上的评价结果对比
通过表3中实验1和实验2的结果可以看出,使用改进的ASPP 代替原模型ASPP 模型后,MIoU和PA 值分别提升了0.91%和0.56%.同时,对比实验1、实验3的结果,加入MLFM 模块后,MIoU和PA 值分别提升了1.54%和1.28%,这表明MLFM 模块有效结合不同层级的特征信息,提高了模型的准确度.另外,对比实验4和实验5的结果,加入全局和局部注意力机制的模块后,MIoU 和PA 值分别提升了2.17%和2.5%.全局和局部的重要信息相结合,进一步提高了模型的精度.综上所述,本文网络在遥感影像分割任务上的效果明显优于基准网络.
3 结论
针对遥感图像分割中目标尺度变化、小目标及其边缘分割精度低等问题,本文提出一种基于Deeplabv3+网络改进的遥感图像语义分割算法.在特征提取阶段,通过调整ASPP模块膨胀率以更好地捕捉遥感图像中局部区域的小物体特征,在保持大目标分割性能的同时提高小目标的分割精度.在解码阶段,设计一种多级特征上采样方法,用于恢复特征图并保留目标的位置和边界信息.同时,融合全局和局部注意力机制,以保留分割目标的全局位置和语义信息,并改善遥感图像中物体边界的分割效果.通过对比其他经典语义分割模型的实验结果,本文对网络的改进使模型具有更高的分类精度,可以获得更优秀的遥感图像分割效果.通过可视化效果图可以看出对于遮挡目标的分割容易发生混淆、粘连,因此后续的工作可以对其进行研究.