基于MobileNet的轻量化云检测模型
A MobileNet-based lightweight cloud detection model
收稿日期: 2024-01-17 修回日期: 2024-04-24
基金资助: |
|
Received: 2024-01-17 Revised: 2024-04-24
作者简介 About authors
叶武剑(1987-),男,博士,讲师(硕士生导师),主要从事AI与电路模型研究。Email:
针对现有云检测算法计算量和模型规模庞大、在边缘设备上的部署几乎不可行的问题,提出了一种基于MobileNet网络的轻量化云检测模型。该方法在下采样阶段,使用基于注意力机制的残差模块,通过分组卷积降低模型参数量,并结合通道重排机制和挤压激励(squeeze-and-excitation,SE)注意力模块来增强通道间的信息交流。通过这种方式,既减少了参数量和计算复杂度,又保持了对重要特征的提取能力。在上采样阶段,使用了RepConv模块和改进的空洞空间金字塔池化模块(atrous spatial pyramid pooling,ASPP),以提高网络的学习能力和捕捉图像细节与空间信息的能力。实验结果证明,该文模型在参数量和模型复杂度降低的情况下,能够实现较高精度的云检测,具备实用性和可行性。
关键词:
The high computational complexity and large model scales of existing cloud detection algorithms render their deployment on edge devices almost infeasible. To address this challenge, this study proposed a MobileNet-based lightweight cloud detection model. In the downsampling stage, a residual module based on the attention mechanism was employed to reduce model parameters through group convolution. The channel shuffling mechanism and the squeeze-and-excitation (SE) channel attention were integrated to enhance the information exchange between channels. These approaches reduced parameters and computational complexity while maintaining the ability to extract significant features. In the upsampling stage, the RepConv module and the improved atrous spatial pyramid pooling (ASPP) module were used to enhance the network’s learning capability and its ability to capture image details and spatial information. Experimental results demonstrate that the proposed model can achieve higher cloud detection accuracy while reducing parameters and model complexity, substantiating its practicality and feasibility.
Keywords:
本文引用格式
叶武剑, 谢林峰, 刘怡俊, 温晓卓, 李扬.
YE Wujian, XIE Linfeng, LIU Yijun, WEN Xiaozhuo, Li Yang.
0 引言
随着对云检测任务的深入研究,研究人员相继提出了越来越多的特征提取与融合方法。尽管深度学习算法在云检测任务中表现出色,但由于边缘设备计算资源的限制,以及遥感图像数据越来越大的情况[9],现有基于卷积神经网络(convolutional neural network,CNN)的模型往往计算复杂度较高以及模型规模过大,几乎不适合在边缘设备上部署,这限制了其在光学遥感方面的实际应用。因此,本研究旨在探索适用于边缘设备的高效云检测解决方案。
为了解决上述问题,He等[10]提出了一种轻量级网络DABNet,以实现对复杂云的高精度检测。DABNet网络引入了可变形上下文特征金字塔模块,能够自适应地调整过滤感受野,增强多尺度特征的捕获能力,并提出了加权边界(boundary-weighted,BW)损失函数,有效改善云检测中边界模糊的问题。另外,Wu等[11]提出了一种名为场景融合网络(scene aggregation network,SAN)的方法,该方法融合了遥感影像的基本特征和场景信息,通过基本特征与场景信息的融合,提升了云检测的精度,并能够对相应的场景类别进行分类。此外,刘广进等[12]提出了一种基于密集连接卷积网络(densely connected convolutional networks,DenseNet)的遥感云检测网络,通过上下文建模模块提取全局上下文信息,然后通过融合双注意力模块使网络能够更关注有用的特征,最后通过输入空洞卷积模块增大网络感受野,增强网络对遥感影像全局信息的捕获能力,从而实现了较好的云检测精度。在其他相关领域的研究中,孙盛等[13]提出卷积空域金字塔池化模块,结合多尺度融合与轻量化CNN方法,用于地物图像分离; Yin等[14]提出基于高阶空间相互作用(high-order spatial interactions,HSIs)的轻量级网络,包括轻量级混合注意力(lightweight hybrid attention block,LHAB),使得模块保持高性能的同时适用于边缘计算场景。
1 研究方法
1.1 MobileNet网络及模型框架
MobileNet采用被称为深度可分离卷积(depthwise separable convolution,DSC)的卷积操作,该操作将标准卷积操作分解为深度卷积和逐点卷积2个步骤。深度卷积仅对输入的每个通道进行单独的卷积操作,而逐点卷积则是在深度卷积之后应用的常规卷积。通过这种方式,MobileNet在减小计算复杂度和模型参数数量的同时,保持较高的准确率。
本文介绍的网络结构在MobileNetV2的基础上进行改进而来。MobileNetV2通过一些新的设计来进一步提升模型性能,包括更高效的残差连接、线性瓶颈、倒置残差和可分离卷积等。MobileNetV2的整体结构由特征提取网络和分类器2部分组成。特征提取网络主要由多个倒置残差块(inverted residualblocks,IRB)组成,而分类器则是一个全连接层。MobileNetV2的特征提取网络结构如表1所示。
表1 MobileNetV2模型结构
Tab.1
输入形状 | 结构层名 | 扩展因子 | 输出通道数 | 数量 | 步距 |
---|---|---|---|---|---|
2242×3 | 卷积层 | — | 32 | 1 | 2 |
1122×32 | IRB | 1 | 16 | 1 | 1 |
1122×16 | IRB | 6 | 24 | 2 | 2 |
562×24 | IRB | 6 | 32 | 3 | 2 |
282×32 | IRB | 6 | 64 | 4 | 2 |
142×64 | IRB | 6 | 96 | 3 | 1 |
142×96 | IRB | 6 | 160 | 3 | 2 |
72×160 | IRB | 6 | 320 | 1 | 1 |
72×320 | 1×1 卷积层 | — | 1 280 | 1 | 1 |
72×1 280 | 平均池 化7×7 | — | — | 1 | — |
1×1×1 280 | 线性层 | — | — | — | — |
改进后的结构如图1所示。首先,引入基于注意力机制的轻量化残差模块,以降低模型的参数数量,使得模型更加轻量化和高效。同时,采用通道划分操作等改进了空洞空间金字塔池化(atrous spatial pyramid pooling,ASPP)模块,该模块利用空洞卷积以扩大模型的感受野,提高网络对大尺度特征的学习能力。在上采样阶段,采用RepConv模块对特征图进行特征提取,旨在提升模型性能、增强模型的泛化能力和运行效率,而不增加参数量。最后,在上采样侧边引入了1条分支,用于利用不同尺度学习到的特征语义信息来指导最终输出的生成。实验证明,本文提出的方法在保证云检测准确度的同时,适度缩小了模型规模和参数数量,有助于在边缘设备上进行部署。
图1
1.2 基于注意力机制的轻量化残差模块
为了减少IRB中的参数数量和计算量,本文提出了基于注意力机制的轻量化残差模块。其结构如图2所示。首先,该模块使用1×1分组卷积对输入特征进行通道调整。分组卷积是一种卷积操作,将输入的特征图分成多个组,并对每个小组进行独立的卷积操作,之后将各个小组的输出合并起来。相较于传统的卷积操作,分组卷积能够减少计算量和参数量,从而加速计算并降低过拟合的风险。接下来,使用3×3的DSC提取输入的特征。然后,使用1×1的分组卷积核将特征进行降维,减少模型的计算量。随后,将1×1卷积的结果与残差连接相加,并输入挤压激励(squeeze and excitation,SE)注意力模块进一步增强通道之间的交互。这样可以提高模型的泛化能力和准确性。然而,由于分组卷积可能导致一些特征被隔离在不同的分组中,无法有效地进行交互融合,从而限制了网络的表达能力。为了克服这个问题,将SE模块的输出结果进行通道重排操作。这样能够增强不同通道之间的信息交流,加强特征通道之间的交互和信息传递,从而提升特征提取的效果。
图2
1.3 ASPP模块
在进行遥感影像中的云区检测时,可能会受到冰雪等相似地物的干扰,导致其他地物被误判为云层。小尺寸的卷积核具有较小的感受野范围,当在该区域内使用小尺寸的卷积核进行卷积运算并提取地物特征图时,由于冰雪等地物与云层具有相似的特征,尤其是在纹理特征相似的情况下,CNN在模型训练过程中容易将具有相似特征的冰雪地物误认为云层,从而影响神经网络权重的更新,降低模型的感知能力。
在语义分割任务中,感受野对于准确识别图像至关重要,而下采样是保证感受野的关键方法。然而,下采样也存在一些问题。首先,下采样会导致信息的丢失,因为池化操作是不可逆的,因此在特征图进行上采样时会丢失信息。其次,多次下采样后,小目标的信息无法恢复,这会对语义分割的精度产生不利影响。
图3
基于ASPP模块,本文提出的多尺度特征提取模块如图4所示。首先,多尺度特征提取模块对输入特征数据进行通道划分,将输入特征数据按照通道维度划分为4等份,每等份的维度为输入特征数据通道数的1/4。然后,采用3个空洞率分别为1,3,5的空洞卷积以及一个1×1卷积层分别对这4等份特征图进行不同尺度的特征信息提取,从而产生不同尺度的感受野,获取不同尺度的上下文信息。最后,将输入于这4个分支的特征图融合拼接在一起,并通过一个1×1卷积层进行通道数调整,以减少特征图的通道数。
图4
图4
改进的ASPP结构
Fig.4
Structure diagram of improved atrous spatial pyramid pooling
1.4 RepConv模块
图5
1)1×1卷积转化为3×3卷积。1×1卷积过程如图5(b)所示,为了保持卷积核尺寸大小一致,需要使用padding来进行补0操作,将1×1卷积核扩展成与3×3卷积核大小相同的尺寸,这样可以将1×1卷积的卷积核与3×3卷积核进行相加操作。
2)恒等映射转化为3×3卷积。恒等映射指将输入直接输出,不做任何计算。相当于深度卷积使用权重为1的卷积核,对每个通道分别进行卷积,然后输出结果。之后转化为1×1的普通卷积。普通卷积和深度卷积的区别在于它们的输出方式不同,普通卷积的输出是各通道结果相加,而深度卷积的输出是每个通道单独卷积。最后通过补0操作将1×1卷积扩展为3×3卷积。
3)卷积层和BN融合。在RepConv将Conv2d和BN 2个算子进行了融合。这是因为这2个算子都是线性运算,可以通过一定的变换将其融合为1个算子,从而减少计算量和内存占用。需要注意的是,算子的融合是在网络训练完成之后进行的,也就是在推理模式下进行的。令输入图像数据为x,卷积核大小为w,卷积层的表达式为:
式中b为卷积层的偏置。后续输入值BN,其计算公式为:
式中:μ为BN层数据的均值;σ为BN层数据的方差; ϵ为一个非常小的常数,用于防止除数出现0的情况;γ与β分别为BN层的尺度缩放因子和平移因子,用于调整数据至标准正态分布。变形后可得公式:
从式(3)可以看出,将
2 实验结果及分析
2.1 38Cloud数据集
在本实验中,选择使用38Cloud数据集作为训练和测试的数据集。38Cloud数据集[19]发表于2019年,一共含有38个场景的Landsat8遥感影像,每张场景大小约为8 000像素×8 000像素,并且包含有云、背景2类像素级别的标注信息,可用于遥感云检测任务。38Cloud数据集将这些场景的整个图像裁剪为许多大小为384像素×384像素的补丁。38Cloud数据集的训练集和测试集分别含有8 400个补丁和9 201个补丁,每个补丁均含有近红外、红光、绿光和蓝光波段。如图6所示,这些波段并没有被合并成一个文件,而是以单通道的形式存储在对应通道的目录中。此外,为了更好地展示和对比数据,38Cloud还提供了未裁剪的假彩图像。这些图像是一种伪彩色编码,可用于可视化效果展示。图7提供了这种数据存储方式的示例图。
图6
图7
在本文实验中,去除38Cloud数据集中超过80%无效像素的图片,并将数据集随机划分为训练集和测试集,其中训练集占总数据的80%,测试集占总数据的20%。此外还对训练数据进行一些数据增强的操作,例如旋转、水平翻转和垂直翻转,以扩充数据集的多样性。
2.2 实验环境参数
表2 实验环境
Tab.2
实验环境 | 实验配置 |
---|---|
操作系统 | Linux |
编程语言 | Python 3.6.13 |
Pytorch 1.10.0_cu112 | |
CPU型号 | 2.0 GHz Xeon处理器 |
GPU型号 | GeForce RTX 2080Ti 11 GB |
图8
图8
准确率随迭代次数变化曲线
Fig.8
The curve of accuracy changing with number of iterations
2.3 实验对比结果
本文选用深度学习神经网络模型MobileNetV2,ICNet[20],DFANet[21],LEDNet[22]和本文模型进行了对比实验,结果如表3所示。第1行显示本文模型比其他神经网络能够更好地还原云层边缘细节,红框处的云层边缘与真实值相近。第2行展示了云层较少的情况下,本文模型在红框处能够捕获更精细的云层边缘。第3行展示了多薄云的情况,本文模型对于红框处难以识别的小面积薄云也能获得良好的检测效果。4—6行展示了冰雪地物环境较多的情况。在第4行中,所有方法在顶角都出现了错误检测的情况,但是本文模型的误检率较低。第5行中,ICNet和DFANet在红框处出现了错误检测,而本文模型能够较好地识别小面积云层,降低误检率。第6行中,MobileNetV2,ICNet和DFANet出现了大面积的漏检,并且MobileNetV2和DFANet方法出现了明显的拼接痕迹。而本文模型相对于LEDNet方法的漏检较少,红框处的漏检也较少。从表3中可以看出,MobileNetV2网络在检测过程中出现了较多的漏检,未能很好地检测出云层;ICNet,DFANet和LEDNet网络在性能上优于MobileNetV2,但在还原云层边缘细节方面弱于本文模型。由于MobileNetV2网络对于多尺度特征提取的能力有限,因此整体性能较本文模型弱。
表3 不同模型的云检测分割结果
Tab.3
序号 | 假彩图像 | 真实值 | MobileNetV2 | ICNet | DFANet | LEDNet | 本文模型 |
---|---|---|---|---|---|---|---|
1 | ![]() | ||||||
2 | ![]() | ||||||
3 | ![]() | ||||||
4 | ![]() | ||||||
5 | ![]() | ||||||
6 | ![]() |
在冰雪环境下,由于冰雪等地物的特征与云层特征相似,在纹理特征相似的情况下,CNN容易将冰雪等具有相似特征的地物错误地识别为云层的特征。这可能会导致模型的预测出现误判或误检问题,从而产生不准确的云检测结果。由于本文模型引入了ASPP模块,能够更好地捕捉不同尺度上下文信息并扩大感受野,使得模型在复杂的冰雪等地物环境下仍能准确获取云层边缘。此外,引入了RepConv模块,使得模型在参数量变化较小的情况下仍能获得大模型的检测性能。这使得本文模型能恢复更多的云层细节,生成更精细的云检测结果图。
根据表4中不同网络性能的结果,可以看出本文方法在云检测任务中展现出优异的性能。其中准确率达到93.24%,召回率为90.82%,精确率为87.03%,F1分数为86.27%,Jaccard系数为80.49%。与MobileNetV2相比,本文模型在召回率和Jaccard系数上分别提高了4.04%和1.74%。与次优的DFANet网络相比,本文模型在召回率和Jaccard系数上分别提高了3.01%和2.93%。尽管ICNet网络具有最高的召回率,但其精确率相对较低。与其他深度学习算法相比,本文模型在轻量化后更接近原有的性能。
表4 不同模型性能指标对比
Tab.4
网络模型 | 准确率 | 召回率 | 精确率 | F1分数 | Jaccard |
---|---|---|---|---|---|
MobileNetV2 | 93.28 | 87.29 | 87.66 | 85.79 | 79.11 |
ICNet | 91.35 | 92.34 | 83.91 | 85.07 | 79.12 |
DFANet | 92.23 | 88.17 | 86.13 | 84.89 | 78.20 |
LEDNet | 91.62 | 88.76 | 85.68 | 84.39 | 77.96 |
本文模型 | 93.24 | 90.82 | 87.03 | 86.27 | 80.49 |
表5展示了各个模型的参数量和模型复杂度,其中模型复杂度用每秒10亿次的浮点运算数(giga floating-point operations per second,GFLOPs)表示。与其他算法相比,LEDNet具有最少的参数量,但相对于本文模型而言,LEDNet的模型复杂度更高。DFANet在计算复杂度方面表现最佳,但其参数量高于本文模型。引入的基于注意力机制的轻量化残差模块,既降低了网络模型的参数量,又保持了较低的性能损失。同时,RepConv的引入使得模型能在较低参数量的情况下获得大模型的检测性能。最终,本文模型在较低的参数量和模型复杂度的条件下取得了较优的分割准确率。综上所述,本文模型在云检测方面实现了较好的性能,并具备较高的精度。
表5 不同模型参数量和复杂度对比
Tab.5
网络模型 | 参数量/106个 | GFLOPS |
---|---|---|
MobileNetV2 | 4.68 | 1.93 |
ICNet | 26.24 | 5.70 |
DFANet | 2.15 | 1.00 |
LEDNet | 0.92 | 3.54 |
本文模型 | 1.43 | 1.04 |
2.4 消融实验结果
为了验证本文模型对于MobileNetV2的有效性,首先使用MobileNetV2网络作为基准网络,逐步添加提出的轻量化残差模块、改进的ASPP模块和RepConv模块,以验证这些模块的有效性。如表6所示,A,B和C分别代表轻量化残差模块、改进的ASPP模块和RepConv模块。从表中可以看出,模型A相较于基准网络模型,准确率、F1分数和Jaccard系数分别下降0.55%,0.98%和0.94%,召回率下降2.04%,而精确率提高2.13%,证明轻量化残差结构仍能保持有效的语义信息提取能力,但损失了对复杂语义信息的提取能力。模型B利用改进ASPP模块后,在模型A的基础上准确率、召回率、F1分数和Jaccard系数均有提升,其中召回率提升了3.02%,证明模块B丰富了模型对多尺度复杂语义信息的提取能力。最后,RepConv模块的使用使得准确率基本恢复到基础模型水平,且召回率、F1分数和Jaccard系数都超越了基础模型,证明轻量化残差模块、改进的ASPP模块和RepConv模块均能发挥良好的作用,并且有相互促进的作用,可以获得较好的性能提升。
表6 消融实验结果对比
Tab.6
网络模型 | A | B | C | 准确 率 | 召回 率 | 精确 率 | F1 分数 | Jac- card |
---|---|---|---|---|---|---|---|---|
MobileNetV2 | — | — | — | 93.28 | 87.29 | 87.66 | 85.79 | 79.11 |
模型A | √ | — | — | 92.77 | 85.51 | 89.53 | 84.95 | 78.37 |
模型B | √ | √ | — | 92.93 | 88.09 | 88.50 | 85.42 | 79.33 |
提出的模型 | √ | √ | √ | 93.24 | 90.82 | 87.03 | 86.27 | 80.49 |
3 结论
考虑到现有深度学习云检测方法因计算量和模型规模过大导致几乎无法在边缘设备上部署的问题,以MobileNetV2模型为基础,通过引入通道重排机制和注意力机制轻量化残差模块,显著减少了模型的参数量和计算复杂度。此外,还改进了ASPP模块,以弥补编码器到高级特征映射之间的空间和细节信息的缺失。在解码器部分,引入了RepConv模块,提高了网络在训练阶段的学习能力,并在推理阶段保持了较高的计算速度,从而使网络具备更好的性能和效率。为了验证该方法的有效性,进行了对比实验和消融实验。最后得出以下结论:
1)基于注意力机制的轻量化残差模块,通过通道重排和SE模块,在参数量减小的情况下依然保持对图像语义信息的提取能力。
2)通道划分改进的ASPP模块,利用不同尺寸的空洞卷积赋予模型对多尺度复杂语义信息更好的提取能力,从而获得更平衡的性能表现。
3)通过RepConv模块,在不增加推理复杂度的情况下,能进一步提高模型的综合性能。
参考文献
Characteristics and typical applications of GF-1 satellite
[C]//
ℓ0-based sparse hyperspectral unmixing using spectral information and a multi-objectives formulation
[J].
Estimating 1-km-resolution PM2.5 concentrations across China using the space-time random forest approach
[J].
Military reconnaissance application of high-resolution optical satellite remote sensing
[C]//
Response of high frequency Photochemical Reflectance Index (PRI) measurements to environmental conditions in wheat
[J].
Calculation of radiative fluxes from the surface to top of atmosphere based on ISCCP and other global data sets:Refinements of the radiative transfer model and the input data
[J].
基于深度学习的多源卫星遥感影像云检测方法
[J].
Deep learning-based cloud detection method for multi-source satellite remote sensing images
[J].
遥感图像云检测方法研究进展
[J].
A review of cloud detection methods in remote sensing images
[J].
基于深度学习的光学遥感图像目标检测研究进展
[J].
Research progress of optical remote sensing image object detection based on deep learning
[J].
DABNet:Deformable contextual and boundary-weighted network for cloud detection in remote sen-sing images
[J].
Scene aggregation network for cloud detection on remote sensing imagery
[J].
基于DenseNet与注意力机制的遥感影像云检测算法
[J].
Cloud detection algorithm of remote sensing image based on DenseNet and attention mechanism
[J].
多尺度轻量化CNN在SAR图像地物分类中的应用
[J].
Application of multi-scale and lightweight CNN in SAR image-based surface feature classification
[J].
High-order spatial interactions enhanced lightweight model for optical remote sensing image-based small ship detection
[J].
MobileNets:Efficient convolutional neural networks for mobile vision applications
[J/OL].
MobileNetV2:Inverted residuals and linear bottlenecks
[C]//
Rethinkingatrous convolution for semantic image segmentation
[J/OL].
RepVGG:Making VGG-style ConvNets great again
[C]//
Cloud-net:An end-to-end cloud detection algorithm for Landsat8 imagery
[C]//
ICNet for real-time semantic segmentation on high-resolution images
[J/OL].
DFANet:Deep feature aggregation for real-time semantic segmentation
[C]//
Lednet:A lightweight encoder-decoder network for real-time semantic segmentation
[C]//
/
〈 |
|
〉 |
