融合注意力机制的海洋涡旋特征检测与分类模型构建*

2022-11-07 08:27鲁大营
关键词:涡旋编码器残差

葛 瑶, 高 鹏, 鲁大营

(曲阜师范大学网络空间安全学院,273165,山东省曲阜市)

0 引 言

海洋涡旋特征是海水运动的常见现象,海洋涡旋特征且具有十分重要的研究价值,其中对于海洋涡旋特征的检测与分类已经成为海洋动力学[11]中最活跃的研究领域之一.

通过卫星测量的海洋表面高度(SSH)数据对揭示海洋涡旋特征的性质和分布具有重要贡献,可用于获取海洋涡旋特征的信息,并对其进行检测和分类. 过去几年里,基于卫星测量的海洋表面高度数据开发的检测涡流特征的方法得到广泛关注. 传统的海洋涡旋检测方法大致可分为3种,分别为利用物理参数来检测涡旋特征[2-6]、利用几何轮廓来检测涡旋特征[7-9]以及共同使用物理参数和几何轮廓的方法[10-12]来检测涡旋特征. 基于特定的物理特性来研究涡旋结构,大多依赖于Okubo-Weiss参数[12,13],但Okubo-Weiss参数对噪声敏感,并且依赖于人类专家设定的阈值[3],这些问题可以通过使用基于流场几何特征的方法来避免. 该方法检测海洋流动图像中的局部最小值/最大值以及它们周围的轮廓来识别涡流,例如Mason E等人[4,5]提出的py-eddy-tracker算法利用几何轮廓来识别涡旋特征并对涡旋特征进行分类. 此类方法如果没有清晰可见的流场几何特征,则无法识别出海洋涡旋特征,物理参数与几何轮廓的混合方法在一定程度上综合了两者的优点,但仍存在一定缺陷.

近几年,深度学习成为人工智能领域最新的发展趋势之一[6-7],广泛应用于计算机视觉领域[8]. 利用基于深度学习的语义分割模型来检测和分类海洋涡旋特征已成为最新的发展趋势. Lguensat等人[9]首次提出利用经典的语义分割框架的编码器-解码器网络U-Net来检测涡旋,该方法称为EddyNet,利用py-eddy-tracker算法[4,5]标记的SSH训练数据集中检测气旋和反气旋涡旋,但是使用的网络结构比较简单,对于测试集SSH数据分割的准确性达到88.60%,有待进一步提高. 随后,Franz等人[20]也使用编码器-解码器网络U-Net[21]来探测和跟踪海洋涡旋,但无法对涡旋特征进行分类. 在EddyNet方法的基础上,Lguensat等人[22]又提出结合残差神经网络(ResNet)[23]与U-Net[21]结合的新方法——EddyResNet;同时,受到V-Net[24]的启发,提出分割海洋涡旋特征的三维模型——EddyVNet,分割与检测海洋涡旋的模型的性能在一定程度上得到提升,但仍需进一步优化. Fan等人[25]提出多元融合数据的海洋涡旋检测方法,不仅使用SSH数据,还添加了海洋表面温度(SST)数据,实现了多元信息融合输入,并提出一种新颖的对称网络,将扩张卷积层引入到模型中,能获得更多尺度的上下文信息 . Xu等人[26]为解决多尺度海洋涡旋的分割问题,将复杂的金字塔场景解析网络(PSPNet)[27]作为海洋涡旋特征数量的检测方法,能识别出复杂场景中更多的元素. Sun X等人[28]提出一个新的数据集SCSE-Eddy,作为新的卷积神经网络模型检测多涡的输入,并结合语义分割模型DeepLab v3+[29]来检测海洋涡旋特征数量,能够提取较为准确的涡旋边界信息.

海洋涡旋特征检测与分类可被视为分割或像素级分类问题,本文提出了一种将语义分割的深度神经网络应用于海洋涡旋特征检测与分类任务的新模型——EddyRCunet,将U-Net结构作为基础分割框架. 为处理海洋遥感图像中的复杂场景,采用ResNet中的残差块组成U-Net架构,能够有效的解决梯度消失、网络性能下降的问题,在改进的U-Net架构的编码器部分引入卷积块注意力机制模块(CBAM,Convolutional Block Attention Module)[30],对SSH图像中的涡旋特征区域进行重点研究,弱化背景部分. EddyRCunet模型对提高涡旋检测与分类方面具有重要作用.

1 相关技术

1.1 U-Net

图像语义分割模型中最常用的网络架构为U-Net[21],最先应用于医学图像领域的分割,后扩展到遥感图像领域. U-Net架构是一个对称的端对端的全卷积神经网络[31],该网络由编码器部分、解码器部分以及链接两个部分的跳跃连接[32]组成,这使得U-Net具有优异的性能,模型整体结构见文献[21].编码器部分执行卷积操作,后跟相同步长的池化操作,进行下采样操作,抓取图像简单特征,解决像素定位问题;解码器通过转置卷积、双线性插值等方法进行上采样,获得复杂的高级特征,解决像素分类问题;跳跃连接对上采样得到的低级细节特征与下采样得到的高级语义特征进行融合,促进信息传播.

图1 残差块结构

1.2 残差块

近年来,随着深度学习方法在计算机视觉领域的发展,卷积神经网络(CNN)[32]正被广泛用于图像的检测、分割、分类等方向. 残差神经网络ResNet[23]将恒等映射作为跳跃连接结构,在很大程度上消除了深度架构中存在的梯度消失和爆炸问题,同时也不会引入多余的参数,降低计算的复杂度. ResNet由多个残差块堆叠构成,本文采用的基础残差块结构如图1所示.

每个残差块由残差路径和恒等映射路径构成,其中残差路径由卷积层、批量归一化和Relu激活函数构成,最后将两个路径的输出在残差块的末尾求和,得到残差块的最终输出. 公式为

yl=h(xl)+F(xl,Wl),

xl+1=f(yl),

其中xl,xl+1代表第l个残差块的输入与输出,f代表Relu激活函数,F是残差函数,h(xl)的选择会影响网络性能,在ResNet中采用h(xl)=xl进行恒等映射,则上述公式可以简化为

xl+1=xl+F(xl,Wl).

2 EddyRCunet模型

为更好地对SSH图像中的涡旋特征进行检测,本文基于U-Net融合残差块与CBAM注意力机制模块,提出一种新的神经网络模型——EddyRCunet(图2),该模型专注关键特征信息,从而提高检测与分类的准确度.

2.1 CBAM注意力模块

如今,注意力模型已经成为神经网络的一个重要领域,他关注关键位置信息,可以减少能耗和提高模型的性能. 其中CBAM结合了特征通道和特征空间两个维度,由两个注意力模块构成,分别为空间注意力模块(Channel Attention Module,CAM)和通道注意力模块(Spatial Attention Module,SAM). 采用CBAM能够关注网络中的重要特征,抑制网络中的不重要特征,从而提高网络性能. 在模型中将编码器部分每次卷积操作完成后每层添加CBAM.

图2 EddyRCunet模型

CBAM注意力模块由通道注意力模块与空间注意力模块顺序执行,如图3所示. 首先,进行通道注意力模块,经过最大池化操作与平均池化操作,聚合空间信息并到达共享网络,对输入特征图空间维度进行压缩,之后进行元素求和合并,生成通道注意力图;其次,将得到的通道注意力图与输入特征图加权得到空间注意力模块的输入特征图,将特征图通道维度进行压缩,既考虑最大池化操作,又考虑平均池化操作,将提取到的特征图拼接为一个特征描述符,经过一个卷积层和Sigmoid函数,得到空间注意力图,凸显重点区域;最后,将得到的空间注意力图与输入的特征图按位相乘,得到最终输出.

图3 CBAM结构图

2.1.1 通道注意力机制模块

CAM是CBAM的一个子模块,对输入的特征进行最大池化和平均池化操作,池化后的特征转发到一个共享网络中,该共享网络由一个多层感知器(MLP)组成,将输出的特征相加,利用Sigmoid进行激活,得到最终通道注意力特征图. CAM的具体计算公式为

Mc(F)=σ(MLP(AvePool(F))+MLP(MaxPool(F)))=

输入特征为F∈H×W×C,其中H、W、C分别代表特征图的高、宽、通道数;AvePool,MaxPool分别代表平均池化操作和最大池化操作,表示通道注意力模块中的平均池化特征和最大池化特征;MLP为多层感知器,共享网络的权重为W0,W1,其中为压缩率,使用Relu激活函数;σ代表Sigmoid激活函数.

将通道注意力特征图与原始特征进行相乘操作,得到空间注意力模块的输入,计算公式为

F′=Mc(F)⊗F.

2.1.2 空间注意力机制模块

SAM关注研究目标在图像中的位置. 对输入的特征F′应用平均池化和最大池化操作,将它们拼接在一起,之后通过卷积操作和Sigmoid激活函数得到最终的空间注意力特征图. SAM的具体计算公式为

最后,将空间注意力特征图与输入特征相乘得到最终生成的新特征,计算公式为

F″=Ms(F′)⊗F′.

图4 模型中残差块构成

2.2 EddyRCunet模型结构

本文以U-Net架构为基础,分为提取底层细节信息的编码器与高层语义信息的解码器两部分,实现对SSH图像中涡旋特征的分割与检测,获得良好的性能. 图2展示了本文的模型结构. 对原始的U-net网络进行修改,在整个EddyRCunet模型中编码器-解码器部分的卷积块部分均由残差块组成. 图4显示了本文采用的残差块结构,每个残差块由2个3×3卷积层、批量归一化层(BN层)、Relu激活函数和恒等映射构成,其中卷积层在进行卷积操作后得到特征图采用padding策略,在特征图的周围填充像素值为0的像素,保持特征图尺寸大小不变;BN层位于每个卷积层的后面,可以加快训练过程,减少过拟合的出现;采用的激活函数为Relu,可减少过多的计算量,提高效率. 计算公式为

f(x)=max(0,x),

其中f(x)代表激活函数的输出,x为卷积层经过批量归一化后的输出.

在编码器部分,将代替卷积层的每个残差块后添加CBAM,如EddyRCunet模型图所示,对特征区域进行重点提取,弱化不重要特征. 在CBAM顺序执行通道注意力模块和空间注意力模块,将通道注意力模块中的参数r设为8,空间注意力模块中的卷积操作的卷积核大小设置为7×7. 为降低过拟合,在CBAM后面使用Dropout层,然后进行2×2最大池化操作. 在编码器部分总共进行了4次下采样.

在解码器部分,对高层语义信息进行提取,进行上采样,并恢复原始图像的信息. 解码器部分进行上采样的步长均为2×2,每经历一次上采样操作,特征图的大小变为原来的2倍,共进行4次上采样恢复成原始图像的大小. 在编码器部分进行下采样时,会丢失部分特征信息,为解决此问题,在编码器与解码器之间使用跳跃连接,对上采样与下采样分别得到的特征图进行融合,更好地恢复图像信息. 在特征图融合完成后,继续利用残差块依次进行操作,并用Dropout来减少过拟合,之后再次进行步长为2×2的上采样. 在完成上述所有操作后经过一个1×1的卷积层和Softmax激活后,得到高分辨率的SSH图像中涡旋特征的分割与分类结果,完成对涡旋特征的检测.

2.3 损失函数

在深度学习中常采用的损失函数为交叉熵损失函数,但针对本文中海洋涡旋与非涡旋的分类不平衡的问题,更倾向于采用Dice Loss损失函数. 其中Dice系数是衡量预测区域与真实区域之间相似性的度量函数,取值范围为[0,1],当Dice系数为1时获得最优化分割效果,反之,获得最差分割效果. Dice系数计算公式为

其中Ppred代表预测区域,Gtrue代表真实区域.|Ppred|,|Gtrue|分别代表预测区域与真实区域中所含的元素和. 在本实验中计算损失函数时,直接使用每个分类结果的最终预测概率,对每个类别分别计算Dice损失,Dice系数计算为

其中N代表像素点的总数,ppred表示预测概率,gtrue表示真实概率,0 或 1 取决于地面真实区域中每个像素的标签. 为防止被零除,在上式中引入拉普拉斯平滑,用ε表示,取值通常设置为1,可减少训练过程中的不稳定性和过拟合现象.

Dice损失函数的计算公式为

为减少样本不均匀而造成估计误差,本文为气旋、反气旋、非涡旋3个像素级类别都赋予一个与其出现频率成反比的样本权重. 通过最大化每个类别的Dice系数和对应的样本权重的乘积来最小化损失函数,同时最大化网络的性能. 最终Dice Loss损失函数为DiceLoss=1-WeightSoftMeanDiceLoss,其中WeightSoftMeanDiceLoss为气旋、反气旋和非涡旋特征3个像素级类别与对应的样本权重的乘积之和.

3 实验对比分析

3.1 数据集

本文研究的SSH数据由哥白尼海洋环境监管服务(Copernicus Marine Environment Monitoring Service,CMEMS)提供. 实验采用的基于SSH的数据集,由Lguensat等人[19]利用py-eddy-tracker算法[14,15]生成,选取部分南大西洋区域作为研究区域,得到SSH图像以及真实海洋涡旋特征分布如图5所示.

图5 原始SSH图像与真值图

图5(a)代表南大西洋区域的SHH图像,图5(b)代表真实涡选特征的像素级分割图像,每个像素都标记旋涡特征的类别,{“0”:非旋涡,”1”:反气旋型旋涡特征,”2”:气旋型旋涡特征}.

训练数据集包含4018张SSH图像,SSH图像的尺寸为240×280像素,水平分辨率为0.25°. 4018张图像代表2000年到2010年11年间每一天得到的SSH图像,选取其中的80%(3214张)用于训练,剩余20%(804张)用于验证. 测试集的SSH图像为365张,对应于2011年的每一天. 本文主要研究的是海洋涡旋特征,忽略陆地与不含海洋涡旋的区域,因此对原始SSH图像进行裁剪,获取160×192像素的SSH图像构成模型训练所需要的数据集. 原始SHH图像和海洋涡旋真实分割结果与裁剪后的SSH图像和海洋涡旋真实分割结果的对比如图6所示.

图6 裁剪后SSH图像与涡旋分布

从图6所示的图像可以看出,涡旋特征在海洋中只占小部分区域,存在强烈的类别分配不平衡. 原始图像与裁剪后的图像中气旋型涡旋特征、反气旋型涡旋特征以及非涡旋特征3种类别的像素占比如表1所示.

表1 不同类别的像素占比

3.2 实验环境及参数设置

本文实验所用的操作系统为Ubuntu 16.04.6,采用Python3.8.0和TensorFlow实现EddyRCunet模型,深度学习库为Python编写的keras. 实验使用的显卡为NVIDIA Tesla V10-PCIe 32GB. 模型训练阶段采用的重要参数设置如下:学习率采用Adam算法,大小为1×10-3;采用He权重初始化来提升模型性能,加快收敛速度;Dropout设置为0.2;训练次数为100次;样本批次大小为16. 当迭代20次后,验证集的损失函数不能得到有效改善时,此时的学习率已经不再适应模型,将学习率调整为原来的一半,进而继续训练模型,提升模型的性能. 若连续迭代50次模型在验证集上的性能不再提升的时候,设定实验效果达到最佳值,停止训练,避免出现过拟合.

3.3 评估标准

海洋卫星遥感图像中,涡旋特征与非涡旋特征的检测与分类存在不平衡现象,因此选取Dice系数作为度量标准来训练和比较不同模型的性能. Dice系数相当于F1分数,F1分数为精确度与召回率两者的调和平均,是图像语义分割中常用的评价指标.F1分数计算公式为

除了采用Dice系数作为评估标准外,还采用检测涡旋特征的准确性作为另一个评估标准. 计算公式为

其中TP表示模型输出的涡旋特征区域,实际上也是涡旋特征区域;TN表示模型输出的非涡旋特征区域,实际上也是非涡旋特征区域;FP表示模型输出的涡旋特征区域,但实际上是非涡旋特征区域;FN表示模型输出的非涡旋特征区域,但实际上是涡旋特征区域.

3.4 实验结果与对比

3.4.1 不同方法的对比

为了验证本文提出的EddyRCunet模型的有效性,在测试集上采用不同模型对Dice系数和全局检测与分类的准确性进行实验对比分析. EddyRCunet模型与不同方法的实验结果对比如表2所示.

表2 不同方法对性能的影响

由表2可以看出 ,文献[26]提出的MCML模型鲁棒性差,不适合本文数据集的训练与测试,尤其是对气旋涡旋的分割,性能需进一步提升. 文献[21]提出的U-Net架构的卷积层后跟批量归一化层来加快模型训练速度,在各类别涡旋检测和分类准确性都有提升. 文献[19]中提出的EddyNet模型在气旋特征、反气旋特征的分割上能获得更好效果,但检测与分类的全局准确性提升不大. 而使用本文训练的EddyRCunet模型得到的气旋与反气旋的Dice系数更高,并且产生一个更好的总体平均Dice系数,对比其它3种模型,分别提升了7.30%,4.02%,2.29%,使分割的效果更好,涡旋检测与分类的总体准确性也有较大提升. 因此,使用本文提出的模型可以使涡旋检特征的检测更加准确,提供更好的分类性能.

3.4.2 消融实验

总体实验过程分为训练与测试,利用4018张SSH图像进行模型训练,之后在365张SSH图像上进行模型测试,得到最终的检测与分类结果. EddyRunet模型是采用残差网络架构中的残差块来提升原始U-Net模型的性能,增加了网络深度,但避免了训练速度的下降和准确性的降低. 本文提出的EddyRCunet模型在EddyRunet模型的基础上,同时在编码器部分添加CBAM提高模型的性能. 表3为添加CBAM对于涡旋检测与分类性能的影响.

表3 CBAM注意力机制模块对性能的影响

在编码器部分添加CBAM后,气旋特征、反气旋特征和非气旋特征的Dice系数都有所提升,3类别的平均Dice系数提升了1.67%,添加CBAM有利于检测与分类性能的提高.

在CBAM中存在超参数r,超参数大小的设置对性能产生影响. 本文采取超参数4、8、16在测试集上进行测试. 表4显示了CBAM注意力机制模块中不同超参数r对于性能的不同影响.

表4 CBAM注意力机制模块中参数r对性能的影响

对CBAM中超参数的设置会影响模型的检测与分类性能,当超参数r设置为8时,不同类别的涡旋特征的Dice系数均为最高. 但实验表明,在CBAM注意力机制模块中设置不同超参数r时,非涡旋特征的Dice系数的提升不大,但在气旋与非气旋的Dice系数上都有明显提升. 在超参数r设置为8时,涡旋特征的检测与分类的效果最好.

CBAM由通道注意力模块(CAM)和空间注意力模块(SAM)构成,在编码器部分分别添加CAM、SAM以及CBAM对性能的影响是不同的,对比结果如表5.

表5 不同注意力机制模块对性能的影响

在编码器部分添加不同注意力机制模块对于实验的性能有所影响,在气旋特征类别的Dice系数对比上,添加CBAM比分别添加CAM,SAM提升了1.71%和1.62%;在反气旋特征类别的 Dice系数上分别提升了1.23%和0.82%;在3类别的平均Dice系数上分别提升了1.11%和0.89%,添加CBAM注意力机制模块可以有效的提升性能. 因此,在编码器部分添加CBAM是正确的选择. 测试集上SSH图像涡旋检测的可视化结果如图7所示. 本文提出的添加CBAM的EddyRCunet模型得到的涡旋特征分割结果在大小、形状、数量上与真实分割最接近.

图7 测试集上SSH图像可视化结果的对比

4 总 结

为更有效地对SSH图像中涡旋特征进行检测与分类,本文基于U-Net架构的基础上,将构成残差网络的基本残差块引入到U-Net架构的编码器与解码器部分,同时在编码器部分添加卷积块注意力机制模块,不仅实现了SSH图像端对端的涡旋特征分类,而且提高了模型的性能. 为验证本文提出的EddyRCunet模型的有效性,在SSH图像数据集上,与深度学习的其他模型进行对比,SSH图像中涡旋特征检测结果准确性有一定提升,但仍存在涡旋检测丢失的问题,下一步将继续优化模型,不断提高涡旋检测与分类的准确性.

猜你喜欢
涡旋编码器残差
融合CNN和Transformer编码器的变声语音鉴别与还原
基于PM算法的涡旋电磁波引信超分辨测向方法
基于双向GRU与残差拟合的车辆跟驰建模
涡旋压缩机非对称变壁厚涡旋齿的设计与受力特性分析
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
光涡旋方程解的存在性研究
基于双增量码道的绝对式编码器设计
综合电离层残差和超宽巷探测和修复北斗周跳
基于数字信号处理的脉冲编码器