徐慧芳,黄冬梅,贺琪,杜艳玲,覃学标,时帅,胡安铎
(1.上海海洋大学 信息学院,上海 201306;2.上海建桥学院 信息技术学院,上海 201306;3.上海电力大学,上海 201306;4.上海电力大学 国际交流与合作处,上海 201306)
海洋锋作为海洋中不同水系或水团之间的狭窄过渡带,是海洋中最具代表性的中尺度动力过程之一。在形成海洋锋面的水团中,温度、盐度、营养盐、水色等水文要素会发生剧烈变化,因此可以用温度、盐度、密度、水色、叶绿素等要素的水平梯度来描述海洋锋。根据要素不同,分别记作温度锋、盐度锋、水色锋、营养物质锋等,而海表温度锋(Sea Surface Temperatures Front,SSTF)是海洋锋的重要表现形式,常用来研究海洋锋[1]。在海洋锋区,由不同水体携运的营养盐类在锋区较为丰富,常有浮游植物在此大量繁殖,这为浮游动物和鱼类提供了充足的饵料,而海洋锋区的浮游生物富聚为深远海海上风电的合理规划及选址提供了重要的指导意义[2-3]。此外,有专家指出台风路径的形成与海洋锋面有很大关系[4]。因此,研究中尺度海洋锋的检测及变化,对海洋物理生态环境变化、渔业资源评估、渔情预报、军事及台风路径的预测、深远海风电等均有重要意义,这已成为物理海洋学以及海洋交叉学科中的重要课题之一[5-6]。
自20 世纪70 年代以来,海洋锋的检测研究已取得了很大进展。在海洋锋检测任务中,人们常利用SST 遥感影像检测海洋锋,旨在从影像中提取海温过渡带和锋线。目前,传统检测海洋锋的方法集中在梯度阈值法及边缘检测算法,基于梯度阈值法的海洋锋检测,阈值的选择标准不统一,且依赖于人为设定,主观性强,无法满足对复杂多样的海洋锋的准确检测;基于传统边缘检测方法的常用算法主要有Canny 算子、sobel 算子等,这些算子较适用于有固定边缘(如陆地等)的物体检测[7]。由于海洋锋是SST 遥感影像中的小目标实体,边缘信息不明显、多变、对比度不强,呈现弱边缘性,使用传统的边缘检测算法使得海洋锋的漏检及误检率高[8-11]。小波理论作为一种非平稳信号的时间-尺度分析手段,被广泛用于海洋锋的检测,其核心思想是基于多尺度分析,大尺度能够提取出信号边缘信息,抗干扰性较强,但边缘的定位精度较差,小尺度影像边缘定位较准确,但噪声较大[12]。
随着深度学习研究的不断深入,卷积神经网络(CNN)和R-CNN 在图像识别、语音识别、目标识别等各种场景上取得了巨大的成功。多种融合深度学习的海洋锋检测方法也相继被提出,并取得了较高的检测精度[13-15]。在CNN 基础上,He 等提出的Mask R-CNN 网络实现了对图像的像素级实例分割[16]。欧攀等利用Mask RCNN 算法对RGB 图像上的目标进行识别与分割,通过对目标物体进行三维建模,实现对目标的准确定位[17]。胡炎等融合深度学习研究多尺度SAR 舰船目标检测,实现舰船的高效识别[18]。Deng 等基于CNN 提出了一种的涡旋检测方法,将传统涡旋检测问题转化为一种二分类问题,最终实现中尺度涡旋的高精度识别[19]。Estanislau 等将CNN 应用到海洋锋识别过程中,针对海洋锋的数据集匮乏问题,提出一种迁移式的神经网络,可以有效识别出目标海域中是否存在海洋锋[13]。Sun 等提出了海洋锋检测和细粒度位置的多尺度检测框架[20]。考虑到AlexNet、CaffeNet、Goog LeNet 和VGGNet 等深度网络在有限的训练数据下容易出现过拟合的实际情况,Lima 等在前期研究基础上提出一种微调的神经网络,用于海洋锋的检测[21]。针对海洋锋面的弱边缘性,Li 等基于CNN提出了一种海洋锋识别网络,该网络将每阶段卷积后的特征进行融合,并使用二元交叉熵损失函数和IoU 损失函数,修正模型误差,最终识别出更精确的海洋锋[22]。曹维东等基于Mask R-CNN 提出一种自动化识别海洋锋的方法,该方法在对海洋锋进行像素级的识别基础上,基于阈值法对锋面识别结果进行精细化调整,得出了较好的海洋锋识别结果[14]。Xu 等针对海洋锋数据量小、弱边缘性等自身特性,将一种改进的Mask R-CNN 网络应用于海洋锋的检测,通过多次迭代训练及参数修正,实现了海洋锋的高精度检测[23]。
基于深度学习的目标检测,目标特征的有效表达和提取是提高目标检测的关键。随着SENet(Squeeze and Excitation Net)新型网络的提出,SE(Squeeze and Excitation)被广泛应用于基于深度学习的目标检测任务,它通过采用一种全新的“特征重标定”策略对每个通道的重要程度进行评估,增强特征提取效果[24]。Roy 等基于SE 模块提出了一种新型的scSE 模块,用于目标的检测,实验结果表明在实际检测分割任务中,scSE 模块的性能明显优于SE 模块[25]。Lee 等提出了一种空间注意力引导的Mask 分割方法,提升网络对图像中重要特征的关注度,增强目标特征的提取[26]。
基于SST 遥感影像提取海洋锋线信息属于海洋要素场高频信息的提取,使用传统方法和一般的融合深度学习的方法难度很大,且难以达到理想的检测效果。受scSE 注意力机制的启发,本文基于Mask R-CNN 提出一种注意力引导的海洋锋检测方法,通过加权策略提升网络对重要通道特征和重要空间位置特征的关注度,增强目标特征的提取效果,从而提高模型的检测精度;并通过引入优化损失函数,提高海洋锋目标边缘定位准确率。最后,为验证本文算法检测性能,构建不同数据集,并设计多组对比实验,不断修正模型参数及优化损失函数,提高海洋锋检测精度。
Mask R-CNN 是一种典型的二阶段目标检测网络,由Backbone、RPN(Region proposal network)、ROIAlign 和Classifier 四部分组成,网络结构如图1所示[16]。Backbone 作为Mask R-CNN 的骨干网络,由残差网络(Residual network,ResNet)和特征金字塔网络(Feature pyramid network,FPN) 组成,用于提取输入图像的特征;RPN 用于生成候选区域(Region proposal),并对每个特征区域进行类别可能性判断和回归;ROIAlign 用于收集图像特征和候选区域特征,作为后续全连接层的输入,而后进行目标类别判定;Classifier 通过计算候选区域类别,再次进行框回归,精确定位检测框,并为目标生成掩码。
图1 Mask R-CNN 网络结构图
scSE 注意力模块作为一种突出目标特征和抑制噪声的重要手段,是空间压缩通道激励模块(Channel Squeeze and Spatial Excitation,sSE)和通道压缩空间激励模块(Spatial Squeeze and Channel Excitation,cSE)的并行组合[25]。通过计算特征图通道和空间特征的重要性程度,增强网络对特征图中重要通道和空间特征的学习能力,优化目标检测效果。scSE 注意力模块对于输入的特征图,首先进行空间特征的压缩,根据各通道之间的依赖关系对特征图进行调整,并通过全局池化及归一化操作后计算各通道的重要性,提高网络对重要通道特征的学习能力。其次,压缩特征图的通道特征,经过归一化操作计算特征图中各个位置的空间信息重要性,增强重要空间位置特征。基于上述描述,将得到的同时具有重要通道特征和重要空间特征的特征子图进行更强的激励,引导网络在训练过程中对目标重要特征的学习。具体算法步骤如下:
输入:特征图U= [u1,u2,…,uc];
输出:具有高重要性的特征子图U′= [u′1,u′2,…,u′c]。
海洋锋作为SST 影像中的弱边缘小目标,经过多次卷积和池化操作后,大量的小目标特征信息易被丢弃,导致检测结果存在较多的错检和漏检。针对此问题,对Mask R-CNN 中的特征提取网络结构进行改进,设计scSE 注意力模块引导的特征提取网络,提升网络的特征提取效果;此外,针对实例分割时目标边缘定位不准确的问题,引入IoU boundary loss 构建新的Mask 损失函数,提高边界检测精度。
1.3.1 scSE 模块嵌入设计 Resnet-50 与Resnet-101 作为Mask R-CNN 常用的残差网络,其网络的深度对海洋锋检测效果具有很大的影响。深层残差网络在有限的训练数据下容易出现过拟合,目标检测效果差。因此,文中选用浅层的Resnet-50 网络提取特征,并将scSE 注意力模块嵌入Resnet 网络中,通过加权策略提升网络对海洋锋重要特征的关注度,增强骨干网络对重要的空间和通道特征的表征能力,并有效缓解浅层网络对复杂高层特征提取效果差的问题,融合scSE 模块的网络结构如图2 所示。
图2 融合scSE 空间注意力模块的Mask R-CNN 网络结构图
1.3.2 损失函数的优化设计 在深度学习中,损失函数是衡量一个模型学习能力强弱的重要指标,它代表着真实值与预测值的差异。传统的Mask RCNN 网络的损失函数由分类误差(Lcls)、回归框误差(Lbox)和掩膜误差(Lmask)3 部分组成,其公式如下:
Lcls使用Softmax 损失函数计算目标的分类概率,Lbox使用SmoothL1函数计算边框损失,公式如下:
式中:x 为输入值。在进行检测任务时,网络输出每类对象的mask,Lmask为所有像素平均二值交叉熵(Binary crossentropy)损失函数,计算公式如下:
在海洋锋检测的任务中,利用LabelMe 软件进行实际目标标注时,仅关注海洋锋的边缘信息就能很好地表征目标对象,因此边缘信息对于海洋锋检测十分重要。原始Mask R-CNN 损失函数依赖于区域信息,造成边缘信息的检测不准确。针对此问题,本文对Lmask进行优化,引入IoU boundary loss构建新的Mask 损失函数,通过提取Mask 掩码的边界像素,计算真实Mask 边界与预测Mask 边界的重合情况[28],记为Lboundary:
式中:|Cj|表示真实Mask 边界像素强度之和,||表示预测Mask 边界像素强度之和。优化后Mask 部分的损失函数记为Lmask-boundary:
式中:y 表示二值化后的实际输出,y^表示二值化后的预测输出。
本文在TensorFlow-keras 深度学习框架下,融合scSE 空间注意力模块构建了一种改进Mask RCNN 的海洋锋自动检测模型。根据海洋锋边缘信息的强弱不同,本文将海洋锋预先划分为2 类,分别记为Sfront 和Wfront,Sfront 表示强海洋锋,Wfront 表示弱海洋锋。其中,参考专家经验将锋面两侧温度差为3~6 ℃,水平温度梯度在1.5~3 ℃/km区间视为强锋;将锋面两侧温度差为1~3 ℃,水平温度梯度在0.1~1.5 ℃/km 区间视为弱锋[29-30]。
充足的训练样本是基于深度学习的海洋锋检测的基础,海洋锋作为SST 遥感影像上的小尺度、弱边缘目标检测对象,构建充足有效的训练数据集成本高、难度大,尤其在海洋锋面的边缘信息多变且不明显的弱海洋锋区域,数据集构建难度更大。针对此问题,本文收集全球海洋锋多发地SST 影像(文中选取海洋锋聚集多发的墨西哥湾及加利福尼亚湾影像),如图3(a)所示,分别进行有效扩增和特征增强处理。根据海洋锋的呈现形式,对含有海洋锋的遥感影像进行旋转、翻转及批量裁剪的扩充和基于CLAHE(Contrast Limited Adaptive Histogram Equalization) 算法的特征增强处理,得到2010—2020 年2100 景的红外与微波融合的SST 增强遥感影像,如图3(b)所示;红外波段数据来自Terra 和Aqua 卫星的MODIS 数据,微波波段数据来自AMSR-E 和AMSR2 传感器,数据空间分辨率为9 km,时间分辨率为1d;为验证不同数据对模型性能的影响,文中计算增强影像的灰度影像和梯度影像,如图3(c)、(d)所示。
图3 数据集
数据集建立完成后,使用LabelMe 软件按照COCO(Common Objects in Context)数据集的格式对三种数据集分别进行标注,并尽量将连续的锋区划为一体,图4 为标注示例图。标注完成后,使用本文提出的融合scSE 注意力的Mask R-CNN 网络分别进行训练。为满足训练与测试要求,将75%样本作为训练集(train set) 用于模型的训练,25%作为测试集(test set),用来评估训练后模型的泛化误差。
图4 标注示例图
为满足海洋锋检测精度的需求,首先将COCO数据集训练好的通用图像分类网络模型作为预训练模型,COCO 数据集是一个含有328 000 景影像及2 500 000 个标签的大型数据集,常作为目标检测、物体分割等识别模型的预训练数据集;并利用构建好的三种训练数据集,对预训练好的模型进行多次迭代训练及参数调整(表1)。批量大小(batch_size)设置为16、32、64、128;学习率(Learning rate)设置为0.01、0.001、0.0001;1000×n 表示模型的迭代次数,1≤n≤30。通过不断调整模型训练时的batch_size、Learning rate 及迭代次数三个参数,根据海洋锋的检测效果,选择最优的参数组合。
表1 模型的参数设置
准确率(Accuracy)反映了检测模型对所有目标类别的检测性能,是模型预测正确的个数和所有预测个数的比值。而在实际检测任务中,研究者更关注检测目标的检测结果。为客观、全面地评价网络模型,文中选用平均精确度mAP(Mean Average Precision)值和IoU(Intersection-over-union)值对模型的整体性能进行评估。mAP 是预测多个目标类别的平均查准率,通过精确率(Precision,P),召回率(Recall,R)计算得出,以P 为纵坐标,R为横坐标,绘制P-R(Presicion-recall) 曲线,mAP 则为多类别P-R 曲线下的面积平均值。P 为检测出的实际目标数与检测出的样本总数之比,R为检测出的实际目标数与样本中实际目标总数之比。公式如下:
式中:TP 表示实际目标图像被正确检测出来的样本个数;FP 为不是实际目标图像,却被检测为目标图像的样本个数;FN 为实际目标图像中未检测出来的样本个数;C 为目标种类个数。
在大多数的目标检测任务中,mAP 可以很好地表征模型的检测性能,无法对目标的位置进行有效评估。针对此问题,文中选用交并比(Intersection-over-union)指标对Mask 掩码位置进行评估。IoU 是用来衡量真实目标框与实际检测目标框差异的参数,真实目标框和实际检测目标框分别记作A和B,即用来表示实际检测目标框与真实海洋锋的重合情况,IoU=1 表示完全重合,IoU= 0 表示无任何交集,其公式为:
经过多次参数调整训练,文中将网络学习率设为0.001,每次迭代的批处理量(Batch size)设为32,每迭代1000 次,对海洋锋进行一次预测。经过25 000 次迭代后,训练网络已具备检测海洋锋的能力。表2 中给出不同迭代次数,网络的训练损失(loss) 及识别精度(mAP)。从表2 中可以看出,经过25 000 次迭代后,训练损失得到有效收敛,并逐步下降,模型的检测精度也随之提高,达0.89 以上。
表2 训练网络损失和识别精确率
为了验证数据对海洋锋检测结果的影响,本文按照数据标注时对强、弱海洋锋的分类分别对三种数据集进行训练,并计算IoU 和mAP 评估模型的定位准确率和检测准确率。IoU 作为海洋锋识别的量化精度结果,可通过计算图5(b)与5(c)的交并比得到。三种数据集下的模型定位准确率及检测准确率测试结果如表3 所示。图5(b)为人工标注结果,图5(c)为本文提出模型的检测结果。
表3 模型定位准确率及检测准确率测试结果
图5 海洋锋识别精度量化过程
表3 展示了不同数据集下迭代30 000 次后海洋锋检测结果,研究发现,利用梯度影像进行海洋锋检测时,其定位准确率和检测准确率均高于增强影像和灰度影像。这一实验结果表明,海表面温度变化的梯度差异更能准确地描述海洋锋存在与否。对比三种数据集的强、弱锋的检测精度和定位准确率,进一步表明了本文提出的模型也适用于弱锋的检测。
为体现本文模型对海洋锋检测效果的优势,将其与传统Mask R-CNN 模型、Xu 等提出的Mask R-CNN[23]及YOLOv3 模型在三种数据集上进行对比实验。本文模型在原始Mask R-CNN 网络基础上融合了scSE 空间注意力模块,同时优化了损失函数。通过迭代30 000 次训练,得到模型定位准确率及模型精度,分别如表4、表5 所示。图6 给出部分测试数据集的检测结果及原始影像的对照图,其中图6(a)为部分标注数据,图6(b)为标注数据对应的输出检测结果。为检验Lboundary损失函数对海洋锋定位效果,文中在相同的数据集下,分别利用模型中原有损失函数Lmask和优化的Lmask-boundary损失函数进行对比实验,具体实验对比结果见表4。
表4 模型定位准确率对比
表5 模型精度对比
图6 测试数据的输出结果
如表4、表5 结果所示,相比YOLOv3、传统Mask R-CNN 算法及Xu 等[23]的方法,本文提出的海洋锋检测方法的定位准确率和检测精度都有一定提高。且无论采用哪种模型,使用梯度影像数据集训练得到的模型的定位准确率及检测精度均最高,灰度影像检测效果最差。此外,本文方法平均定位准确率为89.13%,平均mAP 为88.87%。相比YOLOv3、Mask R-CNN 及Xu 等[23]算法mAP 值分别提高了6.57%、5.31%和1.97%。通过对比不同损失函数下本文方法的IoU 值,在三种数据集下,Lmask-boundary损失函数下的IoU 均高于原有Lmask损失函数,分别提升2.04%、4.40%和3.30%。而mAP 值的提升仅在0.03%左右。综合考虑模型的定位准确率及检测精度评价指标,本文方法的检测效果优于已有模型,证明了方法的可行性和有效性。
在海洋锋的检测任务中,快速识别海洋锋是实际渔业应用的关键。为有效评估模型的检测效率,文中给出了特征增强影像集在不同网络模型、不同迭代次数下运行的所用时长,如图7 所示。在不同迭代次数的情况下,本文模型消耗时间最短,并远远低于YOLOv3 完成模型时所消耗的时间。
图7 不同模型的训练时间对比图
海洋锋作为一种重要的海洋现象,快速、精确检测海洋锋对海洋生态及深远海海上风电选址、渔业资源、台风路径预测等都有重要意义。结合深度学习技术在图像识别、目标检测等领域的发展,本文融合scSE 空间注意力模块构建了一种改进Mask R-CNN 的海洋锋自动检测模型,并针对边缘目标定位不准确的问题,构建了新的Mask 损失函数,以实现海洋锋像素级的高精度检测。为适应融合深度学习的海洋锋检测需求,针对海洋锋数据稀缺、小目标及弱边缘特性,在训练数据集准备阶段对数据分别进行多种形式的扩充及特征增强预处理操作。其次,模型训练阶段,采用浅层残差网络和融合scSE 空间注意力模块对不同数据集进行重要特征的提取,实现强弱海洋锋的高精度识别。针对海洋锋目标边缘定位不准确的问题,引入IoU boundary loss 构建新的Mask 损失函数,提高边界检测精度。实验结果表明,本文方法利用梯度影像对海洋锋识别的平均定位准确率和检测精度分别为91.6%、91.4%,且在不同网络、不同迭代次数下,本文模型消耗时间最短。此外,根据专家经验设立合理的海洋锋检测标准,筛选海洋强、弱锋数据集,分别利用不同强度的海洋锋验证模型的有效性,结果显示强锋和弱锋的检测精度和定位准确率非常接近,表明本文提出的模型也适用于弱锋的检测。