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

一种工业场景下产品表面缺陷检测方法

2022-04-16 12:34:01 来源:中国专利 TAG:


1.本发明涉及工业场景下产品表面缺陷检测与机器视觉的技术领域,尤其涉及一种工业场景下产品表面缺陷检测方法。


背景技术:

2.在工业场景下,高效、稳定的质量检测是产品制造流程的重要环节。质量检测的速度与精度会直接影响流水线产能以及产品的最终品质。产品表面有无缺陷是衡量产品是否满足工业质量要求的重要依据。在工业生产制造过程中,对产品表面进行缺陷检测大都是通过人工质检来完成,但人工检测方法需要高昂的人力成本,且存在较高的误检率和漏检率,满足不了实时检测的需求。为适应当今制造业信息化、智能化的趋势,在生产环节上需要摆脱传统人力手工对产能和效率的束缚。
3.基于传统机器视觉的产品表面缺陷检测方法是通过图像处理的方式对缺陷特征进行选择与提取。首先,获取到的产品表面图像受到多变不确定的外界工业生产环境以及产品本身复杂背景纹理影响。此外,人工设计的特征无法包含所有缺陷特征且提取复杂、泛化性差。上述缺点限制了基于传统机器视觉的产品表面缺陷检测方法的应用。
4.近年来,基于深度学习的机器视觉一直是研究热点,这也为产品表面缺陷检测提供了新的解决方案。卷积神经网络(convolutional neural networks,cnn)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表性算法。卷积神经网络具有局部连接、权值共享等优点,通过卷积操作对图像局部邻域内的像素点建模,充分考虑了像素点与周围像素点之间的关系。卷积神经网络通过多层卷积层逐步从图像中提取复杂高级的特征信息,具有强大的表征学习能力。在工业场景下的产品表面缺陷检测领域中,使用最为广泛的是利用卷积神经网络提取图像特征的目标检测网络模型yolo(you look only once)系列。yolo系列检测模型能够识别图像中的缺陷类别并输出缺陷的边界框坐标,实现缺陷定位。
5.但现有的工业场景下产品表面缺陷检测方法仍存在以下问题:
6.1、目前绝大多数通过卷积神经网络实现的产品表面缺陷检测方法,受网络中每层特征图的感受野限制,检测模型无法对图像中感受野以外的像素建模。由于卷积操作固有的局部建模特性,基于卷积神经网络的缺陷检测方法难以捕获数据中长距离依赖关系,导致缺陷检测的精度不高;
7.2、目前大多数检测方法采用panet网络对主干网络提取的多尺度特征进行融合。panet网络虽然融合了不同尺度的输入特征,但只是简单地对它们求和,没有区分。不同尺度的输入特征具有不同的分辨率,通常对融合后的输出特征的贡献是不相同的。传统方法会导致微小缺陷检测效果不佳;
8.3、目前大多数检测方法的detection head是anchor-based模型,需要在特征图上密集地放置预定义的不同大小和纵横比的anchor boxes。为了获得好的检测性能,需要在模型训练前进行聚类分析并确定最佳的anchor boxes。由于工业流水线上产品表面缺陷是
随机的、多样的、未知的,预定义的anchor boxes会导致检测方法的泛化能力较差;
9.4、目前大多数检测方法为图像中的ground truth和background分配正负训练样本时,通常采用固定的标签分配策略,但对各种大小、形状和类别的标注采用固定的分配策略,会导致次优分配结果。
10.因此,本领域的技术人员致力于开发一种工业场景下产品表面缺陷检测方法,解决现有技术中存在的上述问题。


技术实现要素:

11.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何解决现有工业场景下产品表面缺陷检测方法精度不够高,尤其是微小缺陷的检测、泛化性和鲁棒性不够强的问题,以及如何实现产品表面缺陷检测速度与精度更好的权衡的问题。
12.为解决上述技术问题,本发明提出一种工业场景下产品表面缺陷检测方法,首先,通过swin transformer作为主干网络构成层次特征图表示,提取产品表面图像的多尺度特征,然后,利用bifpn网络对主干网络提取的输入特征进行加权多尺度融合,最后,利用fcos网络作为detection head,分多个尺度输出预测的缺陷检测结果。其中,模型训练时利用ota动态标签分配策略分配训练样本,使模型快速有效地收敛,提高最终的检测精度。
13.本发明提供的一种工业场景下产品表面缺陷检测方法,包括以下步骤:
14.步骤1、图像采集,获取工业流水线上产品的表面图像;
15.步骤2、图像标注,对所述表面图像进行缺陷标注,得到表面缺陷数据集;
16.步骤3、数据增强,对所述表面缺陷数据集进行数据增强,为以下一种或者若干种数据增强方式的组合,所述数据增强方式包括随机裁剪、随机水平翻转、随机垂直翻转、尺度抖动、颜色抖动、mosaic或mixup;
17.步骤4、表面缺陷检测模型构建;
18.步骤5、表面缺陷检测模型训练;
19.步骤6、表面缺陷检测模型预测;
20.其中,
21.在所述步骤4中,包括以下步骤:
22.步骤4.1、通过swin transformer建立提取多尺度特征的主干网络;
23.步骤4.2、通过bifpn网络对所述主干网络提取的所述多尺度特征进行多尺度融合,增强不同分辨率的所述多尺度特征;
24.步骤4.3、基于融合增强后的所述多尺度特征,使用anchor-free模型的fcos网络作为detection head,生成所述表面缺陷检测模型。
25.进一步地,在所述步骤4.1中,利用步长为4的7*7卷积实现图像块划分,在不同阶段之间的特征图中利用步长为2的3*3卷积实现下采样;每个移位窗口块中,在不重叠的局部窗口中计算自注意力;假设每个所述局部窗口包含m*m个图像块,所述整个表面图像含有h*w个图像块,则全局多头自注意力和基于窗口的多头自注意力的计算复杂度分别为:
26.ω(msa)=4hwc2 2(hw)2c;
27.ω(w-msa)=4hwc2 2m2hwc;
28.其中,msa为全局多头自注意力,ω(msa)为全局多头自注意力的复杂度,w-msa为
truth边界框坐标间的损失;λ为权重系数,默认值为0.5;
47.所述最优传输分配策略是将anchor points与ground truths或background间的单位传输成本定义为所述分类损失和所述回归损失的总和,将寻找最优标签分配方案转换为求解最优传输计划;在定义好单位传输成本后,所述最优传输计划可以通过sinkhorn-knopp迭代快速有效地求解。
48.进一步地,所述表面缺陷检测模型训练的超参数设置如下:采用多尺度训练,将输入的所述表面图像的大小调整为图像短边在480-800之间,图像长边不超过1333;采用动量为0.9和权重衰减为0.005的sgd优化器;所述表面缺陷检测模型总计训练100epochs,初始学习率为0.0001;在第67和第89epoch时学习率降低为原来的1/10;使用8块gpu训练,每块gpu分配两张图像,总batch size为16。
49.进一步地,在所述步骤6中,包括以下步骤:
50.将划分好的所述测试集中的所述表面图像输入所述步骤5中训练好的所述表面缺陷检测模型中,先由所述主干网络提取所述多尺度特征,然后经由所述bifpn网络对所述主干网络提取的所述多尺度特征进行多尺度融合,接着使用所述fcos网络作为detection head对所述bifpn网络的多尺度特征图分别输出预测缺陷概率和预测缺陷边界框;对所述fcos网络输出的缺陷预测结果,先使用置信度阈值0.05滤除低可信结果,然后将所有层的预测结果使用阈值为0.6的soft-nms作后处理,产生最终的缺陷预测结果,并将缺陷的种类和位置显示在所述表面图像中。
51.本发明实施例所提出的一种基于swin transformer和fcos的工业场景下产品表面缺陷检测方法至少具有以下技术效果:
52.1、本发明实施例通过采用swin transformer作为提取图像特征的主干网络。首先利用步长为4的7*7卷积实现图像块划分,然后不同stages间的特征图利用步长为2的3*3卷积实现下采样。为降低计算复杂度,在不重叠的移位窗口中计算多头自注意力,同时允许跨窗口连接。在两个连续的swin transformer blocks中分别采用w-msa和sw-msa机制实现了图像中有效的长距离依赖关系建模。
53.2、本发明实施例通过采用bifpn网络进行跨尺度连接,融合主干网络swin transformer提取的多尺度输入特征。不同于传统panet网络简单地对多尺度特征简单求和,bifpn网络集成了加权双向跨尺度连接和快速归一化融合,增强了不同分辨率输入特征的表征能力,从而提高了对微小缺陷检测的精度。
54.3、本发明实施例通过采用anchor-free模型的fcos网络作为detection head。先前的anchor-based模型将输入图像上的位置(x,y)作为多个anchor boxes的中心,并以这些anchor boxes作为参考回归目标边界框。anchor-based模型的检测性能对anchor boxes的超参数设计十分敏感,预定义的anchor boxes也妨碍了检测方法的泛化性能,而anchor-free模型的fcos网络将位置(x,y)视为训练样本,减少了超参数的设计量。通过引入center-ness分支减少了模糊样本的数量,提升了检测方法的泛化性和鲁棒性。
55.4、本发明实施例通过将检测方法中的标签分配表述为最优传输问题,从全局的角度考虑上下文信息,确定每个anchor point应分配给哪个ground truth或分配给background。这种分配策略称为最优传输分配(optimal transport assignment,ota),实现了全局一对多的最优分配。这给模型的训练过程提供了更多高质量的监督信号,使其快
速收敛到最佳结果。
56.5、本发明实施例通过上述的各部分改进,具有较强的鲁棒性和泛化能力并提升了微小缺陷检测的精度。相较于现有技术中的检测方法,本发明实施例中所供的技术方案对于工业流水线中出现的大小不一、尺度多变且类型复杂的缺陷都能进行较为精确的检测,实现了产品表面缺陷检测速度与精度更好的权衡。
57.以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
58.图1是本发明的一个较佳实施例的流程示意图;
59.图2为图1所示实施例的架构示意图;
60.图3为图1所示实施例中的bifpn网络的架构示意图;
61.图4为图1所示实施例中的fcos网络的架构示意图。
具体实施方式
62.以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
63.现有的工业场景下产品表面缺陷检测方法仍存在产品表面缺陷检测方法精度不够高,尤其是微小缺陷的检测、泛化性和鲁棒性不够强的问题,以及如何实现产品表面缺陷检测速度与精度更好的权衡的问题。
64.在本发明所提供的一种工业场景下产品表面缺陷检测方法的实施例中,从四个不同的方面对现有技术中存在的问题提出了改进,具体为:
65.1、提出采用swin transformer作为提取图像特征的主干网络,并形成层次特征图表示,便于后续的多尺度特征融合。为克服常见提取图像特征的卷积神经网络固有的局部建模特性的缺点,引入自然语言处理中常用的transformer结构,捕获图像中长距离依赖关系,进行全局建模。
66.2、提出通过bifpn网络进行跨尺度连接,融合主干网络提取的多尺度输入特征。不同于传统panet网络简单地对多尺度特征简单求和,bifpn网络集成了加权双向跨尺度连接和快速归一化融合,增强了不同分辨率输入特征的表征能力,从而提高了对微小缺陷检测的精度。
67.3、提出采用anchor-free模型的fcos网络作为detection head。避免传统anchor-based模型复杂的超参数设计即在特征图上预定义的anchor boxes的大小、纵横比和个数,减少了模型的参数量,同时由于引入center-ness分支,减少模糊样本的数量,大大提高了检测方法的泛化性和鲁棒性。
68.4、提出通过将检测方法中的标签分配步骤表述为一种特殊的线性规划即最优传输问题,使寻找最优标签分配方案转换为求解最优传输计划。然后通过sinkhorn-knopp迭代求解,这种分配策略称为最优传输分配(optimal transport assignment,ota)。相较传统标签分配策略,最优传输分配在分配过程中考虑了全局信息,动态地进行一对多分配,使
得模型得到更多高质量的监督信号,使其快速收敛到最佳结果。
69.本发明实施例提供的一种工业场景下产品表面缺陷检测方法包括以下步骤,如图1所示:
70.步骤1、图像采集,获取工业摄像机拍摄的工业流水线上产品的表面图像;
71.步骤2、图像标注,使用图像标注工具对采集到的产品表面图像进行缺陷标注。标注内容为缺陷的类别及其在图像中的位置,利用得到的标注文件及原始图像构成模型所需要的表面缺陷数据集;
72.步骤3、数据增强,对获得的数据集进行数据增强,主要包括随机裁剪、随机水平翻转、随机垂直翻转、尺度抖动、颜色抖动、mosaic或mixup。
73.步骤4:表面缺陷检测模型构建。首先,通过swin transformer(shifted-windows transformer)建立提取多尺度特征的主干网络。然后,通过bifpn(bidirectional feature pyramid network)网络对主干网络提取的特征进行多尺度融合,增强不同分辨率的特征。最后,基于融合增强后的多尺度特征,使用anchor-free模型的fcos(fully convolutional one-stage)网络作为detection head。
74.步骤5、表面缺陷检测模型训练。将表面缺陷数据集按照一定比例划分为训练集和测试集,将经过数据增强后的训练集输入表面缺陷检测模型进行训练,训练时正负样本的划分依据最优传输分配(optimal transport assignment,ota)策略。
75.步骤6、表面缺陷检测模型预测。使用训练好的表面缺陷检测模型进行推理,输入测试集中的产品表面图像,输出并显示检测到的缺陷种类和位置。
76.具体来说,在步骤1中,图像采集,获取工业摄像机拍摄的工业流水线上产品的表面图像。首先,使光照条件充分凸显工业流水线上产品表面缺陷的特征,然后通过ccd工业摄像机拍摄高质量的产品表面图像。图像尺寸与产品类型相关,图像为rgb三通道彩色图。
77.在步骤2中,图像标注,使用图像标注工具对采集到的产品表面图像进行缺陷标注。具体地,使用开源标注工具labelimg,对采集到的产品表面图像中的缺陷进行手动标注,形成对应的xml标注文件。每一张表面缺陷图像对应一个xml标注文件,即包括缺陷类别信息以及缺陷位置信息的标注文件。xml标注文件的标注格式与pascal voc数据集的标注格式相同,即存储包围缺陷的最小矩形边界框的左上角和右下角的(x,y)坐标以及对应的缺陷类别。表面缺陷图像及其对应的标注文件构成模型所需要的表面缺陷数据集。标注内容为缺陷的类别及其在图像中的位置,利用得到的标注文件及原始图像构成模型所需要的表面缺陷数据集,即数据集。
78.在步骤3中,数据增强。表面缺陷数据集作为缺陷检测的基础,考虑到工业实际中缺陷数据较少,对获得的数据集进行数据增强。数据增强的技术主要包括随机裁剪、随机水平翻转、随机垂直翻转、尺度抖动、颜色抖动、mosaic或mixup。在数据增强的同时,如果表面缺陷图像发生偏移或者变换,通过公式计算对标注边界框的大小和坐标做出相应的改变。保证图像变换后,图像中的缺陷依旧与标注边界框相匹配。
79.具体地,随机裁剪:在保证缺陷目标不被裁掉的情况下,随机裁剪图像,并计算原来的标注边界框在裁剪后图像中的位置;随机水平翻转:以0.5的概率对图像及标注边界框进行水平翻转;随机垂直翻转:以0.5的概率对图像及标注边界框进行垂直翻转;尺度抖动:在裁剪前,随机地将图像大小resize成原始图像的0.5-1.5倍,并相应地调整标注边界框;
色彩抖动:将图像从rgb空间转入hsv空间,对图像的明度(value)、饱和度(saturation)和色调(hue)进行随机变化形成不同光照及颜色下的图片,再将变换后的图像转到rgb空间;mosaic:对四张图像进行拼接,每一张图像都有其对应的标注边界框,将四张图像拼接之后就获得一张新的图像,同时也获得新图像对应的标注边界框;mixup:将两张图像按照一定的比例进行加权融合,即对应的每个像素值按一定比例相加。
80.在步骤4中,表面缺陷检测模型构建。具体地,提出的表面缺陷检测模型可分为三个部分,各部分的架构示意图如图2至图4所示。
81.首先,是用来提取图像多尺度特征的主干网络swin transformer,其架构示意图如图2所示。swin transformer受自然语言处理领域中的transformer启发,其使用自注意力机制以关注数据中的长距离依赖而著称。但视觉领域中的元素尺度差异很大,且图像中像素的分辨率比文本段落中的单词高得多。为此swin transformer构造层次特征图表示,不同于原始的模型,本发明首先利用步长为4的7*7卷积实现图像块划分,然后不同stages间的特征图利用步长为2的3*3卷积实现下采样。每个swin transformer block中,在不重叠的局部窗口中计算自注意力。假设每个局部窗口包含m*m图像块,整个图像含有h*w图像块,则全局msa(multi-head self-attention)和基于窗口的w-msa(window multi-head self-attention)的计算复杂度分别为:
82.ω(msa)=4hwc2 2(hw)2c;
83.ω(w-msa)=4hwc2 2m2hwc;
84.由上可知,swin transformer的计算复杂度与图像大小成线性关系。
85.为了增大网络的感受野实现全局自注意力,允许跨窗口连接来提高效率。在连续的swin transformer blocks间移位窗口分区,分别采用w-msa(window multi-head self-attention)和sw-msa(shifted-window multi-head self-attention)机制。计算如下:
[0086][0087][0088][0089][0090]
其中,w-msa为基于窗口的多头自注意力,ln为层归一化,mlp为多层感知机,sw-msa为基于移位窗口的多头自注意力。
[0091]
然后,使用bifpn网络对主干网络swin transformer提取的特征进行多尺度融合,增强不同分辨率的输入特征,其架构示意图如图3所示。第一,与panet相比,bifpn网络删除只有一条输入边的节点,因为其没有进行特征融合,对融合不同特征的特征网络贡献较小;第二,如果原始输入节点与输出节点处于同一层,则在它们之间添加额外的边,在不增加太多额外计算成本的情况下融合更多的特征;第三,bifpn网络将每个双向即自上而下和自下而上的路径视为一个特征网络层,并多次重复同一层,以实现更高层的特征融合。使用快速归一化融合加权特征,使归一化后权重的值在0与1之间。bifpn网络集成了加权双向跨尺度连接和快速归一化融合。
[0092]
最后,采用anchor-free模型的fcos网络作为detection head,其架构示意图如图4所示。anchor-free模型的fcos网络将位置(x,y)视为训练样本,减少了超参数的设计量,
提升了检测方法的泛化性和鲁棒性。fcos网络在不同特征层间参数共享,共有三个分支:classification分支、regression分支和center-ness分支。classification分支预测当前层特征图位置(x,y)属于c类缺陷的概率。regression分支预测当前层特征图位置(x,y)对应的缺陷边界框坐标。center-ness分支预测当前层特征图位置(x,y)的center-ness。通过将classification分支预测的类别置信度与center-ness分支预测的center-ness相乘用作最终后处理的置信度得分,抑制了大量低质量的缺陷检测结果。
[0093]
在步骤5中,表面缺陷检测模型训练。具体地,将步骤2获取的表面缺陷数据集以4:1的比例划分为训练集和测试集。划分好的训练集使用步骤3中的数据增强策略进行增强,并输入步骤4构建好的表面缺陷检测模型训练。表面缺陷检测模型的训练总损失为分类损失和回归损失的加权和:loss=l
cls
λl
reg
。l
cls
为分类损失,选择focal loss作为预测的缺陷类别与ground truth类别间的损失。l
reg
为回归损失,选择giou loss作为预测的缺陷边界框坐标与ground truth边界框坐标间的损失。λ为权重系数,默认为0.5。
[0094]
训练时正负样本的划分依据最优传输分配ota策略,是将anchor points与ground truths或background间的单位传输成本定义为分类损失和回归损失的总和,将寻找最优标签分配方案转换为求解最优传输计划。在定义好单位传输成本后,最优传输计划可以通过sinkhorn-knopp迭代快速有效地求解。最优传输分配策略从全局的角度考虑上下文信息,对各种大小、形状和类别的缺陷标注进行动态一对多分配。
[0095]
模型训练的超参数设置如下:采用多尺度训练,将输入图像大小调整为图像短边在480-800之间,同时图像长边不超过1333;采用动量为0.9和权重衰减为0.005的sgd优化器;模型总计训练100epochs,初始学习率为0.0001。在第67和89epoch时学习率降低为原来的1/10;使用8块gpu训练,每块gpu分配两张图像,总batch size为16。
[0096]
在步骤6中,表面缺陷检测模型预测。具体地,将划分好的测试集中的产品表面图像输入步骤五中训练好的表面缺陷检测模型。先由主干网络swin transformer提取多尺度特征,然后经由bifpn网络对主干网络swin transformer提取的特征进行多尺度融合,接着使用fcos网络作为detection head对bifpn网络的多尺度特征图分别输出预测缺陷概率和预测缺陷边界框。对fcos网络输出的缺陷预测结果,先使用置信度阈值0.05滤除低可信结果。然后将所有层的预测结果使用阈值为0.6的soft-nms作后处理,产生最终的缺陷预测结果并将缺陷的种类和位置显示在产品表面图像中。
[0097]
本发明实施例提供的一种基于swin transformer和fcos的工业场景下产品表面缺陷检测方法,通过上述的各部分改进,该方法具有较强的鲁棒性和泛化能力并提升了微小缺陷检测的精度。相较于现有技术中的检测方法,本发明对于工业流水线中出现的大小不一、尺度多变且类型复杂的缺陷都能进行较为精确的检测,实现了产品表面缺陷检测速度与精度更好的权衡。
[0098]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

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

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

相关文献