1. 引言
风力发电作为一种清洁、可再生的能源形式,受到了全球范围内的广泛关注和推动。全球风电装机容量持续增长,年平均增长率超过了10%。越来越多的国家将风能发电作为主要的能源发展方向,加大了风电项目的建设和投资。风力发电场通常位于开放环境中,暴露在自然环境下,受到自然演变和生物活动的影响,如强风、大雨、冰雹、沙尘暴、雷暴对风机叶片造成损伤,导致缺陷的产生。风机叶片是风能发电系统的核心组成部分,其结构和状态直接影响发电系统的安全运行。不及时发现和处理缺陷可能导致叶片断裂,从而引发严重的事故。
传统的叶片缺陷检测通常需要人工对大量图像进行观察和分析,而目标检测算法可以自动地标记和定位缺陷,提高了检测的效率和准确性 [1] 。目前,学者对叶片缺陷检测采用的算法可以分为两类 [2] ,一类是两阶段(Two-Stage)目标检测算法,两阶段目标检测算法通常具有较高的检测精度,但相对较慢,如Zhang [3] 等人在Mask R-CNN的基础上,提出了一种新的检测方法,称为图像增强Mask R-CNN (IE Mask R-CNN),包括用于预处理数据集的图像增强和增强技术的最佳组合,以及为WTB缺陷检测和分类任务调整的Mask R-CNN模型;Mao [4] 等人使用迁移学习、可变形卷积和可变形RoI对齐的改进策略以及上下文信息融合改进Cascade R-CNN,改进后的算法对风机叶片表面缺陷检测最大mAP达92.1%。蒋姗 [5] 等将FPN特征金字塔结构网络与Faster R-CNN算法进行结合,并采用Soft-NMS算法规避不同目标检测框因重叠而被误删的情况,有效提高了缺陷检测的精度和效率;另一类是单阶段(One-Stage)目标检测算法,单阶段目标检测算法具有较快的检测速度,但相对于两阶段算法在检测精度上有一定的落后,王道累 [6] 等将SSD骨干神经网络更换为ResNet101,并提出一种新型注意力网络,用于学习同一通道特征图区域间关系,改进后的模型平均精度和检测精度均有较大提升;Rui Zhang [7] 等在原始YOLOv5的基础上增加了一个微尺度检测层,并使用K-means算法对锚框进行重新聚类,并在每个特征融合层中添加CBAM注意机制,以减少小目标缺陷和其他缺陷的特征信息丢失。改进后的算法在mAP和FPS均有所提高;朱佳伟 [8] 等通过两种残差网络ResNet,ResNext替代传统VGG作为SSD算法的Backbone进行特征提取,在不增加网络结构复杂度的同时,大大提升了网络性能。
2. YOLOv7算法
YOLOv7目标检测算法是由Chien-Yao Wang和Alexey Bochkovskiy的团队于2022年开发并开源,其准确率、速度和通用性等方面相较于以往的单阶段目标检测算法都有很大提升 [9] 。YOLOv7网络模型结构主要由输入端(Input)、骨干网络(Backbone)、颈部(Neck)、检测头(Head) 4部分组成,其网络模型架构如图1所示。
Figure 1. YOLOv7 network architecture
图1. YOLOv7结构图
最新的YOLOv7模型集成了高效层聚合网络E-ELAN、基于Concatenation模型的缩放等策略,在检测效率与精度两个方面实现了提升 [10] 。在数据输入模块,YOLOv7模型主要采用了Mosaic数据增强技术和传统Mixup方式。Mosaic增强是一种基于空间的随机化方法,它将4张图像拼接组成一张图像。Mosaic增强可以帮助模型扩大训练数据,提高模型的泛化能力和准确性。随后,利用自适应锚框计算方法,使得输入的图像数据都是
的尺寸,从而满足主干网络对图像的尺寸要求。主干网络:YOLOv7网络主要由CBS、E-ELAN和MP三部分组成。CBS模块由一个Conv层,一个Batch Normalization层,还有一个激活函数Silu层组成。头部网络采用特征金字塔网络(FPN)架构,采用PANet设计解决尺度变化问题。引入空间金字塔池和卷积空间金字塔池(Sppcspc)结构、扩展高效层聚合网络(E-ELAN)和MP2。Sppcspc结构通过在空间金字塔池化(SPP)结构中加入卷积空间金字塔(CSP)结构,增大感受视野,使得算法适应不同的分辨率图像,用来优化特征提取。预测网络采用Rep结构,Rep结构能够帮助网络更好地控制梯度流,从而提高网络的训练效率和准确性。本文将对YOLOv7的部分模块和网络进行改进,以提高其对风电叶片的缺陷识别能力。
3. YOLOv7模型改进
3.1. SAConv
对于风机叶片缺陷检测任务来说,通常需要考虑不同尺度的缺陷区域,而原始的YOLOv7算法采用了固定大小的视野感受机制,通过将输入图像划分为网格单元,并在每个单元上预测目标。这种设计限制了模型对不同尺度目标的感知能力。较小的缺陷可能会被较大的感受野忽略或模糊化,而较大的缺陷可能会被部分覆盖,导致检测不准确。文献 [11] 提出的可切换空洞卷积SAConv (Switchable Atrous Convolution),允许在一个卷积层中使用不同的空洞率,从而获得多尺度的感受野。通过将Backbone部分的MPConv替换为可切换空洞卷积,能够帮助模型更好地捕捉不同尺度缺陷的特征和上下文信息,SAConv结构如图2所示。
SAConv的整体架构由三个主要的组件构成,中间是SAC组件,前后为附加的两个全局上下文模块,这两个模块是轻加权的,因为输入特征首先由全局平均池化层压缩。可切换空洞卷积是在空洞卷积的收集结果处添加了开关功能,开关功能依赖于空间性,每一个特征映射地区可以有不同的开关区控制SAConv的输出。用
表示以x为输入,y为输出,w为输出的权重系数,空洞率为r的卷积操作。将普通卷积层转换为可切换空洞卷积的操作如公式1所示。
(1)
其中r为空洞卷积的扩张率,
是可训练的卷积权重增量,开关函数
通过一个5 × 5核的平均池化层和一个1 × 1卷积层实现,通过调整开关函数的值,自适应地选择和调整不同空洞率的卷积核,从而提升模型的灵活性和适应性。
3.2. CoordAtt
风力发电机的运作环境通常处于风力资源丰富但是无人、少人的地区,长时间运行的风机叶片通常具有复杂的结构和纹理,包括叶片的褶皱、孔洞等。这些细节和纹理可能与某些缺陷相似,这种相似性增加了将背景错误地识别为缺陷或将缺陷错误地识别为背景,导致缺陷位置信息的混淆,造成较高的误警率和漏警率。部分缺陷特征面积比较小,也增大了检测难度。
针对这一问题,提出在Neck层中添加CoordAtt模块,通过引入坐标信息来增强网络对目标位置的感知能力,学习特征目标的坐标权重,使得网络能够更加关注缺陷部位与全局背景的关系,提高了对小目标缺陷和复杂纹理缺陷的感知和定位能力。
CoordAtt (Coordinate Attention)是一种用于增强卷积神经网络对位置信息感知能力的注意力机制 [11] 。它主要通过学习特征图的坐标权重,使网络更加关注不同位置的特征,以提高对位置信息的敏感性。坐标注意力通过坐标信息嵌入和坐标注意力生成两个步骤来编码具有精确位置信息的通道关系和长距离依赖关系 [12] 。CoordAtt坐标注意力机制如图3所示。
CoordAtt的坐标信息嵌入是指将2D全局池化转化为一对1D特征编码进行操作。具体来说,给定输入X,使用两个空间范围的池化核(H,1)或(1,W)分别沿水平坐标和垂直坐标对每个通道进行编码。因此,在第c通道高度h处的输出可以表示为
(2)
类似地,第c个通道宽度为w的输出公式表达为
(3)
通过上述的两种变换也使得注意力模块能够捕获一个空间方向上的长距离依赖关系,并保留另一个空间方向上的精确位置信息,有助于网络更准确地定位感兴趣的对象。
坐标注意力生成是将公式(2)和公式(3)产生的聚合特征图进行级联操作,然后输入到一个1 × 1卷积变换函数F1中进行操作 [13] ,计算公式为
(4)
将 沿空间维度拆分为两个独立的张量
和
。利用另外两个1 × 1卷积变换
和
,分别将
和
变换为与输入X具有相同通道数的张量,得到:
(5)
(6)
将输出
和
进行扩展并分别作为注意力权重,得到坐标注意力块的输出公式表达为
(7)
3.3. Wise-IoU
针对YOLOv7中坐标损失函数使用的是Ciou损失函数,主要考虑边界框的位置、大小和重叠程度,而无法很好地处理一些困难样本或边界框之间的不均匀分布。而Wise-IoU可以很好改善这种状况。本文提出使用Wise-IoU替代CIoU损失函数,使得模型在边界框回归中更准确地关注缺陷区域,从而提高边界框回归的准确性。
使用Wise-IoU替代IoU对锚框进行质量评估,可以提供了明智的梯度增益分配策略。该策略在降低高质量锚框的竞争力的同时,也减小了低质量示例产生的有害梯度。使得Wise-IoU可以聚焦于普通质量的锚框,并提高模型的整体性能 [14] 。
由于训练数据中不可避免地包含低质量样本,距离和纵横比等几何因素会加剧对低质量样本的惩罚,从而降低模型的泛化性能。基于此Wise-IoU构造了具有两层注意力机制的边界框损失,通过添加非单调聚焦系数,得到动态的LIoU和锚点框的质量划分标准,使得WIoU v3可以在每一时刻做出最符合当前情况的梯度增益分配策略,其计算公式如下:
其计算公式:
(8)
(9)
(10)
(11)
(12)
其中,WIoUV1为损失函数;r为非单调聚焦系数;
,
为最小包围盒的尺寸;
、
为真实框的中心点;
为描述锚框质量的离群度;
为单调聚焦系数;
为动量为m的滑动平均值。
4. 实验结果与分析
4.1. 数据集与预处理
自建风电叶片缺陷数据集,通过无人机航拍采集风机叶片相关数据,航拍过程中,我们遵循相关安全规范,并确保数据的可靠性和完整性,采集图像分辨率为640*640,将风机叶片的缺陷分为边缘缺失、污染、雷击开裂等类别,再通过Label-Img进行数据标注,部分图像标注效果如图4所示。
4.2. 数据增强
由于风电叶片缺陷数据集中,真实缺陷样本较少,导致数据集的类别不平衡。这可能会使得模型在缺陷样本较少的情况下难以准确识别和定位缺陷。通过Mosaic数据增强,将多个不同图像拼接成一个大的合成图像,从而增加数据的多样性和复杂性。还通过尺寸随机缩放、明暗度变化、高斯滤波及HSV变换等方法,数据增强效果如图5。
4.3. 训练参数设置
训练时Batch_size = 8,Learning rate设置为0.01,Final OneCycleLR learning rate设置为0.1,Weight-Decay设置为0.0007,epochs设置为300。其他基础环境版本和硬件如下(表1)。
Table 1. Environment and hardware parameters
表1. 环境和硬件参数
4.4. 评判指标
对于目标检测模型检测性能的评判,通常使用mAP (mean Average Precision)、FPS (Frames Per SecondS)、Recall、Precision这4项指标 [15] 。mAP综合考虑了模型在不同目标类别上的精确度和召回率,用于衡量模型在检测任务中的整体性能。mAP的计算基于 Precision-Recall曲线,通过计算不同阈值下的平均精确度来得出最终的结果。Precision是指模型检测到的正样本中真正正确的比例,高精度意味着模型的误检率较低。Recall是指模型正确检测到的正样本数量与真实正样本总数之间的比例,高召回率意味着模型能够较好地找到目标。FPS表示模型每秒处理的图像帧数,较高的FPS值表示模型能够快速处理图像,适用于实时目标检测任务。其中三种评判指标的计算公式如下(13) (14) (15):
(13)
(14)
(15)
4.5. 实验结果
在自制的风力涡轮机损伤数据集上进行训练实验,比较YOLOv7模型和改进后YOLOv7模型的结果。由相关数据对比可见,改进后的模型相较于原始YOLOv7模型获得了更优秀的模型收敛能力,模型的检测精度也有所提高。改进后的模型在LOSS、mAP@0.5" target="_self">mAP@0.5、mAP@0.5" target="_self">mAP@0.5:0.95、precision、Recall与改进前的模型对比效果如图6~10所示。
4.6. 检测能力对比
使用模型训练生成的权重进行图像检测对比,图像检测对比效果如图11所示,左侧是原始模型的检测效果,右侧是改进后模型的检测效果。改进后的模型在精确度有较为明显的提升,漏警率和误警率有所降低,模型的综合检测能力有一定的提高。
4.7. 对比实验
为验证本文算法对风机叶片图像的检测效果,通过实验与其他几种常用的目标检测算法进行对比:Faster RCNN、YOLOv5、SSD等。对比实验结果如表1所示,由表2可以看出,改进后的YOLOv7模型算法比其他几种目标检测算法具备一定的先进性,模型精度和检测效率都有明显优势。
Faster RCNN属于两阶段目标检测算法,通常具有较高的准确性,在检测小目标和复杂场景中表现出色。同时支持处理不同尺度的目标,通过使用多尺度的候选区域生成和区域池化。但是由于需要两个阶段的处理,Faster R-CNN的训练和推理速度较慢,尤其在实时应用中可能受限。SSD算法属于一阶段目标检测算法,采用了单一的卷积神经网络,同时执行目标分类和位置回归,相比两阶段目标检测算法,有着更快的检测速度。尽管SSD在多尺度处理方面表现较好,但在检测小目标方面可能相对不足。一些极小尺寸的目标可能难以被准确检测。YOLOv5s是YOLO系列中的一个版本,属于单阶段目标检测算法,能够在保持较好的准确性的同时,实现了更快的推理速度。
5. 结束语
本文提出一种基于改进YOLOv7算法的风机叶片缺陷识别方法,引入了可切换空洞卷积、CoordATT注意力模块、Wise-IoU,对原始YOLOv7模型的网络进行了改进。相较于原始YOLOv7模型在识别精度、召回率、检测速率等关键性能指标均有1.5%以上的提升,模型训练的损失函数明显降低。对比于FasterRCNN、SSD等传统卷积神经网络算法,改进的YOLOv7模型具备更高的精度、效率、鲁棒性。实现了对风机叶片缺陷的高精度识别的同时,兼顾了检测速率,在风力发电机无人机巡检领域具备一定先进性和工业实用性。下一步的工作是进一步优化网络结构,提升网络检测能力的同时,拓宽应用场景。