APP下载

基于YOLOv5s的海上风电设施检测与预警评估

2023-04-21朱昭云叶昭良黄曙荣

计算机技术与发展 2023年4期
关键词:风电场风电预警

朱昭云,张 波,叶昭良,黄曙荣 ,曹 卫

(1.盐城工学院 机械工程学院,江苏 盐城 224007;2.华能海上风电科学技术研究有限公司,江苏 盐城 224045)

0 引 言

在“碳中和”背景下,国内海上风电开发建设已进入发展快车道,大规模风电场项目成功建成并投产运营。船舶作为海洋运输主体,随着海上风电场的数目和装机容量的大规模发展,必然增加了船舶航行碰撞海上风电设施的可能性。因此,开展海上风电设施检测与预警研究,对降低风电运维成本、提高风电场稳定性具有重要意义,而其中最重要的部分是对海上航行船舶靠近风电场附近水域的及时识别和定位。

海上风电场离岸距离远,长期处于盐雾浓度高、湿度大、光照多变的复杂环境下,对开展海上风电设施和风电场附近水域船舶的检测研究中主要解决以下几个难点:在恶劣天气情况下不易检测、光线较弱情况下不易检测、小目标不易检测和遮挡情况下不易检测。

海上风电设施和风电场附近水域船舶的检测研究属于机器视觉领域核心的目标检测任务。早期的检测方法主要包括:目标区域选择、特征提取、分类器检测、小波检测、模糊检测、特征匹配等。虽然这些方法在目标检测应用中具有不错的表现效果,但在复杂海域场景下的检测任务实时性和实用性较差。

自AlexNet卷积神经网络模型(Convolutional Neural Network,CNN)[1]在2012年ILSVRC视觉挑战赛中取得冠军,改变了传统检测方法的局限性,迎来了基于深度学习的目标检测方法在各领域的广泛应用。现今基于深度学习的检测方法主要分为两大分支:一是基于区域选择的二阶段检测方法,如RCNN (Regions with CNN)[2]以及基于此改进的Fast R-CNN (Fast Regions with CNN)[3]、Mask R-CNN[4]等系列。二是基于回归思想的端到端一阶段检测方法,如YOLO (You Only Look Once)[5]、SSD (Single Shot Multi Box Detector)[6]、Retina-Net[7]等。基于回归的一阶段检测方法相较于区域选择的二阶段方法,改善了二阶检测方法因候选区域框造成的计算冗余量大、检测速度低、部署能力差的问题。YOLO系列从YOLOv1到YOLOv5在各领域应用的检测性能不断提高。鉴于此,结合海上目标检测难点,该文将现场采集到的风电场视频数据进行预处理,制成风电图像数据集,提出了一种基于改进YOLOv5s的海上风电设施检测算法,在保证实时性的情况下,能够更有效地检测出监控系统中的风电设施和航行船舶,当有船舶靠近风电场水域时及时发出预警提示信息。

1 算法理论

1.1 YOLOv5网络介绍

YOLOv5[8]是Glenn Jocher在2020年提出的一种单阶段目标检测算法,其继续沿用了YOLO系列的四个主要组件:输入端、主干网络(Backbone)、Neck和Head。第一部分为输入端,采用了与YOLOv4[9]相同的马赛克数据增强方法,通过对输入图像进行随机变换和拼接,在小目标检测中表现更好。第二部分为主干网络,它使用CSPDarkNet53网络,从输入图像中获取丰富的特征信息。第三部分为检测层,使用FPN-PAN结构,FPN生成特征金字塔而PANet作为Neck来聚合特征,增强模型对不同尺度目标的检测性能。

YOLOv5网络根据深度和宽度差异,可将其分为四个版本:YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,它们之间的主要区别在于网络的特征提取模块、卷积核的数量和模型参数量不同。YOLOv5网络模型检测精度高,推理速度快,检测速度最快可达每秒140帧。同时该网络模型的权重文件较小,是YOLOv4网络的十分之一,可见YOLOv5网络更适用于实时检测任务。

该文以海上风机和航行船舶为检测任务,为应用于海上风电监控系统做准备。由于该任务对网络的实时性和轻量化性能要求较高,因此,综合考虑了检测模型的准确性、效率和规模,最终选择了YOLOv5s[8]作为基础框架,设计改进了一种适合部署在海上风电设施检测与预警场景下的网络模型。

1.2 主干网络轻量化改进

YOLOv5s网络在多类别检测任务中具备优异的检测效果,而文中实验只需要识别和定位出海上风机和船舶两类目标,采用原始主干特征提取模块,存在参数量冗余、计算量大的问题,同时也不利于部署在海上风电监控系统。鉴于此,将YOLOv5s的主干网络(Backbone)改进为GhostNet[10],该网络具备轻量化、参数少、速度快和占用内存低的特点,可在降低网络参数量的同时仍保证相应的检测速度。GhostNet采用Ghost模块的瓶颈结构,该结构引入了残差思想,先利用普通卷积获取有效特征,在此基础上再利用深度可分离卷积进行逐层卷积,最后再将特征图进行拼接组合。其中,瓶颈结构中的第一个Ghost卷积负责增加通道数量,用来指定输出通道数的膨胀系数;第二个Ghost卷积负责将通道数降低至与输入通道数保持一致[11],最后将卷积的两组特征图进行Add操作,作为最后的特征信息输出,大幅度降低了网络模型的参数量和计算量。GhostNet模块如图1所示。

(a)Ghost module结构 (b)Ghost瓶颈结构

1.3 施加注意力机制

由于海域环境复杂,海上目标多处于多雾、多雨、光线弱的情况下,导致检测任务存在精度低、漏检及误检问题。为了提高海上目标的检测精度,该文在YOLOv5s网络设计中引入基于机器视觉的注意力机制[12]来更好地提取海域目标特征。将SE注意力机制网络(SENet)[13]分别施加在YOLOv5s网络主干末端和Neck层,使网络自适应地学习并分配每个特征的重要程度,对于不重要和干扰特征进行抑制,以便提高海域复杂环境下的目标检测精度。

如图2所示,SE模块是一种通道注意机制,其在原残差模块的基础上又增加一条通道路径,利用全局池化获取初始化通道权重;随后使用两个全连接层和Sigmoid激活函数来更新每个通道的权重;最后再将原始通道特征乘以每个通道的权重得出最终的特征图[14]。该模块保证网络在训练过程中通过梯度下降来学习每个通道的权重系数,实现关键特征提取,从而提高检测精度。

图2 SELayer模块

1.4 特征融合层的改进

为降低多尺度、较小目标漏检及误检问题,对原始YOLOv5s网络的Neck层进行改进。原始网络的Neck层采用FPN+PAN结构,其主要思想是添加一条自底向上的特征融合路径,使更高层的特征图与底层位置信息充分结合,但在该结构中,所有特征图的权重均相同,而每个特征图对检测结果的贡献不同,则增加了网络的计算量。因此,将原FPN+PAN结构改进为双向金字塔结构(BiFPN)[15],如图3所示。该结构通过简单的残差连接,增加了特征的表示能力,删除了具有单个输入节点,并且将上采样或下采样的特征进行加权再与其他特征进行融合,以聚合不同分辨率的特征[16],保证了多尺度目标的特征抽取,从而提升模型的检测精度和速度。

图3 特征融合结构

基于YOLOv5s网络分别对主干网络、特征融合模块进行改进以及在网络关键位置施加SE注意力机制,最终构建了改进后的YOLOv5s整体网络结构,如图4所示。

图4 改进后的YOLOv5s网络结构

2 检测与预警流程设计

为检测风电视频中的目标对象并估算距离,本节设计了检测预警流程图和预警评估规则,来判断海上航行船舶是否靠近风电场附近水域,若靠近风电场附近水域则根据设定的阈值及时发出对应的预警提示信息,具体步骤如图5所示:

图5 检测与预警流程

a)采集风电视频数据,按帧截取图像。

b)获取原始视频帧的四个角点,应用透视变换获取图像帧的俯视图。

c)应用改进型YOLOv5s网络检测图像中的目标。

d)核实视频检测出的目标数量,估算物体边界框质心对距离。

e)估算的像素距离再与设定的阈值进行比较,若质心对之间的距离大于设定的阈值则更新目标边界框颜色并发出警告提示。

3 实验结果分析

3.1 数据集准备

实验所采用的数据集分为两部分,即公共数据集和自制数据集。前期使用公共船舶数据集Seaship[17],该图像来自部署在海岸线上的监控系统,按视频的每一帧截取对应图像,去除目标以外的背景,抽取了6类船舶,目前公开7 000张图像。自制的海上风电图像数据集来源于江苏射阳某沿海风电场的视频监控系统,将采集的风电视频数据按每帧进行截取,经过筛选提取图像中的风机和船舶对象,共计510张原始图像。使用OpenCV工具对原始风电图像以旋转、裁剪与缩放等方式进行数据扩充,最终得到1 000张图像组成自制风电数据集。部分原始风电图像如图6所示。

图6 部分原始风电图像

3.2 数据集标注

目标检测任务常用的数据标签格式为VOC形式,即用目标框的四个坐标值表示目标对象。因此,实验使用基于Python语言编写的LabelImg工具,将海上风电图像数据集按8∶2比例标注为训练集和测试集,最后存储在Xml文件中,每个文件对应一张图像,包括图像尺寸、目标类别名以及目标位置信息。Xml标签文件的格式和主要参数如下:name:目标名称,即Turbine和Ship两类;bndbox:标注的物体真实框,包含xmin、xmax、ymin、ymax参数信息,分别对应着检测框的坐标值,标注示例如图7所示。

图7 风电图像标注示例

3.3 实验环境

实验在Windows 11操作系统下进行,搭建的软件环境有VScode、Python、Labelimg、Opencv等,模型训练框架为Pytorch。CPU配置为Intel® CoreTMi5-11400F,内存大小为16 GB,GPU为RTX 3060Ti,使用CUDA并行计算框架并配合CuDNN来加速深度网络模型训练。

3.4 评价指标

为评估目标检测模型的性能,选取了准确率Precision、召回率Recall、平均精度mAP作为模型精度的评价指标。另外,又从检测速度FPS、网络模型参数量和模型大小三方面来评估模型的复杂度,检测结果分为4种:TP为真正例,TN为真反例,FP为假正例,FN为假反例。准确率及召回率如式(1)和式(2)定义:

(1)

(2)

平均精度mAP定义为:

(3)

其中,N表示被检测目标的类别数,AP为单类别目标的平均精度,FPS为GPU每秒检测的图像数量。

3.5 模型训练

针对海上风电数据样本量受限问题,在模型训练阶段引入迁移学习方法。因此,改进的YOLOv5s网络训练过程分为两步:首先,将提出的改进网络在公共船舶数据集Seaship上进行方法实验,模型训练时输入图像大小为640×640,初始学习率0.001,衰减系数设置为0.000 5,参数训练100个epoch;其次,将在公共船舶数据集上验证的初步模型应用于海上风电设施检测与预警场景,在自制风电数据集上对模型进行再次训练,参数训练300个epoch,训练过程中保持初步检测模型的系数不变,仅对模型参数进行微调。

3.6 检测结果分析

实验结果分析分为两部分,首先,在公共船舶数据集Seaship上运用基于YOLOv5s网络的改进模型,对检测结果进行对比分析;其次,将改进的网络应用在海上风电设施检测与预警场景,并构建检测预警系统将最终的检测结果可视化。

3.6.1 改进过程的对比模型评估

为验证提出改进策略的有效性,针对同一平台同一数据集,进行了改进过程中的一系列消融实验,在测试集上分别评估改进的多个模块对网络模型的性能影响,共计6组实验。结果如表1所示。

表1数据表明,引入SE注意力机制的检测网络相比原始YOLOv5s网络,准确率和召回率有小幅提升,平均精度提升了2.1百分点,说明注意力机制的引入能够抑制干扰信息,提高特征提取能力。采用BiFPN结构改进原始YOLOv5s网络的PANet结构,平均精度提升了2.2百分点,说明BiFPN结构能够提高网络的特征融合能力。同时引入注意力机和BiFPN结构,准确率提升了1.1百分点,平均精度相较于单个模块引入精度有所下降,但单类别的准确率提升明显。使用轻量化GhostNet替换原主干BottleNeck网络并引入注意力机制和BiFPN结构,相比于原始YOLOv5s网络,单类别准确率提升了1.9百分点,平均精度提升了2.1百分点,模型大小减少了3.4 MB,表明轻量化的主干网络大幅降低了网络的参数量和计算量,同时也提升了检测精度。实验结果表明,所提出的各个阶段的改进策略相比原始YOLOv5s网络在单类别准确率、召回率、平均精度分别提升了1.5百分点、1.1百分点、2.6百分点,同时网络参数量和模型大小均有所降低,提高了网络模型的综合性能。

表1 改进过程中各个模块的消融实验

通过主干网络轻量化、施加注意力和结合多尺度特征融合的改进方式,最终构建了适用于该文的检测算法。在整体测试过程中,通过实验对比了原始YOLOv5s算法在公共船舶数据集上的检测效果,最后根据各类别船舶的准确率、mAP和检测速度FPS来评估该方法的有效性,结果如表2所示。

表2 改进YOLOv5s与原始YOLOv5s性能比较

从表2可以看出,文中方法与原始YOLOv5s网络相比,平均精度提升了2.6百分点,达到了96.8%,单类别船舶检测准确率有明显提升;检测速度也达到了47 FPS,能够满足实时性检测要求。综上所述,该方法大幅减少了网络模型的参数量和内存消耗量,在提高网络检测精度的同时保证了较快的检测速度,在实时检测任务中具有显著优势,应用于海上风电设施检测与预警系统中是有效的。

3.6.2 改进过程的模型检测效果评估

为进一步体现改进后的网络和原始YOLOv5s网络在船舶数据集上的检测性能,选取了光线较弱、小目标和夜间情况下的图像来对比检测效果,如图8所示。

(a)YOLOv5s (b)改进的YOLOv5s

从对比的检测结果中可以看出,光线较弱情况下的船舶检测准确率从67%提高到85%,改进后的网络可以检测出远处较小船舶,夜间情况下的船舶检测准确率从45%提高到68%。针对3种特殊环境下的船舶目标,改进后的YOLOv5s网络不仅提高了模型检测速度,还提升了检测准确率。

3.6.3 检测与预警结果可视化

本系统将最终的检测和预警模块相结合部署在海上风电监控系统中。首先,摄像头对经过风电场附近水域的航行船舶进行实时监控,同时后台加载训练好的风电设施检测模型对视频中的每一帧进行检测,获取视频中的物体类别及位置信息;其次,根据物体边界框信息,计算物体边界框质心对间的距离;最后,将计算的距离与设定的预警程度阈值进行比较,若附近航行船舶进入风电场内部水域则更新检测边界框颜色为红色,发出高风险预警(Risk)信息提示;若航行船舶靠近风电场内部水域则更新检测边界框颜色为黄色,发出警告(Alter)信息提示;若航行船舶在风电场附近水域航行则检测边界框颜色仍为绿色,并标记为安全(Safe)。检测系统主界面以及检测结果如图9~图11所示。

图9 系统主界面

图10 图像检测模块

图11 检测预警模块

4 结束语

针对现有海上目标检测算法存在参数量冗余、计算量大和实时性差的检测难点,不利于实际应用与部署,对YOLOv5s网络进行改进,首次将轻量化GhostNet和YOLOv5s网络相结合运用在海上风电设施检测与预警场景,通过施加SE注意力机制来加强特殊目标的提取效果,并调整特征融合层引入双向金字塔来提升检测目标的定位精度和检测速度。实验结果表明,应用改进的算法检测视频中的风电设施具有一定的实时性和可靠性,能够判断视频中的航行船舶是否靠近风电场附近水域并及时发出预警提示信息,为海上风电安全监测工作提供实际应用参考。

猜你喜欢

风电场风电预警
法国发布高温预警 严阵以待备战“史上最热周”
基于PSS/E的风电场建模与动态分析
海上风电跃进隐忧
分散式风电破“局”
园林有害生物预警与可持续控制
风电:弃风限电明显改善 海上风电如火如荼
含风电场电力系统的潮流计算
重齿风电
机载预警雷达对IFF 的干扰分析
探求风电场的远景