1. 引言
在风力发电机组中,风机叶片是造价成本最高的部分。由于风机叶片的复杂物理结构,它们的受力状态会随着风速的变化而发生变化,这使得它们成为最容易发生故障的部位。如果不能及时检测风机叶片的缺陷和故障隐患,提前预防故障的发生,并保证风机叶片的正常运行,就会因风机叶片故障而造成严重损失。因此,风机叶片缺陷的检测具有极其重要的意义和价值。
传统的风机叶片缺陷检测技术主要基于图像处理检测技术和传感器等来完成检测的,如阈值分割,边缘提取等和声传感器,振动传感器,光传感器等。如曹庆才 [1] 等为了提取风机叶片缺陷,采用机器视觉方法,对风机叶片图像进行滤波和对比度增强预处理,然后采用OSTU阈值法进行图像分割,最后使用Canny边缘检测算法提取叶片缺陷特征;严海领 [2] 等为了能够检测不同颜色风机叶片中的缺陷类型,分析基础传统边缘提取算子的提取效果,最终得出采用Prewitt算子提取边缘特征和图像增强处理的方法后对不同颜色风机叶片缺陷特征提取效果较好;邹洁 [3] 等人将光纤光栅传感器布置在风机叶片上,对传感器接收到的冲撞信号进行信号能量分布和中心波长分析来得出风机叶片是否存在表面损伤缺陷。但是这些技术都有不足之处,如基于传统图像处理技术的缺陷检测方法,需要人工设计的算法去提取相对应的缺陷明显特征,人为主观性大,且提取效果受环境因素影响较大,对环境要求比较严格,识别准确度不高。基于传感器检测技术的方法,需要人为在风机叶片表面布置对应的传感器设备,搭建检测传感器信号系统,整体花费费用大,且不能对缺陷类别进行分类。随着机器学习和深度学习的迅速发展,深度学习能够根据标签信息自主学习类别特征的模型能力,使其成为缺陷识别中热门的一门技术。
本文提出了一种改进的YOLOv5算法,用于风机叶片缺陷的检测。首先,采用了限制对比度自适应均衡化算法(Contrast Limited Adaptive Histogram Equalization, CLAHE) [4] 对数据集进行预处理,以减少复杂背景和运动模糊等因素对数据集质量的影响,并提高模型的检测能力。然后在主干网络中引入了极化自注意力机制(Polarized Self-Attention, PSA) [5] ,使得模型能够更加关注叶片缺陷特征,忽略次要背景特征,提高目标缺陷的识别和定位能力。最后在主干网络末端引入了金字塔池化模块(Pyramid Pooling Module, PPM) [6] ,通过增加多个池化层,充分利用全局上下文信息,提高了对多尺度目标的识别能力,以增强模型对大目标和小目标缺陷的检测能力。从而进一步提高了模型的性能。实验结果表明,改进的YOLOv5算法相比原有算法的召回率上升了13.7个百分点,准确率提升了16.3个百分点,平均精度均值提高了16.5个百分点,有效提升了原有YOLOv5算法的检测能力。
2. YOLOv5算法
YOLOv5是一种基于深度学习的目标检测算法,其核心思想是将输入图像分割成多个网格并在每个网格内独立进行目标检测,从而实现对整个图像的目标检测。与其它的目标检测算法相比,YOLOv5的扩展性更好,检测速度也更快。如图1所示该算法的具体结构包含四个主要模块:预处理模块、主干网络、路径聚合网络和输出模块。
预处理模块主要对输入图像进行预处理,以适应网络的要求。其中,Mosaic数据增强 [7] 对模型输入的图像进行每四张图像随机剪裁、旋转、缩放等处理手段之后再进行拼接,以扩充数据集的数据量,增加算法对模糊目标和小目标的检测能力。自适应锚框计算针对不同待检测的目标会预设长宽比检测框,在训练过程中将预测框与真实框对比,根据差值反向传播获得最佳锚框值。自适应图片缩放则通过计算图像最适宜的尺寸,增加灰边来补齐缺失图像,减少计算量,提升模型的训练速度。
主干网络是YOLOv5算法的核心部分,采用new CSPDarknet53模块,其中,new CSPDarknet53模块包含Focus结构和CSPDarknet53 [8] 结构。Focus结构可以将输入图像分割成多个独立的区域,以增加通道的数量,并生成采样特征图。而CSPDarknet53结构则可以通过调整网络的深度,将特征图划分为不同的梯度,从而实现更加有效的特征提取。通过提取图像特征,将其馈送到路径聚合网络,以达到预测输出三个不同尺度结果的目的。CSPDarknet53结构解决了模型训练过程中重复的梯度信息,将梯度变化集成到特征的映射中,从而降低计算速度,减少参数并压缩模型。
路径聚合网络模块是为了改善特征金字塔网络的性能,如图2所示。与FPN (Feature Pyramid Networks, FPN) [9] 从上到下采用上采样方式只传递高维语义信息不同,路径聚合网络 [10] 在FPN后接入从底部到顶部采用下采样方式传递位置信息的Bottom-up结构,使得整体具有较高的位置信息。路径聚合网络模块将FPN和Bottom-up有机地结合起来,可以更好地改进整体网络模型,从而增强模型的整体语义和位置信息提取,提高网络模型特征的表达能力。
输出模块由边界框损失函数 [11] 和分类损失函数 [12] 以及置信度损失函数 [13] 和尺度平衡损失函数与非极大值抑制 [14] 和锚框机制组成,生成三种不同的特征图输出,从而实现多尺度预测 [15] 。

Figure 1. YOLOv5 algorithm structure diagram
图1. YOLOv5算法结构图

Figure 2. Path aggregation network module
图2. 路径聚合网络模块
3. 改进的YOLOv5风机叶片缺陷检测算法
为了解决数据集中各风电场背景不一致以及无人机运动中产生的模糊和噪音现象,提高数据集质量,采用CLAHE预处理算法,对自制风机叶片YOLOv5目标缺陷检测数据集进行输入前处理。又因为YOLOv5的主干特征提取网络并未能自学习标注的缺陷特征之间关系且数据集中同一缺陷可能表现不同形式,类内特征变化比较大,且无法进行长距离学习建模形成高级的、非线性的表示特征,因此为了提升YOLOv5对复杂数据集的特征学习能力,关注各个特征图之间的通道信息和空间信息,在主干网络中融入PSA自注意力机制,提升模型检测能力和精度。在分析数据集中可知,不同缺陷的尺度差异也比较大,为了进一步充分利用特征图中的多尺度信息,在YOLOv5主干网络中嵌入PPM模块,增强网络模型对多尺度目标检测能力,提升模型的综合检测能力。其中,引入的PSA和PPM的融合结构如图3和图4所示。最终,本文改进后的算法如图5所示,其中基本模块为CBS,其由卷积层,批量正则化层,SiLU损失函数构成,多数模块的组成都离不开它;Res模块是为残差结构组成,残差结构有两个分支,一个分支经过两个CBS进行特征提取,另一个分支称为Shortcut直接将原始特征图连接到另一个分支输

Figure 3. PSA_CSP1_X network structure
图3. PSA_CSP1_X网络结构

Figure 4. PPM_CSP1_X network structure
图4. PPM_CSP1_X网络结结构

Figure 5. YOLOv5 PSA PPM network structure diagram
图5. YOLOv5 PSA PPM网络结构图
出,并进行add操作,具有CSP1命名的模块中都包括该结构;Focus结构称为切片结构,其把输入图片经过切片操作(每2 × 2大小的像素区域,把位于同一位置的像素拼到一起),将原本只有3通道的RGB原图,下采样成具有12通道的特征图,且并没有原图信息的丢失;SPPF结构为池化结构,采用串联式的3个5 × 5大小的最大池化结构,使得可以对输入特征图,提取多个尺度特征,并进行concat融合。
3.1. 数据预处理
在深度学习中,数据集的质量直接影响着模型的精度、泛化能力和鲁棒性。在风机叶片数据集中,由于存在多样化的缺陷背景,拍摄抖动、模糊化和天气等因素的影响,使得缺陷特征难以被网络模型准确提取。为了解决这些问题,本文采用了CLAHE对数据集进行预处理。与普通的直方图均衡化不同,CLAHE算法会计算多个直方图,每个直方图对应于图像的不同部分,然后使用它们来重新分配图像的亮度值。这种自适应方法适用于改善局部对比度,并增强图像每个区域中边缘的清晰度。通过CLAHE算法处理后,图像中的缺陷区域更加明显,使得网络在推理过程中更容易学习到缺陷特征。图6展示了处理前后的对比图,可以明显看出CLAHE算法的有效性。


Figure 6. Comparison before and after CLAHE treatment
图6. CLAHE处理前后对比
3.2. 融合极化自注意力机制
在风机叶片数据集中,缺陷的背景复杂,且同一类型缺陷特征变化大,但不同缺陷类型的位置信息是较固定,在自制数据集中的腐蚀类别位置通常在叶片前缘位置,叶尖开裂类别位于叶片尖端位置,为了使得原始YOLOv5主干网络能够对数据集类内特征变化大的问题进行强大建模,和关注同一缺陷的位置信息。本文采用PSA注意力机制将其与主干网络进行融合。比较SE [16] 只关注通道信息,GE [17] 只关注位置信息,PSA通过混合注意力提升模型检测能力,对比CBAM [18] 虽也是混合注意力,但是通过减少输入张量的通道尺寸,使用二维卷积来计算空间注意力,从而获得位置信息,且卷积操作只能捕获局部关系,无法获得视觉任务中必不可少的长程依赖关系。像上述这些注意力机制大多是都是采用全连接层、卷积层来获取注意力权重,在挖掘信息的时候不是很有效,影响模型的建模能力,而PSA通过自注意力机制捕捉全局信息来获得更大的感受野和上下信息,进而获取注意力权重,充分利用自注意力机制结构的建模能力,相比较其它自注意力机制通过计算相似性矩阵来确定每个位置或通道的权重分配,从而实现对特征的加权和聚合,这种方法往往无法精确地表达不同维度之间的关系,尤其是当特征的维度较高时,存在着难以建模的问题。PSA极化自注意力采用了一种全新的思路,通过极化滤波结构在通道和空间维度保持比较高的分辨率,这一步能够减少降维度造成的信息损失,通过增强结构采用细粒度回归输出分布的非线性函数,进行部分信息恢复。这样做可以使模型更加灵活地处理不同维度之间的关系,增强模型的泛化性能和表示能力。并且通过在正交方向进行降维,减少模型计算量,提高模型推理速度。
PSA模块如图7所示,将PSA机制分为以下两条分支:
1) 通道分支:
:
(1)
(2)
其中,
,
,
表示
卷积层,
和
表示两个张量的Reshape算子,
表示SoftMax算子,
,
之间的内部通道数为
。通道分支的输出是
,
表示通道乘法运算,完成通道注意力分配。

Figure 7. PSA attention mechanism structure diagram
图7. PSA注意力机制结构图
2) 空间分支:
(3)
(4)
其中,
和
表示标准的
卷积层,
,
和
表示三个张量的重朔算子,
表示全局池化算子,
表示矩阵的点积运算,空间分支的输出是
,
表示空间乘法运算,完成空间注意力分配。
3) 融合:以上两个分支的输出先进行通道上的注意力,再进行空间上的注意力,最后并联融合。
(5)
其中,
表示逐元素加法运算。
本文在主干网络中的前三个CSP模块中嵌入PSA模块,提高模型对主要检测目标风机叶片的位置检测能力和叶片缺陷特征的检测精度,使得模型在复杂的风机叶片背景之下和同一缺陷多样化的情况下,提高模型识别缺陷能力,融合结构如图3所示。
3.3. 多尺度检测改进
原始YOLOv5中的PAN模块和检测层设计使得可以检测大,中,小三种尺度的目标,但由于风机叶片数据集中缺陷尺度之间差异过大,且原始YOLOv5中的CSPDarknet53使用的为传统卷积,导致特征图之间的尺度信息并没有被充分利用,使得YOLOv5在数据集中检测能力较差,容易产生漏检,且影响风机叶片缺陷检测的精度。虽然网络中的SPPF部分使得网络具有多尺度检测能力,但通过实验来看的效果并不佳,应该由于对于腐蚀缺陷来说尺度过大,一般占据整张图像的斜边,而SPPF通过把特征图经过不同大小最大池化核池化后,直接进行Concat,导致全局的相关上下文信息进行丢失,为了提高主干网络的全局尺度信息学习,并增加模型多个尺度融合能力,本文在主干网络的最后一个CSP模块中嵌入PPM模块,增强模型的全局尺度信息学习能力,提高模型对多尺度目标的检测能力,PPM结构如图8所示,融合结构如图2所示。
PPM结构的设计,采用四种不同尺寸(1 × 1, 2 × 2, 3 × 3, 6 × 6)的池化操作来实现多种尺寸的特征图,通过使用不同大小的金字塔池化操作,PPM可以从不同尺度的感受野中提取关键信息,使模型能够更好地处理不同大小的物体,且SPPF的最大池化操作会导致信息的丢失,而PPM使用的是自适应平均池化,可以避免信息的丢失,并保留更多有用的信息。为了进一步减少通道数,使用卷积核大小为1 × 1的卷积进行卷积操作。此外,为了生成与输入张量完全一致的特征图,并能按照不同通道维度组合它们,采用双线性插值技术来进行上采样,最后生成一个融合的复合特征图,使得可获得不同大小的感受野,通过融合局部感受野和全局感受野的特征图,聚合不同区域的上下文信息,以提高网络获取全局信息的能力,并且与利用多个标准卷积层(3 × 3)和池化层(3 × 3)来提取不同尺度的特征相比,PPM通过自下向上的不同尺寸大小的核进行提取多个尺度特征,可以在不增加网络复杂度的情况下提高模型能力。
4. 实验环境
4.1. 实验环境描述
本文研究过程并未有公开的风机叶片缺陷数据,因此本文的实验中使用的数据集是自建的风机叶片数据集,如图9所示,展示了部分风机叶片缺陷数据集的图像。




Figure 9. Partial example of a dataset for wind turbine blade defects
图9. 风机叶片缺陷数据集的部分示例
当完成图像标注之后,将数据集按7:3的比例进行划分,其中训练集1395张,测试集600张,总共1995张,总共两类类别腐蚀和叶尖开裂,但由于YOLOv5中自带数据扩充功能,实际模型训练过程中数据量总共翻了4倍。当模型完成训练过程后,利用测试集样本进行推理预测来评估模型的训练好坏。
4.2. 实验环境设置和训练
本次实验通过使用Windows10操作系统,利用Pytorch的深度学习框架,以及PyCharm的开源软件,构建了一个用来搭建风机叶片缺陷检测模型平台,并在开源仓库代码YOLOv5-obb的基础上进行风机叶片缺陷检测实验。本文的实验使用的软硬件设备配置具体情况,如表1所示:

Table 1. Hardware and software configuration table for the experiment
表1. 实验的软硬件配置表
训练过程中,模型学习率初始值设为0.001,并采用余弦退火学习率,每次训练模型采用64张图片进行训练,总共训练200个epoch,权重衰减系数设为0.0005,并采用subdivision系数减少模型训练显存占用,动量项参数设为0.9,实验的超参数如表2所示,损失函数如图10所示,由图可知当迭代次数至100以后,模型的回归损失,分类损失和角度损失逐渐趋于收敛至0.1损失值以下,并且梯度下降平滑没有出现异常波峰现象,说明模型并没有过拟合,且模型的训练效果较好,泛化能力强。

Table 2. Experimental hyperparameters setting
表2. 实验超参数设置
4.3. 模型评价指标
本文使用准确度(Precision)、召回率(Recall)和平均精度均值(Mean Average Precision)等指标来评估风机叶片缺陷检测方法的效果。评价指标的基本定义如表3所示:

Table 3. Basic definition of evaluation indicators
表3. 评价指标基本定义
TP表示真正,代表真实类别是正类,模型预测结果是正类的样本;
FP表示假正,代表真实类别是负类,模型预测结果是正类的样本;
FN表示假负,代表真实类别是正类,模型预测结果是负类的样本;
TN表示真负,代表真实类别是负类,模型预测结果是负类的样本。
以上评价指标公式如下所示:
(6)
(7)
(8)
4.4. 检测结果分析
为了验证本文算法的有效性,以及不同改进点对原有算法的检测精度影响,本文设计了以下5组消融实验并且保证每组实验的数据集,训练环境相同。如表4所示,展示了未改进的YOLOv5与改进的YOLOv5算法对风机叶片缺陷检测的性能进行对比。
根据表4数据可知,在YOLOv5的基础上,融合PPM单元的模型mAP上升了1.6个百分点,增强了对多尺度缺陷目标的检测能力,融合PSA模块的模型mAP上升了2.4个百分点,提高了检测缺陷类型精度,融合PSA和PPM的模型mAP提升了14.2个百分点,极大提升了主干网络的有效信息提取能力。

Table 4. Unimproved YOLOv5 and improved YOLOv5 detection performance comparison
表4. 未改进YOLOv5与改进YOLOv5检测性能对比
结合CLAHE的预处理算法处理图像,对比YOLOv5 + PSA + PPM模型mAP提升了2.3个百分点,有效解决了图像复杂噪声困扰问题,但从单一指标来看的话,很明显结合CLAHE预处理算法后的模型对比YOLOv5 + PSA + PPM模型反而在准确率指标上下降了2.7个百分点,但召回率提高了10.4个百分点,可能由于这种传统均衡化处理算法虽说进行了部分图像去干扰处理,导致图像清晰使得部分目标查全率上升,但由于P-R关系之间是此消彼长的,因此准确率就下降了。
由以上分析可知本文最终改进的检测方法YOLOv5 + PSA + PPM + CLAHE不仅能够显著提升模型指标,而且其在单一指标上的改进效果大致优于其它开展的对比实验的实验效果。这都依靠于PSA模块通过凭借强大的像素级空间和通道建模能力,进行有效的长距离建模,学习高级的非线性特征表示,进而识别复杂的缺陷特征信息,并且通过自主力机制学习缺陷目标特征权重,忽略次要背景信息,使得模型倍加关注缺陷目标特征信息和PPM基于一组原始的特征图,应用不同尺度的池化核,然后最后拼接,从而引入多尺度特征图解决不同尺度下的缺陷目标难以检测问题。经过实验表明,采用CLAHE,PSA和PPM模块,可以有效地学习特征图之间的信息,使得缺陷检测模型能够更加准确地捕捉到最关键的风机缺陷特征,同时减少对其他不重要特征的干扰,从而显著提高了检测结果的效果。
从图11中可以看出,YOLOv5对于小尺度叶尖开裂缺陷出现漏检现象,以及背景误检现象,但改进的YOLOv5就将其检测识别出来。本文通过限制对比度自适应均衡化算法对数据进行预处理并加入极化自注意力机制和金字塔池化模块来改进YOLOv5的算法模型,检测风机叶片缺陷可靠性有明显的提高,这说明了本文改进的YOLOv5算法模型的检测模型在风机叶片缺陷检测上有较好的提升,有助于风机叶片缺陷识别。
5. 结语
本文针对目前风机叶片表面缺陷大多数采用传统检测技术情况,提出了一种改进YOLOv5的风机叶片检测算法,改进算法包括三个方面引入CLAHE对数据进行预处理,融合PSA注意力机制,增添PPM池化模块。实验结果表明,改进YOLOv5在自制数据集上平均精度均值达到82.4%,原YOLOv5平均精度均值为65.9%,大大提升了YOLOv5模型的风机叶片缺陷检测能力,但由于缺陷种类过少,未来通过采集更多类别缺陷进行训练模型。
基金项目
国家自然科学基金项目(51905331)。