CN113689431B - 工业产品外观缺陷检测方法和装置 - Google Patents
工业产品外观缺陷检测方法和装置 Download PDFInfo
- Publication number
- CN113689431B CN113689431B CN202111251229.9A CN202111251229A CN113689431B CN 113689431 B CN113689431 B CN 113689431B CN 202111251229 A CN202111251229 A CN 202111251229A CN 113689431 B CN113689431 B CN 113689431B
- Authority
- CN
- China
- Prior art keywords
- sub
- industrial product
- regions
- image
- defect
- 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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
-
- 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/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及工业质检技术领域,为解决工业产品外观缺陷检测麻烦且检测效果差的技术问题,提供了一种工业产品外观缺陷检测方法和装置,所述方法包括:将待检测工业产品图像分割成多个子区域;根据相邻子区域之间的相似度将子区域进行合并,得到多个子图,构成子图集;对子图集进行聚类,以将子图集中的多个子图分为多个尺寸类别;将每个尺寸类别中的子图调整到相应的固定尺寸;将调整后的多个子图分别依次输入卷积神经网络,以输出相应的特征图,并将每个特征图拉平得到相应的特征向量,构成样本集,其中,卷积神经网络包括全局平均池化层;对样本集进行谱聚类,将样本集中的样本分为缺陷类和良品类,以判断待检测工业产品图像是否存在外观缺陷。
Description
技术领域
本发明涉及工业质检技术领域,具体涉及一种工业产品外观缺陷检测方法、一种工业产品外观缺陷检测装置、一种计算机设备和一种非临时性计算机可读存储介质。
背景技术
工业智能质检近年得到了广泛的应用,引起了极大的关注。目前工业智能质检中,常用的方法有基于传统图像处理算法、深度学习算法以及这两种算法的组合等。传统图像处理算法主要针对位置固定缺陷、结构性缺陷以及需要量测的缺陷等有不错的效果,但对于一般外观类缺陷,如划伤、压伤、碰伤等等,效果不理想甚至完全失效。而深度学习算法由于其极强的泛化能力,在外观类缺陷检测等应用上表现出色。
一般的基于深度学习算法的外观缺陷检测方法有以下几个步骤。首先,收集大量的含缺陷样本,进行人工标注;然后,对标注过的数据进行清洗,并进行数据格式的转换;接着,选择某种深度学习目标检测网络或者分类网络,针对这些数据训练模型;最后,用训练好的模型对于新数据进行推理,给出结果。深度学习模型要能取得好的性能指标,需要依赖于大量的多样化的数据。但是对于工业外观缺陷的项目,一般往往存在数据收集困难,在短时期内收集的数据比较单一,因此基于此训练出来的深度学习模型效果经常不够理想,特别是对于未来出现的一些新形态的缺陷,模型往往会漏检。
发明内容
本发明为解决上述技术问题,提供了一种工业产品外观缺陷检测方法和装置,通过一种无监督学习的方式实现工业产品外观缺陷检测,无需进行人工标注,利用待检测图像的分割和合并得到数据集,结合谱聚类本身的优势,不仅对数据量的要求较低,而且检测效果较好,尤其对于新形态的缺陷有较好的检出能力。
本发明采用的技术方案如下:
一种工业产品外观缺陷检测方法,包括以下步骤:将待检测工业产品图像分割成多个子区域;根据相邻子区域之间的相似度将所述子区域进行合并,得到多个子图,构成子图集;对所述子图集进行聚类,以将所述子图集中的多个子图分为多个尺寸类别;将每个所述尺寸类别中的子图调整到相应的固定尺寸;将调整后的多个子图分别依次输入卷积神经网络,以输出相应的特征图,并将每个特征图拉平得到相应的特征向量,构成样本集,其中,所述卷积神经网络包括全局平均池化层;对所述样本集进行谱聚类,将所述样本集中的样本分为缺陷类和良品类,以判断所述待检测工业产品图像是否存在外观缺陷。
所述的工业产品外观缺陷检测方法还包括:对所述缺陷类进行再次谱聚类,以判断所述缺陷类中每个样本的具体缺陷类型。
所述的工业产品外观缺陷检测方法还包括:获取至少一个不存在外观缺陷的工业产品图像;在不存在外观缺陷的工业产品图像的随机位置以随机尺寸截取多个子图,以扩充所述子图集。
根据相邻子区域之间的相似度将所述子区域进行合并,得到多个子图,具体包括:步骤a,计算相邻子区域之间的相似度;步骤b,将相似度最高的相邻子区域进行合并,将合并后的区域保存,并作为新的子区域;重复步骤a和步骤b,直至合并完整个所述待检测工业产品图像后,执行步骤c;步骤c,根据合并后的区域的总合并次数,筛选出若干个合并后的区域,得到尺寸大小不尽相同的多个子图。
采用K-means++算法对所述子图集进行聚类,聚类数目通过手肘法确定。
一种工业产品外观缺陷检测装置,包括:分割模块,用于将待检测工业产品图像分割成多个子区域;合并模块,用于根据相邻子区域之间的相似度将所述子区域进行合并,得到多个子图,构成子图集;第一聚类模块,用于对所述子图集进行聚类,以将所述子图集中的多个子图分为多个尺寸类别;调整模块,用于将每个所述尺寸类别中的子图调整到相应的固定尺寸;构成模块,用于将调整后的多个子图分别依次输入卷积神经网络,以输出相应的特征图,并将每个特征图拉平得到相应的特征向量,构成样本集,其中,所述卷积神经网络包括全局平均池化层;第二聚类模块,用于对所述样本集进行谱聚类,将所述样本集中的样本分为缺陷类和良品类,以判断所述待检测工业产品图像是否存在外观缺陷。
所述的工业产品外观缺陷检测装置还包括:第三聚类模块,用于对所述缺陷类进行再次谱聚类,以判断所述缺陷类中每个样本的具体缺陷类型。
所述的工业产品外观缺陷检测装置还包括:获取模块,用于获取至少一个不存在外观缺陷的工业产品图像;截取模块,用于在不存在外观缺陷的工业产品图像的随机位置以随机尺寸截取多个子图,以扩充所述子图集。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述工业产品外观缺陷检测方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述工业产品外观缺陷检测方法。
本发明的有益效果:
本发明首先通过对待检测工业产品图像进行分割和基于相似度的合并得到多个子图,然后将多个子图分为多个尺寸类别,并在依尺寸类别调整尺寸后,通过卷积神经网络提取特征构成样本集,最后对样本集进行谱聚类得到外观缺陷检测结果,由此,通过一种无监督学习的方式实现工业产品外观缺陷检测,无需进行人工标注,利用待检测图像的分割和合并得到数据集,结合谱聚类本身的优势,不仅对数据量的要求较低,而且检测效果较好,尤其对于新形态的缺陷有较好的检出能力。
附图说明
图1为本发明实施例的工业产品外观缺陷检测方法的流程图;
图2为本发明进一步实施例的工业产品外观缺陷检测方法的流程图;
图3为本发明实施例的工业产品外观缺陷检测装置的方框示意图;
图4为本发明进一步实施例的工业产品外观缺陷检测装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例的工业产品外观缺陷检测方法包括以下步骤:
S1,将待检测工业产品图像分割成多个子区域。
待检测工业产品图像可能存在划伤、压伤、碰伤等诸多外观缺陷中的至少一种缺陷。在本发明的一个实施例中,可将待检测工业产品图像按照尺寸平均地分割成多个子区域,图像的尺寸计量单位可以为像素,例如将4096×2160的待检测工业产品图像等分成8640个64×16的子区域。
S2,根据相邻子区域之间的相似度将子区域进行合并,得到多个子图,构成子图集。
具体地,步骤S2具体包括:步骤a,计算相邻子区域之间的相似度;步骤b,将相似度最高的相邻子区域进行合并,将合并后的区域保存,并作为新的子区域;重复步骤a和步骤b,直至合并完整个待检测工业产品图像后,执行步骤c;步骤c,根据合并后的区域的总合并次数,筛选出若干个合并后的区域,得到尺寸大小不尽相同的多个子图。
在步骤a中,可采用贪心算法计算相邻子区域之间的相似度,或者可采用模板匹配算法、拉普拉斯算子和结构相似性算法中的任一算法计算相邻子区域之间的相似度。对于每个子区域而言,与其有相接触的边或点的子区域均为其相邻的子区域,例如可以包括其上、下、左、右、左上、左下、右上、右下方的子区域。本发明实施例中可计算出整个待检测工业产品图像中所有两两相邻的子区域之间的相似度。
在步骤b中,若某两个相邻子区域之间的相似度最高,则将该两个相邻子区域进行合并。如此反复地进行相邻子区域之间的相似度的计算和相邻子区域的合并,直至合并完整个待检测工业产品图像。在合并的过程中,每个合并后的区域都会被保存下来。
在步骤c中,总合并次数是指对于所保存的合并后的区域,在上述步骤a、b重复执行的过程中进行合并操作的总次数。可预设一个次数范围,总合并次数在该次数范围内的合并后的区域均会被筛选出来,举例而言,可以筛选出合并次数大于某预设值,例如3次的区域。应当理解的是,所筛选出的合并后的区域可能为非矩形的不规则形状,在本发明的一个实施例中,可以以合并后的区域最上方的点所在的横线为上边界、最下方的点所在的横线为下边界、最左方的点所在的竖线为左边界、最右方的点所在的竖线为右边界,四个边界所围成的矩形区域,作为相应的子图。由于各个合并后的区域中各个子区域的相对位置、合并次数均可能存在差异,最终得到的多个子图的尺寸大小也会存在差异。
本发明实施例的步骤S1和S2,相当于实现了在没有事先标注检测框的情况下,通过对待检测工业产品图像的一系列处理,提取出候选区域。
S3,对子图集进行聚类,以将子图集中的多个子图分为多个尺寸类别。
S4,将每个尺寸类别中的子图调整到相应的固定尺寸。
在本发明的实施例中,通过上述步骤S2得到的子图集中可包含大量的存在外观缺陷的子图和不存在外观缺陷的子图,这些子图的尺寸不尽相同,甚至可能各不相同,大量的不同的尺寸数值不利于后续的处理,因此可初步地对子图的尺寸进行调整。而如果将所有子图统一为某一固定的尺寸,则某些子图可能会因为尺寸的调整量过大而失真,从而丢失特征信息。
因此,在本发明的实施例中,可首先将子图集中的多个子图分为多个尺寸类别,然后将每一尺寸类别的子图调整到相应的固定尺寸。
具体地,可根据子图的尺寸,采用K-means++算法对子图集进行聚类,并通过手肘法确定聚类数目K,从而将子图集中的多个子图分为多K尺寸类别。针对每一尺寸类别,可设置相应的固定的长宽值(一般长和宽均为16的倍数),然后将每一尺寸类别的子图均调整为相应的长宽值。举例而言,通过K-means++算法将子图集中的多个子图分为大尺寸、中尺寸、小尺寸三类后,可将大尺寸类中的子图调整为大尺寸对应的长宽值、中尺寸类中的子图调整为中尺寸对应的长宽值、小尺寸类中的子图调整为小尺寸对应的长宽值。
S5,将调整后的多个子图分别依次输入卷积神经网络,以输出相应的特征图,并将每个特征图拉平得到相应的特征向量,构成样本集,其中,卷积神经网络包括全局平均池化层。
将上述K种尺寸的子图分别依次输入同一个卷积神经网络进行特征提取,该卷积神经网络以是VGG、Resnet、Vovnet、Efficientnet、Hrnet、Bifpn、Mobilenet、Shufflenet等,该卷积神经网络的权重可以是通过以往的存在外观缺陷的图像和不存在外观缺陷的图像进行二分类学习得到的,也就是说有一个基于外观缺陷的预训练模型,因此在此无需重新学习。此外,本发明实施例中的卷积神经网络,要将头部的分类网络(如全连接层)去掉,然后增加一个全局平均池化层,增加全局平均池化层可以让输入的K种尺寸的图片,经过卷积神经网络之后,输出相同尺寸的特征图。最后,这些特征图可被拉平得到特征向量,从而得到后续进行谱聚类的样本集X:
X = (x1, x2, ... , xn)
其中,xm表示第m个子图经过卷积神经网络最终得到的特征向量,n指特征向量的总个数。
S6,对样本集进行谱聚类,将样本集中的样本分为缺陷类和良品类,以判断待检测工业产品图像是否存在外观缺陷。
针对上述的样本集X,可采用谱聚类的无监督学习算法进行建模。
首先两两计算特征向量之间的高斯相似度如下:
在计算得到所有高斯相似度之后,便可以得到一个n×n的相似矩阵S。然后再构建邻接矩阵W,再根据邻接矩阵构建度矩阵D。接下来,计算随机游走归一化拉普拉斯矩阵Lr=I-D-1W,其中,I表示单位矩阵。相比于拉普拉斯矩阵或标准化拉普拉斯矩阵,随机游走归一化拉普拉斯矩阵可以使聚类随机游走在相同的簇中,而几乎不会游走到其他簇中,因此效果更好。
在得到游走归一化拉普拉斯矩阵后,可计算该矩阵的特征值,并且计算最小的k1个特征值各自对应的特征向量,其中,k1为预设的值。之所以取k1个特征值和特征向量,是为了降维。k1个特征向量标准化之后,得到n×k1的特征矩阵T。对T中的每一行看作一个k1维的样本,然后采用K-means++算法进行聚类。由于此处仅考虑将所有样本聚类为存在外观缺陷和不存在外观缺陷两个类别,即缺陷类和良品类,因此设置K-means++算法将所有样本聚类为2个类别。至此,可以得到用于将样本集分为缺陷类和良品类的无监督学习模型,并根据是否存在缺陷类,或缺陷类中样本的数量是否超出预设的阈值来判断出待检测工业产品图像是否存在外观缺陷。
在一些工业产品外观缺陷检测的场景中,不仅需要判断检测工业产品图像是否存在外观缺陷,还需要判断出外观缺陷的具体类型。因此,如图2所示,本发明进一步实施例的工业产品外观缺陷检测方法还可包括:
S7,对缺陷类进行再次谱聚类,以判断缺陷类中每个样本的具体缺陷类型。
具体地,可根据上述缺陷类中的样本(假设数量为m),重新构建m×m的相似矩阵S,然后重复上面的谱聚类的过程,唯一不同的是最后K-means++算法将所有样本聚类为c个类别,其中c为已知的某一检测场景中定义的缺陷类型的数量。
一般地,工业产品图像中的缺陷区域占比较少,因此通过上述步骤S2得到的子图集中,存在外观缺陷的子图要远少于不存在外观缺陷的子图,在步骤S6中可以直接将样本数量较少的分类确定为缺陷类。然而在一些特殊情况下,工业产品图像中的缺陷区域占比可能较大,这样在步骤S6中将难以区分缺陷类和良品类。鉴于此,在本发明的一些实施例中,在步骤S3之前,还可获取至少一个不存在外观缺陷的工业产品图像,在不存在外观缺陷的工业产品图像的随机位置以随机尺寸截取多个子图,以扩充子图集。即为了保证子图集中有足够多的不存在外观缺陷的子图,可以在不存在外观缺陷的工业产品图像中以随机尺寸来截取大量的子图,加入子图集中。
综上所述,根据本发明实施例的工业产品外观缺陷检测方法,首先通过对待检测工业产品图像进行分割和基于相似度的合并得到多个子图,然后将多个子图分为多个尺寸类别,并在依尺寸类别调整尺寸后,通过卷积神经网络提取特征构成样本集,最后对样本集进行谱聚类得到外观缺陷检测结果,由此,通过一种无监督学习的方式实现工业产品外观缺陷检测,无需进行人工标注,利用待检测图像的分割和合并得到数据集,结合谱聚类本身的优势,不仅对数据量的要求较低,而且检测效果较好,尤其对于新形态的缺陷有较好的检出能力。
对应上述实施例的工业产品外观缺陷检测方法,本发明还提出一种工业产品外观缺陷检测装置。
如图3所示,本发明实施例的工业产品外观缺陷检测装置包括分割模块10、合并模块20、第一聚类模块30、调整模块40、构成模块50和第二聚类模块60。其中,分割模块10用于将待检测工业产品图像分割成多个子区域;合并模块20用于根据相邻子区域之间的相似度将子区域进行合并,得到多个子图,构成子图集;第一聚类模块30用于对子图集进行聚类,以将子图集中的多个子图分为多个尺寸类别;调整模块40用于将每个尺寸类别中的子图调整到相应的固定尺寸;构成模块50用于将调整后的多个子图分别依次输入卷积神经网络,以输出相应的特征图,并将每个特征图拉平得到相应的特征向量,构成样本集,其中,卷积神经网络包括全局平均池化层;第二聚类模块60用于对样本集进行谱聚类,将样本集中的样本分为缺陷类和良品类,以判断待检测工业产品图像是否存在外观缺陷。
待检测工业产品图像可能存在划伤、压伤、碰伤等诸多外观缺陷中的至少一种缺陷。在本发明的一个实施例中,分割模块10可将待检测工业产品图像按照尺寸平均地分割成多个子区域,图像的尺寸计量单位可以为像素,例如将4096×2160的待检测工业产品图像等分成8640个64×16的子区域。
合并模块20具体执行以下步骤:步骤a,计算相邻子区域之间的相似度;步骤b,将相似度最高的相邻子区域进行合并,将合并后的区域保存,并作为新的子区域;重复步骤a和步骤b,直至合并完整个待检测工业产品图像后,执行步骤c;步骤c,根据合并后的区域的总合并次数,筛选出若干个合并后的区域,得到尺寸大小不尽相同的多个子图。
在步骤a中,可采用贪心算法计算相邻子区域之间的相似度,或者可采用模板匹配算法、拉普拉斯算子和结构相似性算法中的任一算法计算相邻子区域之间的相似度。对于每个子区域而言,与其有相接触的边或点的子区域均为其相邻的子区域,例如可以包括其上、下、左、右、左上、左下、右上、右下方的子区域。本发明实施例中可计算出整个待检测工业产品图像中所有两两相邻的子区域之间的相似度。
在步骤b中,若某两个相邻子区域之间的相似度最高,则将该两个相邻子区域进行合并。如此反复地进行相邻子区域之间的相似度的计算和相邻子区域的合并,直至合并完整个待检测工业产品图像。在合并的过程中,每个合并后的区域都会被保存下来。
在步骤c中,总合并次数是指对于所保存的合并后的区域,在上述步骤a、b重复执行的过程中进行合并操作的总次数。可预设一个次数范围,总合并次数在该次数范围内的合并后的区域均会被筛选出来,举例而言,可以筛选出合并次数大于某预设值,例如3次的区域。应当理解的是,所筛选出的合并后的区域可能为非矩形的不规则形状,在本发明的一个实施例中,可以以合并后的区域最上方的点所在的横线为上边界、最下方的点所在的横线为下边界、最左方的点所在的竖线为左边界、最右方的点所在的竖线为右边界,四个边界所围成的矩形区域,作为相应的子图。由于各个合并后的区域中各个子区域的相对位置、合并次数均可能存在差异,最终得到的多个子图的尺寸大小也会存在差异。
本发明实施例的分割模块10和合并模块20,相当于实现了在没有事先标注检测框的情况下,通过对待检测工业产品图像的一系列处理,提取出候选区域。
在本发明的实施例中,通过上述合并模块20得到的子图集中可包含大量的存在外观缺陷的子图和不存在外观缺陷的子图,这些子图的尺寸不尽相同,甚至可能各不相同,大量的不同的尺寸数值不利于后续的处理,因此可初步地对子图的尺寸进行调整。而如果将所有子图统一为某一固定的尺寸,则某些子图可能会因为尺寸的调整量过大而失真,从而丢失特征信息。
因此,在本发明的实施例中,可首先由第一聚类模块30将子图集中的多个子图分为多个尺寸类别,然后由调整模块40将每一尺寸类别的子图调整到相应的固定尺寸。
具体地,第一聚类模块30可根据子图的尺寸,采用K-means++算法对子图集进行聚类,并通过手肘法确定聚类数目K,从而将子图集中的多个子图分为多K尺寸类别。针对每一尺寸类别,可设置相应的固定的长宽值(一般长和宽均为16的倍数),然后调整模块40将每一尺寸类别的子图均调整为相应的长宽值。举例而言,通过K-means++算法将子图集中的多个子图分为大尺寸、中尺寸、小尺寸三类后,可将大尺寸类中的子图调整为大尺寸对应的长宽值、中尺寸类中的子图调整为中尺寸对应的长宽值、小尺寸类中的子图调整为小尺寸对应的长宽值。
构成模块50将上述K种尺寸的子图分别依次输入同一个卷积神经网络进行特征提取,该卷积神经网络以是VGG、Resnet、Vovnet、Efficientnet、Hrnet、Bifpn、Mobilenet、Shufflenet等,该卷积神经网络的权重可以是通过以往的存在外观缺陷的图像和不存在外观缺陷的图像进行二分类学习得到的,也就是说有一个基于外观缺陷的预训练模型,因此在此无需重新学习。此外,本发明实施例中的卷积神经网络,要将头部的分类网络(如全连接层)去掉,然后增加一个全局平均池化层,增加全局平均池化层可以让输入的K种尺寸的图片,经过卷积神经网络之后,输出相同尺寸的特征图。最后,这些特征图可被拉平得到特征向量,从而得到后续进行谱聚类的样本集X:
X = (x1, x2, ... , xn)
其中,xm表示第m个子图经过卷积神经网络最终得到的特征向量,n指特征向量的总个数。
针对上述的样本集X,可采用谱聚类的无监督学习算法进行建模。
第二聚类模块60首先两两计算特征向量之间的高斯相似度如下:
在计算得到所有高斯相似度之后,便可以得到一个n×n的相似矩阵S。然后第二聚类模块60再构建邻接矩阵W,再根据邻接矩阵构建度矩阵D。接下来,第二聚类模块60计算随机游走归一化拉普拉斯矩阵Lr=I-D-1W,其中,I表示单位矩阵。相比于拉普拉斯矩阵或标准化拉普拉斯矩阵,随机游走归一化拉普拉斯矩阵可以使聚类随机游走在相同的簇中,而几乎不会游走到其他簇中,因此效果更好。
在得到游走归一化拉普拉斯矩阵后,第二聚类模块60可计算该矩阵的特征值,并且计算最小的k1个特征值各自对应的特征向量,其中,k1为预设的值。之所以取k1个特征值和特征向量,是为了降维。k1个特征向量标准化之后,得到n×k1的特征矩阵T。对T中的每一行看作一个k1维的样本,然后第二聚类模块60采用K-means++算法进行聚类。由于此处仅考虑将所有样本聚类为存在外观缺陷和不存在外观缺陷两个类别,即缺陷类和良品类,因此设置K-means++算法将所有样本聚类为2个类别。至此,可以得到用于将样本集分为缺陷类和良品类的无监督学习模型,并根据是否存在缺陷类,或缺陷类中样本的数量是否超出预设的阈值来判断出待检测工业产品图像是否存在外观缺陷。
在一些工业产品外观缺陷检测的场景中,不仅需要判断检测工业产品图像是否存在外观缺陷,还需要判断出外观缺陷的具体类型。因此,如图4所示,本发明进一步实施例的工业产品外观缺陷检测装置还可包括:第三聚类模块70,第三聚类模块70用于对缺陷类进行再次谱聚类,以判断缺陷类中每个样本的具体缺陷类型。
具体地,第三聚类模块70可根据上述缺陷类中的样本(假设数量为m),重新构建m×m的相似矩阵S,然后重复上面的谱聚类的过程,唯一不同的是最后K-means++算法将所有样本聚类为c个类别,其中c为已知的某一检测场景中定义的缺陷类型的数量。
一般地,工业产品图像中的缺陷区域占比较少,因此通过上述合并模块20得到的子图集中,存在外观缺陷的子图要远少于不存在外观缺陷的子图,可以直接将第二聚类模块60得到的样本数量较少的分类确定为缺陷类。然而在一些特殊情况下,工业产品图像中的缺陷区域占比可能较大,这样第二聚类模块60的聚类结果中将难以区分缺陷类和良品类。鉴于此,在本发明的一些实施例中,工业产品外观缺陷检测装置还可包括获取模块和截取模块,获取模块用于获取至少一个不存在外观缺陷的工业产品图像,截取模块用于在不存在外观缺陷的工业产品图像的随机位置以随机尺寸截取多个子图,以扩充子图集。即为了保证子图集中有足够多的不存在外观缺陷的子图,可以在不存在外观缺陷的工业产品图像中以随机尺寸来截取大量的子图,加入子图集中,而后由第一聚类模块30进行聚类。
综上所述,根据本发明实施例的工业产品外观缺陷检测装置,首先通过对待检测工业产品图像进行分割和基于相似度的合并得到多个子图,然后将多个子图分为多个尺寸类别,并在依尺寸类别调整尺寸后,通过卷积神经网络提取特征构成样本集,最后对样本集进行谱聚类得到外观缺陷检测结果,由此,通过一种无监督学习的方式实现工业产品外观缺陷检测,无需进行人工标注,利用待检测图像的分割和合并得到数据集,结合谱聚类本身的优势,不仅对数据量的要求较低,而且检测效果较好,尤其对于新形态的缺陷有较好的检出能力。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例所述的工业产品外观缺陷检测方法。
根据本发明实施例的计算机设备,处理器执行存储在存储器上的计算机程序时,首先通过对待检测工业产品图像进行分割和基于相似度的合并得到多个子图,然后将多个子图分为多个尺寸类别,并在依尺寸类别调整尺寸后,通过卷积神经网络提取特征构成样本集,最后对样本集进行谱聚类得到外观缺陷检测结果,由此,通过一种无监督学习的方式实现工业产品外观缺陷检测,无需进行人工标注,利用待检测图像的分割和合并得到数据集,结合谱聚类本身的优势,不仅对数据量的要求较低,而且检测效果较好,尤其对于新形态的缺陷有较好的检出能力。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现根据本发明上述实施例所述的工业产品外观缺陷检测方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,首先通过对待检测工业产品图像进行分割和基于相似度的合并得到多个子图,然后将多个子图分为多个尺寸类别,并在依尺寸类别调整尺寸后,通过卷积神经网络提取特征构成样本集,最后对样本集进行谱聚类得到外观缺陷检测结果,由此,通过一种无监督学习的方式实现工业产品外观缺陷检测,无需进行人工标注,利用待检测图像的分割和合并得到数据集,结合谱聚类本身的优势,不仅对数据量的要求较低,而且检测效果较好,尤其对于新形态的缺陷有较好的检出能力。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种工业产品外观缺陷检测方法,其特征在于,包括以下步骤:
将待检测工业产品图像分割成多个子区域;
根据相邻子区域之间的相似度将所述子区域进行合并,得到多个子图,构成子图集;
对所述子图集进行聚类,以将所述子图集中的多个子图分为多个尺寸类别;
将每个所述尺寸类别中的子图调整到相应的固定尺寸;
将调整后的多个子图分别依次输入卷积神经网络,以输出相应的特征图,并将每个特征图拉平得到相应的特征向量,构成样本集,其中,所述卷积神经网络包括全局平均池化层;
对所述样本集进行谱聚类,将所述样本集中的样本分为缺陷类和良品类,以判断所述待检测工业产品图像是否存在外观缺陷,
其中,根据相邻子区域之间的相似度将所述子区域进行合并,得到多个子图,具体包括:步骤a,计算相邻子区域之间的相似度;步骤b,将相似度最高的相邻子区域进行合并,将合并后的区域保存,并作为新的子区域;重复步骤a和步骤b,直至合并完整个所述待检测工业产品图像后,执行步骤c;步骤c,根据合并后的区域的总合并次数,筛选出若干个合并后的区域,得到尺寸大小不尽相同的多个子图。
2.根据权利要求1所述的工业产品外观缺陷检测方法,其特征在于,还包括:
对所述缺陷类进行再次谱聚类,以判断所述缺陷类中每个样本的具体缺陷类型。
3.根据权利要求1或2所述的工业产品外观缺陷检测方法,其特征在于,还包括:
获取至少一个不存在外观缺陷的工业产品图像;
在不存在外观缺陷的工业产品图像的随机位置以随机尺寸截取多个子图,以扩充所述子图集。
4.根据权利要求1或2所述的工业产品外观缺陷检测方法,其特征在于,采用K-means++算法对所述子图集进行聚类,聚类数目通过手肘法确定。
5.一种工业产品外观缺陷检测装置,其特征在于,包括:
分割模块,用于将待检测工业产品图像分割成多个子区域;
合并模块,用于根据相邻子区域之间的相似度将所述子区域进行合并,得到多个子图,构成子图集;
第一聚类模块,用于对所述子图集进行聚类,以将所述子图集中的多个子图分为多个尺寸类别;
调整模块,用于将每个所述尺寸类别中的子图调整到相应的固定尺寸;
构成模块,用于将调整后的多个子图分别依次输入卷积神经网络,以输出相应的特征图,并将每个特征图拉平得到相应的特征向量,构成样本集,其中,所述卷积神经网络包括全局平均池化层;
第二聚类模块,用于对所述样本集进行谱聚类,将所述样本集中的样本分为缺陷类和良品类,以判断所述待检测工业产品图像是否存在外观缺陷,
其中,合并模块具体执行以下步骤:步骤a,计算相邻子区域之间的相似度;步骤b,将相似度最高的相邻子区域进行合并,将合并后的区域保存,并作为新的子区域;重复步骤a和步骤b,直至合并完整个待检测工业产品图像后,执行步骤c;步骤c,根据合并后的区域的总合并次数,筛选出若干个合并后的区域,得到尺寸大小不尽相同的多个子图。
6.根据权利要求5所述的工业产品外观缺陷检测装置,其特征在于,还包括:
第三聚类模块,用于对所述缺陷类进行再次谱聚类,以判断所述缺陷类中每个样本的具体缺陷类型。
7.根据权利要求5或6所述的工业产品外观缺陷检测装置,其特征在于,还包括:
获取模块,用于获取至少一个不存在外观缺陷的工业产品图像;
截取模块,用于在不存在外观缺陷的工业产品图像的随机位置以随机尺寸截取多个子图,以扩充所述子图集。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现根据权利要求1-4中任一项所述的工业产品外观缺陷检测方法。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1-4中任一项所述的工业产品外观缺陷检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111251229.9A CN113689431B (zh) | 2021-10-27 | 2021-10-27 | 工业产品外观缺陷检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111251229.9A CN113689431B (zh) | 2021-10-27 | 2021-10-27 | 工业产品外观缺陷检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113689431A CN113689431A (zh) | 2021-11-23 |
CN113689431B true CN113689431B (zh) | 2022-02-11 |
Family
ID=78588180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111251229.9A Active CN113689431B (zh) | 2021-10-27 | 2021-10-27 | 工业产品外观缺陷检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113689431B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100199B (zh) * | 2022-08-24 | 2022-11-22 | 宁波鑫芯微电子科技有限公司 | 一种晶圆低纹理缺陷的检测方法 |
CN116593890B (zh) * | 2023-05-18 | 2023-10-20 | 湖州越球电机有限公司 | 永磁同步电机转子及其成型检测方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819836B (zh) * | 2012-06-28 | 2015-02-04 | 北京邮电大学 | 一种图像分割方法及系统 |
CN110148130B (zh) * | 2019-05-27 | 2022-02-11 | 北京百度网讯科技有限公司 | 用于检测零件缺陷的方法和装置 |
KR20210102039A (ko) * | 2020-02-11 | 2021-08-19 | 삼성전자주식회사 | 전자 디바이스 및 이의 제어 방법 |
CN112734690A (zh) * | 2020-12-17 | 2021-04-30 | 郑州金惠计算机系统工程有限公司 | 一种表面缺陷检测方法、装置及计算机可读存储介质 |
-
2021
- 2021-10-27 CN CN202111251229.9A patent/CN113689431B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113689431A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109961049B (zh) | 一种复杂场景下香烟品牌识别方法 | |
Pérez-Zavala et al. | A pattern recognition strategy for visual grape bunch detection in vineyards | |
CN107833220B (zh) | 基于深度卷积神经网络与视觉显著性的织物缺陷检测方法 | |
CN107230202B (zh) | 路面病害图像的自动识别方法和系统 | |
CN108830326B (zh) | 一种mri图像的自动分割方法及装置 | |
Li et al. | Robust saliency detection via regularized random walks ranking | |
EP3333768A1 (en) | Method and apparatus for detecting target | |
Korus et al. | Multi-scale fusion for improved localization of malicious tampering in digital images | |
CN113689431B (zh) | 工业产品外观缺陷检测方法和装置 | |
US8885926B2 (en) | Image and data segmentation | |
CN108288271A (zh) | 基于三维残差网络的图像检测系统及方法 | |
CN110378313B (zh) | 细胞团识别方法、装置及电子设备 | |
US20060204953A1 (en) | Method and apparatus for automated analysis of biological specimen | |
CN104834933A (zh) | 一种图像显著性区域的检测方法和装置 | |
WO2017181892A1 (zh) | 前景分割方法及装置 | |
CN104036284A (zh) | 基于Adaboost算法的多尺度行人检测方法 | |
WO2009120263A2 (en) | System and method for illumination invariant image segmentation | |
CN112819796A (zh) | 烟丝异物识别方法及设备 | |
CN113781483B (zh) | 工业产品外观缺陷检测方法和装置 | |
CN112435214A (zh) | 基于先验框线性缩放的花粉检测方法、装置和电子设备 | |
CN107945164B (zh) | 基于峰值阈值、旋转校准和混合特征的纺织品瑕疵检测方法 | |
CN113728357B (zh) | 图像处理方法、图像处理装置以及图像处理系统 | |
CN115485740A (zh) | 异常晶片图像分类 | |
CN116664540A (zh) | 基于高斯线检测的橡胶密封圈表面缺陷检测方法 | |
CN115861220A (zh) | 基于改进的ssd算法的冷轧带钢表面缺陷检测方法和系统 |
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 |