焦晓峰,蒋兴群,刘 波,宋 力,3,陈永艳,3,张宪琦
(1.内蒙古电力科学研究院,呼和浩特 010020;2.内蒙古工业大学,呼和浩特 010051;3.内蒙古自治区可再生能源重点实验室,呼和浩特 010051;4.哈尔滨工业大学计算学部,哈尔滨 150001)
叶片是风力发电机组将风能转变为电能的关键部件,在工作过程中易受风沙、雷击和海水等因素的破坏与腐蚀[1-4],出现表面漆皮脱落、裂纹和雷击损伤等情况,影响机组性能并带来安全隐患[5]。
目前国内对叶片损伤的检测方法主要依赖于人工检测,如使用高分辨率相机从风力发电机组底部多角度拍摄静止的叶片,根据图像人工分析判定叶片健康状况;或使用高空吊篮的方式对风力机组叶片进行人工检测等。人工检测效率低,且受人为因素影响严重,无法保证检测精度,且高空作业的危险性和检测成本高,不适合日常巡检[6-8]。
针对上述不足,本文利用风电场大数据结合卷积神经网络的方法[9-10],用大量风力机叶片图像构建损伤叶片图像数据集,选取CenterNet算法[11]作为基础检测网络,构建风机叶片损伤检测识别模型,实现对叶片损伤的快速准确检测识别。骨干网络采用DLA-60网络[12],并在DLA-60中引入弱监督数据增强网络(Weakly Supervised Data Augmentation Network,WS-DAN)算法[13]中的注意力引导数据增强机制(Attention Guided Data Augmentation),提升风机叶片损伤检测识别模型的精度,并通过实验验证该算法的实时性和精确性。
CenterNet算法由ZHOU等人于2019年提出[11],将目标检测问题看作一个关键点估计问题。Center⁃Net算法大致流程如下:
(1)由主干网络输出特征图(Feature Map);
(2)将特征图送入3个处理分支,分别得到热力图(Heat Map)、物体宽高的预测情况和物体中心距离热力点偏移情况(Offset);
(3)通过后处理过程,得到目标物体边界框(Bounding Boxes)。
WS-DAN算法中的注意力引导数据增强机制,可使网络更加关注图像中的有效特征区域。注意力引导数据增强机制主要包含两个操作:一是注意力剪裁(Attention Cropping),裁剪并放大其中一个注意力区域(Attention Region),增强局部特征呈现;二是注意力删除(Attention Drop⁃ping),随机从图像中删除一个注意力区域,以激励网络模型提取其他有识别力的部分。
借鉴WS-DAN算法中的注意力引导数据增强机制,在主干网络DLA-60后添加注意力引导数据增强机制,其结构示意图如图1所示。添加注意力引导数据增强机制前,需添加注意力分支,用于提取注意力图并作为后续的输入。改进后的网络命名为DLATT,由主干网络、注意力分支和注意力引导数据增强机制三个模块构成。DLATT网络工作流程如下。
图1 CenterNet主干网络DLA⁃60添加注意力引导数据增强机制示意图Fig.1 Diagram of DLA⁃60 backbone network with attention⁃guided data enhancement mechanism
(1)获取特征图。预处理后的图片经过主干网络得到特征图。
(2)提取注意力图。步骤(1)中特征图进入注意力分支,提取出包含更多目标物的注意力图,为后续图像增强提供基础。
(3)注意力引导数据增强。依据步骤(2)中的注意力图对原图进行注意力引导数据增强,主要包含两个操作:注意力剪裁和注意力删除。经过注意力剪裁和删除后,将两次操作获得的数据传入后续网络并进行计算,对输出结果计算损失并与原始损失相加,以此约束主干网络,使其更加关注图片中检测框区域。引入注意力引导数据增强机制,将原图和增强后的数据都作为输入数据进行训练,使得网络在不需要额外标注信息的情况下更加关注图像中的有效特征区域,提升了网络性能。
搜集整理内蒙古西部多个风电场的损伤叶片图像共计691张,将风机叶片表面损伤分为漆皮脱落、裂纹、雷击、鼓包和划痕5种类型[14-17],各类损伤示例如图2所示。为防止训练模型时出现过拟合现象,对图像采取亮度变换、水平镜像和图像旋转等方法将图像总量扩充为2288张,使用LabelImg图像标注工具,并且按照PASCAL-VOC2007数据集格式进行标注。训练集、验证集和测试集采用8∶1∶1比例划分,具体数据量为训练集1830张,验证集229张,测试集229张,至此完成了风力机损伤叶片图像数据集的构建。
图2 损伤叶片图像示例Fig.2 Sample image of damaged leaf
基于Pytorch深度学习框架对构建好的风机叶片损伤检测网络进行训练和测试。主干网络的初始学习率设置为1.25e-4,共训练500个迭代轮次,批量大小(Batch Size)设置为4,至300个迭代轮次和400个迭代轮次时,学习率均下降90%。
在CenterNet算法中,采用损失值选取最优模型,即当损失值达到最低时选取此时的模型,但更低的损失值并不代表该模型准确度一定最优。为实现模型的最优选取,在CenterNet算法检测模型训练时,每训练一定量迭代轮次后再用验证集进行测试,采用平均准确率作为衡量模型优劣的指标,选取平均准确率最大的模型作为最优模型。
采用准确率、召回率和平均准确率来综合衡量检测算法的效果。实验中,设定交并比(Intersec⁃tion Over Union,IOU)阈值大于0.5时目标检测正确,式(1)和(2)分别为准确率P与召回率R的计算方法。在目标检测中,主要通过平均准确率PA来衡量分类器的性能,如式(3)所示。对于目标检测而言,每个类别都会计算出其P、R值,得到一条P-R曲线。PA越大,代表检测器的检测效果越好。平均准确率均值PMA是对所有类别的平均准确率值求平均,更能反映检测器的整体性能。
式中:P—准确率,即符合要求的正确识别物体的个数占总识别物体个数的百分比;
R—召回率,即符合要求的正确识别物体个数占总正确物体个数的百分比;
NTP—模型正确检测到的目标数量;
NFP—模型错误检测到的目标数量;
NFN—模型漏检的目标数量;
PA—平均准确率,不同P和R点的组合绘出的曲线下面的面积。
为验证本文提出算法的有效性,对CenterNet算法、YOLOv3算法和基于CenterNet的改进算法在229张测试图像上的识别结果进行统计对比,结果如表1所示。
从表1可看出,CenterNet算法与YOLOv3算法平均准确率均值基本相同,达到85%。CenterNet与注意力引导数据增强机制结合的风机叶片损伤检测识别算法平均准确率均值为88.0%,比其他两种算法整体值提升了2.6%。通过注意力机制约束主干网络使其更加关注图片中检测框区域,实现对风机叶片损伤检测模型精度的提升,且检测时间基本与原网络持平,检测时间具体数值见表2。采用CenterNet与注意力引导数据增强机制结合的风机叶片损伤检测算法的检测效果如图3所示。
表1 不同算法识别的平均准确率Tab.1 Average accuracy of recognition by different algorithms %
表2 各模型的检测时间对比Tab.2 Detection rate of different models
采用CenterNet与注意力引导数据增强机制结合的风力机叶片损伤检测算法对裂纹、雷击、划伤和鼓包四种损伤类型均有较好的检测效果,其中对表面漆皮脱落损伤的检测识别精度提高了6.1个百分点。由于表面漆皮脱落存在损伤特征多样性、微小性和损伤区域杂乱性等特点,给检测识别带来了大量的干扰,导致检测精度较低。本文通过算法改进,对于损伤特征明显的表面漆皮脱落有很好的检测识别效果,如图3(a)和图3(b)所示。表1中数据显示,雷击损伤的检测精度较初始下降了0.9个百分点,考虑到雷击损伤的图像数据量较少,使得注意力引导增强机制没有得到充分的训练学习,从而没有发挥出应有的效果,后期对雷击损伤图像数据积累后,可对网络进行进一步的训练学习来提升雷击损伤的检测准确率。
图3 风力机损伤叶片检测识别模型效果图Fig.3 Effect diagram of wind turbine damaged blade detection and recognition model
针对目前风电场中对于风力机叶片损伤检测效率低、成本高等问题,本文利用风电场大数据结合卷积神经网络的方法,选取CenterNet算法作为基础的检测网络构建风机叶片损伤检测识别模型,并对其骨干网络DLA-60进行改进,加入注意力引导数据增强机制,使平均准确率均值由85.4%增至88.0%,整体检测识别精度提升了2.6个百分点。在保证检测识别精度的同时提升了安全系数和工作效率、节约了大量经济成本,也为风机叶片的故障检测与维修提供参考依据,保障了风电机组的安全稳定运行。