1、第 61 卷 第 8 期Vol.61 No.82023 年 8 月August 2023农业装备与车辆工程AGRICULTURAL EQUIPMENT&VEHICLE ENGINEERINGdoi:10.3969/j.issn.1673-3142.2023.08.019基于改进 YOLOv4 风机叶片缺陷检测方法高文俊,张海峰(201620上海市上海工程技术大学机械与汽车工程学院)摘要 随着风电行业发展,风电设备越来越普及。风力发电设备长期处于恶劣环境下,设备叶片关键部件会发生损伤,降低整机发电效率。为了解决风力发电机叶片传统检测耗时长、效率低、精度低等问题,提出一种基于改进 YOLOv4 的
2、风机叶片缺陷检测方法。首先采用 GhostNet 特征提取网络更换原有 YOLOv4 的特征提取网络,使得模型轻量化的同时保持良好的检测精度;其次,采用基于 COCO 数据集权重的迁移学习,减少模型训练时间并加快模型收敛;最后,采用 Focalloss 分类损失函数解决数据集缺陷类别不平衡问题,且使得目标检测模型收敛。实验结果表明,相比原有的 YOLOv4,map 值提高了 3.66%且能满足实时性需求。关键词 改进 YOLOv4;风机叶片;缺陷检测;特征提取 中图分类号 TM315 文献标志码 A 文章编号 1673-3142(2023)08-0094-05引用格式:高文俊,张海峰.基于改进
3、 YOLOV4 风机叶片缺陷检测方法 J.农业装备与车辆工程,2023,61(8):94-98.Wind turbine blade defect detection based on improved YOLOv4GAOWenjun,ZHANGHaifeng(CollegeofMechanicalandAutomotiveEngineering,ShanghaiUniversityofEngineeringScience,Shanghai201620,China)AbstractWiththedevelopmentofwindpowerindustry,windpowerequipmenti
4、sbecomingmoreandmorepopular.However,thelong-termadverseenvironmentofwindpowerequipmentwillcausedamagetothekeycomponentsofthebladeandreducethepowergenerationefficiencyofthewholemachine.Inordertosolvetheproblemsoflongtimeconsuming,lowefficiencyandlowprecisionintraditionalwindturbinebladedetection,adef
5、ectdetectionmethodbasedonimprovedYOLOv4fanbladewasproposed.Firstly,GhostNetfeatureextractionnetworkwasusedtoreplacetheoriginalYOLOv4featureextractionnetwork,whichmadethemodellighterandkeptgooddetectionaccuracy.Secondly,transferlearningbasedonCOCOdatacentralizationwasusedtoreducemodeltrainingtimeanda
6、cceleratemodelconvergence.Finally,theFocalLossclassificationfunctionwasusedtosolvetheproblemofunbalanceddefectcategoriesinthedatasetandmakethetargetdetectionmodelconverge.Theexperimentalresultsshowedthat,comparedwiththeoriginalYOLOv4,theMAPvaluewasimprovedby3.66%andcanmeetthereal-timerequirements.Ke
7、y wordsimprovedYOLOv4;windturbineblade;defectdetection;featureextraction0 引言随着国家大力发展清洁能源,风力发电由于动力获取简单、储存容量大,被国家大力扶持。但是由于风力发电机工作往往处于沿海潮湿或者沙漠干旱等恶劣环境,风力发电设备就会出现各种损伤,导致发电效率降低。风机叶片是风机设备中的重要部件。传统的风机叶片缺陷检测技术主要基于图像处理检测技术和传感器等完成,如阈值分割、边缘提取技术和声传感器、振动传感器、光传感器等。曹庆才等1为了提取风机叶片缺陷,采用机器视觉方法,首先对风机叶片图像进行滤波和对比度增强预处理,然后
8、采用 OSTU 阈值法进行图像分割,最后使用 Canny边缘检测算法提取叶片缺陷特征;严海领2为检测不同颜色风机叶片中的缺陷类型,分析传统边缘提取算子的提取效果,得出采用 Prewitt 算子提取边缘特征和图像增强处理的方法,对不同颜色风机叶片缺陷特征提取效果较好;邹洁等3将光纤光栅传感器布置在风机叶片上,对传感器接收到的冲撞信号进行信号能量分布和中心波长分析来得出风机叶片是否存在表面损伤缺陷。但是这些技术都有不足之处,如基于传统图像处理技术的缺陷检测方法,需要人工设计的算法去提取相对应的缺陷明显特征,人为主观性大,且提取效果受环境因素影响较大,对环境要求比较严格,识别准确度不高。基于传感器检
9、测技术的方法,需要人为在风机叶片表收稿日期:2022-06-1495第 61 卷第 8 期面布置对应的传感器设备,搭建检测传感器信号系统,整体花费费用大,且不能对缺陷类别进行分类。随着机器学习和深度学习的迅速发展,深度学习具有根据标签信息自主学习类别特征的模型能力,使之成为缺陷识别的热门技术。基于深度学习的缺陷目标检测方法主要分为2 类:一阶段网络和两阶段网络。两阶段网络预测准确度高,但检测速度弱于一阶段网络。FasterR-CNN4是典型的两阶段端到端的目标检测网络,其基本原理是利用 RPN(RegionProposalNetwork)组件在卷积网络生成的特征图上提出一组可能位于目标对象的边
10、界框区域,然后将提出的边界框区域传递给 ROI 池化层进行同一尺度化,从而构成端到端式的网络模型构建,使其完成目标分类结果和边界框回归输出。由于两阶段网络模型在检测速度方面较弱,因此一阶段网络被提出。SSD5和YOLO6-9系列为典型的一阶段目标检测算法。该类网络把目标分类任务和检测任务操作过程都集成在一个时间段过程中,不像两阶段网络需要单独提取目标类别特征和目标区域进行目标检测任务,并且一阶段网络训练过程比两阶段网络训练过程简单。针对传统风机叶片检测方式的不足,本文采用一阶段网络 YOLOv4 算法进行风机叶片缺陷检测。为了使该算法达到实际运行需求,将其主干网络更换为 GhostNet10。
11、利用 k-means 方法处理用于训练的标签数据进行类别锚框大小选取。将 Focalloss11损失函数代替原算法模型的分类交叉熵损失函数来训练风机叶片缺陷数据集,提高了 YOLOv4识别风机叶片缺陷的准确率和速度。1 YOLOv4 算法YOLOv4 算法是一种单阶段目标检测算法,在 YOLO 系列基本原理上进行了网络架构改进。YOLO 系列基本原理是将输入图片输入所构建的端到端网络模型中,输入图片经过网络模型分割成SS 个网格区域,然后由每个网格区域所提取的特征预测那些可能落在该网格区域内的目标,每个网格区域会产生多个边界框(BoundingBox)以及边界框的置信度(ConfidenceS
12、core),每个边界框包含 5 个参数,即框的位置坐标(x,y,h,w)和置信度12。最后利用设计的损失函数训练网络结构,使模型收敛能够预测这些边界框参数和分类类别。1.1 YOLOv4 网络架构如图 1 所示,YOLOv4 算法框架由特征提取网络(Backbone)和结合特征融合的颈部模块(Neck)以及进行目标位置回归和分类的检测头(Head)3 部分组成13。其中特征提取网络为CSP-Darknet53,是一种全卷积神经网络,结合CSP 基本组件减少传统图像特征提取网络推理计算量大的问题;Neck 模块结合特征融合结构(空间金字塔池化结构(SPP)和特征金字塔结构(PANet)形成路径聚
13、合网络,能够融合深浅层的语义信息特征和空间特征进行多尺度目标检测。检测头采用传统的 YOLOv3 检测头,进行分类预测和目标位置回归,置信度预测。1.2 YOLOv4 损失函数损失函数是一个网络模型训练时的重要部分。YOLOv4 损失函数由分类损失函数(Classificitionloss)和回归损失函数(BoundingBoxRegeressionLoss)以及置信度函数(Confidenloss)3 部分组成,其关系式为,L o c O C l gLo cLO CLl gconfclaloc123mmm=+hhhh(1)式中:1,2,3平衡系数,Lconf置信度损失,Lcla分类损失,Ll
14、oc回归损失函数。YOLOv4 置 信 度 损 失 和 分 类 损 失 均 延 续YOLOv3 二值交叉熵损失函数,回归损失则采用了CIoU 损失函数。其中 CIoU 损失函数公式为,LIoUcb bvCIoUgt22ta=-+chm(2)arctanarctanvhwhw4gtgt22r=-bl(3)aIoUvv1=-+h(4)式中:IoU真实框面积和预测框面积之间交集与并集的比值;b、bgt预测框、真实框的中心坐标;p2(b,bgt)预测框和真实框中心点坐标之间的欧式距离;c2预测框和真实框之间的对角线距离;wgt,w,hgt,h真实框和预测框的宽图 1 YOLOv4 整体网络结构图Fig
15、.1 YOLOv4Network diagramInputCSP*1CSP*8CBMCSP*2CSP*8CSP*4CBL*3CBLCBLConcat+CBL*5Concat+CBL*5Concat+CBL*5Concat+CBL*5YOLOHeadYOLOHeadYOLOHeadCBL+UpSamplingCBL+UpSamplingCBL+DownSamplingCBL+DownSamplingSPPBackboneNeckPANHeadCBL+ConvCBL+ConvCBL+ConvCBMCBMCBMConcatCBMCBMn个ResCSP*n=ConcatSPPmaxpool5maxpo
16、ol9maxpool13=ConvConvCBMCBMBNBNLReLUMishAddCBLCBMCBM=CBL*3高文俊等:基于改进 YOLOv4 风机叶片缺陷检测方法96农业装备与车辆工程 2023 年和高;v 衡量长宽比一致性的参数14;a用于权衡的参数。2 改进的 YOLOv4本文主要从目标检测模型的主干网络和分类损失函数 2 个方面对 YOLOv4 算法进行改进。2.1 主干网络Ghostnet 是由华为诺亚方舟实验室提出的一种新的提取图像特征的卷积神经网络,提出一种新的卷积结构方式,称为 Ghostmodule,如图 2 所示。该卷积结构利用类似深度分离卷积方式将一个传统卷积形式分
17、解成 3 个步骤,先利用传统卷积提取部分原始特征,然后利用少量的线性计算操作生成额外 Ghost特征,最后将原始特征和额外 Ghost 特征进行拼接并输出,这样减少了一半的卷积核数目,且保证特征图中变化的冗余特征不减少,并减少了一半的卷积计算,有助于模型主干轻量化。识别要求在边缘设备上达到实时性,而原有YOLOv4算法采用的是CSPDareknet主干网络框架,模型参数量相对较大,且其推理速度和识别精确度需要大量的计算机硬件资源。为了达到满足识别硬件要求,需对 CSPDarknet 主干网络进行轻量化,故更换原有主干网络为 Ghostnet,在大幅降低主干网络参数量的同时保证特征提取效果基本不
18、变。改进的 YOLOv4 算法结构如图 3 所示图 3 中 Ghos_bot 全称为 Ghost_bottleneck,针对不同卷积步长参数对应 2 种结构形式:步长为 1时,输入和输出的特征图尺度保持不变,只进行特征图数量的伸缩;步长为 2 时,对输入特征图尺度进行压缩,利用底层特征图信息获取更高级的特征信息。有效组合 2 种结构方式使主干网络模型能够输出对应的 PAN 三层特征图尺度,实现 Ghostnet与 PAN 的之间的结合。2.2 损失函数由于风机叶片数据集类别分布不均匀,且缺陷形式大部分为小型缺陷,若采用原有损失函数进行目标检测模型训练,训练出的模型识别精度不佳易导致缺陷种类误检
19、或漏检情况,不利于实际应用场景。产生原因主要是YOLO系统算法层面的问题,一般来说一张图片中需要检测的目标像素所占整张图片分辨率比例较小,而 YOLO 系统算法又是基于回归框进行目标位置回归,在产生回归框的过程中会因为背景信息占据图片比例大产生许多与所需要检测的目标无关的负样本信息,使得正负样本分布不均衡且当多类别样本分布不均匀时大量样本的类别相当于少量样本的类别而言就会产生大量的负样本,会使得模型倾向于负样本样本训练,因此采用Focalloss 代替原有 YOLOv4 中的分类交叉熵函数,提高了不平衡样本识别率。损失函数计算为logFL ppp1tttta=-c_hih(5)(6)(7)式中
20、:p正样本概率;,控制样本损失比例超参数,控制这 2 个超参数可降低易分样本损失占损失比例,提升难分样本损失比例,使得模型更加考虑难分样本损失,解决类别之间不平衡问题。3 实验结果与分析3.1 实验环境本文实验在Win10系统、pytorch框架下进行,计算机处理单元为 E5-2680V4,内存容量 16GB,显卡 RTX3060 显 存 12GB,Conda 软 件 4.10.3,python3.6.5,pytorch1.7.1,使用cuda11.0进行训练加速。3.2 数据集风机叶片数据集采用 Kaggle 官网数据集15。将数据集按 8(训练集)2(测试集)进行训练,其中训练集 2395
21、 张,测试集 599 张,总共 2995张图片,部分标注图片数据如图 4 所示。图 3 改进后的 YOLOv4Fig.3 Improved YOLOv4InputGhost_bot*1Ghost_bot*2CBRGhost_bot*2Ghost_bot*6Ghost_bot*5CBL*3CBLCBLConcat+CBL*5Concat+CBL*5Concat+CBL*5Concat+CBL*5YOLOHeadYOLOHeadYOLOHeadCBL+UpSamplingCBL+UpSamplingCBL+DownSamplingCBL+DownSamplingSPPBackboneNeckPAN
22、HeadCBL+ConvCBL+ConvCBL+ConvConcatSPPmaxpool5maxpool9maxpool13=ConvConvBNBNLReLUReLUCBLCBR=CBL*3=Ghost_botGhostmoduleGhostmoduleAddGhostmoduleGhostmoduleDwconvs=2AddBNBNBNBNReLUBNReLUstride=1stride=2图 2 The Ghost ModuleFig.2 The Ghost ModulelnputConvldentity1Output2397第 61 卷第 8 期图 6 风机叶片检测效果Fig.6 Wi
23、nd turbine blade detection effect3.3 实验结果分析训练过程中,设置学习率初值为 0.001,之后在前 300 次迭代训练中学习率线性增加,当到达第 8 个 epoch 迭代时,学习率衰减到 0.02;之后第9,10,11 个 epoch 学习率设置为 0.002,第 12 个epoch 设置为 0.0002,进行模型收敛,模型训练过程中的损失函数图如图 5 所示。由图 5 可知,改进的 YOLOv4 采用迁移学习策略、学习率策略和训练策略后,模型逐渐收敛,总损失收敛于 0.0506,分类损失收敛于 0.0151,回归损失收敛于 0.0305,收敛情况较好,验
24、证了这种算法方案可行。通过控制有无采用 GhsotModule或Focalloss策略,进行消融实验,验证改进算法的有效性,并采用 COCO 数据集 map 指标和检测推理时间判断网络性能。如表 1 所示。表 1 消融实验指标对比Tab.1 Comparison of ablation test indexes策略GhostnetFocallossDamageAP/%DirtAP/%Map/%参数量/MB推理时间/sYOLOv487.8670.78 79.32246.190.204YOLO-F87.9576.71 82.33246.190.189YOLO-G87.1373.71 80.4213
25、4.270.172YOLO-GF88.6477.32 82.98134.270.166由 表 1 可 知:(1)原 有 YOLOv4 的 map 预测值为 79.32%,YOLO-F 在更换原有交叉熵分类损失为 focalloss 后 map 值达到 82.33%,相比于原 YOLOv4 的 map 值 提 高 了 3.01%;dirt 缺 陷 的AP 值由原有的 70.78%提到 76.71%,但模型检测damage 缺陷能力并没有下降,总的 map 值进行了提升,也说明加入 focalloss 在处理类别不均衡方面具有一定效果。(2)YOLO-G 在只更换网络模型主干网络为Ghostnet
26、 的情况下,模型参数量由 246.19MB 减少到 134.27MB,推理时间由 0.204s 减少到 0.172s,且提升了 dirt 缺陷 AP,说明更换的 Ghostnet 提取图像特征神经网络不仅能大大降低网络训练计算量,而且可以提取更有效的分类特征,即在增加网络性能的同时保证相应的准确率。(3)融 合 Focalloss 和 Ghostnet 的 YOLO-GF 策略模型的 map 预测值为 82.98%,比原有YOLOv4 预测值高了 3.66%,且推理时间由原有的0.204s 减少到 0.166s,在准确率和网络性能方面都比原有的 YOLOv4 算法检测效果好,参见图 6,说明本
27、文的改进 YOLOv4 算法能在保证实时性的情况下提高了叶片缺陷检测准确率。4 结论(1)针对目前风机叶片传统检测技术的不足,提出一种基于改进 YOLOv4 的风机叶片缺陷检测方法(YOLO-GF),实验结果表明 YOLO-GF 的检测图 4 风机叶片Fig.4 Wind turbine blade025050075010001250150017502000迭代次数0.70.60.50.40.30.20.10.0损失总损失分类损失回归损失图 5 训练损失变化Fig.5 Variation of training loss高文俊等:基于改进 YOLOv4 风机叶片缺陷检测方法98农业装备与车辆工
28、程 2023 年精度达到 82.98%,参数量 134.27MB,检测速度约7f/s,模型能在保持风机叶片缺陷检测准确率的同时,达到实时性检测。(2)采用 Ghostnet 的特征提取网络更换原有YOLOv4 的 CSP-Darknet 主干网络,模型参数量由246.19MB 降到 134.27MB,使得模型参数量相对减少,提高风机叶片缺陷检测效率。(3)利 用 Focalloss 损 失 函 数 代 替 原 有YOLOv4 的分类交叉熵损失函数,解决数据集类别分布不平衡问题,使 dirt 的类别 AP 提高了 5.93%,提高模型整体类别识别准确率。(4)将本文改进 YOLOv4 检测方法(
29、YOLO-GF)与原有 YOLOv4 模型分别在同一风机叶片数据集上进行实验测试,得出 YOLO-GF 检测方法比原YOLOv4方法平均类别识别准确率提高了3.66%,且能达到实时性需求。本文提出的风机叶片缺陷方法 YOLO-GF,在准确率和检测速度上都有较好的性能表现,但由于数据集缺陷种类较少,模型检测其它类型的风机叶片缺陷能力不佳,如裂纹,腐蚀,沙眼等,因此为了提高模型检测其它缺陷能力,后续采取更多类别的风机叶片缺陷图片进行模型训练,并研究模型对沙眼等小类型缺陷的检测能力。参考文献1曹庆才,吴立东,张路娜,等.基于机器视觉的风机叶片缺陷检测 J.电工技术,2021(22):74-76,15
30、5.2严海领.基于无人机的不同颜色风叶表面缺陷检测算法研究J.现代信息科技,2021,5(15):169-172,175.3邹洁,何超,朱永凯.基于 FBG 和小波包能量谱的风机叶片无损检测 J.电子测量技术,2015,38(03):133-138.4RENShaoqing,HEKaiming,ROSSB.Girshick,etal.FasterR-CNN:towardsreal-timeobjectdetectionwithregionproposalnetworksJ.ComputerScienceCoRR,2015.5LIUW,ANGUELOVD,ERHAND,etal.SSD:Sing
31、leshotmultiboxdetectorC/Europeanconferenceoncomputervision.Springer,Cham,2016:21-37.6REDMONJ,DIVVALASK,GIRSHICKRB,etal.Youonlylookonce:unified,real-timeobjectdetectionJ.CoRR,2015.7REDMONJ,FARHADIA.YOLO9000:better,faster,strongerC/ProceedingsoftheIEEEconferenceoncomputervisionandpatternrecognition.20
32、17:7263-7271.8REDMON J,FARHADI A.YOLOv3:An incrementalimprovementJ.arXivpreprintarXiv:1804.02767,2018.9BOCHKOVSKIYA,WANGCY,LIAOHYM.YOLOv4:OptimalspeedandaccuracyofobjectdetectionJ.arXivpreprintarXiv:2004.10934,2020.10 HANK,WANGYH,TIANQ,etal.Ghostnet:MorefeaturesfromcheapoperationsC/ProceedingsoftheI
33、EEE/CVFConferenceonComputerVisionandPatternRecognition.2020:1580-1589.11 LinTY,GOYALP,GIRSHICKR,etal.FocallossfordenseobjectdetectionJ.IEEETransactionsonPatternAnalysisandMachineIntelligence,2020,42(2):318-327.12 王春艳,刘正熙.结合深度学习的多目标跟踪算法 J.现代计算机(专业版),2019(06):55-59.13 杨艳红,钟宝江,田宏伟.DS-YOLOv4-tiny 救援机器人目标检测模型 J.计算机仿真,2022,39(01):387-393.14 孙家慧,葛华勇,张哲浩.结合注意机制和多尺度卷积的YOLO 行人检测 J.计算机系统应用,2022,31(04):171-179.15 SHIHAVUDDINASM,CHENXiao.DTU-droneinspectionimagesofwindturbineJ.MendeleyData,V2,2018作者简介 高文俊,男,硕士研究生,研究方向:目标检测。E-mail: