基于轻量化卷积神经网络模型的云与云阴影检测方法

2023-12-14 13:02杨昌军张昊张秀再李景轩冯绚
科学技术与工程 2023年32期
关键词:阴影轻量化卷积

杨昌军, 张昊, 张秀再,4, 李景轩, 冯绚

(1.中国气象局中国遥感卫星辐射测量和定标重点开放实验室,国家卫星气象中心, 北京 100081; 2.许健民气象卫星创新中心, 北京 100081;3.南京信息工程大学电子与信息工程学院, 南京 210044; 4.南京信息工程大学江苏省大气环境与装备技术协同创新中心, 南京 210044;5.中国科学院空间应用工程与技术中心, 北京 10009)

云层污染限制了光学卫星从地球表面获取辐射信息,严重影响了遥感影像的解译及陆地、海洋和大气参数的定量反演,已经成为光学遥感影像应用的重要障碍[1]。研究表明,全球遥感影像的年平均云量约为66%,直接影响遥感影像的质量及可用性[2]。对云与云阴影的检测已经成为遥感影像分析的前提及基础步骤。

早期的云检测方法主要是基于物理规则的云检测方法,Shao等[3]提出结合阈值来确定云像元。Zhu等[4]针对Landsat 4-8和Sentinel-2遥感影像,开发一种Fmask云检测算法。Li等[5]提出一种多特征组合(multi-feature combined,MFC)的方法,专门对高分一号WFV(WFV为传感器型号)遥感影像中的云与云阴影进行检测。文献[5-6]提出利用中分辨率成像光谱仪(moderate-resolution imaging spectroradiometer,MODIS)卫星的波段1、6和26,其中波段1是可见光波段,波段6和波段26是中红外波段,进而实现云检测。Li等[7]通过将MODIS卫星的波段1、6和26进行融合,得到伪彩色遥感影像,然后将其进行HSV[hue(色度) ,saturation(饱和度) 、 value(亮度) ]转换,并结合阈值法来分析H通道的数据,得到最终的云检测结果。宋小宇等[8]通过运用一种基于空间结构分析和神经网络的云自动检测算法,最后与其他方法的云检测结果进行对照分析,说明利用MODIS图像可成功地检测云点像元,为云的去除奠定良好基础。单娜等[9]采用光谱阈值判别和纹理分析相结合的方法在确定图像中云层覆盖情况时能有更高分辨精度。阈值方法仅利用低层光谱信息,忽略了更高层空间信息,容易出现误检[10]。此外,很难利用光谱特征从一些高反照率的物体中(如雪、白色建筑物等)检测出云[11]。

近年来,深度卷积神经网络在一系列语义分割任务中取得显著的成果,由于其强大的非线性特征提取能力,在各个领域得到广泛应用。文献[12-13]通过测试周围的图像块来预测每个像素点的类别,这些云检测方法不仅效率低下且存在噪声。为进一步提高空间相干性,文献[14-15]首先将遥感影像的像素进行超像素分割,然后再进行云检测。然而,超像素聚类算法的精度限制了基于超像素云检测方法的性能表现。Zi等[16]使用全连接条件随机场(fully-connected conditional random field,FC-CRF)对云检测结果进一步优化。然而,这种后处理优化在处理大尺寸遥感影像时,非常耗时。

为了解决上述问题,提出一种基于深度可分离卷积的轻量化卷积神经网络模型(lightweight M-shaped network,L-MNet),L-MNet网络模型是在M-Net(M-shaped network)网络模型的基础上进行改进的,引入深度可分离卷积(depthwise separable convolution,DS-Conv)[17],设计一种深度可分离卷积模块(DS-Conv Block),以减小算法的复杂度及计算量。研究成果有助于实现微小卫星在轨云检测的任务,极大提高后续遥感影像数据传输及处理的速度。

1 原理与方法

轻量化的卷积神经网络通常涉及较少的参数量及计算量,且网络模型所要部署在的星载卫星的算力可以处理这些参数并进行运算。现阶段,实现轻量化的卷积神经网络主要有:一是人工设计轻量化的网络模型,二是直接压缩网络模型。主要采用人工设计轻量化的网络模型,来减小算法的复杂度及计算量。利用深度可分离卷积替代普通卷积,设计出一种深度可分离卷积模块,降低参数量,在保证精准检测的前提下,降低对硬件算力的要求,提高检测效率。

(1)通卷积。普通卷积(standard convolution)的运算过程如图1(a)所示,假设输入特征图的尺寸为H×W×C,其中,C为特征图的通道数,H为特征图的高,W为特征图的宽,卷积核的尺寸为K×K,输出特征图的通道数为M,则普通卷积所涉及的参数量λ1可表示为

λ1=KKCM

(1)

涉及的计算量λ2可表示为

λ2=HWKKCM

(2)

(3)

涉及的计算量λ4可表示为

(4)

由此可知,普通卷积的参数量及计算量均为分组卷积的x倍。

(3)深度卷积。深度卷积(depthwise convolution)的运算过程如图1(c)所示,假设输入特征图的尺寸为H×W×C,卷积核的尺寸为K×K,输出特征图的通道数为C,则深度卷积所涉及的参数量λ5可表示为

λ5=KKC

(5)

涉及的计算量λ6可表示为

λ6=HWKKC

(6)

由此可知,普通卷积的参数量及计算量均为深度卷积的M倍。

(4)逐点卷积。逐点卷积(pointwise convolution)的运算过程与普通卷积非常相似,其运算过程如图1(d)所示。与普通卷积相比,逐点卷积使用的是尺寸为1×1卷积核,主要用于改变输出特征图的通道数,逐点卷积所涉及的参数量λ7可表示为

λ7=CM

(7)

涉及的计算量λ8可表示为

λ8=HWCM

(8)

与普通卷积相比,深度可分离卷积由两部分组成:深度卷积与逐点卷积,深度卷积负责滤波,逐点卷积负责整合。图2展示了普通卷积与深度可分离卷积的对比,在深度可分离卷积中,通过深度卷积将输入图像的通道及空间相关性分离,对每个通道都进行卷积,然后通过逐点卷积使用1×1卷积来整合每个通道的特征。这种滤波及整合的协同技术被称为深度可分离卷积。利用深度可分离卷积可以有效降低参数的计算次数,进而减小网络模型的大小。

图2 普通卷积与深度可分离卷积的对比Fig.2 Comparison of standard convolution and depthwise separable convolution

普通卷积的计算量可由式(2)得出,深度卷积的计算量可由式(6)得出,逐点卷积的计算量可由式(8)得出。引入深度卷积,只能将滤波应用于每个输入通道,并不能将其整合。因此,需要使用1×1卷积来整合每个通道的特征,得到一个新的特征。深度可分离卷积的计算量由深度卷积的计算量与逐点卷积的计算量相加得到,则深度可分离卷积的计算量λ9可表示为

λ9=HWKKC+HWCM

(9)

由此可知,深度可分离卷积的计算量与普通卷积的计算量之间的关系γ可表示为

(10)

所用深度卷积的卷积核尺寸为3×3,通过式(10)可知,普通卷积计算量为深度可分离卷积计算量的九倍。

基于深度可分离卷积,构建一种深度可分离卷积模块(DS-Conv Block),其结构如图3所示,S为步长(stride)。在深度卷积及逐点卷积完成后进行批量归一化操作(BN),并使用Leaky ReLU激活函数激活[19]。

S为步长

大多数基于卷积神经网络的方法在微小卫星这种有效载荷及硬件系统算力有限的设备上很难正常工作,无法满足微小卫星在轨云检测的需求。因此,为了实现微小卫星在轨云检测的任务,亟需设计一种精度高、计算量小、算力要求低的轻量化云与云阴影检测网络模型。本研究使用高分一号WFV遥感影像数据集[20]进行训练、验证和测试,采用的Loss函数L(θ)可表示为

(11)

提出的L-MNet网络模型是在M-Net网络模型[21]的基础上进行改进的,轻量化改进主要体现在以下两个方面。

(1)使用深度可分离卷积代替普通卷积。M-Net网络模型主要包括:一条编码器路径、一条解码器路径、一条左边路径和一条右边路径,一共有16层卷积核尺寸为3×3的卷积,可以使其实现深度监督的功能。因此,M-Net网络模型的大小及计算量有较大的改进空间。使用深度可分离卷积可以减少参数的运算次数,从而降低硬件的算力要求。因此,利用深度可分离卷积替代普通卷积,实现轻量化。

(2)使用深度可分离卷积代替池化操作。将M-Net网络模型中编码器路径的最大池化操作更换为步长为2的深度可分离卷积模块。改进后的L-MNet网络模型相较于原始M-Net模型,参数量与浮点运算数都有大幅降低。

L-MNet网络模型是一种编-解码器架构的模型,编码器路径与解码器路径之间使用多条跳跃连接进行相连,在M-Net网络模型的基础上引入残差结构,其结构如图4所示。使用多个步长为1的深度可分离卷积模块进行特征提取,使用步长为2的深度可分离卷积模块进行下采样操作,使用双线性插值的方法实现上采样操作(Upsampling)。

图4 L-MNet网络模型结构图Fig.4 The structure of L-MNet

2 实验设置及评价

所提方法使用的编程语言为Python,深度学习框架为Keras框架[22],并利用Adam优化器进行优化,其中衰减率设置为β1=0.9和β2=0.999来防止过拟合问题的出现。初始学习率设置为α=0.000 1,批量大小设置为16。当Epoch为76次附近时,损失函数达趋于平稳,并选择M-Net方法作为对比方法。实验环境为Windows 10操作系统、Intel Core i7 9700K CPU、32 G内存和NVIDIA GeForce RTX 2080 Ti(11 GB)GPU。

为定量评价云与云阴影的检测性能,使用精确率(PPrecision)、准确率(AAccuracy)、召回率(RRecall)、F1值(F1)和均交并比(MMIoU)5种语义分割定量评价指标。5种语义分割定量评价指标分别表示为

(12)

(13)

(14)

(15)

(16)

式中:S为正确检测为云像元的范围;W为正确检测为非云像元的范围;R为将云像元误检为非云像元的范围;E为将非云像元误检为云像元的范围。

在计算云像元的各个评价指标时,将云阴影像元划为下垫面像元;在计算云阴影像元的各个评价指标时,将云像元划为下垫面像元。

选取的遥感影像来自高分一号WFV云与云阴影数据集。WFV是高分一号卫星中最关键的组件之一,包含4个空间分辨率为16 m,时间分辨率为4 d的集成相机,每个相机有4个多光谱波段,观测幅宽达800 km。该数据集包含108张遥感影像,基本涵盖了不同类型的下垫面。根据遥感影像制作相应的标签,标签由专家手动标记,将其转换为灰度图像,用灰度值0、128和255即黑色、灰色和白色代表下垫面像元、云阴影像元和云像元。为提高语义分割的效率,将数据集中的遥感影像及标签大小统一转为1 024×1 024,从中选取87张作为训练集与验证集,21张作为测试集。

2.1 云检测结果分析

2.1.1 定性分析

将所提出的方法与M-Net方法进行云检测结果的定性分析。图5为L-MNet方法与M-Net方法对高分一号WFV遥感影像进行云检测结果的视觉比较,红框内表示各模型实验结果有差异处。从图5中可以看出,L-MNet方法得到的云检测结果在视觉上与真实值最为接近。M-Net方法在大面积云块及海陆下垫面场景下出现了漏检,如图5(a)所示;如图5(b)所示,在海洋下垫面场景中,M-Net方法在一些云边缘细节检测上弱于L-MNet方法;如图5(c)所示,在碎云及贫瘠下垫面场景中,M-Net方法遗漏了大量的碎云及小面积云块;如图5(d)所示,在高反射地物场景中,M-Net方法出现了错分的问题,无法正确检测云层;如图5(e)所示,在薄云场景中,M-Net方法无法精确提取薄云的特征信息,对薄云检测效果较差。L-MNet方法在几个场景中的表现均优于M-Net方法,检测更为精细,获得了更好的云检效果。

2.1.2 定量分析

将所提出的方法与M-Net方法进行云检测结果的定量分析。使用PPrecision、AAccuracy、RRecall、F1和MMIoU和推断时间作为云检测定量分析的评价指标。由于在轨云检测平台算力有限,不能实现多个并行计算,而计算机的GPU算力较高且对并行计算进行了特殊优化,在GPU环境下的推断时间相差不大,因此所用推断时间为在CPU环境下完成推断的平均时间。表1为L-MNet方法与M-Net方法对高分一号WFV遥感影像进行云检测得出的定量评价指标的平均值。由表1可知,L-MNet方法各项云检测定量评价指标均优于M-Net方法,验证了L-MNet方法的有效性及合理性。其精确率、准确率、召回率、F1值、均交并比和推断时间分别为93.78%、95.85%、91.92%、0.9284、0.8243和3.24 s。L-MNet方法能够在保证精准检测云与云阴影的前提下,减小网络模型的规模及计算量,大幅缩短模型在CPU环境下的推断时间。

表1 不同方法的云检测定量比较结果

2.2 云阴影检测结果分析

2.2.1 定性分析

将所提出的方法与M-Net方法进行云阴影检测结果的定性分析。图6为L-MNet方法与M-Net方法对高分一号WFV遥感影像进行云阴影检测结果的视觉比较,红框内表示各模型对云阴影检测的差异处。从图6中可以看出,M-Net方法对云阴影检测效果较差,无法有效检测云阴影。L-MNet方法可以获得较为精细的云阴影边缘,捕捉云阴影轮廓,可以有效检测云阴影。

红色框体现出在云阴影检测过程中,所提出的L-MNet模型在云阴影检测中能够有效、完整的检测出云阴影,检测效果在完整度和边缘信息检测方面相比M-Net模型有明显区别

2.2.2 定量分析

将所提出的方法与M-Net方法进行云阴影检测结果的定量分析。表2为L-MNet方法与M-Net方法对高分一号WFV遥感影像进行云阴影检测得出的定量评价指标的平均值。由表2可知,L-MNet方法各项云阴影检测定量评价指标均优于M-Net方法,表明L-MNet方法对云阴影的检测也能取得较好的效果。其精确率、准确率、召回率、F1和均交并比分别为83.78%、95.43%、78.98%、0.813 1和0.701 5。

表2 不同方法的云阴影检测定量比较结果

3 结论

针对现有的基于卷积神经网络的模型算法复杂度高、计算量大,限制了微小卫星在轨云检测的应用,提出一种基于深度可分离卷积的轻量化卷积神经网络模型(L-MNet)。首先,对轻量化卷积神经网络中常用的几种卷积运算做了详细的讲解。然后,介绍了深度可分离卷积的原理及构成,比较了其与普通卷积的优势。使用深度可分离卷积极大减少了计算量及参数,防止出现过拟合的问题,可以有效提取多层的空间信息。基于深度可分离卷积,设计一种深度可分离卷积模块(DS-Conv Block)进行特征的提取。最后,对本研究提出的L-MNet网络模型进行详细的讲解,并进行实验验证。实验结果表明,L-MNet网络模型在保证高精度云与云阴影检测的前提下,实现了轻量化的设计,突破了微小卫星有效载荷及硬件系统算力较低的限制,为微小卫星在轨云检测提供了新的思路及理论支撑。

猜你喜欢
阴影轻量化卷积
汽车轻量化集成制造专题主编
基于3D-Winograd的快速卷积算法设计及FPGA实现
你来了,草就没有了阴影
从滤波器理解卷积
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
基于傅里叶域卷积表示的目标跟踪算法
让光“驱走”阴影
阴影魔怪