本发明属于织物检测,具体是涉及vgg-9精简网络的弱监督织物表面瑕疵识别方法。
背景技术:
1、针对织物瑕疵检测算法的研究由来已久,目前已经取得了大量成果。但是已有方法在针对极端尺寸的织物的计算量、识别准确率和可靠性上均存在一定的局限,难以满足工业现场的在线检测需求。近年来,随着大数据和深度学习等方法的加入,织物瑕疵检测开始从自动时代迈入智能时代,自动提取织物特征的深度学习算法逐渐应用于瑕疵检测。深度学习具有从海量数据中自动提取深层特征的特点,近年来在织物瑕疵检测领域受到了广泛的关注。在深度学习领域,瑕疵检测可以归属分类为目标检测问题,近年来yolo、ssd、u-net等深度学习算法已在织物瑕疵检测领域取得了不错的成果。但是现有的深度学习瑕疵检测方法仍存在以下难点:(1)海量样本下人工标注工作量巨大;(2)极端尺寸下异类瑕疵识别准确率低。
技术实现思路
1、本发明要解决的技术问题是提供基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,用以对极端尺寸下的织物表面图像的瑕疵种类识别和定位。
2、为了解决上述技术问题,本发明提供一种基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,包括:采集织物表面的原始图像并发送给计算机预处理,预处理主要为将原始图像分割为一组小图;然后将预处理后的一组小图按分割顺序输入vgg-9网络,获得顺序输出小图特征图矩阵和类别class_id,然后对小图特征图矩阵依次应用grad-cam算法获得小图得分矩阵,再对小图得分矩阵进一步进行置零归一化处理、阈值处理、图像膨胀和图像腐蚀,然后对图像腐蚀后的得分矩阵通过获取瑕疵的轮廓外接矩形获得带有瑕疵标记框的图像,同时对图像腐蚀后的得分矩阵进一步使用神经网络热力图可视化操作获得视化神经网络热力图的瑕疵图。
3、作为本发明的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法的改进:
4、所述vgg-9网络包含9个隐藏层、1个max pooling层和1个softmax层分类,9个隐藏层为8个卷积层和1个全连接层,输入的图像经过9个隐藏层后输出所述小图特征图矩阵,再经过max pooling层和softmax层分类,取概率最高类别输出为所述类别class_id,将类别class_id依次排列获得class_id数组;
5、采集织物表面图像并进行所述预处理后,按是否包含瑕疵进行分类存储,随机分为训练集和测试集,然后对vgg-9网络进行训练和测试从而获得训练好的vgg-9网络。
6、作为本发明的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法的进一步改进:
7、所述grad-cam算法具体为:
8、
9、
10、其中,ak为所述小图特征图矩阵,c为所述类别class_id,,为c的梯度,i和j为梯度的索引,为神经元的重要度权重,为小图得分矩阵。
11、作为本发明的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法的进一步改进:
12、所述置零归一化处理具体为:
13、将每一个所述小图得分矩阵按对应的分割顺序在所述class_id数组中查找对应的类别class_id,若类别class_id为非瑕疵类,将小图得分矩阵置零,否则对小图得分矩阵归一化处理:
14、
15、其中,b为所述小图得分矩阵,x表示小图得分矩阵元素的原始值,x'表示运算后小图得分矩阵对应元素的取值,min b是小图得分矩阵的最小元素,maxb是小图得分矩阵的最大元素;
16、然后将获得的小图得分矩阵按分割顺序组成原始图得分矩阵。
17、作为本发明的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法的进一步改进:
18、所述阈值处理具体为:
19、
20、其中,y表示所述原始图得分矩阵中每一项元素的原始值,y'表示阈值处理后的取值。
21、作为本发明的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法的进一步改进:
22、所述图像膨胀和图像腐蚀具体为:
23、
24、
25、其中,为膨胀的运算符,-为腐蚀的运算符,c代表所述阈值处理输出的原始图得分矩阵,d为图像膨胀、图像腐蚀操作的卷积核,为a×b的单位2维矩阵:
26、
27、其中,c为横向瑕疵的平均长度,d为竖向瑕疵的平均长度。
28、作为本发明的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法的进一步改进:
29、所述获取轮廓外接矩形具体为:
30、应用双线性插值算法将所述图像腐蚀后的得分矩阵上采样至所述原始图像相同的分辨率,并将上采样后矩阵中的每个元素乘255后作为轮廓得分矩阵,利用轮廓提取算法轮廓得分矩阵内的各个轮廓并进行轮廓近似,再获取近似后轮廓的外接矩形作为瑕疵标记框,在原始图上标记瑕疵标记框获得带有瑕疵检测框的图像。
31、作为本发明的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法的进一步改进:
32、所述神经网络热力图可视化操作的具体过程为:
33、将所述轮廓得分矩阵应用jet映射算法获得热力图矩阵,将热力图矩阵与所述原始图像或所述带有瑕疵检测框的图像融合,获得显示可视化神经网络热力图的瑕疵图;图像融合的公式表达如下:
34、
35、其中,z为图像融合输出矩阵,x为原始图像或带有瑕疵检测框的图像,y为对特征图掩膜应用jet映射算法获得的热力图矩阵。
36、本发明的有益效果主要体现在:
37、(1)本发明通过融合vgg-9精简分类网络、grad-cam算法和传统图像处理方法,在识别瑕疵种类的同时,实现对瑕疵的准确定位;
38、(2)本发明仅利用类别信息进行vgg-9网络模型训练便可实现对织物瑕疵的精准识别与准确定位,充分利用数据集信息获取瑕疵特征,有效避免了现有目标检测算法中繁重的人工标注问题;本发明使用的的vgg-9精简分类网络结构简单、参数量小、检测性能优良,适于织物生产现场的在线检测;
39、(3)本发明解决了极端尺寸下织物异类分布瑕疵(横向、竖向)难以识别、精度低的问题;
40、(4)本发明引入轮廓扫描、图像膨胀、图像腐蚀等传统图像处理方法,解决了常规弱监督目标检测方法在瑕疵定位与标示过程中的局部聚焦问题和实时性能弱的问题;
41、(5)本发明采用热力图,便于判断瑕疵图检测结构是否为误检瑕疵以及导致误检的图像特征所在具体坐标,若非误检,则可进一步判断瑕疵所在具体坐标,有利于在不影响当前瑕疵检测效果的前提上进行二次开发,降低误检率。
1.基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,其特征在于:包括采集织物表面的原始图像并发送给计算机预处理,预处理主要为将原始图像分割为一组小图;然后将预处理后的一组小图按分割顺序输入vgg-9网络,获得顺序输出小图特征图矩阵和类别class_id,然后对小图特征图矩阵依次应用grad-cam算法获得小图得分矩阵,再对小图得分矩阵进一步进行置零归一化处理、阈值处理、图像膨胀和图像腐蚀,然后对图像腐蚀后的得分矩阵通过获取瑕疵的轮廓外接矩形获得带有瑕疵标记框的图像,同时对图像腐蚀后的得分矩阵进一步使用神经网络热力图可视化操作获得视化神经网络热力图的瑕疵图。
2.根据权利要求1所述的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,其特征在于:
3.根据权利要求2所述的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,其特征在于:
4.根据权利要求3所述的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,其特征在于:
5.根据权利要求4所述的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,其特征在于:
6.根据权利要求5所述的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,其特征在于:
7.根据权利要求6所述的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,其特征在于:
8.根据权利要求7所述的基于vgg-9精简网络的弱监督织物表面瑕疵识别方法,其特征在于: