基于改进YOLOv4-tiny的布匹缺陷检测模型及方法

文档序号:26053108发布日期:2021-07-27 15:29阅读:197来源:国知局
基于改进YOLOv4-tiny的布匹缺陷检测模型及方法
本发明涉及缺陷检测
技术领域
,尤其涉及一种基于改进yolov4-tiny的布匹缺陷检测模型及方法。
背景技术
:实际工厂中的布匹缺陷检测通常是通过人工视觉的方法进行的,这种方式有助于及时的纠正缺陷,但由于人工会出现疲劳的情况,这会导致人为错误,并且人眼通常很难检测到细小的缺陷。对于工业上的长期应用而言,这种方法效率低下且精度较差。传统的缺陷检测技术是相对于深度学习中的端到端训练检测方式而言的,传统的检测方式往往需要人为手动的定义特征以及特征的提取方式,这就意味着需要设计有效的特征来对织物中不同的缺陷进行表征。尽管具有挑战性,但许多研究人员已为解决这些问题做出了巨大努力。传统的布匹缺陷检测算法主要可以分为以下三大类:统计分析法(参考文献1:h.y.t.ngan,g.k.h.pang,s.p.yung,m.k.ng.defectdetectiononpatternedjacquardfabric[c].32ndappliedimagerypatternrecognitionworkshop,2003,163–168.)、频域分析法(参考文献2:a.s.malek.onlinefabricinspectionbyimageprocessingtechnology[j].in:mechanicalengineering,universityofhautealsace,2012.)和模型分析法(参考文献3:s.ozdemir,a.ercil.markovrandomfieldsandkarhunen-loevetransformsfordefectinspectionoftextileproducts[j].ieeeconferenceonemergingtechnologiesandfactoryautomation,vol.692(1996)697–703.)。传统图像处理技术的缺陷检测算法能够较好地对某些特定的缺陷类型设计特征提取的方案,并且能够取得较好的检测精度,但是某一类缺陷特征提取方案并不能很好适用在多种类缺陷的布匹图像当中。技术实现要素:针对传统布匹缺陷检测算法不能适用于存在多种布匹缺陷类型的问题,本发明提供一种基于改进yolov4-tiny的布匹缺陷检测模型及方法。一方面,本发明提供一种基于改进yolov4-tiny的布匹缺陷检测模型,该检测模型在yolov4-tiny主干网络中的残差块加入密集连接卷积块cspdenseblock,并在主干网络最后加入spp模块,形成新的特征提取网络;新的所述特征提取网络输出两种不同尺度的特征图;两种不同尺度的特征图分别通过各自对应的卷积块处理后进入各自的yolo层对目标进行预测;进一步地,新的所述特征提取网络包括自上而下依次连接的两层第一卷积块、cspblock模块、两层密集连接卷积块cspdenseblock、spp模块和第二卷积块;所述第一卷积块包括依次连接的第一conv2d层、bn层和leakyrelu激活函数;所述第一conv2d层为卷积核为3×3,步长为2,填充0的行数或列数为1的卷积层;所述第二卷积块包括依次连接的第二conv2d层、bn层和leakyrelu激活函数;所述第二conv2d层为卷积核为3×3,步长为1,填充0的行数或列数为1的卷积层。进一步地,所述cspblock模块具体为:将残差块的堆叠拆成第一部分和第二部分;第二部分经过第二卷积块,然后继续拆分成第三部分和第四部分;第四部分经过第二卷积块后与第三部分进行进行第一次concat操作;进行第一次concat操作后的输出再经过第三卷积块后与第一部分进行第二次concat操作;其中,所述第三卷积块包括依次连接的第三conv2d层、bn层和leakyrelu激活函数;所述第三conv2d层为卷积核为1×1,步长为1,填充0的行数或列数为1的卷积层。进一步地,第一层所述密集连接卷积块cspdenseblock具体为:将cspblock模块中进行第一次concat操作后的输出所经过的第三卷积块替换为denseblock;所述denseblock包括自上而下的5层子网络层;其中,第一层子网络层和第三层子网络层具体为依次连接的bn层和leakyrelu激活函数;第二层子网络层和第四层子网络层具体为增长率k为64的第四conv2d层;第五层子网络层具体为concat层;第二层子网络层的输出和第四层子网络层的输出通过第五层子网络层进行concat操作。进一步地,第二层所述密集连接卷积块cspdenseblock具体为:将第一层所述密集连接卷积块cspdenseblock中的第二层子网络层和第四层子网络层的增长率k设置为128,其余结构与第一层所述密集连接卷积块cspdenseblock相同。进一步地,所述spp模块具体包括:conv层、第一最大池化层、第二最大池化层、第三最大池化层、第四最大池化层和concat层;其中,conv层的输出分别经过第一最大池化层、第二最大池化层、第三最大池化层、第四最大池化层后,通过concat层进行concat操作;所述第一最大池化层、第二最大池化层、第三最大池化层、第四最大池化层的卷积核大小分别为13×13、9×9、5×5、1×1,步长均为2。另一方面,本发明提供一种基于改进yolov4-tiny的布匹缺陷检测方法,采用上述的布匹缺陷检测模型,所述方法包括:步骤1:对采集的布匹缺陷数据集进行缺陷类型标注,并按一定比例划分为训练集和测试集;步骤2:利用训练集对所述布匹缺陷检测模型进行训练,获取最优检测模型;步骤3:利用训练得到的最优检测模型对测试集中的图片数据进行检测。进一步地,步骤1中,采集的布匹缺陷数据集包含网格和条纹;布匹的缺陷类型包括断纱、带纱、棉球、破洞和污渍。进一步地,该方法还包括:步骤4:对测试集的检测结果进行检测精度和实时性评价;所述评价指标包括ap和map。本发明的有益效果:本发明提供的基于改进yolov4-tiny的布匹缺陷检测模型及方法,针对原来的yolov4-tiny主干网络,通过在其原来的残差块中加入密集连接卷积块对主干网络进行调整,扩充了检测模型的神经元感受野有助于浅层信息(浅层网络包含有较多的亮度、颜色和边缘等粗糙信息)的提取;使用密集卷积块构造较深的主干网络框架,有助于识别多个难以区分的目标,增加模型检测的准确性;在整个框架的基础上,配合训练参数的调整,使得整个模型可用于对复杂场景下布匹缺陷检测任务的优化,并且检测精度较传统的模型更好。附图说明图1为本发明实施例提供的基于改进yolov4-tiny的布匹缺陷检测模型的网络结构图;图2为本发明实施例提供的特征提取网络中的cspblock模块的结构图;图3为本发明实施例提供的特征提取网络中的第一层cspdenseblock模块的结构图;图4为本发明实施例提供的特征提取网络中的第二层cspdenseblock模块的结构图;图5为本发明实施例提供的特征提取网络中的spp模块的结构图;图6为本发明实施例提供的基于改进yolov4-tiny的布匹缺陷检测方法的流程图;图7为本发明实施例提供的定性比较时未改进网络模型yolov4-tiny的检测结果图;图8为本发明实施例提供的定性比较时本发明方法的检测结果图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明实施例提供一种基于改进yolov4-tiny的布匹缺陷检测模型,该检测模型在yolov4-tiny主干网络中的残差块加入密集连接卷积块cspdenseblock,并在主干网络最后加入spp模块,形成新的特征提取网络;新的所述特征提取网络输出两种不同尺度的特征图;两种不同尺度的特征图分别通过各自对应的卷积块处理后进入各自的yolo层对目标进行预测;作为一种可实施方式,新的所述特征提取网络包括自上而下依次连接的两层第一卷积块、cspblock模块、两层密集连接卷积块cspdenseblock(按照前后顺序分别称为:第一层cspdenseblock模块、第二层cspdenseblock模块)、spp模块和第二卷积块;所述第一卷积块包括依次连接的第一conv2d层、bn层和leakyrelu激活函数;所述第一conv2d层为卷积核为3×3,步长为2,填充0的行数或列数为1的卷积层;所述第二卷积块包括依次连接的第二conv2d层、bn层和leakyrelu激活函数;所述第二conv2d层为卷积核为3×3,步长为1,填充0的行数或列数为1的卷积层。具体地,待检测布匹数据由特征提取网络的第一层第一卷积块输入,该特征提取网络的输出分为两部分,两部分输出的特征图为两种不同尺度的特征图:第一部分输出为第一层密集连接卷积块cspdenseblock的输出,第二部分输出为第二卷积块的输出。接着,通过对第二部分输出的特征图进行上采样处理后与第一部分输出的特征图进行concat操作,实现特征融合;融合后的特征图与第二部分输出的特征图再次经过不同的卷积处理后分别送入两个分支的yolo层对目标进行预测。作为一种可实施方式,如图2所示,所述cspblock模块具体为:将残差块的堆叠拆成第一部分和第二部分;第二部分经过第二卷积块,然后继续拆分成第三部分和第四部分;第四部分经过第二卷积块后与第三部分进行进行第一次concat操作;进行第一次concat操作后的输出再经过第三卷积块后与第一部分进行第二次concat操作;其中,所述第三卷积块包括依次连接的第三conv2d层、bn层和leakyrelu激活函数;所述第三conv2d层为卷积核为1×1,步长为1,填充0的行数或列数为1的卷积层。作为一种可实施方式,如图3所示,第一层所述密集连接卷积块cspdenseblock具体为:将cspblock模块中进行第一次concat操作后的输出所经过的第三卷积块替换为denseblock;所述denseblock包括自上而下的5层子网络层;其中,第一层子网络层和第三层子网络层具体为依次连接的bn层和leakyrelu激活函数;第二层子网络层和第四层子网络层具体为增长率k为64的第四conv2d层;第五层子网络层具体为concat层;第二层子网络层的输出和第四层子网络层的输出通过第五层子网络层进行concat操作。作为一种可实施方式,如图4所示,第二层所述密集连接卷积块cspdenseblock具体为:将第一层所述密集连接卷积块cspdenseblock中的第二层子网络层和第四层子网络层的增长率k设置为128,其余结构与第一层所述密集连接卷积块cspdenseblock相同。作为一种可实施方式,如图5所示,所述spp模块具体包括:conv层、第一最大池化层、第二最大池化层、第三最大池化层、第四最大池化层和concat层;其中,conv层的输出分别经过第一最大池化层、第二最大池化层、第三最大池化层、第四最大池化层后,通过concat层进行concat操作;所述第一最大池化层、第二最大池化层、第三最大池化层、第四最大池化层的卷积核大小分别为13×13、9×9、5×5、1×1,步长均为2。如图6所示,本发明实施例还提供一种基于改进yolov4-tiny的布匹缺陷检测方法,采用上述各实施例中的的布匹缺陷检测模型,该方法包括下述步骤:s101:对采集的布匹缺陷数据集进行缺陷类型标注,并按一定比例(例如7:3比例)划分为训练集和测试集;具体地,采集的布匹缺陷数据集包含网格和条纹;布匹的缺陷类型包括断纱、带纱、棉球、破洞和污渍。实际应用中,可以从包含网格和条纹的图像织物数据库中获取数据集;也可以使用固定于光照充足的生产线上的工业相机或使用高分辨率扫描仪获取织物图片作为数据集。步骤s102:利用训练集对所述布匹缺陷检测模型进行训练,获取最优检测模型;步骤s103:利用训练得到的最优检测模型对测试集中的图片数据进行检测步骤s104:对测试集的检测结果进行检测精度和实时性评价;所述评价指标包括ap和map。为了验证本发明提供的检测模型及方法的有效性,本发明还提供有下述实验,具体如下:1.准备数据集,如表1所示。表1df数据集(即布匹缺陷数据集)缺陷类别训练样本数量测试样本数量断纱21890带纱297128棉球12856破洞7834污渍2951272.设置检测模型中特征提取网络的具体参数,如表2所示。表2特征提取网络的具体参数层卷积模块输入输出第一层conv3-leakyrelu3×416×41632×208×208第二层conv3-leakyrelu32×208×20864×104×104第三层cspblock64×104×104128×104×104第四层mp128×104×104128×52×52第五层cspdenseblock128×52×52256×52×52第六层mp256×52×52256×26×26第七层cspdenseblock256×26×26512×26×26第八层mp512×26×26512×13×13第九层spp512×13×13512×13×13第十层conv3-leakyrelu512×13×13512×13×13具体地,结合图1至图5,第一层卷积层卷积核的尺寸以“输入通道数×输出通道数×(卷积核高×卷积核宽)”的格式表示为1×32×(3×3),卷积的步长为2,卷积时在特征图边缘填充0的行(列)数为1,该层的激活函数为leakyrelu,该层采用batachnorm(bn层)归一化操作。如图1所示;第二层与第一层的结构相同,都使用了卷积核为3×3,步长为2,填充0的行(列)数为1的卷积层,之后使用bn层以及leakyrelu激活函数。如图1所示。第三层则是cspblock模块,具体cspblock模块就是将残差块的堆叠进行了拆分,拆成左右两部分(即图2中的part1和part2):主干部分继续进行原来的残差块的堆叠;主干部分经过卷积核为3×3,步长为1,填充0的行(列)数为1的卷积层,之后使用bn层以及leakyrelu激活函数,接下来对此继续拆分成左右两个部分,主干部分经过卷积核为3×3,步长为1,填充0的行(列)数为1的卷积层,之后使用bn层以及leakyrelu激活函数,之后将左右两部分进行concat操作。在进行concat操作后,经过卷积核为1×1,步长为1,填充0的行(列)数为1的卷积层,之后使用bn层以及leakyrelu激活函数。最后与该模块最初拆分的部分进行concat操作,至此cspblock模块完成。如图2所示。第五层和第七层是cspdenseblock模块,cspdenseblock模块是在cspblock模块基础上加入了密集型连接结构,具体操作是在cspblock模块中的第一次concat操作后加入denseblock,在第一个cspdenseblock模块(即第五层)中增长率k为64,而在第二个cspdenseblock模块(即第七层)中增长率k为128;因此保证了cspdenseblock模块层数相对应都为两层。经过层数为5的denseblock,与该模块最初拆分的部分进行concat操作,至此第五层(或第七层)的cspdenseblock模块完成。如图3和图4所示。第四层、第六层和第八层均为最大池化层(mp),3个最大池化层都是卷积核为2×2,步长为2的maxpooling操作,位置分别在cspblock模块和两个密集连接卷积块cspdenseblock之后。第九层是spp模块,spp模块利用四个不同尺度的最大池化进行处理,最大池化的池化核大小分别为13×13、9×9、5×5、1×1(1×1即无处理)最终将四个不同尺度的特征图进行concat操作。如图5所示。以jpeg彩色图像像素值组成的矩阵作为输入,当图像输入检测模型后,通过上述的特征提取网络对图像进行特征提取,使用第六层和第十层得到26×26和13×13两个尺度的特征卷积输出;然后,将13×13的卷积特征进行第一次上采样并与26×26的卷积特征进行信息融合,最后13×13的卷积特征和26×26的卷积特征分别通过2个卷积模块(cbl)压缩相应尺度下的融合后的卷积信息再分别送入yolo层对目标进行预测。3.设置检测模型中head网络的具体参数,如表3所示。表3为head网络部分的具体参数层卷积模块输入输出第一层conv3-leakyrelu512×13×13512×13×13第二层conv3-leakyrelu512×13×13512×13×13第三层conv1512×13×13255×13×13第四层conv1512×13×13128×13×13第五层upsample128×13×13128×26×26第六层concat128×26×26,128×26×26256×26×26第七层conv3-leakyrelu128×13×13128×26×26第八层conv1128×26×26255×26×26表3中,conv3-leakyrelu为3×3,步长为1,填充0的行(列)数为1的卷积层,之后使用bn层以及leakyrelu激活函数。其中conv1为1×1,步长为1,填充0的行(列)数为1的卷积层。其中upsample是指对特征图进行上采样操作,将原本的特征图放大为原来的两倍。其中concat是指对特征图大小相同但通道数不同的特征图进行融合操作,第四层的输入为第一层输出的特征图,最后采用第三层和第八层作为网络的最终输出,输出到检测层。4.设置训练参数:使用adam算法在训练集中对网络进行训练,设置神经网络中的超参数:动量参数为0.9,权重衰减正则项参数设置为0.0005,初始学习率为0.001,batchsize设置为8,训练总轮数epoch为200;训练完成后保存权重文件。5.采用训练完成后的模型权重对测试集中的图片数据进行检测,并对测试集的检测结果进行检测精度和实时性评价。评价指标ap和map的计算过程如下:上式中,n(truepositions)代表单张图像中正确预测为某一个类别的目标数量,n(totalobjects)代表测试集中含有某一个类别的图像总数。上式中,∑pc代表测试集所有图像的属于类c的准确率之和,n(totalimages)代表测试集中含有某一个类别的图像总数。上式中,∑ap代表测试集所有类别的平均准确率之和,n(classes)代表测试集类别总数。通过上述对评价指标ap和map的计算,将本发明方法分别与yolov3-tiny和yolov4-tiny作对比,检测结果如表4所示:表4模型断纱带纱棉球破洞污渍mapyolov3-tiny0.7760.9170.9390.9950.8310.890yolov4-tiny0.7830.9520.9190.9950.8290.896改进yolov4-tiny0.9240.9380.9050.9950.8730.927从表4中可以看出,本发明提出的网络模型在3个数据集上的表现对于不同纹理类型的缺陷检测均有较高的准确率。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1