一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于改进SSD模型的风机叶片缺陷检测方法及系统与流程

2022-06-25 09:05:43 来源:中国专利 TAG:

基于改进ssd模型的风机叶片缺陷检测方法及系统
技术领域
1.本技术涉及目标检测技术领域,尤其涉及一种基于改进ssd模型的风机叶片缺陷检测方法及系统。


背景技术:

2.目前,目标检测技术已经广泛应用于交通、医疗等多个领域中,目标检测是一种基于目标几何和统计特征的图像分割技术,目标检测的目的是确定图像中感兴趣物体的位置和类别,比如,对于风机叶片图像,通过进行目标检测可以确定图像中的破损和断裂等缺陷。传统的图像目标检测方法通常需要人工设计特征,对于复杂的环境变化的鲁棒性较差,且基于滑窗的区域选择策略时间复杂度高。随着深度学习技术的快速发展与计算机存储与运算力的极大提升,目标检测已从传统方法发展至如今基于深度学习的检方法,使得基于深度卷积神经网络的目标检测方法进行风机叶片缺陷检测的效率与准确率都有了提升。
3.相关技术中,基于卷积神经网络的目标检测方法主要包含单阶段和两阶段两种检测方式,单阶段检测方式以yolo或ssd模型等为代表,两阶段检测框架以r-cnn系列模型为代表。其中,两阶段检测通常是先通过启发式方法或者cnn网络产生一系列稀疏的候选框,然后对这些候选框进行分类与回归,单阶段检测通常是均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,然后利用cnn提取特征后直接进行分类与回归。
4.然而,申请人发现,上述两种检测方式中,两阶段检测的检测步骤较为复杂,检测速度较慢,而单阶段检测需要的参数量和计算量也较大,导致降低了目标检测的效率,且检测精度较低,模型训练比较困难。因此,目前亟需一种可以同时保证目标检测的准确率和效率的方案。


技术实现要素:

5.本技术旨在至少在一定程度上解决相关技术中的技术问题之一。
6.为此,本技术的第一个目的在于提出一种基于改进ssd模型的风机叶片缺陷检测方法,该方法将检测模型的主干网络轻量化,降低了叶片缺陷检测所需的参数量和计算量,并丰富了特征表达,优化了损失函数,提高了检测网络的检测效率和检测结果的准确性。
7.本技术的第二个目的在于提出一种基于改进ssd模型的风机叶片缺陷检测系统;
8.本技术的第三个目的在于提出一种非临时性计算机可读存储介质。
9.为达上述目的,本技术的第一方面实施例在于提出一种基于改进ssd模型的风机叶片缺陷检测方法,该方法包括以下步骤:
10.对经典检测网络ssd模型进行改进,构建包括主干网络、多个检测层、双向特征金字塔结构和检测分支的目标检测网络,其中,采用resnext网络作为所述主干网络;
11.获取风机叶片图像数据集,对所述数据集中图像上的缺陷进行标注以生成对应的标签文件,并按照预设的比例将标注后的风机叶片图像数据集划分为训练集、验证集和测试集;
12.对所述训练集中的图像进行预处理,将预处理后的图像输入所述主干网络获得多尺度特征图,将所述多个检测层处理后的多尺度特征图输入所述双向特征金字塔结构进行特征融合,并通过所述检测分支获取初始检测结果;
13.基于所述标签文件和所述初始检测结果,通过预设的目标损失函数计算损失并更新所述目标检测网络的参数,并对所述目标检测网络进行迭代训练直至训练完成所述目标检测网络,其中,所述目标损失函数基于focalloss函数、smooth l1 loss函数和交并比损失函数iou loss构建;
14.将当前待检测的风机叶片图像输入至训练完成的目标检测网络,获取所述训练完成的目标检测网络输出的缺陷检测结果。
15.可选地,在本技术的一个实施例中,对所述目标检测网络进行迭代训练直至训练完成所述目标检测网络,包括:采用随机梯度下降sgd优化器对所述目标检测网络进行预设次数的迭代训练,直至所述目标检测网络对所述验证集中的图像进行预测的结果的预测精度,达到预设精度阈值;在所述训练完成所述目标检测网络之后,还包括:将所述测试集中的图像输入至训练完成的目标检测网络,测试所述训练完成的目标检测网络检测风机叶片缺陷的准确率。
16.可选地,在本技术的一个实施例中,对所述训练集中的图像进行预处理,包括:通过最大类间方差法对所述训练集中的原始风机叶片图像进行前景与背景分割,提取出风机叶片所在的前景图像;将所述前景图像旋转至竖直方向,并从旋转后的前景图像中提取出风机叶片所处区域;对所述风机叶片所处区域进行样本增强。
17.可选地,在本技术的一个实施例中,主干网络包括五个主体卷积模块,其中,第四主体卷积模块和第五主体卷积模块分别为所述多个检测层中的第一检测层和第二检测层,所述多个检测层中除所述第一检测层和所述第二检测层之外的每个检测层包括:第一卷积层、第一批归一化层、第一线性整流relu激活函数、第二卷积层、第二批归一化层和第二线性整流relu激活函数,所述第一卷积层和所述第二卷积层中的卷积核为可变形卷积核。
18.可选地,在本技术的一个实施例中,双向特征金字塔结构包括:五个输入节点、五个输出节点和三个中间节点,其中,每个所述输入节点与对应的检测层相连,所述双向特征金字塔结构通过以下公式进行特征融合:
[0019][0020][0021][0022][0023]
其中,和分别是双向特征金字塔结构的输入节点和输出节点,是双向金字塔结构的中间节点,与是每个参与运算的节点可学习的权重,resize()是尺寸缩放函数,conv是卷积运算,ε是用于保证数值的稳定性的参数,ε=0.0001。
[0024]
可选地,在本技术的一个实施例中,对所述目标检测网络进行训练,还包括:
[0025]
通过指数移动平均值ema对所述目标检测网络的权重指数进行平滑处理,其中,权重指数平滑公式如下表示:
[0026]wema
=λ
×wema
(1-λ)
×w[0027]
其中,w
ema
为滑动平均参数,w为当前更新的参数,λ为衰减权重,λ=0.9998;通过以下公式对所述标签文件进行平滑处理,以向真实分布中加入噪声:
[0028]y′
=(1-ε)
×
y ε/k
[0029]
其中,y'是平滑后的样本标签,ε=0.1是平滑系数,k为类别总数。。
[0030]
可选地,在本技术的一个实施例中,该方法还包括:采用focal loss函数作为分类损失函数,采用smooth l1 loss函数作为回归损失函数,并在所述目标损失函数中增加交并比损失函数iou loss,通过以下公式构建所述目标损失函数:
[0031][0032]
其中,为总的损失函数,和分别代表focal loss、smooth l1loss、iou loss,θ代表模型参数。
[0033]
为达上述目的,本技术的第二方面实施例还提出了一种基于改进ssd模型的风机叶片缺陷检测系统,包括以下模块:
[0034]
构建模块,用于对经典检测网络ssd模型进行改进,构建包括主干网络、多个检测层、双向特征金字塔结构和检测分支的目标检测网络,其中,采用resnext网络作为所述主干网络;
[0035]
第一获取模块,用于获取风机叶片图像数据集,对所述数据集中图像上的缺陷进行标注以生成对应的标签文件,并按照预设的比例将标注后的风机叶片图像数据集划分为训练集、验证集和测试集;
[0036]
第二获取模块,用于对所述训练集中的图像进行预处理,将预处理后的图像输入所述主干网络获得多尺度特征图,将所述多个检测层处理后的多尺度特征图输入所述双向特征金字塔结构进行特征融合,并通过所述检测分支获取初始检测结果;
[0037]
训练模块,用于基于所述标签文件和所述初始检测结果,通过预设的目标损失函数计算损失并更新所述目标检测网络的参数,并对所述目标检测网络进行迭代训练直至训练完成所述目标检测网络,其中,所述目标损失函数基于focalloss函数、smooth l1 loss函数和交并比损失函数iou loss构建;
[0038]
检测模块,用于将当前待检测的风机叶片图像输入至训练完成的目标检测网络,获取所述训练完成的目标检测网络输出的缺陷检测结果。
[0039]
可选地,在本技术的一个实施例中,训练模块,还用于:采用随机梯度下降sgd优化器对所述目标检测网络进行预设次数的迭代训练,直至所述目标检测网络对所述验证集中的图像进行预测的结果的预测精度,达到预设精度阈值;将所述测试集中的图像输入至训练完成的目标检测网络,测试所述训练完成的目标检测网络检测风机叶片缺陷的准确率。
[0040]
为了实现上述实施例,本技术第三方面实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的基于改进ssd模型的风机叶片缺陷检测方法。
[0041]
本技术的实施例提供的技术方案至少带来以下有益效果:本技术先对原始经典检测网络ssd模型进行优化,将主干网络采用resnext代替vgg,在保证了网络性能的基础上使得检测模型的主干网络轻量化。并且,采用双向特征金字塔结构在增加少量计算成本的情况下充分利用了多尺度特征特征图,提高了特征融合的多样性,充分利用多尺度特征获取了更加丰富的特征表达。并且在损失函数部分采用focalloss代替交叉熵损失函数,smooth l1 loss函数作为回归损失函数,并增加交并比损失(iou)损失函数共同优化。由此,本技术在降低了叶片缺陷检测所需的参数量和计算量的同时,提高了检测网络的检测效率和检测结果的准确性。
[0042]
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0043]
本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0044]
图1为本技术实施例提出的一种基于改进ssd模型的风机叶片缺陷检测方法的流程图;
[0045]
图2为本技术实施例提出的一种目标检测网络的结构示意图;
[0046]
图3为本技术实施例提出的一种检测层的结构示意图;
[0047]
图4为本技术实施例提出的一种双向特征金字塔结构的结构示意图;
[0048]
图5为本技术实施例提出的一种具体的图像预处理方法的流程图;
[0049]
图6为本技术实施例提出的一种具体的基于改进ssd模型的风机叶片缺陷检测方法的流程图;
[0050]
图7为本技术实施例提出的一种基于改进ssd模型的风机叶片缺陷检测系统的结构示意图。
具体实施方式
[0051]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0052]
需要说明的是,相关技术中的基于卷积神经网络的目标检测,两阶段检测的检测步骤较为复杂,通常需要类似region proposal的检测算法,导致检测速度较慢。而ssd模型使用了faster r-cnn的锚点框机制,以vgg作为主干网络,采用多尺度特征图抽样,其中大特征图负责小目标检测,小特征图负责大目标检测,并结合r-fcn网络的优点,将vgg网络中的全链接更改为全卷积网络。但是vgg网络的参数量大,降低了整个网络的推理效率,并且相关的ssd模型未能充分利用多尺度特征,影响了网络的检测精度。
[0053]
为此,本技术提出一种基于改进ssd模型的风机叶片缺陷检测方法,该方法可以在减少参数与计算量的同时,提高目标检测网络的准确率。
[0054]
下面参考附图详细描述本发明实施例所提出的一种基于改进ssd模型的风机叶片缺陷检测方法及系统。
[0055]
图1为本技术实施例提出的一种基于改进ssd模型的风机叶片缺陷检测方法的流程图,如图1所示,该方法包括以下步骤:
[0056]
步骤s101,对经典检测网络ssd模型进行改进,构建包括主干网络、多个检测层、双向特征金字塔结构和检测分支的目标检测网络,其中,采用resnext网络作为主干网络。
[0057]
其中,ssd(single shot multibox detector)模型是目标检测领域中属于单阶段检测one-stage方法中的一种经典的检测网络,ssd具有直接回归的检测算法,采用cnn来直接进行检测,且ssd采用了不同尺度和长宽比的先验框(即锚),可进行多框预测。
[0058]
具体的,本技术在构建目标检测网络时,对ssd模型进行的改进包括:将原始ssd模型中主干网络采用的vgg网络替换为resnext网络,并使用双向特征金字塔结构来替代原始ssd模型中的多尺度特征等,剩余改进在后续进行说明。从而,本技术构建了包括主干网络、多个检测层、双向特征金字塔结构和检测分支的目标检测网络。
[0059]
作为一种示例,本技术可构建如图2所示的目标检测网络,在本示例中使用resnext-50代替vgg作为主干网络,resnext是一种具有均一性的神经网络,相比于vgg减少了网络参数的数量,且相比于resnet等网络,本技术采用的resnext还减小了超参数的数量,从而提高了网络的推理效率。在图2所示的目标检测网络中,主干网络包括五个主体卷积模块(即图中所示的conv1至conv5),前一主体卷积模块输出的特征图输入到后一主体卷积模块中进行特征提取,从而生成新的特征图。
[0060]
其中,第四主体卷积模块conv4和第五主体卷积模块conv5作为多个检测层中的第一检测层和第二检测层,与新增卷积模块:检测层3、检测层4和检测层5组成检测层整体。多个检测层中除第一检测层和第二检测层之外的每个检测层,即检测层3至检测层5的结构如图3所示,每个检测层均包括:第一卷积层10、第一批归一化层20、第一线性整流relu激活函数30、第二卷积层40、第二批归一化层50和第二线性整流relu激活函数60。所述第一卷积层和所述第二卷积层中的卷积核为可变形卷积核。
[0061]
在本示例中,还对检测层的卷积层进行可改进,具体是将检测层3至检测层5的每个卷积层中的普通卷积核替换为可变形卷积核,由于可变形卷积将卷积核在每一个元素上额外增加了一个参数方向参数,使卷积核在训练过程中可以扩展到很大的范围,从而进一步提高了构建的目标检测网络的性能。
[0062]
进一步的,每个检测层可传输特征数据至双向特征金字塔结构,使用双向特征金字塔结构来替代原始ssd中的多尺度特征。在本技术一个实施例中,构建的双向特征金字塔结构如图4所示,该双向特征金字塔结构包括:五个输入节点、五个输出节点和三个中间节点,其中,每个输入节点与对应的检测层相连,即检测层1至检测层5为双向特征金字塔结构的输入。图中以和分别表示双向特征金字塔结构的输入节点和输出节点,以表示双向金字塔结构的中间节点。其中,从d5至d1自上到下传递的高层特征的语义信息,从d1至d5自下而上传递的是低层特征的位置信息,还融合了输入节点从而可以在增加少量计算成本的情况下丰富特征融合的多样性。根据图4所示的结构可知,该双向特征金字塔结构进行特征融合计算时,可通过以下公式进行特征融合:
[0063]
[0064][0065][0066][0067]
其中,与是每个参与运算的节点可学习的权重,resize()是尺寸缩放函数,比如,可以将图像变大两倍或者缩小两倍,conv是卷积运算,ε=0.0001为了保证数值的稳定性。
[0068]
更进一步的,双向特征金字塔结构可以将融合计算后的多尺度特征输入至检测分支。在本技术一个实施例中,构建的检测分支可以由两层卷积层组成,比如,3
×
3卷积层-》1
×
1卷积层。其中,每层输出的预测值表示为a
×
(k 4),其中,a为该层锚点框数量,k为类别数量,4为每个锚点框中心的横纵坐标、宽度和高度的预测值。
[0069]
由此,本技术通过对原始ssd模型进行改进,构建了目标检测网络,在后续进行训练后,通过该网络进行检测可以在减少参数与计算量。
[0070]
需要说明的是,上述如图2所示的目标检测网络仅是一种非限制性的示例,在本技术中还可以根据实际需要构建不同结构的目标检测网络。举例而言,可以根据检测精度的需要调整主体卷积模块和检测层的数量,或者,在原有vgg基础上结合resnet和inception networks等网络构建主干网络,将resnet的重复策略(repetition strategy)与inception network的拆分-转换-合并策略相结合,以进一步提高检测网络的性能和可移植性等。
[0071]
步骤s102,获取风机叶片图像数据集,对数据集中图像上的缺陷进行标注以生成对应的标签文件,并按照预设的比例将标注后的风机叶片图像数据集划分为训练集、验证集和测试集。
[0072]
其中,风机叶片图像数据集是对构建的目标检测网络进行训练时所需的训练数据集,风机叶片图像数据集中包含海量的风机叶片图像,不同的风机叶片图像中可能包含各种类型的缺陷。
[0073]
具体实施时,可以通过不同的方式获取风机叶片图像数据集。作为一种示例,可以预先在风电机组中设置数据采集与监视控制系统(supervisorycontrolanddataacquisition,简称scada),在风电机组运行过程中,通过scada对运行现场的风电机组的设备进行监测,以采集风机叶片的数据,通过采集的不同时间段内各风机叶片的历史图像数据生成风机叶片图像数据集。作为另一种示例,还可以获取网络资源中的风机叶片图像数据,通过筛选制作得到风机叶片图像数据集。
[0074]
进一步的,对数据集中风机叶片图像的缺陷按照预先定义的类别进行标记,生成对应的标签文件。在本技术一个实施例中,可以通过图像处理软件对数据集中的每张图像中的缺陷进行人工标注,准确标记出每张图像中叶片的缺陷属于预设缺陷类型中的哪一类,从而得到相应数量的标签文件。然后,将标注后的风机叶片图像数据集进行筛除错误数据等处理后,按照预设的比例,比如,以8:1:1的原则将标注后的风机叶片图像数据集划分为训练集、验证集和测试集。
[0075]
步骤s103,对训练集中的图像进行预处理,将预处理后的图像输入主干网络获得
多尺度特征图,将多个检测层处理后的多尺度特征图输入双向特征金字塔结构进行特征融合,并通过检测分支获取初始检测结果。
[0076]
其中,预处理是降低风机叶片图像对缺陷识别造成的干扰,便于提取叶片缺陷的处理操作。
[0077]
在本技术一个实施例中,为了更加清楚的说明对训练集中的图像进行预处理的过程,本技术还提出了一种具体的图像预处理方法,如图5所示,该方法包括以下步骤:
[0078]
步骤s501,通过最大类间方差法对训练集中的原始风机叶片图像进行前景与背景分割,提取出风机叶片所在的前景图像。
[0079]
具体的,在本实施例中,由于图像的背景中的复杂信息可能会对网络模型提取叶片缺陷造成干扰,因此,先通过最大类间方差法等方法,将图像中的将风机叶片与背景分离,提取出风机叶片所在的前景图像,从而有利于提高检测的准确性。
[0080]
步骤s502,将前景图像旋转至竖直方向,并从旋转后的前景图像中提取出风机叶片所处区域。
[0081]
其中,将提取的风机叶片图像旋转至竖直方向,可以减少斜向缺陷带来的干扰,以进一步提高检测的准确性。
[0082]
具体实施时,在进行旋转时可以先计算叶片的最小外接矩形,然后根据矩形的长短边计算叶片的角度。再根据叶片当前所处的角度与竖直角度之间的差值确定旋转角度和旋转方向,从而旋转图片至竖直方向。并且,同步旋转标注时生成的缺陷标注框,在旋转后叶片处于竖直方向时,将前景图像中将仅包含叶片的区域切割出来,并同步平移缺陷标注框。
[0083]
步骤s503,对风机叶片所处区域进行样本增强。
[0084]
具体的,通过将叶片所在区域的图像,随机旋转n*90
°
(n=0,1,2,3),随机水平方向与垂直方向90
°
翻转,并以随机的调整参数对图像进行亮度、对比度和饱和度的增强。
[0085]
由此,通过该预处理方法降低风机叶片图像对缺陷识别造成的干扰,更加利于后续提取图像中的叶片缺陷。
[0086]
进一步的,在对训练集中的图像进行预处理后,将训练集的风机叶片感图像输入至构建的目标检测模型中进行训练,在训练过程中通过预先确定的模型训练的超参数与损失函数,优化目标检测模型的参数。
[0087]
在具体实施时,先将预处理后的图像输入至主干网络获得多尺度特征图,如上述实施例所述,可以将主干网络的多个卷积模块中的前一主体卷积模块输出的特征图输入到后一主体卷积模块中进行特征提取,从而生成新的特征图。然后将生成的多尺度特征图中的部分特征图,即将全部特征图中经由任一检测层处理后的多尺度特征图,输入双向特征金字塔结构进行特征融合,比如,将图2中所示检测层1至检测层5处理后多尺度特征图输入双向特征金字塔,通过步骤s101中所示的特征融合计算公式进行特征融合后,再通过检测分支获取初始检测结果,初始检测结果包括目标检测网络当前判断的训练集中的叶片图像的缺陷类型等。
[0088]
步骤104,基于标签文件和初始检测结果,通过预设的目标损失函数计算损失并更新目标检测网络的参数,并对目标检测网络进行迭代训练直至训练完成目标检测网络,其中,目标损失函数基于focalloss函数、smooth l1 loss函数和交并比损失函数iou loss构
建。
[0089]
具体的,针对目标检测网络输出的对训练集中图像的预测结果和通过标注获得的标签文件,通过损失函数计算预测结果与真实值之间的损失,并通过最小化损失进行反向传播更新目标检测网络的参数。再通过对目标检测网络进行迭代训练直至训练完成目标检测网络。
[0090]
在本技术一个实施例中,对目标检测网络进行迭代训练直至训练完成目标检测网络,包括采用随机梯度下降sgd优化器对目标检测网络进行预设次数的迭代训练,直至目标检测网络对验证集中的图像进行预测的结果的预测精度,达到预设精度阈值。
[0091]
举例而言,在确定模型训练的超参数与损失函数,优化目标检测模型的参数,通过迭代训练直至验证集预测结果的预测精度达到预设精度阈值的过程中,可以基于imagenet数据集预训练主干网络,对于双向特征金字塔结构和检测分支,使用xavier初始化策略。在训练中使用sgd优化器,共迭代150000次,并设置初始学习率为0.01,在迭代至50000次和120000次时学习率缩小10倍,将l2正则化项系数设置为0.0005,动量设置为0.9,训练尺度为320至608,批量大小为16。若验证集中的图像输入至目标检测网络进行预测,而预测结果的预测精度达到预设精度阈值,则确定目标检测网络训练完成停止迭代。其中,预设精度阈值可以根据实际检测精度的需要进行设置。
[0092]
进一步的,为了保证训练出的模型符合要求,在本技术一个实施例中,在训练完成目标检测网络后,还可以将测试集中的图像输入至训练完成的目标检测网络,测试训练完成的目标检测网络检测风机叶片缺陷的准确率,通过比较准确率是否大于预设的最低准确率阈值,验证模型检测风机缺陷的准确性是否符合要求。
[0093]
在本技术一个实施例中,在训练过程中还可以对网络权重指数进行平滑处理,以及对标签文件进行平滑处理。具体而言,通过指数移动平均值(exponential moving average,简称ema)对目标检测网络的权重指数进行平滑处理,其中,权重指数平滑公式如下表示:
[0094]wems
=λ
×wema
(1-λ)
×w[0095]
其中,w
ema
为滑动平均参数,w为当前更新的参数,λ为衰减权重,使用λ=0.9998。并且,通过以下公式对标签文件进行平滑处理:
[0096]y′
=(1-ε)
×
y ε/k
[0097]
其中,y'是平滑后的样本标签,ε=0.1是平滑系数,k为类别总数。由此,通过采用网络权重指数平滑,提高了训练出的目标检测网络的鲁棒性,并进行标签平滑,标签平滑后的分布相当于向真实分布中加入了噪声,从而可以避免模型过拟合,提高了训练出的目标检测网络的泛化性能。
[0098]
需要说明的是,本技术进行模型训练时预设的目标损失函数,是基于focalloss函数、smooth l1 loss函数和交并比损失函数iou loss构建的。其中,本技术是基于改进的ssd模型构建并训练目标检测网络进行单阶段检测,而通常在单阶段检测过程中,可能会由于样本的类别不均衡导致缺陷检测的准确率低于双阶段检测。申请人发现,对于单阶段检测,由于负样本数量太大,占总体loss的大部分且较大部分是容易分类的样本,可能使得模型的训练过程中,模型的优化方向未充分按照预期的方向进行优化。
[0099]
为此,在本技术实施例中,通过focalloss函数构建目标检测网络的总损失函数即
目标损失函数,通过focalloss函数可以减少易分类样本的权重,使得目标检测网络在训练时更专注于难分类的样本,从而提高模型的训练效果。通过smooth l1 loss函数作为回归损失函数,并且,还增加了交并比(intersection of union,简称iou)损失函数共同优化目标检测网络,以进一步提升目标检测网络的预测准确率。
[0100]
具体实施时,作为一种可能的实现方式,可以在训练过程中,采用focal loss函数作为分类损失函数,采用smooth l1 loss函数作为回归损失函数,并在目标损失函数增加交并比损失函数iou loss,通过以下公式构建目标损失函数:
[0101][0102]
其中,为总的损失函数,分别代表focal loss、smooth l1 loss、iou loss,θ代表模型参数。
[0103]
由此,本技术通过该目标损失函数对目标检测网络进行训练,在避免影响目标检测网络原有的检测速度的基础上,可以提高目标检测网络检测的准确率。通过步骤s103和步骤s104所示的训练方式训练完成目标检测网络。
[0104]
步骤105,将当前待检测的风机叶片图像输入至训练完成的目标检测网络,获取训练完成的目标检测网络输出的缺陷检测结果。
[0105]
具体的,在训练完成的目标检测模型后,拍摄当前待检测的风机叶片,将待检测的风机叶片图像输入至训练完成的目标检测模型,检测模型输出结果即为对拍摄的风机叶片图像的缺陷检测的结果。
[0106]
为了更加充分的体现本技术实施例的基于改进ssd模型的风机叶片缺陷检测方法提高了风机叶片缺陷检测的准确性和速度,下面结合实际应用中获取的检测结果数据进行说明。
[0107]
具体而言,以人工标注作为参考,利用12000多张真实缺陷图片,从精度与效率两方面对比本方法与三种目标检测网络,包括faster r-cnn、yolo-v3和ssd的检测结果。利用均值平均精度(map)作为衡量目标检测网络准确度的指标,对比结果如表1所示;以相同实验环境下(tesla v100)每秒处理图片数量作为衡量目标检测网络速度的指标,对比结果如表2所示。
[0108]
[0109]
表1
[0110]
由表1可知,本技术的改进ssd网络的map值最高,可达到82.1,相比于ssd网络的map值68.9,提升了13.2。
[0111][0112]
表2
[0113]
由表2可知,在精度提升了13.2的情况下,本技术的改进ssd网络的速度依旧能达到31帧/秒。综合精度与效率对比,本技术的改进ssd网络优于其他方法。
[0114]
综上所述,本技术实施例的基于改进ssd模型的风机叶片缺陷检测方法,先对原始经典检测网络ssd模型进行优化,将主干网络采用resnext代替vgg,在保证了网络性能的基础上使得检测模型的主干网络轻量化。并且,采用双向特征金字塔结构在增加少量计算成本的情况下充分利用了多尺度特征特征图,提高了特征融合的多样性,充分利用多尺度特征获取了更加丰富的特征表达。并且在损失函数部分采用focalloss代替交叉熵损失函数,smooth l1 loss函数作为回归损失函数,并增加交并比损失(iou)损失函数共同优化。由此,该方法在降低了叶片缺陷检测所需的参数量和计算量的同时,提高了检测网络的检测效率和检测结果的准确性。
[0115]
为了更加清楚地说明本技术实施例的基于改进ssd模型的风机叶片缺陷检测方法的实现过程,下面以一个具体的基于改进ssd模型的风机叶片缺陷检测方法实施例进行详细说明。图6为本技术实施例提出的一种具体的基于改进ssd模型的风机叶片缺陷检测方法的流程图。如图6所示,该方法包括以下步骤:
[0116]
步骤s601,构建目标检测模网络,其中,目标检测网络是基于经典目标检测网络ssd进行改进得到。
[0117]
在本步骤中,构建包括主干网络、检测层、双向特征金字塔结构、检测分支的目标检测网络。
[0118]
步骤s602,利用风机叶片图像数据集对目标检测网络进行训练。
[0119]
在本步骤中,利用风机叶片图像数据集对目标检测网络进行训练的步骤包括:
[0120]
获取风机叶片图像数据集,对数据集中风机叶片图像的缺陷按照定义好的类别进行标记,生成对应的标签文件,预处理后按照8:1:1原则划分为训练集、验证集和测试集。
[0121]
将训练集的风机叶片感图像输入目标检测模型中进行训练,确定模型训练的超参数与损失函数,优化目标检测模型的参数,至验证集预测结果的预测精度达到预设精度阈值。
[0122]
将测试集输入训练好的目标检测模型,验证模型检测风机缺陷的准确性。
[0123]
其中,目标检测模型的训练方式为:训练集风机叶片图像预处理,预处理后输入主干网络,得到多尺度特征图,部分特征图(检测层)输入双向特征金字塔结构后通过检测分
支得到网络的检测结果,由标签数据与网络输出的损失更新网络参数。在训练过程中使用网络权重指数平滑提高网络的鲁棒性,标签平滑提高网络的泛化性能。
[0124]
步骤s603,将拍摄的风机叶片图像输入训练完成的目标检测模型,输出结果即为对拍摄的风机叶片图像的缺陷检测的结果。
[0125]
为了实现上述实施例,本技术还提出了一种基于改进ssd模型的风机叶片缺陷检测系统,图7为本技术实施例提出的一种基于改进ssd模型的风机叶片缺陷检测系统的结构示意图,如图7所示,该系统包括构建模块100、第一获取模块200、第二获取模块300、训练模块400和检测模块500。
[0126]
其中,构建模块100,用于对经典检测网络ssd模型进行改进,构建包括主干网络、多个检测层、双向特征金字塔结构和检测分支的目标检测网络,其中,采用resnext网络作为主干网络。
[0127]
第一获取模块200,用于获取风机叶片图像数据集,对数据集中图像上的缺陷进行标注以生成对应的标签文件,并按照预设的比例将标注后的风机叶片图像数据集划分为训练集、验证集和测试集。
[0128]
第二获取模块300,用于对训练集中的图像进行预处理,将预处理后的图像输入主干网络获得多尺度特征图,将多个检测层处理后的多尺度特征图输入双向特征金字塔结构进行特征融合,并通过检测分支获取初始检测结果。
[0129]
训练模块400,用于基于标签文件和初始检测结果,通过预设的目标损失函数计算损失并更新目标检测网络的参数,并对目标检测网络进行迭代训练直至训练完成目标检测网络,其中,目标损失函数基于focalloss函数、smooth l1 loss函数和交并比损失函数iou loss构建。
[0130]
检测模块500,用于将当前待检测的风机叶片图像输入至训练完成的目标检测网络,获取训练完成的目标检测网络输出的缺陷检测结果。
[0131]
可选地,在本技术的一个实施例中,训练模块400,还用于:采用随机梯度下降sgd优化器对目标检测网络进行预设次数的迭代训练,直至目标检测网络对验证集中的图像进行预测的结果的预测精度,达到预设精度阈值;将测试集中的图像输入至训练完成的目标检测网络,测试训练完成的目标检测网络检测风机叶片缺陷的准确率。
[0132]
可选地,在本技术的一个实施例中,第二获取模块300还用于:通过最大类间方差法对训练集中的原始风机叶片图像进行前景与背景分割,提取出风机叶片所在的前景图像;将前景图像旋转至竖直方向,并从旋转后的前景图像中提取出风机叶片所处区域;对风机叶片所处区域进行样本增强。
[0133]
可选地,在本技术的一个实施例中,主干网络包括五个主体卷积模块,其中,第四主体卷积模块和第五主体卷积模块分别为多个检测层中的第一检测层和第二检测层,多个检测层中除第一检测层和第二检测层之外的每个检测层包括:第一卷积层、第一批归一化层、第一线性整流relu激活函数、第二卷积层、第二批归一化层和第二线性整流relu激活函数,第一卷积层和第二卷积层中的卷积核为可变形卷积核。
[0134]
可选地,在本技术的一个实施例中,双向特征金字塔结构包括:五个输入节点、五个输出节点和三个中间节点,其中,每个输入节点与对应的检测层相连,双向特征金字塔结构通过以下公式进行特征融合:
[0135][0136][0137][0138][0139]
其中,和分别是双向特征金字塔结构的输入节点和输出节点,是双向金字塔结构的中间节点,与是每个参与运算的节点可学习的权重,resize()是尺寸缩放函数,conv是卷积运算,ε=0.0001为了保证数值的稳定性。
[0140]
可选地,在本技术的一个实施例中,训练模块400还用于:
[0141]
通过指数移动平均值ema对所述目标检测网络的权重指数进行平滑处理,其中,权重指数平滑公式如下表示:
[0142]wema
=λ
×wema
(1-λ)
×w[0143]
其中,w
ema
为滑动平均参数,w为当前更新的参数,λ为衰减权重,使用λ=0.9998;通过以下公式对标签文件进行平滑处理:
[0144]y′
=(1-ε)
×
y ε/k
[0145]
其中,y'是平滑后的样本标签,ε=0.1是平滑系数,k为类别总数。
[0146]
可选地,在本技术的一个实施例中,训练模块400还用于:采用focal loss函数作为分类损失函数,采用smooth l1 loss函数作为回归损失函数,并在目标损失函数中增加交并比损失函数iou loss,通过以下公式构建目标损失函数:
[0147][0148]
其中,为总的损失函数,分别代表focal loss、smooth l1 loss、iou loss,θ代表模型参数。
[0149]
需要说明的是,前述对基于改进ssd模型的风机叶片缺陷检测方法的实施例的解释说明也适用于该实施例的系统,此处不再赘述。
[0150]
综上所述,本技术实施例的基于改进ssd模型的风机叶片缺陷检测系统,先对原始经典检测网络ssd模型进行优化,将主干网络采用resnext代替vgg,在保证了网络性能的基础上使得检测模型的主干网络轻量化。并且,采用双向特征金字塔结构在增加少量计算成本的情况下充分利用了多尺度特征特征图,提高了特征融合的多样性,充分利用多尺度特征获取了更加丰富的特征表达。并且在损失函数部分采用focalloss代替交叉熵损失函数,smooth l1 loss函数作为回归损失函数,并增加交并比损失(iou)损失函数共同优化。由此,该系统在降低了叶片缺陷检测所需的参数量和计算量的同时,提高了检测网络的检测效率和检测结果的准确性。
[0151]
为了实现上述实施例,本技术还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述实施例中任一所述的基于改进ssd模型的风机叶片缺陷检测方法。
[0152]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0153]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0154]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0155]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0156]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0157]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0158]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0159]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献