本发明属于自动化检测,具体涉及一种基于通用模型的少样本缺陷检测方法。
背景技术:
1、由于骨架本身的特殊性,目前国内在该领域的自动化检测技术方面相对比较空白,现有的骨架缺陷检测方式,大体上可以归类为两种:
2、人工检测,该方式主要存在以下两个问题:
3、通过人工去检测,由于人眼本身局限性,在检测精度方面可能达不到很高,同时人在经验不足时或者疲惫时,可能会发生漏检;且对检测人员具有较高的专业知识要求,且部分内部目标由于物理位置限制等原因,人工无法观看,同时人工效率较低。
4、基于机器视觉的判断,采用摄像机采集数据再进行机器自动判断方法。传统的机器识别方法精度较低,鲁棒性较差。基于深度学习的缺陷识别精度较好,但是需要大量的样本数据,通常缺陷数据较少,因此很难满足训练样本量的需求。
技术实现思路
1、本发明的目的是提供一种基于通用模型的少样本缺陷检测方法,本方法不依赖大量的缺陷样本数据,并能够实现根据需求扩展或者删减缺陷类型数据,实现大幅降低人工操作甚至无人式的高效率、高准确率的骨架缺陷的自动化检测。
2、本发明的技术方案如下:一种基于通用模型的少样本缺陷检测方法,其包括如下步骤:
3、步骤1:通用模型训练;
4、步骤2:数据集制作;
5、步骤3:识别网络设计;
6、步骤4:模型训练;
7、步骤5:特征提取;
8、步骤6:特征匹配;
9、步骤7:正反样本匹配。
10、本发明的一种基于通用模型的少样本缺陷检测方法,提出了采用少量样本实现缺陷识别的方法,每类缺陷一张样本数据或者零样本;提出了正向匹配和反向匹配结合的缺陷识别方法;提出将通用目标识别模型和正反方向匹配算法结合的缺陷识别方法;解决了离线、动态修正样本数据集的方法。
11、所述的步骤2为采集自然场景、室内场景、及其他场景数据,进行半自动和人工矫正结合的数据标注;采集图像数据,使用labelimg工具进行标注,标注图像中的前景目标。
12、所述的步骤3包括:
13、首先选择resnet50 resnet50作为主干网络backbone,实现输入图像数据特征提取的功能,backbone网络的结构包括10个卷积层和6个池化层,提取出图像的不同级别的特征,包括简单的边缘和颜色块、复杂的纹理和物体部分的特征
14、其次设计neck特征金字塔,采用fpn特征金字塔结构,通过上采样和下采样操作将不同层次的特征图融合在一起;
15、最后设计head目标检测头,根据目标位置、目标可信度、目标类别三类结合的损失函数的基础上,去掉目标类别的损失函数,同时增加目标位置的可信度,目标位置的可信度是目标位置与标注目标框iou。
16、所述的步骤4包括:根据设计的网络结构,结合标注的训练数据进行训练并最终得到通用识别模型,定义损失函数:目标位置边框回归,采用的是smoothl1loss损失函数,
17、
18、其中,x和y分别为模型的输出和标签,|x-y|表示它们之间的差异。当|x-y|小于1时,采用平方误差;否则采用线性误差。
19、所述的步骤4的训练流程包括:
20、步骤41:初始化参数
21、首先初始化神经网络中的卷积权重和偏置参数,采用加载预训练模型或者随机初始化的方法来进行参数初始化;
22、步骤42:前向传播
23、通过将训练数据输入训练网络,计算每一层的输出,并得到最终的目标框预测结果;
24、步骤43:计算损失
25、根据设计的损失函数,将预测结果与标注的真实标签数据进行比较,计算出预测结果与标注的真实标签之间的差异;
26、步骤44:反向传播
27、通过反向传播算法,计算损失函数对于每个参数的梯度,反向传播从最后输出层向前面的每一层输入层传播梯度,从而调整每一层的参数;
28、步骤45:参数更新
29、根据计算得到的梯度信息,使用梯度下降优化算法更新神经网络中的参数,并使损失函数尽量减小;
30、步骤46:重复迭代
31、重复进行前向传播、计算损失、反向传播和参数更新的过程,直到达到设定的停止条件,如达到最大迭代次数或损失函数稳定收敛;
32、步骤47:训练完成。
33、所述的步骤5包括:
34、步骤51:利用cnn提取图像特征,采用网络结构输出的最后一层4096维数据;使用上述网络结构经过前向推理运算,使用倒数第二层的输出数据作为特征;
35、步骤52:提取离线样本库的特征,包括正向样本和反向样本,即批量读取本地文件夹中的图片,进行上一步的运算提取特征,并将特征保存成文件,程序启动的时候一次加载。
36、所述的步骤6包括:
37、步骤61:构建特征匹配网络matchnet,包括三部分,特征提取网络,特征量化网络,特征比较网络;特征提取网络采用5个卷积层和3个池化层组成,该网络的输出作为特征比较网络的输入,特征量化网络由3个全连接层和softmax组成,使用通过全连接网络学习距离度量,通过softmax来表示两个特征的相似性,该网络输入是一对特征的关联组合,输出是[0,1]区间的两个值,范围从0~1之间,作为这两个块是否匹配与否的置信度;特征比较网络即损失函数,使用交叉熵函数作为损失函数,如下:
38、
39、其中n是样本数,yi是第i个样本的真实标签,pi是样本i预测的概率;
40、步骤62:采用开源数据集训练matchnet
41、根据上述网络结构,通过前向传播、损失计算、反向传播、参数更新进行模型训练。
42、所述的步骤7包括:
43、步骤71:获取负样本,所述的负样本是指实际识别场景中存在的大量的非缺陷的数据;
44、步骤72:获取正样本,所述的正样本是指待识别的缺陷数据,如果负样本数据部分存在,该部分非必须,即实现零样本识别缺陷;
45、步骤73:负向匹配过程
46、将步骤71识别的所有目标与负样本数据进行特征匹配,计算特征距离,如果小于一定阈值即不相似则判断为负样本,如果大于一定阈值则判断为缺陷;
47、步骤74:正向匹配过程:如果正样本数据存在,则将步骤1识别的所有目标正负样本数据进行特征匹配,计算特征距离,如果小于一定阈值即相似则判断为缺陷;
48、步骤75:根据需要,离线增加、删除或者修改正负样本数据。
49、本发明的有益效果在于:比传统的机器视觉算法精度高,比传统的深度学习算法鲁棒性更强;不需要大量的样本数据训练;待识别的缺陷类型方便定义,不需要再进行训练;正向匹配,提高识别精度;反向匹配,解决零样本数据问题。
1.一种基于通用模型的少样本缺陷检测方法,其特征在于,包括如下步骤:
2.如权利要求1所述的一种基于通用模型的少样本缺陷检测方法,其特征在于:所述的步骤2为采集自然场景、室内场景、及其他场景数据,进行半自动和人工矫正结合的数据标注;采集图像数据,使用labelimg工具进行标注,标注图像中的前景目标。
3.如权利要求1所述的一种基于通用模型的少样本缺陷检测方法,其特征在于,所述的步骤3包括:
4.如权利要求1所述的一种基于通用模型的少样本缺陷检测方法,其特征在于,所述的步骤4包括:根据设计的网络结构,结合标注的训练数据进行训练并最终得到通用识别模型,定义损失函数:目标位置边框回归,采用的是smoothl1loss损失函数,
5.如权利要求1所述的一种基于通用模型的少样本缺陷检测方法,其特征在于,所述的步骤4的训练流程包括:
6.如权利要求1所述的一种基于通用模型的少样本缺陷检测方法,其特征在于,所述的步骤5包括:
7.如权利要求1所述的一种基于通用模型的少样本缺陷检测方法,其特征在于,所述的步骤6包括:
8.如权利要求1所述的一种基于通用模型的少样本缺陷检测方法,其特征在于,所述的步骤7包括: