基于改进U-Net 网络的海洋中尺度涡自动检测模型
2022-02-18董子意杜震洪吴森森李亚东张丰刘仁义
董子意 ,杜震洪 *,吴森森,李亚东,张丰,刘仁义
(1.浙江大学 地球科学学院,浙江 杭州 310027;2.浙江省资源与环境信息系统重点实验室,浙江 杭州 310028;3.浙江大学 地理与空间信息研究所,浙江 杭州 310027)
1 引言
海洋中尺度涡是一种重要的海洋现象,在海洋中呈现非规则螺旋状结构,空间尺度可达10~100 km,垂直方向影响深度高达1 km[1]。海洋中尺度涡携带着巨大的能量,能够显著改变营养物质和温跃层的垂直分布,对浮游生物的分布、能量和盐分的输送具有非常重要的影响[2-3]。海洋中尺度涡的自动检测是监测、分析中尺度涡时空变化特征的重要方法[4]。
近年来,在海洋中尺度涡检测方面,国内外部分学者已开展了一些研究。传统检测方法主要包括基于物理特征的方法、基于流场几何特征的方法以及上述两种方法的结合。基于物理特征的方法,如Okubo-Weiss(OW)算法,在人工设计中尺度涡的涡度、振幅、速度等物理特征的过程中,由于引入大量的人为主观因素,导致中尺度涡检测精度较低[5];基于流场几何特征的方法,如Winding-Angle(WA)算法,选择闭合的流线并将它们聚类而达到探测涡旋的目的,但该方法计算过程复杂、计算量大,并且缺乏泛化能力[6]。因此,传统算法存在的不足限制了中尺度涡检测研究的进展。事实上,中尺度涡自动精准检测的关键在于提取其高层本质特征,然而,中尺度涡的复杂特性加剧了其特征提取的难度。近年来,深度学习在人工智能和机器学习领域中不断崛起,在各学科研究领域均有所应用,在图像处理领域中尤为显著[7]。深度学习促使了“特征提取”向“特征学习”的转变。国内外少数专家学者尝试利用深度学习提取海洋中尺度涡。例如,Lguensat 等[8]将U-Net 网络结构应用于海洋中尺度涡的特征提取,初步研究了基于深度学习的图像分割在海洋遥感问题上的解决方案。Franz 等[9]基于合成孔径雷达(Synthetic Aperture Radar,SAR)图像检测和跟踪海洋涡旋,他们采用了编码-解码器和传统算法相结合的方法,将多尺度特征融合技术应用到了海洋涡旋检测中。Xu 等[10]以小尺度海洋涡旋的检测为研究重点,采用了PSPNet 算法实现不同层多尺度特征的融合,但是,由于网络主干网中跨步操作的池化和卷积,丢失了详细的涡旋边界信息。芦旭熠等[11]将深度学习中的YOLOv3 目标检测网络与海洋物理中提取中尺度涡特征的方法相结合检测了中尺度涡,提高了检测速度。
U-Net 网络凭借其简单、高效的优势在遥感影像分类提取方面应用较多,但在海洋中尺度涡提取时仍存在一些缺陷,即在较深层特征提取能力不强,网络提取精度不高[4]。因此,本文改进了U-Net 网络使其成为更适合于提取海洋中尺度涡的网络模型,在UNet 网络特征提取阶段嵌入了卷积注意力模块,使得模型关注于最具有类别区分度的区域;同时,模型引入了残差学习模块以解决网络过深导致模型难以训练的问题。改进后的U-Net 网络模型通过特征学习的方式实现了海洋中尺度涡高层本质特征的逐级抽象提取与表达,整合语义信息和多尺度特征,精确化的提取图像特征,提高了海洋中尺度涡的检测精度,为海洋遥感影像自动识别研究提供了新方法。
2 研究方法
2.1 适用于海洋中尺度涡检测的U-Net 网络
海洋卫星反演的海表面高度图像具有较高的空间分辨率,非常适合用于检测海洋中尺度涡。本文结合深度学习的相关知识,改进了U-Net 网络,使其成为更适合于提取海洋中尺度涡的网络模型。利用深度特征融合方法提取特征时,许多冗余特征的存在会导致网络出现过拟合的现象,增加网络的计算量,甚至还会影响网络的预测结果,针对上述问题,本文在网络模型中引入了卷积注意力模块[12]这种深度特征选择方法以便提升目标检测网络的检测性能。另外,为了解决网络过深产生退化问题,防止网络梯度消失,本文在网络中引入了残差学习模块[13]。改进的UNet 网络结构如图1 所示。
图1 改进的U-Net 模型结构示意图Fig.1 Improved U-Net model structure diagram
与U-Net 网络类似,本文设计的网络模型是1 个U 型对称网络,左半部分编码器对应的是图像下采样过程,用于提取图像特征信息、降低空间维度;右半部分解码器对应的是图像上采样过程,用于逐步恢复图像的细节信息和空间维度。并且,相应编码器和解码器之间存在的跳跃连接可以使解码器更好地恢复目标的细节信息,还原图像精度。另外,残差模块的主要作用是解决因为网络过深而导致学习停滞的问题。
网络中编码器由4 组相同的编码块组成,每组编码块都包括2组3×3卷积和ReLU激活函数、1 个3×3的卷积并与前一个卷积层计算残差,然后利用步长为2 最大池化操作进行下采样。其中,卷积层用来提取图像特征,下采样层用来过滤一些不重要的高频信息,减少通道数,增大感受野。重复的卷积和池化操作可以充分提取图像的高层特征,每经过一个编码块,特征图尺寸缩小一半而通道数加倍。
网络中解码器由4 组相同的解码块组成,每组解码块包含1 个 2×2的转置卷积运算,用于上采样时将特征通道的数量减半,然后与编码器对应的特征图连接,之后进行2 组 3×3卷积和ReLU 激活函数、1 次3×3卷积并与前一个卷积层计算残差。另外,本文在编码器和解码器之间增加了卷积注意力模块。每组解码块都将特征图的尺寸扩大1 倍而通道数减半;同时,每组解码块的输入将与对应层编码块的输出进行拼接作为下一个转置卷积层的输入,用浅层网络保存较好的细节位置信息来辅助分割,以降低下采样时因降低分辨率带来的空间信息损失。最后,利用 1×1卷积核对特征图进行卷积,还原图像的尺寸[14]。
2.2 卷积注意力模块
注意力机制可以帮助网络选择海表面高度图中重要的特征,抑制不重要的特征。本文在改进后的U-Net 网络模型的特征提取阶段嵌入了卷积注意力模块这种深度特征选择方法,使得模型关注于最具有类别区分度的区域,提升了网络对于海洋中尺度涡的目标检测性能。卷积注意力模块(Convolutional Block Attention Module,CBAM)[12]是一个轻量通用的注意力模块,可以简单有效地集成到大部分的卷积神经网络模型中,在提高网络特征提取能力的同时也不会显著增加网络的参数量和计算复杂度。CBAM 由通道注意力模块和空间注意力模块这两个子模块共同构成。
CBAM 中的通道注意力模块用于探索特征的通道间关系,其中每个通道上的特征图都可看作一个特征探测器[15]。通道注意力关注的是输入特征图中有意义的内容信息,其操作过程如图2 所示。首先对输入特征图F分别使用最大池化和平均池化生成两个不同空间内容的特征图和。其中,最大池化操作用于聚合不同目标独有的特征;平均池化操作用于聚合空间信息,反馈全局信息,两者互为补充。同时,并行连接的方式,可以减少信息丢失。另外,共享多层感知机模型可以减少参数量,降低网络模型的计算负担[16]。
图2 通道注意力模块的操作过程Fig.2 Process of channel attention module
CBAM 中的空间注意力模块用于探索特征在空间上的关系。不同于通道注意力模块关注输入特征图的关键内容信息,空间注意力模块主要关注目标的位置信息,两者互为补充,使得网络能够自适应地选择输入特征图中表征目标内容信息及其位置信息的特征[16]。空间注意力模块的操作过程如图3 所示。首先在特征图FC∈RC×H×W的通道维度上分别使用最大池化和平均池化操作聚合通道维度的信息,生成两个特征图;然后将这两个特征图拼接起来,以便突出目标区域;最后,利用卷积操作将拼接后的特征图转变为空间注意力图AS∈R1×H×W,进而突出或抑制相关区域。
综上所述,CBAM 的操作过程如图4 所示。输入特征图F∈RC×H×W,通道数为C,每个通道特征图的宽度和高度分别为W和H。CBAM 首先将输入特征图F通过通道注意力模块计算得到一维的通道注意力图AC∈RC×1×1,再将F与AC经过像素级相乘后 得到 通道 向特征图FC∈R1×H×W,计算过程如式(1)所示;然后FC通过空间注意力模块计算得到空间注意力图AS∈RC×1×1。最后FC与AS经过像素级相乘后输出最终的输出特征图FR∈RC×H×W,计算过程如式(2)所示:
式中,⊗代表像素级相乘的操作;FC代表通道向的特征图;AC代 表通道注意力模块;F代表输入特征图;FR代表输出特征图;AS代表空间注意力模块。
2.3 残差学习模块
深度学习领域中,增加卷积神经网络的深度往往可以提高网络的特征提取能力。但是,逐渐加深的网络会越来越难以训练,甚至导致网络性能出现退化的现象。改进后的U-Net 网络模型也存在网络过深导致模型难以训练的问题。为了解决这一问题,He 等[13]创新性地提出了残差学习的思想,在ResNet 中引入残差学习模块后,深层网络能够提取到复杂特征的同时也防止了梯度消失,提升了整体性能[17]。因此,本文在改进后的U-Net 网络中也引入了残差学习模块,解决了网络过深产生退化的问题,防止网络梯度消失。
残差学习模块由残差路径和恒等连接路径共同组成,是构成ResNet 的基本单元之一,如图5 所示。其中,残差路径包括两组卷积层和ReLU 激活函数。残差学习模块的输出结果由残差路径和恒等连接路径的输出结果相加后共同得到。当残差F(x)为0 时,残差学习模块的输出为x,此时可以保证模型不会退化;事实上,残差F(x)在大多数情况下不会为0,也就是说,在不损失原有特性的前提下,残差学习模块也能学习到新的特征。残差学习模块中的跳跃连接结构不仅没有增加参数量和计算复杂度,还使得深层梯度在反向传播时可以直接通过跳跃连接结构传递到浅层,防止网络梯度消失,优化网络的训练过程[18]。
图5 残差学习模块Fig.5 Residual learning block
3 实验与分析
3.1 研究区域与数据
本文采用了一个公开的中尺度涡检测数据集EddyNet-Data[8](https://github.com/redouanelg/EddyNet/tree/master/Data)。它是南大西洋的一个子区域,范围为10°~58°N,0°~64°W,如图6 所示。
图6 数据集采样海域Fig.6 Sampled sea area of dataset
EddyNet-Data 数据集包含了以天为单位共计4 383 张海表面高度图像,覆盖了从2000 年1 月1 日至2011 年12 月31 日共12 年的数据,空间分辨率为0.25°。该数据集采用经典的PET(py-eddy-tracker)方法[19]生成了训练所需的中尺度涡图像数据。数据集将前11 年的数据(即4 018 张海表面高度图像)作为训练集,将2011 年的365 张海表面高度图像作为验证集[20]。
3.2 实验环境
本文按照目前主流的深度学习环境配置搭建了实验环境,基础系统平台配置如表1 所示。另外,本文的重要软件配置如表2 所示。
表1 基础系统平台配置Table 1 Basic system platform configuration
表2 重要软件配置Table 2 Important software configuration
3.3 参数设置
通过随机搜索策略,综合考虑模型计算效率、结果精度以及硬件3 个方面,本实验将训练网络的权重初始化策略设置为随机初始化,选择交叉熵函数作为损失函数,采用Adam 优化器对损失函数进行优化,初始的学习率设置为10-3。神经网络训练时的批量大小设置为16,迭代次数设置为500。其中,卷积注意力模块中的通道注意力模块的通道数为32,卷积核大小为3×3;空间注意力模块中的卷积核大小为7×7。经过迭代训练,网络最终收敛。
3.4 评价标准
本文的海洋中尺度涡图像分割本质上是对于像素点的多分类任务,即判断图中的像素点是气旋涡、反气旋涡或非中尺度涡,实验的结果要与PET 分割标准进行逐像素点对比。本文主要采用4 种通用的评价指标对模型的中尺度涡检测性能进行评估,包括准确率、查准率、查全率和F1-Score。
3.5 结果分析
为了验证模型的有效性,我们在EddyNet-Data 数据集上多次测试了本文模型、PET 方法[19]、EddyNet方法[8]以及SegNet 方法[21]的中尺度涡检测能力,通过准确率、查准率、查全率、F1-Score 等评价指标对各模型提取海洋中尺度涡的性能进行对比分析。从表3可知,本文算法在准确率、查准率、查全率和F1-Score上均比EddyNet 和SegNet 算法取得了更好的结果。另外,在与经典U-Net+残差模块、经典U-Net+CBAM注意力模块分别对比可知,本文所加的这两个模块均不同程度地提高了模型的识别性能。经过迭代训练,本文模型在训练集上取得了94.76%的分类精度,在验证集中取得了93.28%的分类精度。改进的UNet 模型由于引入了CBAM 注意力机制和残差学习模块,促使网络能够提取更加复杂的高层本质特征,同时也避免了模型的退化,防止梯度消失,提高了检测精度。
表3 6 种算法在EddyNet-Data 数据集上的分割性能对比Table 3 Comparison of segmentation performance of six algorithms on EddyNet-Data dataset
观察图7a 和图7b 两组实验结果中红色方框框出的区域,本文的方法提取出了比PET 方法更多的涡旋,通过与该区域的海表面高度等值线图对比,发现本文方法多提取的结果可能也是潜在的涡旋。观察图7a 和图7b 两组实验结果中蓝色方框框出的区域,与该区域的海表面高度等值线图相比,本文的方法得到了与海表面高度等值线图较为一致的涡旋提取结果,而EddyNet 方法检测到了许多虚假的涡旋,这是由于EddyNet 方法网络结构过于简单造成的。本文方法可以识别出PET 方法未能识别出的潜在的中尺度涡,尽可能过滤掉可能识别出的错误涡旋,正是因为本文的方法可以更加谨慎地利用更多的上下文信息来捕获涡旋细节。因此,本文方法有不错的中尺度涡检测效果,在检测中尺度涡时更有潜力。
图7 不同方法在EddyNet-Data 数据集上的分割结果Fig.7 Segmentation results on EddyNet-Data dataset of different methods
3.6 南大西洋中尺度涡时空分布特征分析
本文以海表高度数据为基础,利用改进后的UNet 模型对2011 年全年所有周南大西洋海域中尺度涡信息进行了提取,得到南大西洋海域中尺度涡的空间分布(图8)。同时对南大西洋海域全年所有周中尺度涡总个数(图9a)、气旋涡个数和反气旋涡个数(图9b)、中尺度涡总面积(图9c)、气旋涡总面积和反气旋涡总面积(图9d)的变化进行统计,并分析其时间变化规律,其中,涡旋面积用涡旋内部包含的像元个数表示[22]。
图8 2011 年南大西洋海域中尺度涡空间分布Fig.8 Distribution of mesoscale eddies in the South Atlantic Ocean in 2011
图9 2011 年南大西洋海域中尺度涡个数、面积的周变化Fig.9 Weekly variation of mesoscale eddies number and area in the South Atlantic Ocean in 2011
中尺度涡空间分布(图8)表明,南大西洋海域四季都有中尺度涡分布且分布广泛。其中面积较大的中尺度涡主要分布在东南海域。
中尺度涡时间变化统计(图9)表明,南大西洋海域中尺度涡个数及面积均呈现明显的周变化,且变化的波动性明显。南大西洋海域中尺度涡在个数上冬、春两季少,夏、秋两季多,其中个数最高值出现在第49 周(夏季),为231 个,最低值出现在第39 周(春季),为147 个。在涡旋总面积上的时间变化也呈现出相似的规律,即冬、春两季中尺度涡总面积较小,夏、秋两季中尺度涡总面积较大,其中中尺度涡总面积的最大值出现在第49 周(夏季),为4 821 个像元,最小值出现在第40 周(春季),为2 723 个像元。说明南大西洋海域中尺度涡存在一定的季节性变化,更多的中尺度涡在夏季和秋季生成,并且面积较大的中尺度涡也主要出现在夏季和秋季。南大西洋海域气旋涡、反气旋涡个数全年基本相近,气旋涡、反气旋涡个数最高值均出现在夏季,其中气旋涡最高值出现在第1 周,为119 个,反气旋涡个数最高值在第49 周,为119 个。说明夏季是南大西洋海域气旋涡、反气旋涡发育的高峰期。在面积上,反气旋涡总面积往往大于气旋涡总面积,尤其在春末夏初和秋末冬初时,气旋涡、反气旋涡总面积差别更为明显。此外,与气旋涡相比,反气旋涡总面积的季节性变化更明显,反气旋涡在秋季中期到冬季初期,以及夏季初期的总面积明显高于其他季节。
4 结论
本文提出了一种基于改进的U-Net 网络的海洋中尺度涡自动检测模型,该模型在特征提取阶段嵌入了卷积注意力模块,使得模型关注于最具有类别区分度的区域;同时模型引入了残差学习模块解决了网络过深产生退化的问题。实验结果表明,与现有的方法相比,本文模型能够更准确地提取涡旋的特征信息,提高了中尺度涡提取结果的准确性与合理性。该方法可为海洋学家通过海表面高度探测高程涡流提供可靠技术方法。下一步将把本方法应用到全球范围内,并评估本方法对其他区域中尺度涡检测的普适能力。