基于注意力机制的风机表面缺陷检测模型

2023-09-11 01:07福建国电风力发电有限公司郑启山朱少红陈长红晏锡忠厦门理工学院常海青
电力设备管理 2023年15期
关键词:注意力风机卷积

福建国电风力发电有限公司 郑启山 朱少红 陈长红 晏锡忠 厦门理工学院 常海青

1 引言

随着经济的发展,国家对于能源的需求不断增加。然而,传统的化石能源已经出现了供应不足的情况。为了减少能源损耗、减少废气排放和减少环境污染,开发新能源是必不可少的。风能作为一种洁净的能量来源,其设施日趋进步,大量生产已经降低了成本。随着风力发电技术的发展,风力涡轮机也在我国得到了大量应用。但是,由于风力涡轮机所处位置的环境恶劣,常常会受到风沙、雨水等因素的侵蚀。长此以往,这将对风力涡轮机的叶片造成极大的损害,因为风机是可再生能源的重要组成部分,其缺陷导致能源损失和设备维护成本的增加,甚至可能危及人员安全[1]。因此,需要在风机叶片受损的早期进行叶片修复。

传统的叶片缺陷主要是人工通过望远镜进行检测。但是这种方法存在检测效率低和漏检数量大的问题。随着人工智能的发展,结合视觉检测将大大提高风机缺陷检测的效率[2]。目前,通过无人机搭载摄像头进行风机巡检已成为风机缺陷检测的主流方式。无人机结合深度学习算法,可以实时检测到风机叶片的缺陷,从而大大提高了检测的效率。近年来,深度学习在目标检测领域快速发展。目标检测算法主要分为一阶段和二阶段算法。二阶段算法主要以Fast-RCNN 和Faster-RCNN 为主,精度较高,但检测实时性差。一阶段算法的实时性高,更符合风机缺陷检测的需求,其算法包括YOLO 系列算法和SSD 等。为了兼顾检测精度和速度,本文选择了YOLOv5算法进行风机缺陷检测,并加入了CBAM 注意力机制,以降低误检率和漏检率。

2 YOLOv5算法及数据增广

YOLOv5是一种基于深度学习的目标检测算法,根据网络深度和宽度的大小可以分为四种模型:YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x。YOLOv5的Backbone、Neck 和Detect 部分保持一致,唯一的区别在于模型的深度和宽度设置。随着模型深度和宽度的增加,模型的特征提取能力增强,但是参数量也随之增加,导致检测速度下降。因此,为了满足实时检测的效果,本文使用了YOLOv5s 模型进行风机缺陷检测。

数据增强是一种提高模型泛化能力的有效方法,常见的数据增强方法包括Cutmix[3]、Cutout[4]、Mixout[5]等。本文使用Mosaic 数据增强方法,这是一种创新的数据增强方法,与CutMix 数据增强方法有一定相似性,Mosaic 数据增强方法利用四张图片进行拼接,与CutMix 数据增强方法的两张图片进行拼接相比,Mosaic 方法具有更好的背景丰富性,并且在batch normalization 计算时同时计算了四张图片的数据。具体实现方法为,首先选择四张图片,对其进行旋转、缩放和色域变化,然后按照四个方向位置摆放好,最后进行图片组合。Moasic 数据增强效果如图1所示。

图1 Moasic 数据增强效果

3 YOLOv5算法改进

使用YOLOv5算法进行风机缺陷检测的时候,会存在一些缺陷较小,存在误检和漏检的情况。因此本文添加在Backbone 后添加了CBAM 注意力机制,以此来更好地定位风机的缺陷。YOLOv5改进算法结构如图2所示。

图2 YOLOv5改进算法结构

CBAM 模块由两个部分组成:通道注意力模块(Channel Attention Module,CAM)和空间注意力模块(Spatial Attention Module,SAM)。

如图2中的红色框所示,CAM 模块通过对每个通道的重要性进行自适应加权,首先将输入的特征经过基于高和宽的全局平均池化和全局最大池化,突出特征向量中的重要信息,将然后将通过两层卷积来更新每个通道的权重参数,MLP 表示两层卷积计算,传统的注意力机制使用全连接层进行计算,这里将全连接层计算替换为卷积操作实现更加高效地计算,最后得到的输出特征与原始特征进行相乘,从而增强了特征图中有用的信息,其中表示激活函数和分别表示两层卷积各自的权重。

如图2黑色框所示,SAM 模块通过自适应加权对每个空间位置的重要性进行加权。首先,对输入特征进行基于通道维度的全局最大池化(MaxPool(F))和平均池化(AvgPool(F))。然后,使用7×7卷积(f7×7)来更新空间维度上的权重参数,并将输出特征与原始特征相乘,从而增强特征图中的有用信息。

4 试验结果分析

4.1 试验数据及过程

本文使用无人机拍摄的风机缺陷数据集,包括风机叶片的污垢和损伤共2995张图片,使用了labelImg 对检测目标进行标注,将数据集按照9:1划分为训练集和验证集,数据集可视化效果如图3所示。

图3 数据集可视化效果

4.2 试验指标

本文使用召回率(Recall, R)、 精确率(precision, P)、均值平均精度(mean Average Precision, mAP)作为深度学习模型的评价指标。mAP@0.5表示在IOU(交并比)为0.5时,计算每一类别的所有图片的平均精度AP,然后对所有类别的AP 求平均,即为mAP。mAP@0.5:0.95表示在不同IOU 阈值(从0.5~0.95, 步长为0.05)上的平均mAP。评估指标的计算公式(3)~(6)所示。 其中,TP(true positives)表示正确识别出的风机缺陷数量,FN(negatives)表示未识别出的风机缺陷数量, FP(positives)表示将其他物体误检为风机缺陷的数量。P(precision)为精确率,表示预测的风机缺陷中,预测正确的数量占比。R(recall)为召回率,表示所有的风机缺陷中,模型能够识别出来数量占比。其中,n 为总类别数,i 为当前类别的序号。

4.3 试验结果分析

本研究采用了基于pytorch 深度学习框架的YOLOv5算法,设置批量大小为64,学习率为0.01,通过50个训练周期进行模型的训练和验证。试验结果显示,改进模型的训练和验证损失持续下降,模型的精度逐渐提高,直到约50个训练周期后稳定。改进模型检测效果如图4所示。改进前后模型性能对比详见表1。

表1 改进前后模型性能对比

图4 改进模型检测效果

由表1可知,本文改进的模型在相同的风机缺陷检测数据集上,取得了优秀的表现。准确率、召回率和mAP 分别达到了83.3%、74.7%和79.7%,比YOLOv5s 原模型分别提高了6.9%、1.3%和2%,这表明CBAM 注意力机制的应用对模型性能的提升是有效的。为了进一步验证模型的优越性,对测试数据进行了检测,检测效果对比如图5所示。

图5 检测效果对比

图5(a)为改进模型检测图,图5(b)为YOLOv5原模型检测图,与YOLOv5原模型相比,改进模型在检测过程中漏检情况更少,同时检测置信度也更高。

5 结语

为了提高风机缺陷检测的准确性,本文对YOLOv5算法进行了改进,将CBAM 注意力机制加入YOLOv5的主干网络中。这一改进能够帮助模型更好地学习风机缺陷的特征,提高特征提取的能力,从而减少误检和漏检的情况。这项改进对于工业缺陷检测具有重要的实际应用价值。

猜你喜欢
注意力风机卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
风机折翼“倒春寒”
基于傅里叶域卷积表示的目标跟踪算法
风机倒塔事故为何频发?
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
节能技术EPU在AV71风机上的应用
TS3000系统防喘振控制在 AV80-14风机中的应用