CN113781483B - 工业产品外观缺陷检测方法和装置 - Google Patents
工业产品外观缺陷检测方法和装置 Download PDFInfo
- Publication number
- CN113781483B CN113781483B CN202111336284.8A CN202111336284A CN113781483B CN 113781483 B CN113781483 B CN 113781483B CN 202111336284 A CN202111336284 A CN 202111336284A CN 113781483 B CN113781483 B CN 113781483B
- Authority
- CN
- China
- Prior art keywords
- defect
- output
- clustering
- sample set
- samples
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/231—Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23211—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with adaptive number of clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Abstract
本发明涉及工业质检技术领域,为解决工业产品外观缺陷检测效果差的技术问题,提供了一种工业产品外观缺陷检测方法和装置,所述方法包括:对多个缺陷样本进行缺陷类别的标注,得到具有N个标注类别的第一样本集;将第一样本集输入特征提取网络,得到每个缺陷样本对应的特征向量,构成聚类数据集;对聚类数据集进行密度最大值聚类,以将多个缺陷样本归为K个聚类类别,得到具有K个聚类类别的第二样本集;通过第二样本集对检测网络进行训练,得到缺陷检测模型;将待检测工业产品图像输入缺陷检测模型,得到输出结果;将输出结果为多类输出的缺陷的子图像进行细粒度分类,得到输出结果为多类输出的缺陷属于相应的标注类别的输出结果。
Description
技术领域
本发明涉及工业质检技术领域,具体涉及一种工业产品外观缺陷检测方法、一种工业产品外观缺陷检测装置、一种计算机设备和一种非临时性计算机可读存储介质。
背景技术
在工业智能质检领域,深度学习得到了广泛的应用,受到的关注程度很高。特别是工业外观缺陷之类的检测任务,由于缺陷的种类繁多,形态非常多样,采用深度学习往往能取得更好的效果。
一般的基于深度学习算法的外观缺陷检测过程主要有以下几个步骤:第一步,根据规定好的缺陷类别,对于收集的数据进行人工标注;第二步,选择一种目标检测或实例分割网络,进行一系列参数的设置,其中必须要设置的是让网络头部输出与规定的缺陷类别一致;第三步,训练网络,直到网络收敛到稳定状态,并且选择一个在验证集上表现良好的模型;第四步,部署模型,进行实际场景的推理。
在实际的检测项目中,要处理的缺陷种类很多。一方面,不同类别的缺陷却非常相似,也就是类间差异很小,比如:小碰伤和黑点,黑线和刮伤等等;另一方面,同一类别缺陷之间的差异很大,比如划伤,有尺寸很小的和很大的,有特别明显的和不怎么明显的,还有有感的和无感的等等。按照上述的一般检测方式,在事先规定的类别上进行分类,网络就面临要解决类间差异小、类内差异大的问题,训练难度较大,训练得到的模型在实际检测时的表现往往不够好,误检率高。
发明内容
本发明为解决上述技术问题,提供了一种工业产品外观缺陷检测方法和装置,能够大大降低工业产品外观缺陷的误检率。
本发明采用的技术方案如下:
一种工业产品外观缺陷检测方法,包括以下步骤:对多个缺陷样本进行缺陷类别的标注,得到具有N个标注类别的第一样本集,其中,N为正整数;将所述第一样本集输入特征提取网络,得到每个所述缺陷样本对应的特征向量,构成聚类数据集,其中,所述特征提取网络包括全局平均池化层;对所述聚类数据集进行密度最大值聚类,以将所述多个缺陷样本归为K个聚类类别,得到具有K个聚类类别的第二样本集,其中,K为正整数;通过所述第二样本集对检测网络进行训练,得到缺陷检测模型;将待检测工业产品图像输入所述缺陷检测模型,得到所述待检测工业产品图像中的每个缺陷属于相应的聚类类别的输出结果;将所述第二样本集与所述第一样本集进行比较;如果所述第二样本集中的一个聚类类别的所有缺陷样本具有同一个标注类别,则将属于该聚类类别的输出结果判定为单类输出,并得到输出结果为单类输出的缺陷属于相应的标注类别的输出结果;如果所述第二样本集中的一个聚类类别的所有缺陷样本具有M个不同的标注类别,则将属于该聚类类别的输出结果判定为多类输出,并以所述第二样本集中的该聚类类别的所有缺陷样本构成具有M个标注类别的第三样本集,其中,M为大于1的正整数,且M小于等于N;通过所述第三样本集对细粒度分类网络进行训练,得到细粒度分类模型;将输出结果为多类输出的缺陷的子图像输入所述细粒度分类模型,得到输出结果为多类输出的缺陷属于相应的标注类别的输出结果。
所述特征提取网络包括主干网络和设置于所述主干网络之后的所述全局平均池化层。
所述主干网络为卷积神经网络。
如果输出结果为多类输出的缺陷为多个,且其中至少两个属于不同的聚类类别,则将属于不同的聚类类别的缺陷的子图像输入相应的细粒度分类模型并行执行。
一种工业产品外观缺陷检测装置,包括:标注模块,用于对多个缺陷样本进行缺陷类别的标注,得到具有N个标注类别的第一样本集,其中,N为正整数;特征提取模块,用于将所述第一样本集输入特征提取网络,得到每个所述缺陷样本对应的特征向量,构成聚类数据集,其中,所述特征提取网络包括全局平均池化层;聚类模块,用于对所述聚类数据集进行密度最大值聚类,以将所述多个缺陷样本归为K个聚类类别,得到具有K个聚类类别的第二样本集,其中,K为正整数;第一训练模块,用于通过所述第二样本集对检测网络进行训练,得到缺陷检测模型;第一检测模块,用于将待检测工业产品图像输入所述缺陷检测模型,得到所述待检测工业产品图像中的每个缺陷属于相应的聚类类别的输出结果;比较模块,用于将所述第二样本集与所述第一样本集进行比较;第一判定模块,用于在所述第二样本集中的一个聚类类别的所有缺陷样本具有同一个标注类别时,将属于该聚类类别的输出结果判定为单类输出,并得到输出结果为单类输出的缺陷属于相应的标注类别的输出结果;第二判定模块,用于在所述第二样本集中的一个聚类类别的所有缺陷样本具有M个不同的标注类别时,将属于该聚类类别的输出结果判定为多类输出,并以所述第二样本集中的该聚类类别的所有缺陷样本构成具有M个标注类别的第三样本集,其中,M为大于1的正整数,且M小于等于N;第二训练模块,用于通过所述第三样本集对细粒度分类网络进行训练,得到细粒度分类模型;第二检测模块,用于将输出结果为多类输出的缺陷的子图像输入所述细粒度分类模型,得到输出结果为多类输出的缺陷属于相应的标注类别的输出结果。
所述特征提取网络包括主干网络和设置于所述主干网络之后的所述全局平均池化层。
所述主干网络为卷积神经网络。
当输出结果为多类输出的缺陷为多个,且其中至少两个属于不同的聚类类别时,所述第二检测模块并行地将属于不同的聚类类别的缺陷的子图像输入相应的细粒度分类模型。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述工业产品外观缺陷检测方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述工业产品外观缺陷检测方法。
本发明的有益效果:
本发明通过对已标注的样本利用密度最大值聚类进行重新归类,能够降低同一标注类别类间差异小对学习和检测所造成的负面影响,同时能够改善样本不平衡的问题;通过对多类输出进行进一步细粒度的分类,能够进一步降低同一标注类别类间差异小对学习和检测所造成的负面影响,并降低类内差异大对检测所造成的负面影响。由此,能够大大降低工业产品外观缺陷的误检率。
附图说明
图1为本发明实施例的工业产品外观缺陷检测方法的流程图;
图2为本发明实施例的工业产品外观缺陷检测装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例的工业产品外观缺陷检测方法包括以下步骤:
S1,对多个缺陷样本进行缺陷类别的标注,得到具有N个标注类别的第一样本集,其中,N为正整数。
本发明实施例利用工业产品图像进行工业产品外观缺陷的检测,首先可通过带有缺陷类别标注的检测框从样本图像中切出缺陷的子图像,作为缺陷样本,本发明实施例中将标注的缺陷类别称为标注类别,这样可得到大量的带有标注类别的缺陷样本,由这些带有N个标注类别的缺陷样本构成第一样本集。在本发明的具体实施例中,N的取值一般大于2,N个标注类别可以包括碰伤缺陷、刮伤缺陷、压伤缺陷等等。
S2,将第一样本集输入特征提取网络,得到每个缺陷样本对应的特征向量,构成聚类数据集,其中,特征提取网络包括全局平均池化层。
在本发明的一个实施例中,可利用大量的缺陷图训练出一个预训练模型,将该预训练模型的主干网络和权重提取出来,作为特征提取的工具。由于不同大小的缺陷图在经过主干网络之后,输出的特征图的大小是不一样的,因此,可在主干网络之后增加一个全局平均池化层,以保证输出大小一致。也就是说,本发明实施例的特征提取网络包括主干网络和设置于主干网络之后的全局平均池化层。在本发明的一个实施例中,主干网络可为卷积神经网络。
通过上述的特征提取网络对第一样本集中多个缺陷样本进行特征提取,所得到的多个特征向量即可构成聚类数据集。
S3,对聚类数据集进行密度最大值聚类,以将多个缺陷样本归为K个聚类类别,得到具有K个聚类类别的第二样本集,其中,K为正整数。
在对聚类数据集进行密度最大值聚类时,无需关注缺陷样本的原标注类别,即进行的是无监督聚类。进行密度最大值聚类的流程包括:首先确定一个截断距离d,这个截断距离用来衡量距离某个特征点的远近程度,如果一个点与某个特征点的距离小于d,则认为二者是邻居,如果大于等于d,则认为二者是非邻居。本发明实施例中d的取值依据为:使得平均每个点的邻居数量为所有点的0.5%-1%的时候的某个值,这个值可以通过简单的网格搜索的方式确定。接下来,根据截断距离d,可以计算得到当前特征向量集合的局部密度和高局部密度点距离。最后,将所有点按照局部密度的值由高到低进行编号,并且以局部密度为横坐标,高局部密度点距离为纵坐标,将所有点画到坐标系中,可以非常自然地找到每个簇的中心点。最后再根据簇中心完成整个聚类操作。密度最大值聚类的优势在于聚类对于非球类分布的数据同样有效,另外不需要如K-means、谱聚类等算法那样指定聚类类别,因此可以自然地将所有的缺陷归为算法认为合理的几个类别。最终可以得到K个类别的缺陷,本发明实施例中将密度最大值聚类得到缺陷类别称为聚类类别。由于在聚类时未考虑缺陷样本的原标注类别,不同标注类别的缺陷样本可能会被归到同一个聚类类别,因此,在这K个聚类类别中,某一或某些聚类类别的多个缺陷样本,可能具有1至N个标注类别。
进一步地,可根据每个特征向量的聚类类别,对相应的缺陷样本进行重新标注,由这些带有K个聚类类别的缺陷样本构成第二样本集。
S4,通过第二样本集对检测网络进行训练,得到缺陷检测模型。
本发明实施例中的检测网络可以为目标检测网络或者实例分割网络,例如yolo、faster-rcnn、centernet、sparse rcnn、tridentnet、vovnet、solov2、mask rcnn、centermask、bmask rcnn等。一般地,K的大小要小于N的大小,相对于具有N个标注类别的第一样本集,利用具有K个聚类类别的第二样本集进行模型训练要更加简单,实践中可以采用更加轻量级的网络,训练速度会更快,同时后续检测的速度也更快。
S5,将待检测工业产品图像输入缺陷检测模型,得到待检测工业产品图像中的每个缺陷属于相应的聚类类别的输出结果。
由于缺陷检测模型是由带有K个聚类类别的缺陷样本训练得到的,缺陷检测模型的输出结果应包括缺陷的聚类类别。
在本发明的一个具体实施例中,假设缺陷检测模型检测出缺陷a和b属于聚类类别k1、缺陷c属于聚类类别k2、缺陷d和e属于聚类类别k3,则输出结果可以为缺陷a的子图像附加其聚类类别k1、缺陷b的子图像附加其聚类类别k1、缺陷c的子图像附加其聚类类别k2、缺陷d的子图像附加其聚类类别k3、缺陷e的子图像附加其聚类类别k3。
本发明实施例所述的缺陷的子图像为在将待检测工业产品图像输入缺陷检测模型后,通过检测框在待检测工业产品图像中检出的缺陷的区域。
S6,将第二样本集与第一样本集进行比较。
比较的目的是判断第二样本集中某一聚类类别的所有缺陷样本在聚类之前是否具有多个标注类别。在本发明的一个实施例中,为提高处理速度,可仅对缺陷检测模型输出的聚类类别进行判断,例如当K为10,即第二样本集中的缺陷样本的聚类类别分为k1~k10时,如果缺陷检测模型检测出上述的k1~k3共三个聚类类别,则仅判断第二样本集中聚类类别为k1~k3的缺陷样本在聚类之前是否具有多个标注类别。
S7,如果第二样本集中的一个聚类类别的所有缺陷样本具有同一个标注类别,则将属于该聚类类别的输出结果判定为单类输出,并得到输出结果为单类输出的缺陷属于相应的标注类别的输出结果。
假设第二样本集中聚类类别为k1的所有缺陷样本具有同一个标注类别:碰伤缺陷,即聚类类别为k1的所有缺陷样本在聚类之前仅有一个标注类别,则缺陷a和b属于聚类类别k1为单类输出,同时可得出缺陷a和b属于碰伤缺陷的最终的检测结果。
S8,如果第二样本集中的一个聚类类别的所有缺陷样本具有M个不同的标注类别,则将属于该聚类类别的输出结果判定为多类输出,并以第二样本集中的该聚类类别的所有缺陷样本构成具有M个标注类别的第三样本集,其中,M为大于1的正整数,且M小于等于N。
假设第二样本集中聚类类别为k2的所有缺陷样本具有3个不同的标注类别:碰伤缺陷、刮伤缺陷、压伤缺陷,即聚类类别为k2的所有缺陷样本在聚类之前具有多个标注类别,则缺陷c属于聚类类别k2为多类输出。
对于多类输出的缺陷,需要进一步明确其具体属于哪一标注类别。
在本发明的一个实施例中,在确定了缺陷样本具有M个不同的标注类别的聚类类别后,可将第二样本集中该聚类类别的缺陷样本的标签替换为原标注类别,由这些带有M个标注类别的缺陷样本构成第三样本集。
假设第二样本集中聚类类别为k2的缺陷样本中的若干个在聚类前的标注类别为碰伤缺陷、若干个在聚类前的标注类别为刮伤缺陷、若干个在聚类前的标注类别为压伤缺陷,则将这些缺陷样本分别再次标注为原来的碰伤缺陷、刮伤缺陷、压伤缺陷,构成第三样本集。
S9,通过第三样本集对细粒度分类网络进行训练,得到细粒度分类模型。
在本发明的一个实施例中,细粒度分类网络可采用RA-CNN、MASK-CNN等。
应当理解的是,如果输出结果为多类输出的缺陷为多个,且其中至少两个属于不同的聚类类别,那么相应地,第三样本集为至少两个,训练得到的细粒度分类模型也为至少两个。本发明实施例中最多需要训练出K个不同的细粒度分类模型。
S10,将输出结果为多类输出的缺陷的子图像输入细粒度分类模型,得到输出结果为多类输出的缺陷属于相应的标注类别的输出结果。
由于细粒度分类模型是由带有M个标注类别的缺陷样本训练得到的,细粒度分类模型的输出结果应包括缺陷的标注类别。
假设将上述缺陷c的子图像输入细粒度分类模型,输出结果为缺陷c属于刮伤缺陷,该结果即为最终的检测结果。
此外,如果输出结果为多类输出的缺陷为多个,且其中至少两个属于不同的聚类类别,则将属于不同的聚类类别的缺陷的子图像输入相应的细粒度分类模型可并行执行,由此,能够进一步提高检测速度。
综上所述,根据本发明实施例的工业产品外观缺陷检测方法,通过对已标注的样本利用密度最大值聚类进行重新归类,能够降低同一标注类别类间差异小对学习和检测所造成的负面影响,同时能够改善样本不平衡的问题;通过对多类输出进行进一步细粒度的分类,能够进一步降低同一标注类别类间差异小对学习和检测所造成的负面影响,并降低类内差异大对检测所造成的负面影响。由此,能够大大降低工业产品外观缺陷的误检率。
对应上述实施例的工业产品外观缺陷检测方法,本发明还提出一种工业产品外观缺陷检测装置。
如图2所示,本发明实施例的工业产品外观缺陷检测装置包括标注模块1、特征提取模块2、聚类模块3、第一训练模块4、第一检测模块5、比较模块6、第一判定模块7、第二判定模块8、第二训练模块9和第二检测模块10。其中,标注模块1用于对多个缺陷样本进行缺陷类别的标注,得到具有N个标注类别的第一样本集,其中,N为正整数;特征提取模块2用于将第一样本集输入特征提取网络,得到每个缺陷样本对应的特征向量,构成聚类数据集,其中,特征提取网络包括全局平均池化层;聚类模块3用于对聚类数据集进行密度最大值聚类,以将多个缺陷样本归为K个聚类类别,得到具有K个聚类类别的第二样本集,其中,K为正整数;第一训练模块4用于通过第二样本集对检测网络进行训练,得到缺陷检测模型;第一检测模块5用于将待检测工业产品图像输入缺陷检测模型,得到待检测工业产品图像中的每个缺陷属于相应的聚类类别的输出结果;比较模块6用于将第二样本集与第一样本集进行比较;第一判定模块7用于在第二样本集中的一个聚类类别的所有缺陷样本具有同一个标注类别时,将属于该聚类类别的输出结果判定为单类输出,并得到输出结果为单类输出的缺陷属于相应的标注类别的输出结果;第二判定模块8用于在第二样本集中的一个聚类类别的所有缺陷样本具有M个不同的标注类别时,将属于该聚类类别的输出结果判定为多类输出,并以第二样本集中的该聚类类别的所有缺陷样本构成具有M个标注类别的第三样本集,其中,M为大于1的正整数,且M小于等于N;第二训练模块9用于通过第三样本集对细粒度分类网络进行训练,得到细粒度分类模型;第二检测模块10用于将输出结果为多类输出的缺陷的子图像输入细粒度分类模型,得到输出结果为多类输出的缺陷属于相应的标注类别的输出结果。
本发明实施例利用工业产品图像进行工业产品外观缺陷的检测,首先标注模块1可通过带有缺陷类别标注的检测框从样本图像中切出缺陷的子图像,作为缺陷样本,本发明实施例中将标注的缺陷类别称为标注类别,这样可得到大量的带有标注类别的缺陷样本,由这些带有N个标注类别的缺陷样本构成第一样本集。在本发明的具体实施例中,N的取值一般大于2,N个标注类别可以包括碰伤缺陷、刮伤缺陷、压伤缺陷等等。
在本发明的一个实施例中,可利用大量的缺陷图训练出一个预训练模型,将该预训练模型的主干网络和权重提取出来,作为特征提取的工具。由于不同大小的缺陷图在经过主干网络之后,输出的特征图的大小是不一样的,因此,可在主干网络之后增加一个全局平均池化层,以保证输出大小一致。也就是说,本发明实施例的特征提取网络包括主干网络和设置于主干网络之后的全局平均池化层。在本发明的一个实施例中,主干网络可为卷积神经网络。
特征提取模块2通过上述的特征提取网络对第一样本集中多个缺陷样本进行特征提取,所得到的多个特征向量即可构成聚类数据集。
聚类模块3在对聚类数据集进行密度最大值聚类时,无需关注缺陷样本的原标注类别,即进行的是无监督聚类。聚类模块3进行密度最大值聚类的流程包括:首先确定一个截断距离d,这个截断距离用来衡量距离某个特征点的远近程度,如果一个点与某个特征点的距离小于d,则认为二者是邻居,如果大于等于d,则认为二者是非邻居。本发明实施例中d的取值依据为:使得平均每个点的邻居数量为所有点的0.5%-1%的时候的某个值,这个值可以通过简单的网格搜索的方式确定。接下来,根据截断距离d,可以计算得到当前特征向量集合的局部密度和高局部密度点距离。最后,将所有点按照局部密度的值由高到低进行编号,并且以局部密度为横坐标,高局部密度点距离为纵坐标,将所有点画到坐标系中,可以非常自然地找到每个簇的中心点。最后再根据簇中心完成整个聚类操作。密度最大值聚类的优势在于聚类对于非球类分布的数据同样有效,另外不需要如K-means、谱聚类等算法那样指定聚类类别,因此可以自然地将所有的缺陷归为算法认为合理的几个类别。最终可以得到K个类别的缺陷,本发明实施例中将密度最大值聚类得到缺陷类别称为聚类类别。由于在聚类时未考虑缺陷样本的原标注类别,不同标注类别的缺陷样本可能会被归到同一个聚类类别,因此,在这K个聚类类别中,某一或某些聚类类别的多个缺陷样本,可能具有1至N个标注类别。
进一步地,聚类模块3可根据每个特征向量的聚类类别,对相应的缺陷样本进行重新标注,由这些带有K个聚类类别的缺陷样本构成第二样本集。
本发明实施例中的检测网络可以为目标检测网络或者实例分割网络,例如yolo、faster-rcnn、centernet、sparse rcnn、tridentnet、vovnet、solov2、mask rcnn、centermask、bmask rcnn等。一般地,K的大小要小于N的大小,相对于具有N个标注类别的第一样本集,第一训练模块4利用具有K个聚类类别的第二样本集进行模型训练要更加简单,实践中可以采用更加轻量级的网络,训练速度会更快,同时后续检测的速度也更快。
由于缺陷检测模型是由带有K个聚类类别的缺陷样本训练得到的,缺陷检测模型的输出结果应包括缺陷的聚类类别。
在本发明的一个具体实施例中,假设第一检测模块5检测出缺陷a和b属于聚类类别k1、缺陷c属于聚类类别k2、缺陷d和e属于聚类类别k3,则输出结果可以为缺陷a的子图像附加其聚类类别k1、缺陷b的子图像附加其聚类类别k1、缺陷c的子图像附加其聚类类别k2、缺陷d的子图像附加其聚类类别k3、缺陷e的子图像附加其聚类类别k3。
比较模块6比较的目的是判断第二样本集中某一聚类类别的所有缺陷样本在聚类之前是否具有多个标注类别。在本发明的一个实施例中,为提高处理速度,可仅对缺陷检测模型输出的聚类类别进行判断,例如当K为10,即第二样本集中的缺陷样本的聚类类别分为k1~k10时,如果缺陷检测模型检测出上述的k1~k3共三个聚类类别,则仅判断第二样本集中聚类类别为k1~k3的缺陷样本在聚类之前是否具有多个标注类别。
假设第二样本集中聚类类别为k1的所有缺陷样本具有同一个标注类别:碰伤缺陷,即聚类类别为k1的所有缺陷样本在聚类之前仅有一个标注类别,则第一判定模块7可将缺陷a和b属于聚类类别k1判定为单类输出,同时可得出缺陷a和b属于碰伤缺陷的最终的检测结果。
假设第二样本集中聚类类别为k2的所有缺陷样本具有3个不同的标注类别:碰伤缺陷、刮伤缺陷、压伤缺陷,即聚类类别为k2的所有缺陷样本在聚类之前具有多个标注类别,则第二判定模块8可将缺陷c属于聚类类别k2判定为多类输出。
对于多类输出的缺陷,需要进一步明确其具体属于哪一标注类别。
在本发明的一个实施例中,在确定了缺陷样本具有M个不同的标注类别的聚类类别后,第二判定模块8可将第二样本集中该聚类类别的缺陷样本的标签替换为原标注类别,由这些带有M个标注类别的缺陷样本构成第三样本集。
假设第二样本集中聚类类别为k2的缺陷样本中的若干个在聚类前的标注类别为碰伤缺陷、若干个在聚类前的标注类别为刮伤缺陷、若干个在聚类前的标注类别为压伤缺陷,则将这些缺陷样本分别再次标注为原来的碰伤缺陷、刮伤缺陷、压伤缺陷,构成第三样本集。
在本发明的一个实施例中,细粒度分类网络可采用RA-CNN、MASK-CNN等。
应当理解的是,如果输出结果为多类输出的缺陷为多个,且其中至少两个属于不同的聚类类别,那么相应地,第三样本集为至少两个,第二训练模块9训练得到的细粒度分类模型也为至少两个。本发明实施例中第二训练模块9最多需要训练出K个不同的细粒度分类模型。
由于细粒度分类模型是由带有M个标注类别的缺陷样本训练得到的,第二检测模块10得到的输出结果应包括缺陷的标注类别。
假设将上述缺陷c的子图像输入细粒度分类模型,输出结果为缺陷c属于刮伤缺陷,该结果即为最终的检测结果。
此外,如果输出结果为多类输出的缺陷为多个,且其中至少两个属于不同的聚类类别,则第二检测模块10并行地将属于不同的聚类类别的缺陷的子图像输入相应的细粒度分类模型,由此,能够进一步提高检测速度。
综上所述,根据本发明实施例的工业产品外观缺陷检测装置,通过对已标注的样本利用密度最大值聚类进行重新归类,能够降低同一标注类别类间差异小对学习和检测所造成的负面影响,同时能够改善样本不平衡的问题;通过对多类输出进行进一步细粒度的分类,能够进一步降低同一标注类别类间差异小对学习和检测所造成的负面影响,并降低类内差异大对检测所造成的负面影响。由此,能够大大降低工业产品外观缺陷的误检率。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例所述的工业产品外观缺陷检测方法。
根据本发明实施例的计算机设备,处理器执行存储在存储器上的计算机程序时,通过对已标注的样本利用密度最大值聚类进行重新归类,能够降低同一标注类别类间差异小对学习和检测所造成的负面影响,同时能够改善样本不平衡的问题;通过对多类输出进行进一步细粒度的分类,能够进一步降低同一标注类别类间差异小对学习和检测所造成的负面影响,并降低类内差异大对检测所造成的负面影响。由此,能够大大降低工业产品外观缺陷的误检率。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现根据本发明上述实施例所述的工业产品外观缺陷检测方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,通过对已标注的样本利用密度最大值聚类进行重新归类,能够降低同一标注类别类间差异小对学习和检测所造成的负面影响,同时能够改善样本不平衡的问题;通过对多类输出进行进一步细粒度的分类,能够进一步降低同一标注类别类间差异小对学习和检测所造成的负面影响,并降低类内差异大对检测所造成的负面影响。由此,能够大大降低工业产品外观缺陷的误检率。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种工业产品外观缺陷检测方法,其特征在于,包括以下步骤:
对多个缺陷样本进行缺陷类别的标注,得到具有N个标注类别的第一样本集,其中,N为正整数;
将所述第一样本集输入特征提取网络,得到每个所述缺陷样本对应的特征向量,构成聚类数据集,其中,所述特征提取网络包括全局平均池化层;
对所述聚类数据集进行密度最大值聚类,以将所述多个缺陷样本对应的特征向量归为K个聚类类别,并根据每个特征向量的聚类类别,对相应的缺陷样本进行重新标注,由带有K个聚类类别的缺陷样本构成第二样本集,其中,K为正整数;
通过所述第二样本集对检测网络进行训练,得到缺陷检测模型;
将待检测工业产品图像输入所述缺陷检测模型,得到所述待检测工业产品图像中的每个缺陷属于相应的聚类类别的输出结果;
将所述第二样本集与所述第一样本集进行比较;
如果所述第二样本集中的一个聚类类别的所有缺陷样本具有同一个标注类别,则将属于该聚类类别的输出结果判定为单类输出,并得到输出结果为单类输出的缺陷属于相应的标注类别的输出结果;
如果所述第二样本集中的一个聚类类别的所有缺陷样本具有M个不同的标注类别,则将属于该聚类类别的输出结果判定为多类输出,并以所述第二样本集中的该聚类类别的所有缺陷样本构成具有M个标注类别的第三样本集,其中,M为大于1的正整数,且M小于等于N;
通过所述第三样本集对细粒度分类网络进行训练,得到细粒度分类模型;
将输出结果为多类输出的缺陷的子图像输入所述细粒度分类模型,得到输出结果为多类输出的缺陷属于相应的标注类别的输出结果。
2.根据权利要求1所述的工业产品外观缺陷检测方法,其特征在于,所述特征提取网络包括主干网络和设置于所述主干网络之后的所述全局平均池化层。
3.根据权利要求2所述的工业产品外观缺陷检测方法,其特征在于,所述主干网络为卷积神经网络。
4.根据权利要求1-3中任一项所述的工业产品外观缺陷检测方法,其特征在于,如果输出结果为多类输出的缺陷为多个,且其中至少两个属于不同的聚类类别,则将属于不同的聚类类别的缺陷的子图像输入相应的细粒度分类模型并行执行。
5.一种工业产品外观缺陷检测装置,其特征在于,包括:
标注模块,用于对多个缺陷样本进行缺陷类别的标注,得到具有N个标注类别的第一样本集,其中,N为正整数;
特征提取模块,用于将所述第一样本集输入特征提取网络,得到每个所述缺陷样本对应的特征向量,构成聚类数据集,其中,所述特征提取网络包括全局平均池化层;
聚类模块,用于对所述聚类数据集进行密度最大值聚类,以将所述多个缺陷样本对应的特征向量归为K个聚类类别,并根据每个特征向量的聚类类别,对相应的缺陷样本进行重新标注,由带有K个聚类类别的缺陷样本构成第二样本集,其中,K为正整数;
第一训练模块,用于通过所述第二样本集对检测网络进行训练,得到缺陷检测模型;
第一检测模块,用于将待检测工业产品图像输入所述缺陷检测模型,得到所述待检测工业产品图像中的每个缺陷属于相应的聚类类别的输出结果;
比较模块,用于将所述第二样本集与所述第一样本集进行比较;
第一判定模块,用于在所述第二样本集中的一个聚类类别的所有缺陷样本具有同一个标注类别时,将属于该聚类类别的输出结果判定为单类输出,并得到输出结果为单类输出的缺陷属于相应的标注类别的输出结果;
第二判定模块,用于在所述第二样本集中的一个聚类类别的所有缺陷样本具有M个不同的标注类别时,将属于该聚类类别的输出结果判定为多类输出,并以所述第二样本集中的该聚类类别的所有缺陷样本构成具有M个标注类别的第三样本集,其中,M为大于1的正整数,且M小于等于N;
第二训练模块,用于通过所述第三样本集对细粒度分类网络进行训练,得到细粒度分类模型;
第二检测模块,用于将输出结果为多类输出的缺陷的子图像输入所述细粒度分类模型,得到输出结果为多类输出的缺陷属于相应的标注类别的输出结果。
6.根据权利要求5所述的工业产品外观缺陷检测装置,其特征在于,所述特征提取网络包括主干网络和设置于所述主干网络之后的所述全局平均池化层。
7.根据权利要求6所述的工业产品外观缺陷检测装置,其特征在于,所述主干网络为卷积神经网络。
8.根据权利要求5-7中任一项所述的工业产品外观缺陷检测装置,其特征在于,当输出结果为多类输出的缺陷为多个,且其中至少两个属于不同的聚类类别时,所述第二检测模块并行地将属于不同的聚类类别的缺陷的子图像输入相应的细粒度分类模型。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现根据权利要求1-4中任一项所述的工业产品外观缺陷检测方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1-4中任一项所述的工业产品外观缺陷检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111336284.8A CN113781483B (zh) | 2021-11-12 | 2021-11-12 | 工业产品外观缺陷检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111336284.8A CN113781483B (zh) | 2021-11-12 | 2021-11-12 | 工业产品外观缺陷检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113781483A CN113781483A (zh) | 2021-12-10 |
CN113781483B true CN113781483B (zh) | 2022-02-11 |
Family
ID=78957014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111336284.8A Active CN113781483B (zh) | 2021-11-12 | 2021-11-12 | 工业产品外观缺陷检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113781483B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114255540A (zh) * | 2022-01-25 | 2022-03-29 | 中国农业银行股份有限公司 | 一种污损纸币的识别方法、装置、设备和存储介质 |
CN114140669B (zh) * | 2022-02-07 | 2022-04-26 | 南昌工程学院 | 焊接缺陷识别模型训练方法、装置和计算机终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102095731A (zh) * | 2010-12-02 | 2011-06-15 | 山东轻工业学院 | 在纸张缺陷视觉检测中识别不同缺陷类型的系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4038356B2 (ja) * | 2001-04-10 | 2008-01-23 | 株式会社日立製作所 | 欠陥データ解析方法及びその装置並びにレビューシステム |
CN110709688B (zh) * | 2017-04-13 | 2022-03-18 | 英卓美特公司 | 用于预测在装配单元中的缺陷的方法 |
CN112991264B (zh) * | 2021-02-05 | 2023-08-11 | 西安理工大学 | 一种单晶硅光伏电池裂纹缺陷的检测方法 |
-
2021
- 2021-11-12 CN CN202111336284.8A patent/CN113781483B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102095731A (zh) * | 2010-12-02 | 2011-06-15 | 山东轻工业学院 | 在纸张缺陷视觉检测中识别不同缺陷类型的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113781483A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830188B (zh) | 基于深度学习的车辆检测方法 | |
EP3379491B1 (en) | Surface defect detection | |
WO2017190574A1 (zh) | 一种基于聚合通道特征的快速行人检测方法 | |
Shumin et al. | AdaBoost learning for fabric defect detection based on HOG and SVM | |
CN113781483B (zh) | 工业产品外观缺陷检测方法和装置 | |
CN109523518B (zh) | 一种轮胎x光病疵检测方法 | |
CN107316036B (zh) | 一种基于级联分类器的害虫识别方法 | |
US20070058856A1 (en) | Character recoginition in video data | |
CN106846316A (zh) | 一种gis内部典型缺陷图像自动识别方法 | |
CN107273832B (zh) | 基于积分通道特征与卷积神经网络的车牌识别方法及系统 | |
CN113920107A (zh) | 一种基于改进yolov5算法的绝缘子破损检测方法 | |
CN111612784A (zh) | 一种基于分类优先yolo网络的钢板表面缺陷检测方法 | |
CN109934216B (zh) | 图像处理的方法、装置、计算机可读存储介质 | |
CN111242899B (zh) | 基于图像的瑕疵检测方法及计算机可读存储介质 | |
CN104036284A (zh) | 基于Adaboost算法的多尺度行人检测方法 | |
Park et al. | MarsNet: multi-label classification network for images of various sizes | |
CN111950488B (zh) | 一种改进的Faster-RCNN遥感图像目标检测方法 | |
CN109543760A (zh) | 基于图像滤镜算法的对抗样本检测方法 | |
CN112861635A (zh) | 一种基于深度学习的火灾及烟雾实时检测方法 | |
CN115272652A (zh) | 基于多元回归和自适应焦点损失的密集物体图像检测方法 | |
Li et al. | Robust vehicle detection in high-resolution aerial images with imbalanced data | |
CN113591948A (zh) | 一种缺陷模式识别方法、装置、电子设备和存储介质 | |
CN113689431B (zh) | 工业产品外观缺陷检测方法和装置 | |
CN108932471B (zh) | 一种车辆检测方法 | |
CN113989196A (zh) | 一种基于视觉的耳机硅胶垫圈的外观缺陷检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Industrial product appearance defect detection methods and devices Effective date of registration: 20230530 Granted publication date: 20220211 Pledgee: China Zheshang Bank Co.,Ltd. Changzhou Branch Pledgor: Changzhou Weiyizhi Technology Co.,Ltd. Registration number: Y2023980042278 |