海面溢油图像特征识别双边分割算法研究
2022-07-26杜红彪,于伟,张旭,陈余庆*
杜 红 彪, 于 伟, 张 旭, 陈 余 庆*
( 1.中国船舶重工集团公司第七一九研究所, 湖北 武汉 430064;2.大连海事大学 船舶电气工程学院, 辽宁 大连 116026 )
0 引 言
近年来,世界各国对能源的需求迅速增长,其中石油需求量的增加带动了石油的海洋开采和海上运输.船舶运输原油过程中发生碰撞或海上石油开采平台因意外发生爆炸都会造成原油泄漏,造成巨大的经济损失,并破坏海洋生态环境.因碰撞沉入海底的巴拿马籍油轮中的13×104t凝析油造成了约1 053 km2的海洋污染[1].墨西哥湾某深水钻井平台发生的严重漏油事故[2],对自然环境造成了极大危害.溢油会对渔牧业、自然环境和沿海居民健康等造成不同程度的危害[3].因此,海面溢油检测对保护海洋环境具有重要意义.
海面溢油事故通常具有突发性,迫切需要提升海面溢油图像识别的智能性与准确性.溢油检测技术按检测原理划分,主要包括雷达激光检测和视觉图像检测.Miegebielle等[4]通过遥感雷达图像实现了溢油UNet网络检测分析,但是仍然存在较多类似油污目标的误检测现象.Zia等[5]借助高光谱图像,建立了具有残差结构的9层卷积神经网络,通过多尺度卷积的方法提取溢油特征,并利用实验对识别出的结果做出相应的验证,验证表明该模型与当时的LeNet-5等模型相比精度较高.Song等[6]构建了一个适用于PolSAR溢油检测的深层卷积神经网络,通过替换分类器,提升了网络的识别能力,有效降低了海杂波或生物油膜引起的误报率,显著提高了溢油检测的准确性.陈彦彤等[7]提出了深度语义分割(DSS)模型,对多源遥感海上溢油图像进行检测,取得了较好的成果.
本文在结合国内外研究成果的基础上,提出一种改进的海面溢油图像特征识别智能算法.基于Ghost-Bottleneck模块结构[8],提出一种兼顾检测精度与效率的Ghost-GE层(ghost gather-and-expansion layer)结构.同时针对高分辨率图像中溢油特征的漏检现象,把位置注意力模块(position attention module,PAM)[9]与本文提出的上下文与通道注意力模块(context and channel attention module,CCAM)分别引入检测网络细节分支和语义分支中,使得检测精度进一步提升.
1 双边分割算法
本文主要应用语义分割算法进行海面溢油检测,所以对检测的实时性要求比较高,现阶段主要通过裁剪输入特征图、减少网络通道数和应用更紧凑的框架的方式来提高网络的检测速度.这3种方法都是折中精度以求速度,同时都存在着一定的缺陷,难以付诸实践.而双边分割算法网络结构的设计将空间信息和上下文信息分为两个路径进行提取,既可以保障较高的精度又可以保证实时性.
1.1 BiSeNetV2基本结构
BiSeNetV2有两条网络分支:细节分支和语义分支[10].其中细节分支由宽通道卷积层组成,语义分支由 Stem 模块、聚集扩展层(gather-and-expansion layer,GE层)和上下文嵌入模块(context embedding block,CE模块)组成.
1.2 Ghost-GE层设计
GE层为语义分支中的重要结构之一,它是由MobileNetV2的倒瓶颈残差结构进行改进得到的,GE层中采用了深度可分离卷积,这样能够使得模型更加轻量化.此外,在目标检测精度方面,考虑到GhostNet主干网络一般会优于多数轻量型主干网络的性能,为了在模型轻量化的同时进一步提升现有网络的准确性,本文基于GhostNet的Ghost-Bottleneck模块结构进一步改进语义分支初始GE层,并称为Ghost-GE层,其结构如图1所示.图1中H表示输入特征图高度,W表示输入特征图宽度,C、Ci、Co表示输入特征图不同的通道数,BN(batch normalization)表示归一化操作,ReLU(rectified linear unit)表示激活函数,GhostConv(ghost convolution)表示Ghost卷积,DWConv(depth-wise convolution)表示深度可分离卷积.
图2为BiSeNetV2与Ghost-BiSeNetV2溢油检测效果对比.图2(a)为测试图,图2(b)为人工标注标签.图2(c)为BiSeNetV2溢油检测效果图,BiSeNetV2的语义分支应用了GE层,虽然能够检测出油污区域,但同时也出现了许多误检测现象,将水中物体误检测为油污.图2(d)为Ghost-BiSeNetV2溢油检测效果图,从图中可以看出Ghost-BiSeNetV2油污检测能够有效改善原网络中存在的误检测现象.
(a) 步长为1
(a) 测试图
本文在语义分支中采用了Ghost-GE层设计,对应双边分割网络称为Ghost-BiSeNetV2.其中第一个GhostConv作为扩展层,用于增加通道数,第二个GhostConv作为收缩层,用于减少通道数,当Ghost-GE层采用图1(b)结构时,需要在主路径和残差连接路径分别增加步长为2的可分离卷积对其进行下采样操作.SE(squeeze and excite)模块也运用于Ghost-GE层.
1.3 分支模块功能
BiSeNetV2的语义分支起始阶段应用了Stem模块进行快速下采样.Stem模块使用两种不同的下采样方式来缩小特征表示.其中一种方式是通过步长为2的卷积来进行下采样,第二种方式是通过池化来进行下采样,但是卷积下采样跟池化下采样有很大区别.池化操作可以起到平移不变性,但可能会将有用的信息滤掉.卷积下采样可以降维,也可以提取一些特征,这样提取到的输出特征图与输入特征图像素一样.同时使用上述两种方式进行下采样,既可以保留部分原始图像信息,又可以提取语义特征,并且具有有效的特征表达能力.
在语义分支的最后阶段应用CE模块.该模块使用了全局平均池化和残差连接.其中全局平均池化可以减少参数量和计算量,并且起到扩大感受野来捕捉高级语义的作用.
由于细节分支输出特征图提取的是低级特征,语义分支输出特征图提取的是高级特征,两个通道输出的特征图大小和提取的特征级别不同,所以不能简单地将两个通道相加,BiSeNetV2应用了双边聚合层(bilateral guided aggregation layer,BGA层)来融合两条分支的特征.
2 双重注意力机制网络
由于海面油污目标的外形、颜色等特征多变且不固定,存在明显的类内相异性问题,尤其当场景比较复杂时,会导致模型出现严重的预测错误.类内相异性问题发生的主要原因是缺少上下文依赖信息,尤其是包含强大语义信息的高阶上下文信息.文献[11]使用分解结构增大卷积核尺寸或在网络顶部引入有效的编码层,来捕获更丰富的全局信息.文献[12]通过编码器-解码器结构来融合中级和高级语义特征.在两种方法中,虽然上下文融合有助于捕获不同比例的对象,但却无法利用全局视图中对象之间的关系.文献[13]使用循环神经网络(recurrent neural network,RNN)隐含地捕捉全局关系,但其有效性过于依赖长期记忆的学习结果.为了解决上述问题,本文在细节分支和语义分支上分别引入位置注意力模块和改进后的上下文与通道注意力模块.
引入位置注意力模块能够有效捕获特征图中任意两个位置之间像素点的空间依赖性,并通过加权求和对所有位置的特征进行聚合更新.如图3所示为位置注意力模块结构示意图.在图3中,reshape表示特征矩阵整型操作,其中N为H×W,transpose表示特征矩阵转置操作,Softmax表示激活函数,A表示输入特征图,E表示输出特征图,B、C、D、S表示模块中不同形式特征图.
图3 位置注意力模块结构示意图Fig.3 The structure diagram of position attention module
为了更好地获得上下文信息,本文将原始CE模块与通道注意力模块进行融合,将融合后的模块称为上下文与通道注意力模块(CCAM),CCAM结构示意图如图4所示.在图4中GAPooling(global average pooling)表示全局平均池化,X表示模块中不同形式特征图.
图4 CCAM 结构示意图Fig.4 The structure diagram of CCAM
本文将BiSeNetV2语义分支中的GE层替换成Ghost-GE层,同时在细节分支和语义分支中增加双重注意力模块,优化后的网络称为Ghost-DABiSeNetV2,网络结构如图5所示.在图5中Loss表示损失函数.
图5 Ghost-DABiSeNetV2结构示意图Fig.5 The structure diagram of Ghost-DABiSeNetV2
为了验证每个注意力机制的重要性,本文进行了一系列剥离实验,分别对两条分支上增加注意力模块前后的网络特征图进行了可视化对比分析.
图6为增加双重注意力模块前后检测效果对比.图6(a)为测试图.图6(f)为人工标注标签.图6(b)为细节分支未加PAM时特征图,网络特征图中丢失了大量的空间细节特征,这样会影响网络的检测准确率.图6(d)为细节分支增加PAM后特征图,油污的大体轮廓信息更加完整,同时也进一步提升了对油污位置信息提取的准确性.图6(c)为语义分支未加CCAM时输出的特征图,从图中可以看出溢油目标区域像素点与周围非油污区域像素点区别较为模糊,这样会影响网络最终的检测精度.图6(e)为语义分支增加CCAM后特征图,油污区域像素点分类效果取得了大幅提升,从而减少了误分类现象.最后,分别在语义分支和细节分支上增加CCAM和PAM.从图6(g)中可以看出未加双重注意力模块的Ghost-BiSeNetV2存在误检测现象.图6(h)为增加双重注意力模块后的Ghost-BiSeNetV2检测效果图,加入双重注意力模块很明显减少了误检测现象.
图6 增加双重注意力模块前后检测效果对比Fig.6 The detection effect comparison before and after adding the dual attention module
CCAM与CBAM(convolutional block attention module)[14]有一定的相似性.但是在溢油检测过程中,由于海面油污目标的外形、颜色等特征多变且不固定,并且存在明显的类内相异性问题,采用CBAM会缺少上下文依赖信息,导致预测错误.而CCAM可以更好地捕捉全局上下文中对象的关系,获取上下文信息,从而形成全局上下文视图,使得相似的语义特征实现相互增益.
3 实验测试验证与结果分析
本文通过岸基平台搭载海康威视DS-2TD6566T-50H2LX/V2云台摄像机和无人机大疆经纬M600 Pro搭载禅思XT2相机进行图像数据采集,获取了不同视角和不同距离下的大量溢油检测实验数据.主要采集的溢油种类有原油、汽油、柴油和废机油等.可见光数据集包括训练集图像8 324幅,验证集图像872幅,测试集图像832幅.其中岸基平台摄像机采集数据的分辨率为1 280×720,无人机搭载相机采集数据的分辨率为1 920×1 080.由于该数据集包含了多平台、多视角拍摄的多种类油污信息,具有较强的泛化能力.
3.1 网络训练参数
优化后的BiSeNetV2进行训练时,首先需要确定训练所需的参数值.如表1所示为训练时参数值的设定.
表1 训练参数设定Tab.1 The training parameter settings
BiSeNetV2应用Online hand example mining cross-entropy loss (OhemCELoss)损失函数,在训练过程中可以关注困难样本,对其施加更高权重的一种训练策略.首先对样本求取交叉熵损失函数如式(1)所示,筛选出损失最大的样本,然后将筛选得到的这些样本应用在随机梯度下降中训练.
(1)
(2)
3.2 Ghost-DABiSeNetV2内部模块细节操作
Ghost-DABiSeNetV2整体结构主要分为细节分支和语义分支.将两条分支分为几个阶段进行分析研究,每个阶段中集成了多个模块操作,其中Ghost-DABiSeNetV2中各阶段内部模块细节操作如表2所示.其中k表示卷积核大小,c表示通道数,e表示扩展因子,s表示卷积操作步长,r表示该层操作重复次数.
表2 Ghost-DABiSeNetV2内部模块细节操作Tab.2 The detailed operation of the module in Ghost-DABiSeNetV2
3.3 结果与分析
本节的网络训练和性能评估实验均在同一平台下进行,训练迭代步数为500,网络输入特征图大小统一为480×480.对不同网络的均交并比(MIoU)即准确性指标、参数量(parameter)、计算量(FLOPs)进行对比.表3为几类语义分割网络检测的准确性和实时性对比结果.
表3 语义分割网络性能对比Tab.3 The semantic segmentation network performance comparison
基于控制变量的思想,首先对以GhostNet为主干网络的BiSeNetV1和BiSeNetV2进行性能参数对比,然后将BiSeNetV2和改进后的BiSeNetV2(包括Ghost-BiSeNetV2和Ghost-DABiSeNetV2)进行性能参数对比.其网络训练输入特征图大小为720×960,网络的检测速度性能指标FPS的测试视频帧分辨率为1 280×720.本文对可见光图像进行了对比实验,性能见表4.
表4 网络改进前后在可见光图像上的性能对比Tab.4 The performance comparison of the network on the visible light image with and without the improvement
Ghost-DABiSeNetV2在可见光图像上的检测性能指标均优于其他4个网络.将改进前后的BiSeNetV2分别在可见光图像上进行溢油检测可视化实验,结果如图7所示.
在各列图像中,图7(a)为测试图,图7(b)为人工标注标签,图7(c)为BiSeNetV2溢油检测效果图,图7(d)为Ghost-BiSeNetV2溢油检测效果图,图7(e)为Ghost-DABiSeNetV2溢油检测效果图.在第一行检测结果中,网络优化前存在误检测现象,在此基础上,通过在网络的双分支上引入双重注意力模块后,能够完全消除水中目标误检测现象(如绿色框选区域所示).而在第二行检测结果中,优化前后的网络对远处薄油膜区域均出现了不同程度的漏检测现象,该种现象不能通过优化网络结构来解决(如黄色框选区域所示).第三行中BiSeNetV2对近距离的油污区域出现漏检测现象.第四行对于高分辨率油污检测图像进行溢油检测时,局部薄油膜区域均出现了一定程度的漏检现象(如绿色框选区域).通过增加双重注意力模块可以提升高分辨图像下溢油检测精度,有效抑制近距离低对比度溢油区域的漏检测现象.
图7 网络优化前后在可见光图像上检测效果图Fig.7 The detection effect diagram on the visible light image before and after network optimization
4 结 语
本文提出了一种新的轻量型双边分割网络,用于检测海面溢油.该网络基于无人机和配备光学摄像机的岸基平台,通过从多个平台收集数据,组合成高质量的可见光数据集.将BiSeNetV2网络中的GE层替换为Ghost-GE层,其中改进后的Ghost-GE层能够使模型的精度和速度均得到提升.最后针对高分辨率图像漏检测和误检测现象,本文将PAM和改进的CCAM分别加入BiSeNetV2的细节分支和语义分支中.改进后的检测网络在保证实时性的前提下,使得检测精度大幅提升.