CN112037166A - 一种表面缺陷检测方法及检测装置 - Google Patents

一种表面缺陷检测方法及检测装置 Download PDF

Info

Publication number
CN112037166A
CN112037166A CN202010664960.3A CN202010664960A CN112037166A CN 112037166 A CN112037166 A CN 112037166A CN 202010664960 A CN202010664960 A CN 202010664960A CN 112037166 A CN112037166 A CN 112037166A
Authority
CN
China
Prior art keywords
detected
image block
preset
image
product
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.)
Pending
Application number
CN202010664960.3A
Other languages
English (en)
Inventor
王明爽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Meggie Siyou Technology Co ltd
Original Assignee
Wuhan Meggie Siyou Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Meggie Siyou Technology Co ltd filed Critical Wuhan Meggie Siyou Technology Co ltd
Priority to CN202010664960.3A priority Critical patent/CN112037166A/zh
Publication of CN112037166A publication Critical patent/CN112037166A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明提出了一种表面缺陷检测方法及检测装置,该方法包括:将待检测产品表面图像按预设规则进行切割生成若干待检测图像块输入已由正常样本训练的预设检测器,并获取各待检测图像块的特征值及重构的输出图像块,当检测器判断至少一待检测图像块的特征值满足第一预设条件,或输入与输出的待检测图像块的差异满足第二预设条件时即可直接判断该产品表面存在缺陷。本方法无需预先准备各种缺陷样本,对于不同类型的缺陷具有很强的泛化能力,能应对未知缺陷的场景,并且将图形切割成多个图像块后,产品表面图像在局部呈现的模式更简单,针对它检测缺陷会更容易,缺陷检测效率、准确率都更高。

Description

一种表面缺陷检测方法及检测装置
技术领域
本发明涉及图像识别技术领域,特别涉及一种表面缺陷检测方法及检测装置。
背景技术
表面缺陷检测是利用机器视觉设备获取产品表面图像,并根据该图像来判断产品表面是否存在缺陷的技术。目前,基于机器视觉的表面缺陷检测技术已被广泛使用,其装备在各工业领域广泛替代肉眼检测,包括汽车、家电、机械制造、半导体及电子、化工、医药、航空航天、轻工等众多行业。图1为利用工业相机对螺丝钉表面进行缺陷检测的表面缺陷检测系统实物图。图2展示了图1工业相机采集到的不同螺丝钉表面图像情况,左、右两个螺丝钉图像有多根螺纹出现断裂,可以判断与该图像对应的螺丝钉的表面存在明显的缺陷,中间的螺丝钉表面图像没有明显问题,可以判断与该图像对应的螺丝钉的表面无缺陷。在现有技术中,为自动检测出这些缺陷,需要设计合适的表面缺陷检测算法,然而,真实复杂的工业环境中往往存在缺陷成像与背景差异小、对比度低、缺陷尺度变化大且类型多样,缺陷图像中存在大量噪声,甚至缺陷在自然环境下成像存在大量干扰等情形,不能实现根据待识别产品面对的不同干扰情形采用不同的检测方法,因此传统检测方法泛化能力差。
另外,在实际应用中,存在大量未知缺陷,现有技术中的图像处理算法或人工设计特征加分类器的方法往往是根据已有缺陷经验设计的,无法应对未知缺陷的场景。
发明内容
鉴于上述问题,有必要提出一种表面缺陷检测方法及检测装置以解决或部分解决上述问题,本发明提出的技术方案如下:
第一方面,本发明提出了一种表面缺陷检测方法,包括以下步骤:
对待检测产品表面图像按预设规则进行切割,生成若干待检测图像块;
将待检测图像块依次输入到预设检测器,获取各待检测图像块的特征值及重构的输出图像块;
当至少一待检测图像块的特征值满足第一预设条件,或者输入的至少一待检测图像块与输出的重构图像块的差异满足第二预设条件,则判断产品表面存在缺陷。
进一步的,对待检测产品表面图像按预设规则进行切割,生成若干待检测图像块包括:对待检测表面图像使用滑动窗在横轴、纵轴方向上按固定步长切割,产生待检测图像块;
或者,在待检测表面图像的预设坐标位置截取若干图像块,产生待检测图像块。
进一步的,所述预设检测器由若干正常产品表面图像训练而成,用于对各待检测图像块进行特征提取得到特征值,利用特征值生成相应的浅层分布,并在所述浅层分布中按预设规则进行采样得到浅层向量,还用于利用所述浅层向量重构与原始输入图像块相似的重构图像块并输出。
进一步的,当至少一待检测图像块的特征值满足第一预设条件,则判断产品表面存在缺陷,包括:将从待检测图像块提取的特征值分别作为一浅层分布的均值、方差时,若该浅层分布与标准正态分布的距离大于预设第一阈值,则判断产品表面存在缺陷;其中,预设第一阈值为预设检测器对若干正常产品表面图像训练时得到的各浅层分布与标准正态分布间的KL散度值中的最大值或满足预设条件的KL散度值。
进一步的,输入的待检测图像块与输出的重构图像块的差异满足第二预设条件,则判断产品表面存在缺陷,包括:输入的待检测图像块与输出的重构图像块的差异大于预设第二阈值,则判断产品表面存在缺陷;其中,所述预设第二阈值为预设检测器对若干正常产品表面图像训练时得到的输入图像、输出图像差异值中的最大值或满足预设条件的差异值。
进一步的,所述预设检测器包括编码器和解码器,所述编码器包括若干卷积层,每层卷积层按预设规则对各待检测图像块进行特征提取生成相应的特征值,其中最后一层卷积层的特征值还用于生成所述的浅层分布,所述解码器包括与编码器若干卷积层对应的反卷积层,所述解码器利用所述浅层向量及编码器各卷积层生成的特征值重构图像块并输出。
进一步的,所述表面缺陷检测方法还包括对所述预设检测器的模型参数进行调整,以满足训练预设检测器的正常产品表面图像发生变化的情况,对所述预设检测器的模型参数进行调整包括:
将预设正常产品表面图像划分成若干数据集,每个数据集中随机抽取若干个样本作为一个任务,再将该任务中的部分样本作为训练集,剩余样本作为测试集,将抽取的所有的任务构成一任务池;
采样任务池中的若干任务,对每个任务的训练集按预设第一算法训练模型的初始参数,得到每个任务训练集的更新参数;
利用每个任务的测试集按预设第二算法训练每个任务训练集的更新参数,得到模型更新参数;
对任务池中剩余任务重复执行预设第一算法、预设第二算法,将按预设第二算法得到的模型更新参数作为下一次采样若干任务执行第一算法时的模型初始参数,直至所有任务训练完成,得到最终的模型更新参数。
进一步的,所述预设第一算法为:
Figure BDA0002580001090000031
其中,i代表不同任务,其值为正整数,w′i代表任务i对应的更新参数,w为模型初始参数,fw指参数为w的预设检测器,
Figure BDA0002580001090000032
表示预设检测器在任务Ti上的训练损失,
Figure BDA0002580001090000033
表示对
Figure BDA0002580001090000034
对w求梯度,α为学习率;
所述预设第二算法为:
Figure BDA0002580001090000035
其中,i代表不同任务,其值为正整数;w′i为每个任务训练集的更新参数,其自变量为w;
Figure BDA0002580001090000036
指参数为w′i的预设检测器,
Figure BDA0002580001090000037
表示预设检测器在任务Ti上的训练损失,
Figure BDA0002580001090000038
表示对
Figure BDA0002580001090000039
对w求梯度,β为学习率,w*为得到的模型更新参数;
另一方面,本发明还公开了一种表面缺陷检测装置,包括图像切割模块、检测器及缺陷判断模块,其中:
所述图像切割模块用于对待检测产品表面图像按预设规则进行切割,生成若干待检测图像块;
所述检测器,用于接收待检测图像块,对各待检测图像块进行特征提取得到特征值,利用特征值生成相应的浅层分布,并在所述浅层分布中按预设规则进行采样得到浅层向量,利用所述浅层向量重构与原始输入图像块相似的重构图像块并输出;
缺陷判断模块,用于当至少一待检测图像块的特征值满足第一预设条件,或者输入的至少一待检测图像块与输出的重构图像块的差异满足第二预设条件,则判断产品表面存在缺陷。
基于上述技术方案,本发明较现有技术而言的有益效果为:
本发明专利申请将待检测产品表面图像按预设规则进行切割生成若干待检测图像块输入已由正常样本训练的预设检测器,并获取各待检测图像块的特征值及重构的输出图像块,当检测器判断待检测图像块的特征值满足第一预设条件,或输入与输出的待检测图像块的差异满足第二预设条件时即可直接判断该产品表面存在缺陷。本发明无需预先准备各种缺陷样本,对于不同类型的缺陷具有很强的泛化能力,能应对未知缺陷的场景,并且将图形切割成多个小的图像块后,产品表面图像在局部呈现的模式更简单,针对它检测缺陷会更容易,缺陷检测效率、准确率都更高。
附图说明
图1是利用工业相机采集螺丝钉表面图像进行缺陷检测的实物图。
图2展示了采集到的不同螺丝钉表面图像情况。
图3是本发明实施例一中,一种表面缺陷检测方法的流程图。
图4是将采集的螺丝钉表面图像按预设规则进行切割,生成若干待检测图像块的示意图。
图5是本发明实施例一中,对预设检测器的模型参数进行调整的方法流程图。
图6是本发明实施例二中,一种表面缺陷检测装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
本实施例提出了一种本发明提出了一种表面缺陷检测方法,如图3所示,包括以下步骤:
S01,对待检测产品表面图像按预设规则进行切割,生成若干待检测图像块。
具体的:可以理解的,一个完整产品表面图像的结构比切割后的每个图像块要复杂很多,并且很多情况下产品表面缺陷对于整个产品图像来说可能只占很小的一部分,因此将图形切割成多个小的图像块后,产品表面图像在局部呈现的模式更简单,针对它检测缺陷会更容易。
对待检测产品表面图像按预设规则进行切割的方法包括:对待检测表面图像使用滑动窗在横轴、纵轴方向上按固定步长切割,产生图像块。具体的,假设整个待检测产品表面图像的尺寸为M(横轴)*H(纵轴),将滑动窗口的尺寸设置声
Figure BDA0002580001090000051
(横轴)*
Figure BDA0002580001090000052
(纵轴),横轴步长为
Figure BDA0002580001090000053
纵轴步长为
Figure BDA0002580001090000054
滑动窗口先延横轴滑动截取三次,再延纵轴滑动一次,然后再延横轴滑动,以此类推,可切割成9块待检测图像块。
另外,对于某些特殊产品,其关注的是特定区域是否存在缺陷,因此也可以在待检测表面图像的预设坐标位置截取若干图像块。图4示意出了将待检测产品表面图像按预设规则进行切割生成对应的若干尺寸一致的待检测图像块。
S02,将待检测图像块依次输入到预设检测器,获取各待检测图像块的特征值及重构的输出图像块。
预设检测器可以为变分自编码器模型(Variational Autoencoder,VAE)或生成对抗网络模型(GAN,Generative Adversarial Networks),或者其余现有的深度生成模型,各深度生成模型具体内容参考现有技术即可,在此不再赘述。所述预设检测器由若干正常产品表面图像训练而成,对各待检测图像块进行特征提取得到特征值,利用特征值生成相应的浅层分布,并在所述浅层分布中按预设规则进行采样得到浅层向量,还用于利用所述浅层向量重构与原始输入图像块相似的重构图像块并输出。
在本发明专利申请中以预设检测器为变分自编码器模型进行说明,该模型包括编码器Encoder、解码器Decoder,编码器执行卷积操作,解码器执行相应的反卷积操作,编码器和解码器分别对应相应的模型参数。在对预设检测器进行训练过程中涉及到损失函数L的定义,损失函数L为编码解码交叉熵和KL散度之和,其计算公式如(1)所示:
L=-EZ~q(z|x)[logp(x|z)]+DKL[q(z|x)|p(z)] (1)
第一项是期望表示,Z~q(z|x)表示z是由x输入编码器得到的分布中采样出的结果,p(x|z)表示由z解码得到x的概率,整个式子表示输入x得到x的期望,这一项越大代表重构效果越好,所以在计算损失时加上负号。第二项是用KL散度表示,表示的是输入x得到的分布q(z|x)和标准正态分布p(z)之间的距离。
在本专利申请利用若干正常产品表面图像作为正常样本x输入到检测器中,检测器对输入数据进行特征提取,提取的特征值为均值μ和方差σ,利用该特征值生成相应的浅层分布,该浅层分布为标准正态分布(μ,σ),记为公式(2);而后从该分布中采样得到浅层向量z,记为公式(3),其中参数ε满足标准正态分布N(0,1);最后再经过解码器得到解码图像x′,记为公式(4),从而完成了对模型的训练,
(μ,σ)=Encoder(x) (2)
z=μ+εσε~N(0,1) (3)
x′=Decoder(z) (4)
另外,由于检测器在训练时需要大量样本,上一次检测无缺陷的各图像块也可以作为新的用于训练检测器的正常样本,因此步骤S01的方法也可以增加样本的数量,在一定程度上缓解了样本数量较少的问题。
S03,若至少一待检测图像块的特征值满足第一预设条件,或输入的至少一待检测图像块与输出的重构图像块的差异满足第二预设条件,则判断产品表面存在缺陷。
对于预设检测器可为变分自编码器模型或生成对抗网络模型而言,一般提取的特征值为均值和方差,正常样本的均值、方差能构成标准正态分布或者与标准正态分布非常接近。因此,如果待检测图像块的特征值构成的浅层分布离标准正态差别太大,则可以认为产品表面存在缺陷。
具体的,将从待检测图像块提取的特征值分别作为一浅层分布的均值、方差时,若该浅层分布与标准正态分布的距离大于预设第一阈值,则判断产品表面存在缺陷。实际应用中可以通过计算浅层分布与标准正态分布间的KL散度值来判断两者之间的距离,KL散度值越大说明得到的浅层分布与标准正态分布的距离越远,也就说明该待测图像块倾向于存在异常。计算KL散度值的方法可以参考公式(1)。确定第一阈值时可以对若干正常产品表面图像训练时得到的各浅层分布可以与标准正态分布的KL散度值按降序进行排列,将排名第一的KL散度值或者将排位靠前的某KL散度值作为第一阈值,如果待检测图像块得到的浅层分布与标准正态分布的KL散度值比第一阈值还大,则判断该待检测产品表面存在缺陷。当然,对于其余的网络模型,也可以选择其他的特征值作为第一预设条件。
另外,若预设检测器训练时得到的输入图像x、输出图像x′差异值越小则说明图像重构效果好,产品表面存在缺陷的概率就很低,反之则判断产品表面存在缺陷。因此,还可以利用输入的待检测图像块与输出的重构图像块的差异值来判断产品表面是否存在缺陷。若输入的待检测图像块与输出的重构图像块的差异大于预设第二阈值,则判断产品表面存在缺陷。
具体的,选择第二阈值的方法为:对预设检测器训练时得到的输入图像x、输出图像x′差异值即||x-x′||按降序排列,将排名第一的作为第二阈值,或者排位靠前的某值作为第二阈值,若输入的待检测图像块与输出的重构图像块的差异比训练时得到的最大或较大差异值还大,则判断输入图像x、输出图像x′差异大,该待检测产品表面存在缺陷。
本发明专利申请将待检测产品表面图像按预设规则进行切割生成若干待检测图像块输入已由正常样本训练的预设检测器,并获取各待检测图像块的特征值及重构的输出图像块,当检测器判断至少一待检测图像块的特征值满足第一预设条件,或输入与输出的至少一待检测图像块的差异满足第二预设条件时即可直接判断该产品表面存在缺陷。本发明无需预先准备各种缺陷样本,对于不同类型的缺陷具有很强的泛化能力,能应对未知缺陷的场景,并且将图形切割成多个小的图像块后,产品表面图像在局部呈现的模式更简单,针对它检测缺陷会更容易,缺陷识别准确率更高。并且,一个图像块经检测存在缺陷,则无需再检测其它图像块即可快速判断产品表面存在缺陷,缺陷识别效率也得到极大提升。
在另一些实施例中,还需要进一步提高缺陷识别的准确率,可以考虑进一步提高步骤S02中重构图像块的效果。在现有技术中,一般通过选择合适的检测器来提高重构效果,比如用生成对抗网络模型替代变分自编码器模型。在本实施例中,还提出一种新的提高重构图像块效果的方法。
可以理解的,预设检测器可以包括编码器和解码器,编码器是进行卷积操作使得网络减小,解码器是反卷积操作使得网络大小增加,这两者的操作是一一对应的,然而解码器只接受浅层向量z作为输入并不能达到很好的重构效果,导致在判别时出现误差,因此,可考虑在解码器和编码器的对应层之间加上拼接操作。具体的:
编码器包括若干卷积层,每层卷积层按预设规则对各待检测图像块进行特征提取生成相应的特征值,其中最后一层卷积层的特征值还用于生成所述的浅层分布,所述解码器包括与编码器若干卷积层对应的反卷积层,所述解码器利用所述浅层向量及编码器各卷积层生成的特征值重构图像块并输出。该过程可以分别由公式(5)-公式(7)来描述:
(μ,σ,f)=Encoder(x) (5)
z=μ+εσε~N(0,1) (6)
x′=Decoder(z,f) (7)
其中:x为正常样本,最后一层卷积层的特征为均值μ和方差σ,其余各卷积层的特征用f表示;利用最后一层卷积层的特征值生成相应的标准正态分布表示为(μ,σ);浅层向量z,其中参数ε满足标准正态分布N(0,1);x′为得到的重构图像块。在本实施例中,解码器的输入不仅利用了浅层向量z,还利用了各卷积层的特征,使得解码器更好的利用编码过程中的特征,实现更准确的图像解码。
在另一些实施例中,随着时间的推移,产品的表面缺陷类型、厂商的缺陷要求等可能发生改变(在本发明实施例中称之为概念漂移),原来定义为存在缺陷的产品比如表面轻微擦痕,在客户需求降低时可以视为正常样品,因此就需要对预设检测器的参数进行调整以及时适应概念漂移的影响。现有技术一般会重新收集新的满足要求的若干正常产品表面图像,然后再进行参数训练,以实现检测器的参数调整。可以理解的,在概念漂移发生后的一段时间内,获取的新样本个数是有限的,得到的参数准确性还不高;若等样本充足再训练则耗费的时间会较长。因此现有技术无法满足对产品表面进行缺陷检测所需的实时性、准确性的要求。
有鉴于此,本发明实施例的缺陷检测方法还涉及如何快速、准确调整检测器参数的内容,即要对所述预设检测器的模型参数进行调整,以满足缺陷检测需求发生变化的情况,对所述预设检测器的模型参数进行调整包括:
步骤1,将预设正常产品表面图像划分成若干数据集,每个数据集中随机抽取若干个样本作为一个任务,再将该任务中的部分样本作为训练集,剩余样本作为测试集,将抽取的所有的任务构成一任务池。
具体的,将预设正常产品表面图像划分为若干数据集D1~Dn,每个数据集中随机取m个样本作为一个任务,每个任务分别分成两个数据集,为方便描述,一个称为训练集,另一个称为测试集,若训练集的样本个数为m1,则测试集样本个数为(m-m1),其中m为可变的自然数,m1为小于m的可变自然数,所有的任务构成一任务池。
将预设正常产品表面图像划分为若干数据集D1~Dn的依据可以为:按照样本的生成时间段划分,或者按照图像的类型进行划分(比如进行螺钉缺陷检测时,按螺钉型号、尺寸来划分不同的螺钉表面图像)等。
步骤2,采样任务池中的若干任务,对每个任务的训练集按预设第一算法训练模型的初始参数,得到每个任务训练集的更新参数,在一些实施例中,所述第一算法可以如公式(8)所示:
Figure BDA0002580001090000091
其中,w为模型初始参数,对每个任务的训练集训练模型初始参数w,i代表不同任务,其值为正整数,w′i代表任务i对应的更新参数,fw指参数为w的预设检测器,
Figure BDA0002580001090000092
表示预设检测器在任务Ti上的训练损失,计算方法可以参考公式(1),
Figure BDA0002580001090000093
表示对
Figure BDA0002580001090000094
对w求梯度,α为学习率,可以为经验值比如0.5。
步骤3,利用每个任务的测试集按预设第二算法训练每个任务训练集的更新参数,得到模型更新参数,在一些实施例中,所述第二算法可以如公式(9)所示:
Figure BDA0002580001090000095
其中,i代表不同任务,其值为正整数;w′i为每个任务训练集的更新参数,其自变量为w;
Figure BDA0002580001090000101
指参数为w′i的预设检测器,
Figure BDA0002580001090000102
表示预设检测器在任务Ti上的训练损失,
Figure BDA0002580001090000103
对应的损失函数的计算方法可以参考公式(1)。
Figure BDA0002580001090000104
表示对
Figure BDA0002580001090000105
对w求梯度,β为学习率(也可以为经验值),w*为得到的模型更新参数。
步骤2得到了针对每个任务训练集的更新参数,但对于一个检测器而言只需要一个最佳的更新参数,因此步骤3利用测试集数据获取每个任务的训练损失更新梯度后,计算该批任务的训练损失综合情况,对梯度进行下降从而求解出一个最佳的模型更新参数。
本发明实施例将每个任务中的数据划分为两个样本集,在不同的训练阶段使用不同的集合,减少了网络的过拟合,增加了求得的模型更新参数对各种不同任务的适应能力。
步骤4,对任务池中剩余任务重复执行预设第一算法、预设第二算法,将按预设第二算法得到的模型更新参数作为下一次采样若干任务执行第一算法时的模型初始参数,直至所有任务训练完成,得到最终的模型更新参数。
具体的,对任务池中剩余任务重复执行步骤2-步骤3,其中步骤3得到的模型更新参数为下一次执行步骤2时的模型初始参数,将所有任务训练完得到最终的模型更新参数。
当发生概念漂移时,会产生一批新数据,将该新数据加入原预设正常产品表面图像样本中,作为预设正常产品表面图像,然后重复上述步骤1-步骤4。此时,上述步骤4中最终得到的模型参数w*将作为发生概念漂移后待训练检测器的模型初始参数。本发明实施例可以通过以前已有的各类样本构建一批任务池,通过已知的任务来快速训练出最适应新任务的初始参数分布,而后只需少量的概念漂移发生后的新分布样本就可以快速、准确实现检测器的模型参数调整目的。
实施例二
本发明实施例还公开了一种表面缺陷检测装置,如图5所示,包括图像切割模块101、检测器102及缺陷判断模块103,其中:
所述图像切割模块101用于对待检测产品表面图像按预设规则进行切割,生成若干待检测图像块。
对待检测产品表面图像按预设规则进行切割的方法包括:对待检测表面图像使用滑动窗在横轴、纵轴方向上按固定步长切割,产生图像块。具体的,假设整个待检测产品表面图像的尺寸为M(横轴)*H(纵轴),将滑动窗口的尺寸设置声
Figure BDA0002580001090000111
(横轴)*
Figure BDA0002580001090000112
(纵轴),横轴步长为
Figure BDA0002580001090000113
纵轴步长为
Figure BDA0002580001090000114
滑动窗口先延横轴滑动截取三次,再延纵轴滑动一次,然后再延横轴滑动,以此类推,可切割成9块待检测图像块。
另外,对于某些特殊产品,其关注的是特定区域是否存在缺陷,因此也可以在待检测表面图像的预设坐标位置截取若干图像块。
所述检测器102,用于接收待检测图像块,获取各待检测图像块的特征值,重构与原始输入图像块相似的重构图像块并输出。
具体的,该检测器102用于接收待检测图像块,对各待检测图像块进行特征提取得到特征值,利用特征值生成相应的浅层分布,并在所述浅层分布中按预设规则进行采样得到浅层向量,利用所述浅层向量重构与原始输入图像块相似的重构图像块并输出。
缺陷判断模块103,用于当至少一待检测图像块的特征值满足第一预设条件,或者输入的至少一待检测图像块与输出的重构图像块的差异满足第二预设条件,则判断产品表面存在缺陷。
对于预设检测器102可为变分自编码器模型或生成对抗网络模型而言,一般提取的特征值为均值和方差,正常样本的均值、方差能构成标准正态分布或者与标准正态分布非常接近。因此,缺陷判断模块103可用于当待检测图像块的特征值构成的浅层分布离标准正态差别太大时,判断产品表面存在缺陷。
具体的,将从待检测图像块提取的特征值分别作为一浅层分布的均值、方差时,若该浅层分布与标准正态分布的距离大于预设第一阈值,则判断产品表面存在缺陷。实际应用中可以通过计算浅层分布与标准正态分布间的KL散度值来判断两者之间的距离,KL散度值越大说明得到的浅层分布与标准正态分布的距离越远,也就说明该待测图像块倾向于存在异常。计算KL散度值的方法可以参考公式(1)。确定第一阈值时可以对若干正常产品表面图像训练时得到的各浅层分布可以与标准正态分布的KL散度值按降序进行排列,将排名第一的KL散度值或者将排位靠前的某KL散度值作为第一阈值,如果待检测图像块得到的浅层分布与标准正态分布的KL散度值比第一阈值还大,则判断该待检测产品表面存在缺陷。当然,对于其余的网络模型,也可以选择其他的特征值作为第一预设条件。
另外,若预设检测器102训练时得到的输入图像x、输出图像x′差异值越小则说明图像重构效果好,产品表面存在缺陷的概率就很低,反之则判断产品表面存在缺陷。因此,缺陷判断模块103还可以利用输入的待检测图像块与输出的重构图像块的差异值来判断产品表面是否存在缺陷。若输入的待检测图像块与输出的重构图像块的差异大于预设第二阈值,则判断产品表面存在缺陷。
具体的,选择第二阈值的方法为:对预设检测器训练时得到的输入图像x、输出图像x′差异值即||x-x′||按降序排列,将排名第一的作为第二阈值,或者排位靠前的某值作为第二阈值,若输入的待检测图像块与输出的重构图像块的差异比训练时得到的最大或较大差异值还大,则判断输入图像x、输出图像x′差异大,该待检测产品表面存在缺陷。
在一些实施例中,为了进一步提高缺陷识别的准确率,所述预设检测器102包括编码器和解码器,所述编码器包括若干卷积层,每层卷积层按预设规则对各待检测图像块进行特征提取生成相应的特征值,其中最后一层卷积层的特征值还用于生成所述的浅层分布,所述解码器包括与编码器若干卷积层对应的反卷积层,所述解码器利用所述浅层向量及编码器各卷积层生成的特征值重构图像块并输出。本实施例的解码器的输入不仅利用了浅层向量,还利用了各卷积层的特征,使得解码器更好的利用编码过程中的特征,实现更准确的图像解码。
本实施例的表面缺陷检测装置的具体工作方法可以参考实施例一,在此不再赘述。表面缺陷检测装置无需预先准备各种缺陷样本,对于不同类型的缺陷具有很强的泛化能力,能应对未知缺陷的场景,并且将图形切割成多个小的图像块后,产品表面图像在局部呈现的模式更简单,针对它检测缺陷会更容易,缺陷识别准确率更高。并且,一个图像块经检测存在缺陷,则无需再检测其它图像块即可快速判断产品表面存在缺陷,缺陷识别效率也得到极大提升。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

Claims (10)

1.一种表面缺陷检测方法,其特征在于,包括以下步骤:
对待检测产品表面图像按预设规则进行切割,生成若干待检测图像块;
将待检测图像块依次输入到预设检测器,获取各待检测图像块的特征值及重构的输出图像块;
当至少一待检测图像块的特征值满足第一预设条件,或者输入的至少一待检测图像块与输出的重构图像块的差异满足第二预设条件,则判断产品表面存在缺陷。
2.如权利要求1所述的表面缺陷检测方法,其特征在于,对待检测产品表面图像按预设规则进行切割,生成若干待检测图像块包括:对待检测表面图像使用滑动窗在横轴、纵轴方向上按固定步长切割,产生待检测图像块;
或者,在待检测表面图像的预设坐标位置截取若干图像块,产生待检测图像块。
3.如权利要求1所述的表面缺陷检测方法,其特征在于,所述预设检测器由若干正常产品表面图像训练而成;
获取各待检测图像块的特征值及重构的输出图像块,包括:检测器对各待检测图像块进行特征提取得到特征值,利用特征值生成相应的浅层分布,并在所述浅层分布中按预设规则进行采样得到浅层向量,利用所述浅层向量重构与原始输入图像块相似的重构图像块并输出。
4.如权利要求3所述的表面缺陷检测方法,其特征在于,当至少一待检测图像块的特征值满足第一预设条件,则判断产品表面存在缺陷,包括:将从待检测图像块提取的特征值分别作为一浅层分布的均值、方差时,若该浅层分布与标准正态分布的距离大于预设第一阈值,则判断产品表面存在缺陷;其中,预设第一阈值为预设检测器对若干正常产品表面图像训练时得到的各浅层分布与标准正态分布间的KL散度值中的最大值或满足预设条件的KL散度值。
5.如权利要求1所述的表面缺陷检测方法,其特征在于,输入的待检测图像块与输出的重构图像块的差异满足第二预设条件,则判断产品表面存在缺陷,包括:输入的待检测图像块与输出的重构图像块的差异大于预设第二阈值,则判断产品表面存在缺陷;其中,所述预设第二阈值为预设检测器对若干正常产品表面图像训练时得到的输入图像、输出图像差异值中的最大值或满足预设条件的差异值。
6.如权利要求3所述的表面缺陷检测方法,其特征在于,所述预设检测器包括编码器和解码器,所述编码器包括若干卷积层,每层卷积层按预设规则对各待检测图像块进行特征提取生成相应的特征值,其中最后一层卷积层的特征值还用于生成所述的浅层分布,所述解码器包括与编码器若干卷积层对应的反卷积层,所述解码器利用所述浅层向量及编码器各卷积层生成的特征值重构图像块并输出。
7.如权利要求1所述的表面缺陷检测方法,其特征在于,还包括使用正常产品表面图像训练所述预设检测器:
将预设正常产品表面图像划分成若干数据集,每个数据集中随机抽取若干个样本作为一个任务,再将该任务中的部分样本作为训练集,剩余样本作为测试集,将抽取的所有的任务构成一任务池;
采样任务池中的若干任务,对每个任务的训练集按预设第一算法训练模型的初始参数,得到每个任务训练集的更新参数;
利用每个任务的测试集按预设第二算法训练每个任务训练集的更新参数,得到模型更新参数;
对任务池中剩余任务重复执行预设第一算法、预设第二算法,将按预设第二算法得到的模型更新参数作为下一次采样若干任务执行第一算法时的模型初始参数,直至所有任务训练完成,得到最终的模型更新参数。
8.如权利要求1所述的表面缺陷检测方法,其特征在于,所述预设第一算法为:
Figure FDA0002580001080000021
其中,i代表不同任务,其值为正整数,w′i代表任务i对应的训练集更新参数,w为模型初始参数,fw指参数为w的预设检测器,
Figure FDA0002580001080000022
表示预设检测器在任务Ti上的训练损失,
Figure FDA0002580001080000023
表示对
Figure FDA0002580001080000024
对w求梯度,α为学习率;
所述预设第二算法为:
Figure FDA0002580001080000031
其中,i代表不同任务,其值为正整数;w′i为每个任务训练集的更新参数,其自变量为w;
Figure FDA0002580001080000032
指参数为w′i的预设检测器,
Figure FDA0002580001080000033
表示预设检测器在任务Ti上的训练损失,
Figure FDA0002580001080000034
表示对
Figure FDA0002580001080000035
对w求梯度,β为学习率,w*为得到的模型更新参数。
9.一种表面缺陷检测装置,其特征在于,包括图像切割模块、检测器及缺陷判断模块,其中:
所述图像切割模块用于对待检测产品表面图像按预设规则进行切割,生成若干待检测图像块;
所述检测器,用于接收待检测图像块,获取各待检测图像块的特征值,重构与原始输入图像块相似的重构图像块并输出;
所述缺陷判断模块,用于当至少一待检测图像块的特征值满足第一预设条件,或者输入的至少一待检测图像块与输出的重构图像块的差异满足第二预设条件,则判断产品表面存在缺陷。
10.如权利要求9所述的表面缺陷检测装置,其特征在于,所述预设检测器包括编码器和解码器,所述编码器包括若干卷积层,每层卷积层按预设规则对各待检测图像块进行特征提取生成相应的特征值,其中最后一层卷积层的特征值还用于生成所述的浅层分布,所述解码器包括与编码器若干卷积层对应的反卷积层,所述解码器利用所述浅层向量及编码器各卷积层生成的特征值重构图像块并输出。
CN202010664960.3A 2020-07-10 2020-07-10 一种表面缺陷检测方法及检测装置 Pending CN112037166A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010664960.3A CN112037166A (zh) 2020-07-10 2020-07-10 一种表面缺陷检测方法及检测装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010664960.3A CN112037166A (zh) 2020-07-10 2020-07-10 一种表面缺陷检测方法及检测装置

Publications (1)

Publication Number Publication Date
CN112037166A true CN112037166A (zh) 2020-12-04

Family

ID=73579082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010664960.3A Pending CN112037166A (zh) 2020-07-10 2020-07-10 一种表面缺陷检测方法及检测装置

Country Status (1)

Country Link
CN (1) CN112037166A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112598646A (zh) * 2020-12-23 2021-04-02 山东产研鲲云人工智能研究院有限公司 电容缺陷检测方法、装置、电子设备及存储介质
CN112798628A (zh) * 2021-04-15 2021-05-14 征图新视(江苏)科技股份有限公司 利用oct成像检测工业内部缺陷的可行性验证方法
CN113554080A (zh) * 2021-07-15 2021-10-26 长沙长泰机器人有限公司 一种基于机器视觉的无纺布瑕疵检测分类方法及系统
CN113838041A (zh) * 2021-09-29 2021-12-24 西安工程大学 一种基于自编码器的彩色纹理织物缺陷区域的检测方法
CN114235847A (zh) * 2021-12-20 2022-03-25 深圳市尊绅投资有限公司 一种液晶面板玻璃基板表面缺陷检测装置及检测方法
CN115239644A (zh) * 2022-07-05 2022-10-25 港珠澳大桥管理局 混凝土缺陷识别方法、装置、计算机设备和存储介质
CN116503410A (zh) * 2023-06-28 2023-07-28 深圳市谱汇智能科技有限公司 半导体缺陷识别方法、装置、终端设备以及存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112598646A (zh) * 2020-12-23 2021-04-02 山东产研鲲云人工智能研究院有限公司 电容缺陷检测方法、装置、电子设备及存储介质
CN112798628A (zh) * 2021-04-15 2021-05-14 征图新视(江苏)科技股份有限公司 利用oct成像检测工业内部缺陷的可行性验证方法
CN112798628B (zh) * 2021-04-15 2021-06-29 征图新视(江苏)科技股份有限公司 利用oct成像检测工业内部缺陷的可行性验证方法
CN113554080A (zh) * 2021-07-15 2021-10-26 长沙长泰机器人有限公司 一种基于机器视觉的无纺布瑕疵检测分类方法及系统
CN113838041A (zh) * 2021-09-29 2021-12-24 西安工程大学 一种基于自编码器的彩色纹理织物缺陷区域的检测方法
CN113838041B (zh) * 2021-09-29 2023-09-08 西安工程大学 一种基于自编码器的彩色纹理织物缺陷区域的检测方法
CN114235847A (zh) * 2021-12-20 2022-03-25 深圳市尊绅投资有限公司 一种液晶面板玻璃基板表面缺陷检测装置及检测方法
CN115239644A (zh) * 2022-07-05 2022-10-25 港珠澳大桥管理局 混凝土缺陷识别方法、装置、计算机设备和存储介质
CN115239644B (zh) * 2022-07-05 2024-04-05 港珠澳大桥管理局 混凝土缺陷识别方法、装置、计算机设备和存储介质
CN116503410A (zh) * 2023-06-28 2023-07-28 深圳市谱汇智能科技有限公司 半导体缺陷识别方法、装置、终端设备以及存储介质

Similar Documents

Publication Publication Date Title
CN112037166A (zh) 一种表面缺陷检测方法及检测装置
CN110796637A (zh) 图像缺陷检测模型的训练、测试方法、装置及存储介质
JP7028333B2 (ja) 照明条件の設定方法、装置、システム及びプログラム並びに記憶媒体
CN111383209A (zh) 一种基于全卷积自编码器网络的无监督瑕疵检测方法
KR101992970B1 (ko) 딥러닝과 노이즈 제거 기술을 이용한 표면 결함 검출 장치 및 방법
CN111751318A (zh) 使用光谱测量进行织物验证
CN106779217B (zh) 空气质量检测方法和空气质量检测系统
CN108399620B (zh) 一种基于低秩稀疏矩阵分解的图像质量评价方法
CN110909615B (zh) 基于多尺度输入混合感知神经网络的目标检测方法
CN112381790A (zh) 一种基于深度自编码的异常图像检测方法
Morzelona Human visual system quality assessment in the images using the IQA model integrated with automated machine learning model
CN114511516A (zh) 一种基于无监督学习的MicroLED缺陷检测方法
CN116994044A (zh) 一种基于掩码多模态生成对抗网络的图像异常检测模型的构建方法
CN114841992A (zh) 基于循环生成对抗网络和结构相似性的缺陷检测方法
CN112884721A (zh) 一种异常检测方法、系统及计算机可读存储介质
CN117036271A (zh) 生产线质量监测方法及其系统
CN115830514A (zh) 一种适用于带弯曲河道的全河段表面流速计算方法及系统
WO2016092783A1 (en) Information processing apparatus, method for processing information, discriminator generating apparatus, method for generating discriminator, and program
Liang et al. Regularization parameter trimming for iterative image reconstruction
CN110349133B (zh) 物体表面缺陷检测方法、装置
CN113313021A (zh) 一种基于低质量影像识别的深度学习模型构建方法
Rajab Performance evaluation of image edge detection techniques
Zhang et al. Nature scene statistics approach based on ICA for no-reference image quality assessment
CN116740385B (zh) 一种设备质检方法、装置和系统
CN117474916B (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