一种基于改进RefineDet的织物疵点检测方法

文档序号:28945232发布日期:2022-02-19 08:36阅读:315来源:国知局
一种基于改进RefineDet的织物疵点检测方法
一种基于改进refinedet的织物疵点检测方法
技术领域
1.本发明涉及计算机视觉技术领域,涉及一种基于改进refinedet的织物疵点检测方法。


背景技术:

2.在纺织产品的生产过程中,质量控制贯穿着整个过程。有质量问题的织物会在很大程度上影响其价格,因此对织物进行疵点检测,是成品布出厂的最后一道工序,也是控制成布质量的关键环节。传统的织物疵点检测方法,主要是以人工检测的方式为主。人工检测需要大量劳动力,且容易受到检测员主观因素和外界环境等客观因素的影响,出现误检和漏检的问题,导致检测效果差。为了提高织物疵点检测的效率,从20世纪90年代开始,研究者们就提出了大量的基于图像处理的织物疵点自动检测方法。不仅如此,自2015年开始,深度学习的方法被引入到织物疵点检测领域,这些方法突破了传统织物疵点检测的局限性,算法性能得到了大大提升。从而实现了利用深度学习对织物疵点进行检测的高效方法。


技术实现要素:

3.本发明的目的是提供一种基于改进refinedet的织物疵点检测方法,所得的混凝土具有优异的工作性能、力学性能、抗裂性和抗冲磨性能。
4.为达到上述目的,本发明采用的技术方案为:
5.一种基于改进refinedet的织物疵点检测方法,包括以下步骤:
6.步骤1、收集织物图像并进行预处理得到数据集,将数据集按比例划分为训练集与测试集;
7.步骤2、将步骤1的训练集中的训练样本依次输入到基于改进refinedet的织物疵点检测网络中,改进refinedet的织物疵点检测网络利用加入注意力机制的特征提取模块中进行特征提取,得到提取后的特征图;
8.步骤3、将提取后的特征图进行融合后输入se模块,利用se模块对特征图中的疵点进行分类,并利用目标定位模块odm预测每个类别的疵点的目标的置信度值,改进refinedet的织物疵点检测网络最终预测得到训练样本的每个类别的疵点目标的坐标;
9.步骤4、利用异步梯度下降的训练策略调整改进refinedet的织物疵点检测网络的参数,得到基于改进refinedet的织物疵点检测模型;
10.步骤5、将测试集中的测试样本依次输入基于改进refinedet的织物疵点检测模型,得到测试样本中的每个类别的疵点目标的坐标,并在测试样本图像中按不同类别分别框出疵点目标。
11.进一步的,所述步骤1中的预处理为将收集到的织物图像并进行疵点的标记,记录下织物图像中疵点所在位置与类别,并通过随机裁剪和旋转来增强训练数据,得到数据集。
12.进一步的,所述se模块的数量为四个,能处理得到4种不同尺寸的特征图。
13.进一步的,所述步骤2中加入注意力机制的特征提取模块为改进的anchor细化模
块,改进的anchor细化模块相比常规anchor细化模块的改进方式为,在anchor细化模块中的vgg16网络的基础上,对网络进行修改,将vgg16网络的最后两个完全连接层和最后一个池化层去掉,将vgg16网络修改为完全卷积网络,并对修改后的网络重新进行训练。
14.进一步的,步骤4中,利用梯度下降的训练策略调整改进refinedet的织物疵点检测网络的参数,得到织物疵点检测模型的训练方法为:
15.步骤41、设置学习率和和权重衰减值,设置最大迭代次数;
16.步骤42、将训练集图像的训练样本依次输入基于改进refinedet的织物疵点检测网络;
17.步骤43、改进refinedet的织物疵点检测网络预测训练样本的每个类别的疵点目标的坐标;
18.步骤44、通过损失函数计算步骤43中预测的疵点目标的坐标和图像上标记的疵点的实际位置坐标之间的差异值;
19.步骤45、根据学习率、权重衰减值和步骤44中的差异值调整基于改进refinedet的织物疵点检测网络的参数,返回步骤42,直到遍历完训练集中所有的训练样本;
20.步骤46、迭代次数增加1,判断迭代次数是否达到最大迭代次数,若否,则转到步骤42,若是,则保存最后一次迭代的参数,生成基于改进refinedet的织物疵点检测模型。
21.进一步的,步骤45中的损失函数计算的损失为arm和odm损失之和,总损失损失函数计算方式为:
[0022][0023]
其中,i是训练批次中标记框的索引;n
arm
和n
odm
分别指的是anchor细化模块和目标检测模块中正样本anchor步骤的数目;pi指的是预测的anchor i是一个目标的置信度;xi指的是arm细化后预测的anchor i的坐标;ci是目标检测模块中预测标记框的物体类别;ti是目标检测模块中预测标记框的坐标;lb表示二元分类损失,即目标与非目标的交叉熵损失;lr表示回归损失;lm表示多类别分类损失;指数函数表示当框i属于缺陷类时,输出1,否则为0;是anchor i真实的类别标签;是anchor i真实的位置和大小。
[0024]
本发明的有益效果为:
[0025]
1、本发明采用改进后vgg16可以减少参数数量,且对性能没有明显影响。多尺度特征提取方法对不同下采样层的特征图进行特征提取,能够同时利用到更全面的织物特征,提高模型的检测能力;
[0026]
2、本发明使用改进的refinedet网络模型,在增加注意力机制和se模块后能够凸显疵点的细节信息以及提高模型的分类效果;
[0027]
3、本发明对传统refinedet网络模型进行改进,使模型在具有较好的检测精度的同时,极大提高了检测速度。
附图说明
[0028]
图1为本发明的织物疵点检测总体流程结构示意图;
[0029]
图2本发明的在anchor细化模块中加入注意力机制的结构图;
[0030]
图3本发明引进se模块示意图;
[0031]
图4本发明方法的改进前后准确率结果对比效果图;
[0032]
图5本发明方法的改进前后疵点定位结果对比效果图。
具体实施方式
[0033]
以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0034]
如图1所示,本发明实施例提供了一种基于改进refinedet的织物疵点检测方法,具体步骤如下:
[0035]
步骤1、选择tilda织物数据库中的孔(素色背景)、孔(针织背景)、污渍(素色背景)、污渍(条纹背景)、纱疵(素色背景)、纱疵(条纹背景)、线状(素色背景)、线状(格子背景),将孔、线状、纱疵和污渍四种疵点类型作为图像数据集,tilda数据集包含1600张分辨率为768
×
512的图像,从中选取1200张图像,输入图像大小为320
×
320,通过随机裁剪和旋转来增强训练数据。从步骤11搜集的图像数据集中随机选择图像进行裁剪;然后,对裁剪后的图像分别进行旋转。最终用于实验的每种图像类型被随机选择作为训练集和测试集,其中70%作为训练集,30%作为测试集。
[0036]
步骤2、将步骤1中的训练集中的织物图像依次输入到织物疵点检测网络模型中进行训练,织物疵点检测模型通过anchor细化模块提取织物图像的特征。为了让模型提取到织物图像的细节信息,在特征提取模块中创新性的加入注意力机制,注意力机制的原理是通过快速扫描图像的全局,从而获得需要重点关注的目标区域,也就是一般所说的注意力焦点,而后对这一区域投入更多注意力资源,以获取更多所需要关注目标的细节信息,而抑制其他无用信息,如图2所示。
[0037]
步骤3、为了提高模型的分类性能,本发明创新性的加入se模块(步骤squeeze and excitation,se),如图3所示,将步骤2步骤中提取到的特征进行特征融合,将融合后的特征图输入到se模块中,se模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中,不仅如此,se模块能够显著改善网络的分类能力,而且该模块对网络的负面影响也较小,具体为:
[0038]
步骤31、将anchor细化模块输出的特征图作为tcb的输入,此时得到了四种不同尺寸的特征;
[0039]
步骤32、将经tcb处理后的结果作为se模块的输入,即在tcb后加入了四个se模块,se模块是由全连接层和非线性约束层构成的,它能够很方便的加载到现有的网络模型中,4个se模块处理后得到4种不同尺寸的特征图,se模块通过对卷积特征的通道进行加权操作,对分类有效的通道特征进行增强操作,对分类无效的通道特征进行抑制;
[0040]
步骤33、为了使其维度匹配,通过逆卷积增强高级特征图,然后把高级特征图的对应元素求和,其中高级特征图的大小分别为40
×
40
×
256,20
×
20
×
256,10
×
10
×
256,5
×5×
256,最后对求和之后的结果添加卷积层来提高检测结果的可辨性,最后根据4个se模块处理后对特征图进行分类,识别疵点是属于孔、线状、纱疵、污渍四类中的哪一类。
[0041]
步骤4、odm(目标检测模块)将结果回归到准确的疵点位置并预测疵点的多类别标签。
[0042]
本发明的特征提取网络不仅增加了感受野,而且通过不同尺度和不同层次的特征融合,获得了更全面的织物特征。网络中设计了一系列不同的模块,其中arm(anchor细化模块)的目标是消除负样本anchor步骤,以便减少分类器的搜索空间,同时粗略调整anchor步骤的大小和位置,为随后的回归器提供更好的初始化结果。tcb传输anchor细化模块中的特征,它不仅可以在odm中预测目标的位置、尺寸和类别标签,还可以通过将arm的高级特征添加到传输的特征来继承大规模的上下文,以提高检测的准确性。odm对目标区域进行分类和定位。这三类都是传统refinedet模型所具有的,在其基础上,创新性的加入了注意力机制和se模块。其中在arm中引入了注意力机制,可以使模型关注疵点重要的特征并抑制不必要的特征,用于增强对疵点检测的能力;在tcb中引入了se模块结构,用于提高网络的分类性能。以保证网络能够满足多尺度的织物疵点检测。
[0043]
步骤5、利用梯度下降训练策略调整改进refinedet的织物疵点检测网络的参数,得到织物疵点检测网络模型的具体的训练方法为:
[0044]
步骤51、设置学习率θ为0.0001,权重衰减值ω为0.0005,设置最大迭代次数100000.
[0045]
步骤52、随机选取训练集中的n张织物图像及疵点的位置坐标输入织物疵点检测网络中。
[0046]
步骤53、将织物疵点检测网络提取到的特征图输入到网络模型中,经过融合后的特征能够更好的获取疵点的类别和位置信息。
[0047]
步骤54、通过织物疵点检测网络预测每个网格中的边界框的数量,利用se分类模块对织物图像进行分类,odm目标定位模块预测每个边框中疵点目标的置信度值;在网络的迭代过程中,需要使用损失函数计算神经网络的输出和所预期的输出之间的差异值来确定迭代的调整方向。损失函数能够反映当前网络的输出和实际结果之间的一种量化之后的不一致程度,从而在迭代过程中对网络参数进行调整。
[0048]
步骤55、通过损失函数计算步骤44中预测的疵点目标的置信度和疵点位置坐标之间的差异;所述步骤45中的损失函数为arm(vgg16)和odm损失之和,总损失损失函数计算方式为:
[0049][0050]
其中,i是训练批次中标记框的索引;n
arm
和n
odm
分别指的是arm(vgg16)和odm中正样本anchor步骤的数目;pi指的是预测的anchori是一个目标的置信度;xi指的是arm(vgg16)细化后预测的anchori的坐标;ci是odm中预测标记框的物体类别;ti是odm中预测标记框的坐标;lb表示二元分类损失,即目标与非目标的交叉熵损失;lr表示回归损失;lm表示多类别分类损失;指数函数表示当框i属于缺陷类时,输出1,否则为0;是anchori真实的类别标签;是anchori真实的位置和大小;
[0051]
步骤56、根据学习率、权重衰减值和步骤45中的差异值调整改进refinedet的织物疵点检测网络的参数,直到遍历完训练集中的所有图像;
[0052]
步骤57、迭代次数增加1,循环执行步骤42至步骤46,直到达到最大迭代次数,保留最后一次迭代的织物疵点检测网络的参数,生成织物疵点检测网络模型;
[0053]
步骤6、将测试集中的织物图像输入步骤4得到的织物疵点检测模型中,得到图像中的目标疵点及位置坐标,并在图像中框出疵点的所在位置。将测试集中的织物图像输入到织物疵点检测模型中,图像经过网络模型的层层卷积运算后得到各个区域像素属于织物疵点目标的置信度,并预测出疵点目标在图像中的位置坐标,通过设定置信度阈值,将大于阈值的目标确定为疵点目标,并根据坐标值准确框出图像中疵点所在的位置;
[0054]
疵点检测性能指标主要包括精度和均值平均精度,同时列出了所使用的硬件资源。下面给出表2中使用到的疵点检测指标。
[0055]
1)混淆矩阵
[0056]
表1混淆矩阵
[0057][0058]
tp、tn、fp、fn即true positive;true negative;false positive;false negative的缩写,positive和negative表示的是预测得到的结果,预测为正类则为positive,预测为负类则为negative;true和false则表示预测的结果和真实结果是否相同,相同则是true,不同则为false。
[0059]
2)精确度precision
[0060]
即模型判断该图片为正类,而该图片也的确是正类的概率。正类的精确度就是指模型判断为正类且真实类别也为正类的图像数量/模型判断为正类的图像数量,衡量的是一个分类器分出来的正类的确是正类的概率,计算公式如下:
[0061][0062]
3)召回率recall
[0063]
即所有图片中有5个正类,模型能够将这5个图片都正确判断为正类,则召回率为100%。召回率是指模型判为正类且真实类别也是正类的图像数量/真实类别是正类的图像数量,衡量的是一个分类器能把所有的正类都找出来的能力,计算公式为:
[0064][0065]
4)ap和map
[0066]
把每次预测结果的precision和recall计算出来,并按照关系画出曲线,就是p-r曲线。在计算ap前,为了平滑p-r曲线,减少曲线抖动的影响,首先对p-r曲线进行插值,通过计算每一个recall值对应的precision值的平均值,可以获得一个数值形式的评估指标:ap,用于衡量的是训练出来的模型在感兴趣的类别上的检测能力的好坏。
[0067]
ap衡量的是对一个类检测好坏,map就是对多个类的检测好坏。比如有两类,类a的ap值是0.5,类b的ap值是0.2,那么map=(0.5+0.2)/2=0.35。
[0068]
将测试集中的图片输入到织物疵点检测模型中,得到模型的检测结果,与其他神经网络作对比,结果显示,在tilda数据集、孔、线状、纱疵和污渍四类分类效果都取得了较好的成果。相比传统refinedet的疵点检测方法而言,本发明提出的方法各项损失较低且拟合效果较好。在准确度方面,改进后的模型准确率提高了5.0%,具有较好的改进效果,如图
4所示。
[0069]
将模型与改进前的refinedet网络模型作性能对比,结果如表1所示。
[0070]
表2测试方法改进前后的平均精确度
[0071][0072]
实验结果表明,在tilda数据集、孔、线状、污渍、纱疵四类织物图像,从表1改进后的ap中可以看出,本发明提出的方法对孔和污渍的分类效果较好,但对纱疵和线状的分类情况稍差。造成纱疵平均精确度较低的主要原因是纱疵的特征比较复杂多样,且有的纱疵缺口较大,与洞的特征类似,导致网络对纱疵的识别精确度较低。造成线状平均精确度较低的主要原因是线与织物图像的背景比较相近时较难识别,模型无法区分是背景还是线,并且有的线颜色较浅,难以识别。
[0073]
本发明提出的模型可以准确的检测出织物中常见的缺陷。而且在获得准确的检测结果的同时,改进后的模型定位效果更好,如图5所示。
[0074]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1