基于改进YOLOv3的风机叶片缺陷识别方法与流程

文档序号:25311286发布日期:2021-06-04 15:43阅读:175来源:国知局
基于改进YOLOv3的风机叶片缺陷识别方法与流程
基于改进yolov3的风机叶片缺陷识别方法
技术领域
1.本发明涉及风机叶片检测技术领域,具体涉及一种基于改进yolov3的风机叶片缺陷识别方法。


背景技术:

2.随着国家对新能源的大力发展,风力发电规模越来越大,风机叶片的维护成为整个风电场运行的重要环节,目前风机叶片缺陷识别与检测主要靠可见光采集,人工去判别缺陷的类型,效率较低且耗时较长,另一种是通过计算机对比有缺陷图像和正常图像,得出分析结果,处理时间长且准确率较低。
3.目前基于深度学习的目标识检测算法主要通过卷积神经网络来提取图像特征,主要分为两大类,一类是基于two

stage方式,如文献[1]girshick r,donahue j,darrell t,et al. rich feature hierarchies for accurate object detection and semantic segmentation[c]ieeeconference on computer vision&pattern recognition.2014记载的r

cnn算法;文献[2] girshick r.fast r

cnn[c]//ieee international conference on computer vision and patternrecognition,2015:1440

1448.记载的fast r

cnn算法;文献[3]ren s,he k,girshick r b, et al.faster r

cnn:towards real

time object detection with region proposal networks[j].ieeetransactions on pattern analysis and machine intelligence,2017,39(6):1137

1149.记载的 faster r

cnn算法等。
[0004]
一类是one

stage方式,如文献[4]redmon j,divvala s,girshick r,et al.you only lookonce:unified,real

time object detection[j].2015.记载的yolo算法;文献[5]liu w, anguelov d,erhan d,et al.ssd:single shot multibox detector[c]//european conference oncomputer vision.springer international publishing,2016.记载的ssd算法。深层的网络模型可以提高图像目标的识别准确率,实现智能化识别。
[0005]
基于回归的yolo算法是现在较为流行的目标检测算法,它将候选区域的提取和目标识别两个阶段融合成起来,通过一个完整的网络结构获取目标的类别和位置信息,兼备准确率与速度。
[0006]
现有技术中风机叶片缺陷识别与检测存在以下缺陷:
[0007]
1)目前一些风机叶片的缺陷检测还是通过照片依靠人工观察,数据量较大且效率较低,费时费力;
[0008]
2)通过计算机处理对比采集的缺陷图像和已有正常图像,得出分析结果,处理时间长且准确率较低。
[0009]
3)yolov3在识别准确率上有所提高,但其模型较为复杂,规模较大,在做卷积运算时需要上百万个参数,对硬件设备的内存要求较高,一些资源受限的设备无法运行网络模型。
[0010]
4)复杂的模型计算量较大,占用过多的cup、gpu资源,同时会耗费大量的时间,影
响检测的实时性。


技术实现要素:

[0011]
为解决上述技术问题,本发明提供一种基于改进yolov3的风机叶片缺陷识别方法,通过改进的yolov3模型用于风机叶片的缺陷识别;大大提高了识别效率,解放劳动力,对电站运维具有重大的意义。
[0012]
本发明采取的技术方案为:
[0013]
基于改进yolov3的风机叶片缺陷识别方法,包括以下步骤:
[0014]
s1:训练yolov3模型,训练过程中平均错误率逐渐变小,待loss值逐渐变小达到稳定,停止训练,得到最优权重;
[0015]
s2:将bn层的参数γ作为剪枝因子,根据γ值裁剪通道层,引入参数a来控制bn层参数稀疏化程度,训练过程中,分析参数a的大小对剪枝因子γ的影响,将bn层的剪枝因子γ全都提取出来按顺序排列,分析不同参数a下剪枝因子γ的分布情况,选取合适的参数a,得到稀疏后的模型;
[0016]
s2中,
[0017]
在训练过程中,不断缩小剪枝因子γ的值,剪掉贡献度较小的通道,稀疏化训练bn层中的剪枝因子γ,引入l1正则化,采用公式重新定义bn层的实现方式,引入参数a来控制bn层参数稀疏化程度,完成稀疏化训练。
[0018]
s3:在稀疏化训练后剪枝因子γ的值会减小,根据预先设置的裁剪的阈值s,裁剪掉较小的参数γ对应的通道以及对应的参数,完成剪枝操作;
[0019]
s3中,进行通道剪枝,将bn层所有的剪枝因子γ进行排序,设置一个裁剪比率p,根据裁剪比率p的大小,计算出需要裁剪的最大参数,这个最大参数值记为裁剪的阈值s。
[0020]
s3中,当通道层对应的剪枝因子γ小于裁剪的阈值s时,记录剪枝后网络层中要保留的通道数目,进行通道标记,得到预剪枝模型;预剪枝之后,得到每层网络需要裁剪的通道层索引列表和保留列表,根据需要剪枝通道索引列表完成裁剪操作,得到剪枝后模型。
[0021]
s4:剪枝后模型进行训练微调;
[0022]
s5:将剪枝后模型卷积层的通道数调整到最接近2的n次方,得到规整的网络模型;
[0023]
s5中,将剪枝后模型卷积层的通道数,采用如下公式调整到最接近2的n次方:
[0024]
lga=nlg2
[0025]
n=lga/lg2
[0026]
x=2
n
[0027]
s6:在规整的网络模型上减少相同的残差结构单元,从而减少密集链接,得到改进后的轻量化网络模型;
[0028]
s7:使用改进后的轻量化网络模型训练风机叶片缺陷数据集,得到最优权重,从而实现风机叶片缺陷识别。
[0029]
本发明一种基于改进yolov3的风机叶片缺陷识别方法,技术效果如下:
[0030]
1)通过对yolov3模型进行剪枝,深度神经网络模型规模变小,其通道数减少,参数量也大幅度减少,从而降低计算复杂度,能够运行在性能较弱的硬件平台上。
[0031]
2)剪枝后的神经网络再次压缩形成一个轻量化网络模型。该模型在网络深度上有所减少,在减小神经网络规模的同时还要兼顾模型的识别准确率,通过实验得到了压缩改进的网络模型,在同一数据集上训练并分析,其整体性能较忧。
[0032]
3)改进的yolov3模型用于风机叶片的缺陷识别,大大提高了识别效率,解放劳动力,对电站运维具有重大的意义。
附图说明
[0033]
图1为本发明的剪枝流程图。
[0034]
图2为本发明的darknet 53yolov3模型图。
[0035]
图3为本发明的剪枝前63

74通道层结构示意图。
[0036]
图4为本发明的剪枝后63

74通道层结构示意图。
[0037]
图5为本发明的规整的网络模型示意图。
[0038]
图6为本发明的轻量化网络模型示意图。
[0039]
图7为改进的yolov3风机叶片缺陷识别系统示意图。
具体实施方式
[0040]
基于改进yolov3的风机叶片缺陷识别方法,将改进的基于深度学习的神经网络模型应用于风机叶片的检测与缺陷识别。本发明采用yolov3作为风机叶片缺陷目标识别的算法,采用稀疏化方式训练模型,弱化部分神经元的贡献度,根据设置的剪枝因子γ,裁剪模型的通道层,去掉模型的冗余;将剪枝后不规则的模型进行规则化调整,使骨干网络的通道层呈现2的次方数量;将调整后的网络进行层级裁剪,压缩骨干网络,得到规模精简的神经网络模型。
[0041]
模型剪枝需要裁剪掉网络中的部分神经元,一般被裁剪的神经元对整个模型的贡献比较小。当模型中的部分参数值接近0或变为0时,在神经网络传播时的作用非常小,这些参数对应的神经元在网络连接中的贡献会明显降低。因此可以通过裁剪掉这些不重要的神经元来维持整个模型的检测性能。为了将部分权重参数值接近0,可以采用稀疏化训练的方式来实现。
[0042]
稀疏化训练如下:
[0043]
bn层是对通道进行归一化处理,可以采用bn层的γ因子作为通道的剪枝因子,不用额外引入参数,减小神经网络的开销。最后根据剪枝因子γ的值进行裁剪。在训练过程中要不断缩小剪枝因子γ的值,剪掉贡献度较小的通道,故需稀疏化训练bn层中的参数γ,引入l1正则化,采用公式
[0044]
f(x,w)是样本的预测输出、y是样本的真实输出、a是两项的平衡参数、x是样本、 w是网络训练的权重。
[0045]
重新定义bn层的实现方式,引入参数a来控制bn层参数稀疏化程度,完成稀疏化训练。
[0046]
在稀疏化训练后,参数γ的值会减小,根据预先设置的阈值,裁剪掉较小的γ对应的通道以及对应参数,完成剪枝操作。剪枝流程如图1所示。
[0047]
通过剪枝得到的模型,是根据预训练时的数据集进行特征提取得到的模型,往往只适用于预训练时的数据集,虽然在该数据集上的性能表现非常好,但剪枝后的神经网络泛化能力比较弱,再用来训练别的数据集时识别准确率会不稳定,可以在剪枝神经网络的基础上进一步修整并压缩骨干网络得到一个轻量化网络模型,使用这个轻量化网络模型训数据集。
[0048]
将残差结构作为一个基本单元结构,对滤波器的数量重新修整。根据darknet 53 yolov3模型结构的特点,将剪枝后模型卷积层的通道数采用如下公式调整到最接近2的 n次方。
[0049]
lga=nlg2
[0050]
n=lga/lg2
[0051]
x=2
n
[0052]
骨干网络由残差结构连接而成,从resnet网络中移除一些层,不会对网络性能有太大的影响。根据这个思想,采取减少残差结构的方式压缩骨干网络,得到轻量化网络模型。
[0053]
残差结构将前一层的原始输出直接传递到后面层中,与通过卷积运算的数据相加作为下一层网络的输入,可以减少网络的过拟合。
[0054]
基于改进yolov3的风机叶片缺陷识别方法,包括以下步骤:
[0055]
s1:搭建深度学习平台,预训练神经网络使用darknet框架,配置学习率、轮数等参数训练darknet 53yolov3模型,如图2所示。训练过程中平均错误率会逐渐变小,等 loss值逐渐变小达到稳定,可停止训练,得到最优权重。
[0056]
s2:进行稀疏化训练,将bn层的参数γ作为剪枝因子,根据γ的值裁剪通道层,所以需要将bn层的参数稀疏化训练,训练过程中,一般情况下a取10
‑3、10
‑4、10
‑5等值。分析a的大小对参数γ的影响。将bn层的γ因子全都提取出来按顺序排列,分析不同a下参数γ的分布情况,选取合适的a,得到稀疏后的模型。
[0057]
s3:进行通道剪枝,将bn层所有的参数γ进行排序,设置一个裁剪比率p,根据p的大小计算出需要裁剪的最大参数,这个值记为裁剪的阈值s,当通道层对应的剪枝因子小于s时,记录剪枝后网络层中要保留的通道数目,进行通道标记,得到预剪枝模型的结构。预剪枝之后,得到每层网络需要裁剪的通道层索引列表和保留列表,根据要剪枝通道索引列表完成裁剪操作,得到剪枝后模型,剪枝后模型的通道层极为不规整,63

74层的在剪枝前、后结构对比如图3、图4所示。
[0058]
s4:剪枝后模型需要训练进行微调,微调即为再训练几轮。
[0059]
s5:骨干网络修整,将剪枝后模型卷积层的通道数调整到最接近2的n次方,得到较为规整的网络模型。如图5所示。
[0060]
s6:在这个规整的网络模型上减少相同的残差结构单元,从而减少密集链接,得到轻量化网络模型,如图6所示。
[0061]
s7:使用改进后的轻量化网络模型训练风机叶片缺陷数据集,得到最优权重,从而可以高效率智能化检测叶片缺陷。
[0062]
最优权重是训练得到的权重参数。
[0063]
通过改进的yolov3目标检测模型对采集的数据进行实时分析检测,并将缺陷的类
型进行告警,并将分析的日志信息归档,整个风机叶片缺陷识别系统如图7所示。
[0064]
识别系统包含图像数据采集设备,一台服务器做图像数据的预处理、改进yolov3模型进行预测、缺陷告警,并存储日志信息。
[0065]
yolov3和改进的yolov3两种模型在streetscenes challenge数据集上进行实验,结果对比如表1所示。
[0066]
表1模型结果对比
[0067]
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1