一种轻量级DeepLabV3+遥感图像分割方法
陆建波1,2, 彭俊桂2, 霍雷刚1,2, 刘晓彬2     
1. 南宁师范大学,广西人机交互与智能决策重点实验室,广西南宁 530100;
2. 南宁师范大学计算机与信息工程学院,广西南宁 530100
摘要: 针对遥感图像语义分割中的物体边界分割不全、模型参数量大和占用内存多等问题,本研究提出一种轻量级DeepLabV3+遥感图像分割方法(L-DeepLabV3+)。在模型参数量更小的情况下,该方法能够提升物体边界分割精度。具体而言,L-DeepLabV3+在残差模块中采用维度下降策略,通过减少输出特征图的通道数,降低模型参数量,将MobileNetV2主干网络中的倒残差模块替换为提出的降维残差模块,重构特征提取网络;为了加快模型训练速度,该方法在DeepLabV3+中的空洞空间金字塔池化层(Atrous Spatial Pyramid Pooling, ASPP)中使用深度可分离卷积(Depthwise Separable Convolution, DSConv);此外,为解决样本类别不均衡问题并提高分割准确率,将交叉熵损失函数(Cross-Entropy loss, CE loss)和Dice loss合并为新的损失函数进行训练;最后,通过将归一化层与卷积层融合、将1×1卷积和恒等残差转换成3×3卷积实现模型参数重构,从而在推理时实现模型轻量化。在DLRSD、WHDLD、UDD6等数据集上的实验结果表明,改进的L-DeepLabV3+模型的参数量仅3.5 M,有较高的分割准确率和训练效率,画面每秒传输帧数(Frames Per Second,FPS)可达到90.2。
关键词: 遥感图像    DeepLabV3+    深度可分离卷积    轻量化    
A Lightweight DeepLabV3+ Model for Remote Sensing Image Segmentation
LU Jianbo1,2, PENG Jungui2, HUO Leigang1,2, LIU Xiaobin2     
1. Guangxi Key Laboratory of Human-machine Interaction and Intelligent Decision, Nanning Normal University, Nanning, Guangxi, 530100, China;
2. School of Computer and Information Engineering, Nanning Normal University, Nanning, Guangxi, 530100, China
Abstract: Aiming at the incomplete object boundary segmentation, large number of model parameters, and large memory consumption in semantic segmentation of remote sensing images, this study proposes a lightweight DeepLabV3+ model (L-DeepLabV3+) for remote sensing image segmentation. This model can improve the accuracy of object boundary segmentation with a smaller number of parameters. Specifically, this model adopts a dimensionality reduction strategy in the residual module to reduce the number of model parameters by decreasing the number of channels in the output feature map, and reconstructs the feature extraction network by replacing the inverted residual module in the MobileNetV2 backbone network with the proposed dimensionality-decreasing residual module. To accelerate the training speed, the model uses Depthwise Separable Convolution (DSConv) in the Atrous Spatial Pyramid Pooling (ASPP) of DeepLabV3+. In addition, to solve the sample category imbalance and improve the segmentation accuracy, Cross-Entropy loss (CE loss) and Dice loss are combined into a new loss function for training. Finally, model parameter reconstruction is achieved by fusing the normalization layer with the convolutional layer, and converting the 1×1 convolution and constant residuals into 3×3 convolution, for model lightweighting in inference. The experimental results on the DLRSD, WHDLD, and UDD6 datasets show twidehat the improved L-DeepLabV3+ model has high segmentation accuracy and training efficiency, with a model parameter number of only 3.5 M. Meanwhile, the number of transmitted Frames Per Second (FPS) of the screen can reach 90.2.
Key words: remote sensing images    DeepLabV3+    depthwise separable convolution    lightweight    

随着卫星技术和无人机技术的快速发展,可用遥感图像的数量越来越多,并且遥感图像处理技术也有了很大的进步,遥感图像的语义分割已成为行业内的一个热点问题。语义分割是计算机视觉中的一项基础任务,其核心目标是对图像中的每个像素进行精细化分类(即像素级分类),它通过精准的像素级解析为智能系统提供空间语义信息支撑,在自动驾驶中的车道识别、无人机影像的地理定位等场景中发挥着关键作用[1]。与图像预测不同,语义分割通过像素级分类生成包含空间信息的细粒度解析结果[2]。随着语义分割技术的不断发展,它们已被用于解决多样化的遥感任务[3]。基于深度学习的遥感图像分割模型可以通过自动学习图像中特征和类别之间的关系,从而实现更高精度的分割结果。然而,现有的深度学习模型往往具有复杂的网络结构和大量参数,开发具有高分割精度的轻量级遥感图像语义分割模型具有重要的现实意义。

针对模型复杂度与分割精度的平衡问题,研究者通过优化网络架构设计,探索了多种高效的分割方法。基于深度卷积神经网络(Deep Convolutional Neural Network, DCNN),Long等[4]发现, 通过上采样反卷积结合, 以及跃层融合的学习方式可使像素级分割更加有效和高效,并使用全卷积网络(Fully Convolutional Network, FCN)训练一个端到端、像素到像素的语义分割模型。Ronneberger等[5]在FCN的基础上提出的U-Net能在极少的训练图像下工作,并利用数据增强技术产生更精确的分割结果。

DeepLabs是由谷歌团队提出的一系列语义分割算法。Chen等设计了DeepLabV1[6]、DeepLabV2[7]、DeepLabV3[8]和DeepLabV3+[9]。为了克服FCN中使用的卷积神经网络(Convolutional Neural Network, CNN)的不良定位特性,DeepLabV1将最后的DCNN层的响应与全连接条件随机场相结合,从而更加精确地分割物体边界。DeepLabV2使用空洞空间金字塔池化层(Atrous Spatial Pyramid Pooling, ASPP)增加感受野并捕捉多尺度的图像上下文信息。具体来说,空洞空间金字塔池化模块包含4个具有不同膨胀率的空洞卷积,每个卷积都使用不同的膨胀率对输入特征图进行卷积操作,因此,该模块可以同时获取不同尺度和感受野的图像特征。DeepLabV3的空洞空间金字塔池化模块在每个分支上都加了批归一化操作、1个1×1卷积层和1个全局平均池化层,并抛弃了全连接条件随机场。比起DeepLabV3,DeepLabV3+增加了一个解码器模块来细化边界细节。为了实现更快更强的编码器-解码器网络,DeepLabV3+调整了Xception模型,使用深度可分离卷积(Depthwise Separable Convolution, DSConv)降低参数,并使用ASPP和解码器模块优化分割效果。

目前,DeepLabV3+已被部分学者应用于图像分割任务。陈鑫等[10]提出改进DeepLabV3+的轻量化烟雾分割算法,该算法对烟雾有着强大的分割能力,但未应用于遥感图像分割。王一琛等[11]提出一种面向遥感图像的建筑物轻量化语义分割方法,但只在两个类别中完成分割任务。王俊强等[12]提出结合DeepLabV3+与CRF (Conditional Random Field)的遥感影像典型要素提取方法,增强了边界轮廓的分割效果;唐璐等[13]提出一种基于改进DeepLabV3+的图像语义分割方法DECANet,能够有效地提取局部细节信息。以上方法主要关注图像提取精度的提升,导致模型参数量大且结构较复杂,因此难以满足实时分割的要求,也难以在低端设备上部署应用。

DeepLabV3+模型是目前较为优秀的语义分割模型之一。虽然在普通语义分割上取得良好的性能,但是在进行特征提取时该模型会逐步降低特征图的维度,造成特征的丢失,解码器无法很好地实现细节重构。为追求更高的分割精度,DeepLabV3+模型选择网络层数较多、参数量较大的Xception作为特征提取网络,但是Xception过深的网络层数以及其过大的参数量增加了模型的复杂度,使得其对硬件的要求更高,增加了网络训练难度,降低了网络的训练速度与收敛速度。尽管Xception主干网络在普通语义分割任务中取得较好精度,但是因遥感影像中内部差异较小,致使模型未能很好地发挥深层网络结构的优势,过深的网络层数反而会增加模型的过拟合风险。

针对上述问题,本文提出一种轻量级的DeepLabV3+模型(L-DeepLabV3+),旨在提高遥感图像语义分割的有效性和准确性。具体来说,L-DeepLabV3+采用改进的MobileNetV2[14]作为骨干网络,并在ASPP中使用DSConv以提高训练速度并减少参数数量;为了解决样本不平衡问题并提高分割准确性,模型采用交叉熵损失函数(Cross-Entropy loss, CE loss)和Dice loss的融合损失函数;为满足在低端设备上部署的要求,模型采用参数重构方法进一步实现模型的轻量化。

1 相关工作 1.1 DSConv

为了提高模型训练速度并减少参数量,将DSConv引入ASPP中。与普通卷积[图 1(a)]相比,DSConv[图 1(b)]将深度卷积和点卷积结合形成一个深度可分离的滤波器。

图 1 卷积和深度可分离卷积 Fig. 1 Convolution and depthwise separable convolution

1.2 MobileNet与MobileNetV2

MobileNet是由谷歌团队在2017年提出的,是一种面向移动终端或嵌入式设备的轻量级CNN网络。MobileNet基于一个精简的架构,使用DSConv。在相同的参数量下,与标准卷积操作相比,DSConv的计算量显著下降[15]

MobileNetV2使用具有线性瓶颈的倒残差块(图 2)来改进MobileNet,其中残差块的输入和输出层采用较窄的瓶颈层(低维通道)。此外,MobileNetV2还使用轻量级的深度卷积来过滤中间扩展层的特征。倒残差块主要包括扩展层、深度卷积层和投影层,通过1×1卷积将低维特征升维至高维空间;对高维特征执行逐通道的空间滤波,减少计算量和参数;将高维特征压缩回低维空间,去除冗余信息。

图 2 倒残差块 Fig. 2 Inverted residual block

2 模型

为了提高网络分割性能,本文提出一种轻量级DeepLabV3+架构,其总体结构如图 3所示。首先,使用改进的MobileNetV2网络替换原始的Xception网络,从而显著降低模型计算量,提高模型计算效率。其次,针对遥感数据集样本区域不均衡问题,将CE loss和Dice loss融合起来,以综合考虑预测概率分布与真实概率分布之间的差异以及预测结果与真实结果之间的重叠程度,从而提高模型分割精度。最后,采用参数重构的方法进一步减少参数和计算的数量,加快模型的推理速度。

图 3 轻量级DeepLabV3+架构示意图 Fig. 3 Schematic diagram of the lightweight DeepLabV3+ architecture

2.1 DSConv

为了减少模型参数量,提高计算效率,本文将ASPP和解码器中的3×3卷积改为DSConv,DSConv由深度卷积和逐点卷积组成。深度卷积在每个通道上单独进行卷积运算,逐点卷积对每个位置的所有通道进行线性组合。与普通卷积相比,DSConv可以有效地降低计算量和参数量,同时保持特征图的大小和膨胀率不变。DSConv建立一个深度可分离的滤波器,膨胀率与普通卷积的保持一致。

2.2 改进的MobileNetV2

遥感影像具有复杂性和信息量大的特点,因此需要高效、精确的语义分割网络来提取地物信息。DeepLabV3+采用的Xception网络结构复杂、参数量庞大,导致训练速度慢、内存占用高。本文使用轻量级网络改进的MoblieNetV2代替Xception网络,与DeepLabV3+原来的主干网络相比,轻量级网络改进的MoblieNetV2层数更少,因此可以大幅降低模型复杂度、参数量和计算量,同时保持良好的特征提取能力。

残差结构能够有效缓解梯度消失问题,使得网络可以学习更深层次的特征。图 4(a)是RepVGG[16]的结构,这也是本文采用的主体结构;图 4(b)是MobileNetV2倒残差结构。图 4(a)(b)分别展示了两种不同的残差结构[17],共同特点是均包含卷积层和恒等分支,通过恒等分支将输入与输出直接相加,从而保留原始信息。

图 4 残差结构对比 Fig. 4 Comparison of residual structures

本文采用图 4(a)所示的结构为主体结构,包含一个3×3卷积层、一个1×1卷积层以及恒等分支,并支持两种残差连接方式:一种是通过1×1卷积调整维度的恒等分支,另一种是直接的恒等映射。相比之下,MobileNetV2的倒残差结构[图 4(b)]由两个1×1卷积层、一个3×3深度可分离卷积层和恒等分支组成,仅采用单一类型的恒等分支残差连接。尽管RepVGG因包含标准3×3卷积而具有更高的参数量和计算量,但是其在推理时可通过结构重构(如算子融合)优化计算效率;而MobileNetV2的倒残差结构则更注重轻量化设计,适用于计算资源受限的场景。

相比于MobileNetV2原来的结构,改进的MobileNetV2可以减少深度卷积和逐点卷积带来的参数量,同时保留模型的特征提取能力。本文沿用MobilenetV2原有的层数、通道数、扩张倍数等参数设置,将原来的倒残差替换为残差结构,改进后的MobileNetV2结构如表 1所示。

表 1 改进的MobileNetV2结构 Table 1 Improved MobileNetV2 architecture
输入大小Input size 模块Module 扩张倍数Expansion multiple 输入通道数Number of channels 模块重复次数Module repetitions 步长Step size
256×256×3 Conv2d 1 16 1 1
256×256×16 Residual block 6 24 2 1
256×256×24 Residual block 6 32 3 2
128×128×32 Residual block 6 64 4 1
128×128×64 Residual block 6 96 3 2
64×64×96 Residual block 6 160 3 2
32×32×160 Residual block 6 320 1 1

2.3 参数重构 2.3.1 卷积层和BN层融合

网络中的BN (Batch Normalization)层有很多优点,但在网络前向推理过程中会占用更多的内存,从而影响模型的性能。为了减少算法在前向推理中的时间消耗,本文将卷积层和BN层融合。下面是卷积层和BN层融合推理过程。

卷积层的输出计算如下:

$ \operatorname{Conv}(x)=W(x)+b, $ (1)

其中,b表示偏差。

BN层的输出如公式(2)所示:

$ \mathrm{BN}(x)=\gamma \frac{(x-mean)}{\sqrt{var}}+\beta, $ (2)

其中,γβ是学习参数,mean表示均值,var表示方差。

卷积层和BN层组合为

$ \begin{aligned} \operatorname{BN}(\operatorname{Conv}(x)) & =\frac{\gamma W(x)}{\sqrt{v a r}}+ \\ \left(\frac{\gamma(b-mean)}{\sqrt{v a r}}+\beta\right) & \end{aligned} $ (3)

$ W_{\text {fused }}(x)=\frac{\gamma W(x)}{\sqrt{v a r}}, $ (4)
$ B_{\text {fused }}=\frac{\gamma(b-mean)}{\sqrt{v a r}}+\beta, $ (5)

则Conv+BN层的输出由权重Wfused(x)和偏置Bfused组成:

$ \operatorname{BN}(\operatorname{Conv}(x))=W_{\text {fused }}(x)+B_{\text {fused }} \text { 。} $ (6)

根据卷积的可加性,合并BN层的过程是一个线性操作,相当于修改卷积核而卷积不变。因此,卷积层和BN层的结合可以提高模型的前向推理速度。

2.3.2 分支合并

在改进的MobileNetV2模型的结构中,有两个1×1卷积的分支结构。不同卷积核的卷积被转换为3×3卷积,除了卷积核的中心位置,其他位置都是0,即卷积核被移到3×3卷积核的中心。对于身份识别,用一个权重等于1的卷积核来构建身份识别结构。通过设置3×3的卷积核,在对输入特征图进行卷积运算后,身份识别前后的数值保持不变。这时,1×1卷积和身份都可以转化为3×3卷积(图 5)。由于在卷积核形状一致的条件下,卷积核具有可加性,因此3个卷积分支可以被融合。

图 5 分支合并过程 Fig. 5 Branch merging process

2.4 融合损失函数 2.4.1 CE loss

CE loss经常被用在语义分割任务上,它能够直接衡量模型输出的概率分布与真实标签概率分布之间的差异,并根据每个像素预测概率与真实标签之间的偏差,动态调整每个像素在损失函数中所占的比重。然而,CE loss也有一些局限性:首先,它没有考虑图像中不同区域或类别在语义上的平衡性或重要性,从而可能会造成过拟合或欠拟合;其次,没有考虑数据集中可能存在的噪声或异常值对模型输出造成的干扰,这可能会降低模型准确度。CE loss的表达式如下:

$ L_{\mathrm{CE}}=-\frac{1}{N} \sum_{i=1}^N \sum_{c=1}^c y_i^c \log \widehat{y}_i^c, $ (7)

其中,N表示像素点的总数,C表示类别数量,yic是一个二分类判别器,表示第i个像素是否属于第c类;$\widehat{y_i^c}$表示第i个像素是否属于第c类对应的预测概率。

2.4.2 Dice loss

Dice loss[18-19]是一种衡量交并比指标的损失函数,在样本严重不平衡的场景下往往具有不错的性能,训练过程中更侧重对前景区域的挖掘。Dice loss的表达式为

$ L_{\text {Dice }}=1-\frac{2}{C} \sum_{c=1}^c \frac{\sum_{i=1}^N y_i^c \widehat{y_i^c}}{\sum_{i=1}^N y_i^c+\sum_{i=1}^N \widehat{y_i^c}}, $ (8)

Dice loss是一种区域性的损失函数,即网络的全部输出都会影响像素i处的网络梯度,其在一定程度上能解决正负样本的数量不平衡问题。

在遥感图像分割中,样本不同类别中的面积极其不均衡。Dice loss虽然对样本类别不均衡分割有着不错的性能,训练过程中更侧重对小区域的挖掘,但是存在训练过程不稳定的特性,极端情况下会导致梯度饱和现象。此外,因为CE loss会同等对待样本的类别,所以导致小区域类别容易被大区域类别覆盖。

2.4.3 融合损失函数

当出现样本类别面积极不平衡的情况, CE loss难以解决该问题,而Dice loss却不受样本面积大小的影响。因此,本文将Dice loss和CE loss结合,从而既能利用Dice loss对模型进行宏观约束,也能利用CE loss实现对模型的像素级约束。

Dice loss和CE loss融合:

$ \text { Loss }=L_{\mathrm{CE}}+L_{\text {Dice }} \text { 。} $ (9)
3 实验

为验证本文提出模型的有效性,本文在DLRSD[20-21]、WHDLD[20, 22]和UDD6[23]数据集上进行性能评估。实验环境为64位Linux服务器集群环境(配备Tesla T4 GPU,12 GB显存)下的训练,实验配置如下:采用PyTorch 1.2.0框架,输入图片分辨率为265×265,初始学习率设置为1e-4。通过翻转、旋转、缩放、随机扰动和其他操作对输入图像进行数据增强。DLRSD和WHDLD的初始学习率为8e-4,UDD6的初始学习率为1e-3。在DLRSD和WHDLD上共进行120轮训练,在UDD6数据集上共进行80轮训练。DLRSD和WHDLD的批大小(Batch size)为8,UDD6为32。

3.1 数据集 3.1.1 DLRSD

DLRSD是武汉大学在2018年发布的公开数据集,包含飞机、裸土、建筑、汽车、灌木丛、法庭、码头、田野、草地、移动房屋、路面、沙子、海、船、坦克、树和水共17个类。DLRSD包含2 100张RGB图像,图片大小为256×256。本文按照4∶1的比例将其分为训练集和验证集。

3.1.2 WHDLD

WHDLD是由武汉大学提供的遥感图像分割数据集。WHDLD包含4 940张大小为256×256的RGB图像,其中每张图像的像素都被标注为6个类别:裸地、遥感特征、人行道、道路、植被和水。本次实验随机选择80%的图像作为训练集,20%的图像作为验证集。

3.1.3 UDD6

UDD6是北京大学在2018年发布的数据集,其每张图像中的像素被标记为裸地、遥感特征、人行道、道路、植被和水6个类别。UDD6中有120张图像用于训练,40张图像用于测试。图像大小为4 096×2 160。由于图像太大,无法直接进行训练,所以高分辨率的数据被裁剪成大小为256×256的低分辨率图像。本文共使用了17 316个训练集和5 786个测试集。

3.2 评价指标

平均交并比(mean Intersection Over Union, mIOU)和平均像素精度(mean Pixel Accuracy, mPA)被用作性能评估指标。mIOU是所有类别上IOU的平均值。IOU值越高,预测结果和真实值的重合率就越高。像素精度是正确分类的像素与所有像素数量的比率。mIOU和mPA的计算公式如下。

$ \begin{aligned} & \quad \mathrm{mIOU}= \\ & \frac{1}{k+1} \sum_{i=0}^k \frac{p_{i i}}{\sum_{j=0}^k p_{i j}+\sum_{j=0}^k p_{j i}-p_{i i}}, \end{aligned} $ (10)
$ \mathrm{mPA}=\frac{1}{k+1} \sum_{i=0}^k \frac{p_{i i}}{\sum_{j=0}^k p_{i j}}, $ (11)

其中,k+1为图像分割总的类别数,pii为真实类别为i且预测为i的像素数, pij为真实类别为i但预测为j的像素数, pji为真实类别为j但预测为i的像素数。

此外,衡量模型的指标还有参数量(Parameters, Params)、浮点运算数量(Floating Point Operations, FLOPs)、乘加运算次数(Multiply-Add Operations, MAdd)、内存占有量(Memory)和画面每秒传输帧数(Frames Per Second, FPS)。Params表示算法的大小,FLOPs用来衡量算法的复杂度,Memory反应运行时占用的内存量。通常Params和FLOPs越小,代表模型所需的算力越小,对硬件的性能要求越低,越容易搭建于移动设备中。

3.3 实验结果与分析 3.3.1 DSConv性能

在DLRSD数据集上的实验结果表明,DSConv相较于普通卷积在性能上具有显著优势。从表 2可知,相对于普通卷积,使用DSConv能够减少参数量约2 M, FLOPs减少约8 G,MAdd减少约6 G,而内存却仅仅增加36 M。这说明使用DSConv能够大大提高训练效率。

表 2 深度可分离卷积和普通卷积性能对比 Table 2 Performance comparison between DSConv and Conv
方法Method 浮点运算数量/GFLOPs/G 参数量/MParams/M 内存/MMemory/M 乘加运算次数/GMAdd/G
Conv 38.8 5.6 375.9 77.6
DSConv 30.8 3.6 411.9 61.5

3.3.2 参数重构实验

为了优化移动端部署,采用BN层与卷积层融合以及分支结构合并的策略,从而减少模型推理时间,提升图像分割的速度。然而,由于模型参数的重构,各项性能指标均有所下降,在DLRSD数据集上的实验结果如表 3所示。

表 3 重构前后参数对比 Table 3 Performance comparison between before and after parameter reconstruction
重构Reconfiguration 浮点运算数量/GFLOPs/G 参数量/MParams/M 内存/MMemory/M 乘加运算次数/GMAdd/G
Before parameter reconstruction 30.8 3.6 411.9 61.5
After parameter reconstruction 30.1 3.5 318.9 60.1

3.3.3 消融实验

为了验证融合损失函数和ASPP中的DSConv模块的有效性,在DLRSD数据集上进行消融实验,结果见表 4。使用融合损失函数可以挖掘和平衡图像中的小区域和大区域的分割。使用CE loss和Dice loss的组合,mPA增加1.0百分点,mIOU增加1.4百分点。使用DSConv代替普通卷积,mPA和mIOU分别增加0.7百分点和0.3百分点。融合损失函数和DSConv的组合使用比单独使用效果更好。

表 4 消融实验 Table 4 Ablation experiments
Unit: %
改进的MobileNetV2Improved MobileNetV2 融合损失函数Fusion loss function 深度可分离卷积DSConv 平均像素精度mPA 平均交并比mIOU
78.3 63.4
79.3 64.8
78.3 64.9
80.0 65.1

3.3.4 骨干网络对比实验

表 5可知,改进后的MoblieNetV2模型的参数更低,速度更快,分割精度更高。当只改变骨干网络时,模型的参数量不仅降低了2.7 M,而且在mIOU中提高了11.9百分点,在mPA中提高了12.8百分点。实验结果表明,改进的MobileNetV2比原始的MobileNetV2效率更高。

表 5 不同主干网络的性能对比 Table 5 Performance comparison of different backbone networks
主干网络Backbone 参数量/MParams/M 平均交并比/%mIOU/% 平均像素精度/%mPA/%
MobileNetV2 6.2 51.5 65.4
ResNet 40.0 52.2 64.8
Ours 3.5 63.4 78.2

此外,在相同的实验条件下对几种不同的骨干网络和本文所提出的骨干网络进行比较和分析。由表 6可知,在WHDLD数据集上,本文所提出的骨干网络的mIOU和mPA都优于其他骨干网络。

表 6 WHDLD数据集上不同骨干网络的性能比较 Table 6 Performance comparison of different backbone networks on WHDLD dataset
主干网络Backbone 参数量/MParams/M 平均交并比/%mIOU/% 平均像素精度/%mPA/%
Xception 54.7 57.8 68.1
MobileNetV2 6.2 57.4 70.4
RepVGG_A0 11.2 48.6 65.7
Ours 3.5 61.6 74.4

表 7展示了在UDD6数据集上,不同主干网络对DeepLabV3+模型性能的影响。通过对比分析可以得出,本文所提出的骨干网络的mIOU和mPA都优于其他骨干网络。

表 7 UDD6数据集上的实验结果 Table 7 Experimental results on UDD6 dataset
主干网络Backbone 参数量/MParams/M 平均交并比/%mIOU/% 平均像素精度/%mPA/%
ResNet50 40.0 60.6 74.7
MobileNetV2 5.6 59.1 73.6
Ours 3.5 65.1 77.5

3.3.5 不同模型对比实验

在DLRSD数据集上实验,将本文模型与其他不同的算法相比,其结果如表 8所示。在同样迭代120次的情况下,本文模型虽然比LEDNet模型参数量高1.2 M,但是在mIOU和mPA方面是所有对比模型中最优的。

表 8 DLRSD数据集上不同模型对比结果 Table 8 Performance comparison of different models on DLRSD dataset
模型Model 参数量/MParams/M 平均交并比/%mIOU/% 平均像素精度/%mPA/%
FCN 134.4 40.5 45.2
U-Net 43.9 53.4 65.2
PSPNet[24] 43.9 62.9 76.3
DANet[25] 47.4 59.1 77.2
LEDNet[26] 2.3 60.9 68.3
SPNet[27] 41.6 55.0 69.3
SegNet[28] 29.4 32.0 43.2
DeepLabV3+ 6.2 51.5 65.4
HrNet[29] 29.6 62.7 75.3
Ours 3.5 65.1 79.4

为了进一步验证本文所提模型的泛化能力,在WHDLD数据集上与业界常用的语义分割网络算法进行对比分析。结果如表 9所示,与基线模型相比,本文所提模型在准确性上达到最优,mlOU达到61.6%,mPA达到74.4%。此外,本文所提模型的参数量为3.5 M,远远小于大部分基线模型,仅比LEDNet多1.2 M。同时,在UDD6数据集上进行对比实验,结果表明,在比PSPNet少40.3 M参数量的情况下,本文所提模型的mIOU仅降低0.2百分点,mPA降低0.95百分点,但FPS可以达到90.2,比PSPNet高53.6(表 10)。

表 9 不同模型在WHDLD数据集上的性能比较 Table 9 Performance comparison of different models on WHDLD dataset
模型Model 主干网络Backbone 参数量/MParams/M 平均交并比/%mIOU/% 平均像素精度/%mPA/%
FCN[4] VGG16 134.4 48.6 58.6
U-Net[5] ResNet50 43.8 61.3 72.8
PSPNet[24] ResNet50 43.8 55.4 67.8
LEDNet[26] ResNet50 2.3 59.2 70.1
SPNet[27] ResNet50 41.5 56.4 67.8
SegNet[28] VGG16 29.4 47.9 57.3
HrNet[29] 29.4 55.2 72.0
Ours Ours 3.5 61.6 74.4

表 10 不同模型在UDD6数据集上的实验结果 Table 10 Experimental results of different models on UDD6 dataset
模型Model 主干网络Backbone 参数量/MParams/M 平均交并比/%mIOU/% 平均像素精度/%mPA/% 每秒传输帧数FPS
PSPNet[24] ResNet50 43.8 65.3 78.45 36.6
SPNet[27] ResNet50 43.8 63.4 75.2 32.6
LEDNet[26] ResNet 2.3 63.6 76.4 52.9
DeepLabV3+ MobileNetV2 6.2 59.1 73.6 34.3
HrNet[29] 29.4 60.3 72.9 27.7
Ours Ours 3.5 65.1 77.5 90.2

DLRSD数据集上的mIOU曲线见图 6。所有的网络直到100个历时才勉强开始收敛,而本文模型虽然在前60个历时中与HRNet处于同等的状态,但在60个历时后一直保持领先。图 7图 8分别是WHDLD数据集和UDD6数据集的mIOU曲线。

图 6 DLRSD数据集上的mIOU曲线 Fig. 6 mIOU curves on DLRSD dataset

图 7 WHDLD数据集上的mIOU曲线 Fig. 7 mIOU curves on WHDLD dataset

图 8 UDD6数据集上的mIOU曲线 Fig. 8 mIOU curves on UDD6

3.3.6 遥感图像类别提取

表 11展示了DLRSD数据集各个类别的IOU。在参数量较少的情况下,与其他模型相比,在17个类别中,本文所提模型有6个类别的IOU最优,最优类别数量仅次于PSPNet。

表 11 DLRSD数据集上每个类别的IOU结果 Table 11 IOU results for each class on DLRSD dataset
类别Class IOU/%
U-Net[5] LEDNet[26] PSPNet[24] SPNet[27] HrNet[29] Ours
Airplane 24.13 53.47 47.14 39.86 52.04 52.78
Bare soil 35.72 43.64 47.24 38.45 44.14 44.44
Buildings 53.46 60.07 65.47 57.11 62.21 62.38
Cars 57.12 55.33 56.26 50.74 56.77 64.42
Chaparral 54.44 38.25 48.09 40.15 53.75 61.53
Court 47.09 71.43 64.12 61.44 62.05 67.93
Dock 36.74 40.01 35.06 16.44 40.27 47.18
Field 94.00 95.99 95.47 93.98 94.30 99.49
Grass 51.88 55.90 59.58 53.76 55.77 54.01
Mobile home 37.10 44.80 59.04 41.43 50.96 55.76
Pavement 67.58 72.08 73.84 69.20 71.38 72.10
Sand 41.63 62.09 69.04 48.70 62.21 62.33
Sea 82.83 93.32 92.97 87.12 86.30 92.74
Ship 59.33 57.36 59.01 55.27 63.36 64.48
Tanks 16.73 46.65 49.82 36.23 63.11 49.54
Trees 64.96 68.10 70.44 67.96 67.94 69.77
Water 82.21 77.18 70.63 76.95 78.61 86.21
Note: data in bolt represent the optimal results.

3.3.7 分割可视化

本文所提模型和其他模型的分割可视化结果如图 9所示。可以看出,与其他模型相比,本文模型的分割结果在大多数时间内都有明显改善。

图 9 DLRSD数据集上语义分割可视化结果的比较 Fig. 9 Comparison of semantic segmentation visualization results on DLRSD dataset

4 结论

本文提出了一种基于DeepLabV3+的改进模型,解决了DeepLabV3t模型在遥感图像语义分割中存在的参数量大、运行内存过大、工业部署困难等问题。首先,该模型使用改进的MobileNetV2作为骨干网络,用DSConv代替ASPP中的普通卷积,而不会明显降低精度。其次,使用融合损失函数作为损失函数来解决图像分割中样本的不平衡问题。最后,采用结构重参数化方法,减少参数量和计算量,提高模型的推理速度。实验结果表明,本文所提模型具有良好的检测精度和实时性,与最先进方法的性能相比效果更加突出。未来,将研究如何进一步减少模型的参数量和计算量,同时提高算法的分割精度,提出一种更轻量化的语义分割算法,为遥感图像的特征提取提供更好的模型选择。

参考文献
[1]
FISCHER P, AZIMI S M, ROSCHLAUB R, et al. Towards HD maps from aerial imagery: robust lane marking segmentation using country-scale imagery[J]. ISPRS International Journal of Geo-Information, 2018, 7(12): 458. DOI:10.3390/ijgi7120458
[2]
NASSAR A, AMER K, ELHAKIM R, et al. A deep CNN-based framework for enhanced aerial imagery registration with applications to UAV geolocalization[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. Piscataway: IEEE, 2018: 1513-1523.
[3]
YUAN X H, SHI J F, GU L C. A review of deep learning methods for semantic segmentation of remote sensing imagery[J]. Expert Systems with Applications, 2021, 169: 114417. DOI:10.1016/j.eswa.2020.114417
[4]
LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2015: 3431-3440.
[5]
RONNEBERGER O, FISCHER P, BROX T. U-Net: convolutional networks for biomedical image segmentation[C]//Medical Image Computing and Computer-assisted Intervention-MICCAI 2015. Cham: Springer, 2015: 234-241.
[6]
CHEN L C, PAPANDREOU G, KOKKINOS I, et al. Semantic image segmentation with deep convolutional nets and fully connected CRFs[Z/OL]. (2016-06-07)[2023-04-19]. https://arxiv.org/abs/1412.7062.
[7]
CHEN L C, PAPANDREOU G, KOKKINOS I, et al. DeepLab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(4): 834-848. DOI:10.1109/TPAMI.2017.2699184
[8]
CHEN L C, PAPANDREOU G, SCHROFF F, et al. Rethinking atrous convolution for semantic image segmentation[Z/OL]. (2017-12-05)[2023-04-19]. https://arxiv.org/abs/1706.05587.
[9]
CHEN L C, ZHU Y, PAPANDREOU G, et al. Encoder-decoder with atrous separable convolution for semantic image segmentation[C]//Proceedings of the European Conference on Computer Vision (ECCV). Cham: Springer, 2018: 801-818.
[10]
陈鑫, 侯青山, 付艳, 等. 改进DeepLabV3+下的轻量化烟雾分割算法[J]. 西安工程大学学报, 2023, 37(4): 118-126.
[11]
王一琛, 刘慧, 王海涛, 等. 面向遥感图像的建筑物轻量化语义分割方法[J]. 计算机工程与设计, 2022, 43(9): 2646-2653.
[12]
王俊强, 李建胜, 周华春, 等. 基于Deeplabv3+与CRF的遥感影像典型要素提取方法[J]. 计算机工程, 2019, 45(10): 260-265, 271.
[13]
唐璐, 万良, 王婷婷, 等. DECANet: 基于改进DeepLabv3+的图像语义分割方法[J]. 激光与光电子学进展, 2023, 60(4): 0410002.
[14]
SANDLER M, HOWARD A, ZHU M L, et al. MobileNetV2: inverted residuals and linear bottlenecks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Piscataway: IEEE, 2018: 4510-4520.
[15]
HOWARD A G, ZHU M L, CHEN B, et al. Mobile- Nets: efficient convolutional neural networks for mobile vision applications[Z/OL]. (2017-04-17)[2023-04-19]. https://arxiv.org/abs/1704.04861v1.
[16]
DING X H, ZHANG X Y, MA N N, et al. RepVGG: making VGG-style convnets great again[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2021: 13733-13742.
[17]
HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2016: 770-778.
[18]
MILLETARI F, NAVAB N, AHMADI S A. V-Net: fully convolutional neural networks for volumetric medical image segmentation[C]//2016 fourth international conference on 3D vision (3DV). Piscataway: IEEE, 2016: 565-571.
[19]
LI X Y, SUN X F, MENG Y X, et al. Dice loss for data-imbalanced NLP tasks[Z/OL]. (2020-08-29)[2023-04-19]. https://arxiv.org/abs/1911.02855v3.
[20]
SHAO Z F, YANG K, ZHOU W X. Performance evaluation of single-label and multi-label remote sensing image retrieval using a dense labeling dataset[J]. Remote Sensing, 2018, 10(6): 964. DOI:10.3390/rs10060964
[21]
CHAUDHURI B, DEMIR B, CHAUDHURI S, et al. Multilabel remote sensing image retrieval using a semisupervised graph-theoretic method[J]. IEEE Transactions on Geoscience and Remote Sensing, 2017, 56(2): 1144-1158.
[22]
SHAO Z F, ZHOU W X, DENG X Q, et al. Multilabel remote sensing image retrieval based on fully convolutional network[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2020, 13: 318-328. DOI:10.1109/JSTARS.2019.2961634
[23]
CHEN Y, WANG Y, LU P, et al. Large-scale structure from motion with semantic constraints of aerial images[C]//Pattern Recognition and Computer Vision. Cham: Springer, 2018: 347-359.
[24]
ZHAO H S, SHI J P, QI X J, et al. Pyramid scene parsing network[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017: 2881-2890.
[25]
FU J, LIU J, TIAN H J, et al. Dual attention network for scene segmentation[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2019: 3146-3154.
[26]
WANG Y, ZHOU Q, LIU J, et al. LEDNet: a light- weight encoder-decoder network for real-time semantic segmentation[C]//2019 IEEE International Conference on Image Processing (ICIP). Piscataway: IEEE, 2019: 8803154.
[27]
HOU Q B, ZHANG L, CHENG M M, et al. Strip pooling: rethinking spatial pooling for scene parsing[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2020: 4003-4012.
[28]
BADRINARAYANAN V, KENDALL A, CIPOLLA R. SegNet: a deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2481-2495. DOI:10.1109/TPAMI.2016.2644615
[29]
SUN K, XIAO B, LIU D, et al. Deep high-resolution representation learning for human pose estimation[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2019: 5693-5703.