CN115239672A - 缺陷检测方法及装置、设备、存储介质 - Google Patents
缺陷检测方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN115239672A CN115239672A CN202210903749.1A CN202210903749A CN115239672A CN 115239672 A CN115239672 A CN 115239672A CN 202210903749 A CN202210903749 A CN 202210903749A CN 115239672 A CN115239672 A CN 115239672A
- Authority
- CN
- China
- Prior art keywords
- image
- detected
- defect
- network
- feature vector
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 186
- 238000001514 detection method Methods 0.000 title claims abstract description 109
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 239000013598 vector Substances 0.000 claims abstract description 150
- 238000000034 method Methods 0.000 claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 54
- 230000009467 reduction Effects 0.000 claims abstract description 44
- 238000012549 training Methods 0.000 claims abstract description 42
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 230000002950 deficient Effects 0.000 claims description 97
- 230000006870 function Effects 0.000 claims description 84
- 238000010586 diagram Methods 0.000 claims description 46
- 230000002159 abnormal effect Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 27
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000009776 industrial production Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013618 particulate matter Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G06T3/06—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G06T5/70—
-
- 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]
-
- 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/20212—Image combination
- G06T2207/20224—Image subtraction
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种缺陷检测方法及装置、设备、存储介质;包括:在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到;对低纬度下的第一特征向量进行高维映射处理,得到维度高于待检测图像的第一生成图像;对第一生成图像进行降维处理,得到低纬度下的第二特征向量;根据待检测图像的第一特征向量和第一生成图像的第二特征向量、以及待检测图像的像素值和第一生成图像的像素值,确定待检测图像是否为缺陷图像。这样,能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测,并提高检测准确度。
Description
技术领域
本申请实施例涉及图像处理技术,涉及但不限于一种缺陷检测方法及装置、设备、存储介质。
背景技术
在工业生产中,需要对各种工业产品存在的错位、破损、异物等缺陷进行检测,如在手机产品的质检过程中,需要对手机前壳的外观进行检测,而手机前壳的重要部件为胶套,因此这种情况下,主要是为对胶套存在的缺陷进行检测。
在相关技术中在进行工业产品的缺陷检测时,大多是基于正负样本训练检测模型,需要依赖大量缺陷样本。但在实际生产过程中,工业产品上存在的缺陷种类是千变万化的,显然无法获取到各种未知的缺陷类型;并且获取已知类型的缺陷的成本也是极高的,有时几千个样品中只有几例缺陷样品,甚至有些类别缺陷从未出现过。因此,基于上述训练方法训练得到的缺陷检测模型,需要人工收集大量的缺陷样本并标注,且只能针对特定类别缺陷,不能够适用于更广泛的缺陷类型,检测准确度也不够。
发明内容
有鉴于此,本申请实施例提供的缺陷检测方法及装置、设备、存储介质,在对检测模型训练时不依赖缺陷样本,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测,并提高检测准确度。本申请实施例提供的缺陷检测方法及装置、设备、存储介质是这样实现的:
本申请实施例提供的缺陷检测方法,包括:
在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;待检测图像包括无缺陷图像和缺陷图像;已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到;
对低纬度下的第一特征向量进行高维映射处理,得到维度高于待检测图像的第一生成图像;
对第一生成图像进行降维处理,得到低纬度下的第二特征向量;第二特征向量的维度与第一特征向量的维度相同;
根据待检测图像的第一特征向量和第一生成图像的第二特征向量、以及待检测图像的像素值和第一生成图像的像素值,确定待检测图像是否为缺陷图像。
在本申请实施例中,一方面在对缺陷检测模型进行训练时,仅基于无缺陷图像进行训练,不依赖缺陷样本,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测;另一方面,从图像的特征向量和像素值两方面对待检测图像进行缺陷检测,能够提高检测准确度。
在一些实施例中,根据待检测图像的第一特征向量和第一生成图像的第二特征向量、以及待检测图像的像素值和第一生成图像的像素值,确定待检测图像是否为缺陷图像,包括:
若第一特征向量与第二特征向量之间的差异大于第一阈值,确定待检测图像为异常图像;根据确定为异常图像的待检测图像的像素值和对应的第一生成图像的像素值之间的差值,得到确定为异常图像的待检测图像对应的差分热力图;根据差分热力图中缺陷区域的像素数量,确定待检测图像是否为缺陷图像。
在一些实施例中,根据差分热力图中缺陷区域的像素数量,确定待检测图像是否为缺陷图像,包括:
对差分热力图进行提取处理,得到差分热力图中的缺陷区域;若缺陷区域的像素数量大于第二阈值,确定待检测图像为缺陷图像。
在一些实施例中,生成对抗网络包括生成网络和判别网络,生成对抗网络通过以下方法预先获得:
将无缺陷图像输入至待训练的生成网络中进行降维处理,得到低纬度下的第三特征向量;将第三特征向量输入至待训练的生成网络的生成器中进行高维映射处理,得到维度高于无缺陷图像的第二生成图像;将无缺陷图像和第二生成图像输入至待训练的判别网络中进行真伪判别,得到第二生成图像为无缺陷图像的相似概率;若相似概率小于第三阈值,确定目标损失函数;根据目标损失函数,调整生成网络和判别网络的参数值,得到调整后的生成网络和调整后的判别网络;继续根据下一无缺陷图像调整生成网络和判别网络的参数值,直至当前判别网络输出的概率大于或等于第三阈值,将当前训练得到的生成对抗网络作为已训练的生成对抗网络。
在一些实施例中,若相似概率小于第三阈值,确定目标损失函数,包括:
若相似概率小于所述第三阈值,根据无缺陷图像的第三特征向量和第二生成图像对应的第四特征向量,确定第一损失函数;第四特征向量为将第二生成图像输入至待训练的判别网络中进行降维处理得到,第四特征向量的维度与第三特征向量的维度相同,第一损失函数用于表征第二生成图像与无缺陷图像在低纬度下的特征差异;根据无缺陷图像的像素值和第二生成图像的像素值,确定第二损失函数;第二损失函数用于表征第二生成图像与无缺陷图像之间的相似程度;根据无缺陷图像的图像特征和第二生成图像的图像特征之间的差异,确定第三损失函数;根据第一损失函数、第二损失函数和第三损失函数,确定目标损失函数。
在一些实施例中,所述方法还包括:获取在预设时段内得到的多个待检测图像的检测结果;确定各检测结果的准确率;若小于预设标准的准确率的数量超出第四阈值,对第一阈值进行调整。
在一些实施例中,在对待检测图像进行降维处理之前,所述方法还包括:对待检测图像进行预处理,从而得到具有标准尺寸的待检测图像。
本申请实施例提供的缺陷检测装置,包括:
降维处理模块,用于在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;待检测图像包括无缺陷图像和缺陷图像;已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到;
高维映射模块,用于对低纬度下的第一特征向量进行高维映射处理,得到维度高于待检测图像的第一生成图像;
所述降维处理模块,还用于对第一生成图像进行降维处理,得到低纬度下的第二特征向量;第二特征向量的维度与第一特征向量的维度相同;
确定模块,用于根据待检测图像的第一特征向量和第一生成图像的第二特征向量、以及待检测图像的像素值和第一生成图像的像素值,确定待检测图像是否为缺陷图像。
本申请实施例提供的计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的方法。
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的所述的方法。
本申请实施例所提供的缺陷检测方法、装置、计算机设备和计算机可读存储介质,一方面在对缺陷检测模型进行训练时,仅基于无缺陷图像进行训练,不依赖缺陷样本,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测;另一方面,从图像的特征向量和像素值两方面对待检测图像进行缺陷检测,能够提高检测准确度,从而解决背景技术中所提出的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为本申请实施例提供的缺陷图像和无缺陷图像的示例图;
图2为本申请实施例提供的缺陷检测方法的实现流程示意图;
图3为本申请实施例提供的生成对抗网络的结构示意图;
图4为本申请实施例提供的缺陷检测方法的实现流程示意图;
图5为本申请实施例提供的缺陷检测方法的结果对比图;
图6为本申请实施例提供的生成对抗网络的训练实现流程示意图;
图7为本申请实施例提供的缺陷检测方法的实现流程示意图;
图8为本申请实施例提供的缺陷检测装置的结构示意图;
图9为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”用以区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在工业生产中,需要对各种工业产品存在的错位、破损、异物等缺陷进行检测,如图1所示,给出无缺陷图像和缺陷图像的示例性说明。由图1可以看出,无缺陷图像可以允许有一定范围的波动,包括位置微小波动、小的颗粒异物和轻微的明暗变化等;对于缺陷图像,其具有明显差异特征,包括明显可见的偏位、破损以及异物的情况等。如图1给出的缺陷图像案例,从左至右依次为图像破损、图像偏转过大、图像偏位过大、图像中存在异物、图像破洞。但在实际生产中,包括但不限于上述缺陷类型。
目前对于大多数工业产品的缺陷检测仍然主要以人工观察法为主,与大规模自动化检测相比,人工检测方式易受主观因素影响,并且效率低下。近些年,随着计算机硬件的提升,计算机视觉技术已逐渐应用到工业产线的产品的自动化检测中。
外观缺陷检测是计算机视觉任务的重要分支,主要分为传统算法和深度学习算法两大类。在传统的图像处理领域,通过设计固定的算子检测出指定类别的缺陷,该类方法对于固定形态的缺陷检测有较好的检出效果;在深度学习领域,缺陷检测主要以数据驱动的方式完成,通过大量收集并标注正负样本训练检测模型,模型对于被标记过的缺陷类型具有很好的泛化性能,检测适用性好。
在传统的图像处理领域,固定的算子检测模式只适用于检测特定形式的缺陷类型,不具泛化性;在深度学习领域中,一般的检测模型虽然可以通过自主学习的方式实现对多类缺陷的检测,但模型的训练主要是依靠优质的数据标注(即有缺陷的样本数据),需要人工对大量优质数据进行收集及标注,但这种检测方法会导致无法对超出标注范围的缺陷类型进行检测。而在实际生产中,工业产品上的缺陷类型是千变万化的,显然无法获取到各种未知的缺陷类型;并且获取已知类型的缺陷的成本也是极高的,有时几千个样品中只有几例缺陷样品,甚至有些类别缺陷从未出现过。因此在实际生产中,若基于上述传统的模型训练方法对缺陷模型进行训练,需要人工收集大量的缺陷样本并标注,且只能针对特定类别缺陷,不能够适用于更广泛的缺陷类型;另外,基于上述传统的模型训练方法训练得到的缺陷检测模型,在对产品进行模型检测时,检测准确度也不够。
有鉴于此,本申请实施例提供一种缺陷检测方法,该方法应用于电子设备,该电子设备在实施的过程中可以为各种类型的具有信息处理能力的设备。例如,所述电子设备可以包括个人计算机、笔记本电脑、掌上电脑或服务器等;该电子设备还可以为移动终端,例如所述移动终端可以包括手机、车载电脑、平板电脑或投影仪等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
图2为本申请实施例提供的缺陷检测方法的实现流程示意图,在对缺陷检测模型进行训练时,仅基于无缺陷图像进行训练,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测,且能够提高检测准确度。如图2所示,该方法可以包括以下步骤201至步骤204:
步骤201,在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;待检测图像包括无缺陷图像和缺陷图像;已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到。
可以理解地,在实际生产过程中,工业产品上的缺陷类型是千变万化的,显然无法获取到各种未知的缺陷类型;并且获取已知类型的缺陷的成本也是极高的,有时几千个样品中只有几例缺陷样品,甚至有些类别缺陷从未出现过。因此若基于正负样本(即缺陷图像和无缺陷图像)进行生成对抗网络的训练,需要人工收集大量的缺陷样本并标注,且只能针对特定类别缺陷,不能够适用于更广泛的缺陷类型。基于此,在本申请实施例中,在对生成对抗网络进行训练时,仅依赖无缺陷的样本图像而不依赖缺陷样本,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测。
在本申请实施例中,用于进行缺陷检测的待检测图像的尺寸是相同的,其中,对于得到相同尺寸的待检测图像的方式不做限定。例如,在一些实施例中,可以基于设置有固定拍摄高度的同一采集设备对不同产品进行拍摄,从而得到具有相同尺寸的拍摄角度的待检测图像。为提高检测的准确性,还可以通过调整采集设备的角度、光线、滤镜、倍镜、聚焦等,针对同一产品表面采集多张候选图像,并通过预设筛选标准比如清晰度等对多张候选图像进行处理,筛选出待检测图像后再进行后续检测。
在另一些实施例中,若初始拍摄获取的待检测图像的尺寸不同,则在将待检测图像输入至已训练的生成对抗网络之前,还可以对待检测图像进行预处理,从而得到具有标准尺寸的待检测图像。具体地,预处理过程可以为将待检测图像按照预设标准进行切割,从而得到具有标准尺寸的待检测图像。
在一些实施例中,若拍摄得到的待检测图像的尺寸过大,为方便检测,还可以将待检测图像切割为多张子图像,具体切割大小可以根据实际情况预先设置好,如针对一张为1000*800的待检测图片,预设大小为100*8,因此可以将该待检测图像按照100*8进行切割,得到10张子图像。这样,每一张子图像中均包含部分待检测图像的特征,从而可以根据多张子图像的特征共同确定待检测图像是否为缺陷图像。
在一些实施例中,所述生成对抗网络为GANomaly网络。GANormaly的网络结构如图3所示,整体框架由三部分构成:
第一部分包括编码器1和生成器组成的生成网络,第二部分包括判别编码器2,第三部分包括判别编码器3。
可以理解的是,通过对GANomaly网络进行训练得到的训练模型进行产品的缺陷检测时,不再是比较产品在图像上的分布,而是在图像编码的潜在空间下进行对比,已训练的GANomaly网络对正样本图像(即无缺陷图像)和负样本图像(即缺陷图像)进行编码解码编码后产生的空间差距是不同的,通过正常样本训练的缺陷检测模型,在对负样本图像进行编码解码编码后产生的空间差距大于正样本图像的空间差距。
基于上述原理,在本申请实施例中,可以将待检测图像x输入至GANomaly网络的编码器1中,由编码器1对待检测图像进行编码,得到低纬度下的编码向量z(即第一特征向量)。
步骤202,对低纬度下的第一特征向量进行高维映射处理,得到维度高于待检测图像的第一生成图像。
步骤203,对第一生成图像进行降维处理,得到低纬度下的第二特征向量;第二特征向量的维度与第一特征向量的维度相同。
通过执行上述步骤201至步骤203,即能够得到待检测图像与对应的第一生成图像在相同维度下的特征向量,从而可继续判断两种特征向量在潜层空间上的差异。
步骤204,根据待检测图像的第一特征向量和第一生成图像的第二特征向量、以及待检测图像的像素值和第一生成图像的像素值,确定待检测图像是否为缺陷图像。
在本申请实施例中,在判断待检测图像是否为缺陷图像时,并不仅仅基于得到的待检测图像与对应的第一生成图像在相同维度下的特征向量来判断,而是综合考虑了图像的特征向量和待检测图像与对应的第一生成图像的像素值来判断,从而能够提高检测准确度。
在本申请实施例中,一方面在对缺陷检测模型进行训练时,仅基于无缺陷图像进行训练,不依赖缺陷样本,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测;另一方面,从图像的特征向量和像素值两方面对待检测图像进行缺陷检测,能够提高检测准确度。
本申请实施例再提供一种缺陷检测方法,图4为本申请实施例缺陷检测方法的实现流程示意图,如图4所示,该方法可以包括以下步骤401至步骤408:
步骤401,在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;待检测图像包括无缺陷图像和缺陷图像;已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到。
步骤402,对低纬度下的第一特征向量进行高维映射处理,得到维度高于待检测图像的第一生成图像。
步骤403,对第一生成图像进行降维处理,得到低纬度下的第二特征向量;第二特征向量的维度与第一特征向量的维度相同。
步骤404,确定第一特征向量与第二特征向量之间的差异是否大于第一阈值;如果是,执行步骤405;否则,执行步骤408。
这里,若确定待检测图像对应的第一特征向量与第一生成图像对应的第二特征向量之间的差异较大,基于正样本图像(即无缺陷图像)将重构处理后在潜层空间的特征向量差异较小这一特性,可以确定重构后在潜层空间的特征向量差异较大的图像为异常图像。
当然,如果待检测图像经重构后在潜层空间的特征向量差异较小,则能够说明该待检测图像为无缺陷图像。
其中,可以在对生成对抗网络进行训练时,通过执行如下实施例中的步骤601至步骤605,得到无缺陷图像对应得到的第三特征向量,以及与无缺陷图像对于的第二生成图像对应的第四特征向量,从而得到第三特征向量与第四特征向量之间的差距,进而在得到多个无缺陷图像对应的特征向量的差距之后,从中确定出第一阈值。
在一些实施例中,可以将多个差距中最大的差距值确定为第一阈值。
步骤405,确定待检测图像为异常图像。
这里,只是基于在潜层空间的特征向量的差异较大来确定待检测图像为异常图像,而并不直接确定该待检测图像为缺陷图像。在本申请实施例中,为避免过度检测,将原本不应该评定为缺陷图像的待检测图像评定为缺陷图像,在确定出待检测图像为异常图像后,还可以执行步骤406,继续对确定为异常图像的待检测图像重新进行检测,从而提高检测准确度。
步骤406,根据确定为异常图像的待检测图像的像素值和对应的第一生成图像的像素值之间的差值,得到确定为异常图像的待检测图像对应的差分热力图。
这里,为得到确定为异常图像的待检测图像对应的差分热力图,可以将待检测图像和对于的第一生成图像进行归一化处理,从而得到待检测图像对应的第一张量,以及第一生成图像对应的第二张量。所谓张量,是指可以认为是一个存储特征数据的容器,为特征的总和。计算第一张量和第二张量的差值,即能够得到差分张量,再将差分张量映射为图像,即得到差分热力图。这样的处理可以最大化凸显生成图像与待检测图像之间的差异性。
如图5所示,给出待检测图像、生成图像和两者的差分热力图的示意图,可见,差分热力图能够最大程度地彰显生成图像与待检测图像之间在像素上的差异性,即,能够将缺陷图像中的缺陷部分显示出来。
步骤407,根据差分热力图中缺陷区域的像素数量,确定待检测图像是否为缺陷图像。
在一些实施例中,可以通过执行如下步骤4071至步骤4072来实现步骤407:
步骤4071,对差分热力图进行提取处理,得到差分热力图中的缺陷区域。
这里,对差分热力图进行提取处理的方式并不做限定,例如可以对差分热力图进行高斯滤波,以得到滤除噪音后的差分热力图;再对滤除噪音后的差分热力图进行形态学处理,从而得到最终的掩膜(mask)结果图。mask结果图能够很好地表达出像素的差异性。
步骤4072,若缺陷区域的像素数量大于第二阈值,确定待检测图像为缺陷图像。
如图5所示,在mask结果图中能够很好地展示出缺陷区域,缺陷区域的像素数量越多,则说明待检测图像中的缺陷部位越大,则更容易被判定为缺陷图像。
在一些实施例中,可以将缺陷区域的像素点数控制在8*8的条件内,通过比对,可以最终在确定为异常图像的待检测图像中确定出缺陷图像。
通过图像效果图可以看出,对于无缺陷的样品,其结果mask图几乎不存在明显的白色区域,而带有异物、偏移较大、错位较大的缺陷情况,其mask图呈现较多的白色区域。通过后处理将情况进行量化,通过阈值筛选即可给出检测结果。
步骤408,确定待检测图像为无缺陷图像。
在一些实施例中,在对多个待检测图像完成缺陷检测后,还可以获取在预设时段内得到的多个待检测图像的检测结果;确定各检测结果的准确率;若小于预设标准的准确率的数量超出第四阈值,对第一阈值进行调整。
具体地,在检测一段时间后,可以判断一个时间段内的检测结果的准确率是否达到预先设置的标准,若小于预设标准,则相应的调整预设阈值,从而使缺陷检测模型更准确的检测出缺陷产品,提高缺陷检测的效率。
举例来说,如计算得到在一段时间内的准确率为百分之九十二,其小于预设标准百分之九十五,则可以调整之前预设的第一阈值,或者对模型进行更新,以提高检测精度。
在本申请实施例中,生成对抗网络包括生成网络和判别网络,下面给出一种生成对抗网络的训练方法,包括如下步骤601至步骤606:
步骤601,将无缺陷图像输入至待训练的生成网络中进行降维处理,得到低纬度下的第三特征向量。
需要说明的是,这里对生成对抗网络进行训练时,是基于无缺陷图像进行训练的,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测。
步骤602,将第三特征向量输入至待训练的生成网络的生成器中进行高维映射处理,得到维度高于无缺陷图像的第二生成图像。
由上述实施例可知,如图3所示,待训练的生成对抗网络包括三部分,第一部分包括编码器1和生成器组成的生成网络,第二部分包括判别编码器2,第三部分包括判别编码器3。
在对待训练的生成对抗网络进行训练时,可以将无缺陷图像x输入至GANomaly网络的编码器1中,由编码器1对待检测图像进行编码,得到低纬度下的编码向量z(即第三特征向量)。然后,再将第三特征向量z输入至GANomaly网络的生成器中进行高维映射处理,从而得到维度高于待检测图像的第二生成图像
步骤603,将无缺陷图像和第二生成图像输入至待训练的判别网络中进行真伪判别,得到第二生成图像为无缺陷图像的相似概率。
这里,将无缺陷图像和对应的第二生成图像输入至第三部分的判别编码器3中进行真伪判别,初始时判别编码器3即可以将无缺陷图像判定为真,将第二生成图像判定为假,并输出第二生成图像与无缺陷图像之间的相似概率。可以理解地,随着生成对抗网络一次次的迭代训练,能够在训练时不断缩小生成图像与对应的无缺陷图像之间的差距,使生成器能够复原与无缺陷图像相近的生成图像,即,不断加大第二生成图像为无缺陷图像的相似概率。
在一具体的训练过程中,如图3所示,可以将隐变量设置为2000,学习率设置为0.0001,batch_size为8,输入图像大小为128×128,迭代次数设置为1000个epoches。
下面介绍模型具体参数:编码器1由5层卷积层、4层LeakyReLU层组成,中间层为BtachNorm。生成器由于5层转置卷积层、4层RuLU层组成,中间层为BtachNorm,激活层为Tanh函数。判别编码器2由5层卷积层、4层LeakyReLU层组成,中间层为BtachNorm。判别编码器3由5层卷积层、4层LeakyReLU层组成,中间层为BtachNorm,输出层为sigmoid激活函数。具体结构如表1所示:
表1 GANormaly模型结构
编码器1 | 生成器 | 编码器2 | 编码器3 | |
第一层 | 4*4卷积 | 4*4转置卷积 | 4*4卷积 | 4*4卷积 |
第二层 | LeakyReLU | BatchNorm | LeakyReLU | LeakyReLU |
第三层 | 4*4卷积 | ReLU | 4*4卷积 | 4*4卷积 |
第四层 | BatchNorm | 4*4转置卷积 | BatchNorm | BatchNorm |
第五层 | LeakyReLU | BatchNorm | LeakyReLU | LeakyReLU |
第六层 | 4*4卷积 | ReLU | 4*4卷积 | 4*4卷积 |
第七层 | BatchNorm | 4*4转置卷积 | BatchNorm | BatchNorm |
第八层 | LeakyReLU | BatchNorm | LeakyReLU | LeakyReLU |
第九层 | 4*4卷积 | ReLU | 4*4卷积 | 4*4卷积 |
第十层 | BatchNorm | 4*4转置卷积 | BatchNorm | BatchNorm |
第十一层 | LeakyReLU | Tanh | LeakyReLU | Sigmoid |
步骤604,若相似概率小于第三阈值,确定目标损失函数。
为提高生成对抗网络的识别准确性,设定目标损失函数由三部分构成。在一些实施例中,可以通过执行如下实施例中的步骤6041至步骤6044来确定目标损失函数:
步骤6041,若相似概率小于第三阈值,根据无缺陷图像的第三特征向量和第二生成图像对应的第四特征向量,确定第一损失函数;第四特征向量为将第二生成图像输入至待训练的判别网络中进行降维处理得到,第四特征向量的维度与第三特征向量的维度相同,第一损失函数用于表征第二生成图像与无缺陷图像在低纬度下的特征差异。
在一些实施例中,第一损失函数为编码损失,编码损失Lb的确定如公式1所示:
步骤6042,根据无缺陷图像的像素值和第二生成图像的像素值,确定第二损失函数;第二损失函数用于表征第二生成图像与无缺陷图像之间的相似程度。
在一些实施例中,第二损失函数为上下文损失,上下文损失Lc如公式2所示:
步骤6043,根据无缺陷图像的图像特征和第二生成图像的图像特征之间的差异,确定第三损失函数。
在一些实施例中,第三损失函数为对抗损失,对抗损失La如公式3所示:
步骤6044,根据第一损失函数、第二损失函数和第三损失函数,确定目标损失函数。
在一些实施例中,可以通过给第一损失函数、第二损失函数和第三损失函数分别赋予不同的权重值,来共同计算得到目标损失函数Lz。目标损失函数由上述三个损失函数加权求和得到,如公式4所示:
Lz=αLb+βLc+γLa (公式4);
步骤605,根据目标损失函数,调整生成网络和判别网络的参数值,得到调整后的生成网络和调整后的判别网络。
这样,基于得到的目标损失函数调整生成对抗网络中的生成网络和判别网络的参数值,以使生成器能够生成更为逼真的生成图像,判别器能够具备更精准的判别能力。
这里,通过计算每一无缺陷图像对于的差异值,从中选择出最大的差异值作为第一阈值,从而在对生成对抗网络训练完成后,能够基于第一阈值确定待检测图像是否为异常图像。
步骤606,继续根据下一无缺陷图像调整生成网络和判别网络的参数值,直至当前判别网络输出的概率大于或等于第三阈值,将当前训练得到的生成对抗网络作为已训练的生成对抗网络。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
图7为本申请实施例提供的缺陷检测方法的总体流程。如图7所示,该方法包括如下步骤701至步骤707:
步骤701,人工挑选出符合要求的无缺陷样品图像200张,用于模型训练的数据集。
步骤702,配置模型训练超参数,训练GANormaly模型直至模型收敛。
步骤703,对待检测图像进行检测,前向计算得到待检测图像的异常分数(即特征向量在潜层空间的差距)及生成图像。
步骤704,通过异常分数筛选出异常图像。
步骤705,对异常图像进行二次判断,通过生成图像与待检测图像的差分热力图得到mask结果图,判断mask结果图像素是否小于阈值像素;如果是,执行步骤706;否则,执行步骤707。
步骤706,确定待检测图像为无缺陷图像。
步骤707,确定待检测图像为缺陷图像。
本申请实施例是基于一种无监督模型GANormaly来实现胶套缺陷检测的,只需对正样品进行建模即可完成训练,可以检测出各类明显的异常缺陷,解决了实际检测中对负样本的过度依赖,减少了人工标注成本,提高了产线部署效率。
在本申请实施例中,利用GANormly的基于无监督学习的特性,减低了对负样本的依赖,更易于应用到实际工业生产的场景,减少了部署成本,提高了检测适用性。提高部署效率,节约成本。
类似工业类图像模式变化不大,尺度变化不大的胶套类样本,都可进行类似的检测方式,只需对阈值等少数参数做出调整,即可训练出类似工件的异常情况。
应该理解的是,虽然图2、4、6、7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4、6、7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于前述的实施例,本申请实施例提供一种缺陷检测装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图8为本申请实施例提供的缺陷检测装置的结构示意图,如图8所示,所述装置800包括降维处理模块801、高维映射模块802和确定模块803,其中:
降维处理模块,用于在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;待检测图像包括无缺陷图像和缺陷图像;已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到;
高维映射模块,用于对低纬度下的第一特征向量进行高维映射处理,得到维度高于待检测图像的第一生成图像;
所述降维处理模块,还用于对第一生成图像进行降维处理,得到低纬度下的第二特征向量;第二特征向量的维度与第一特征向量的维度相同;
确定模块,用于根据待检测图像的第一特征向量和第一生成图像的第二特征向量、以及待检测图像的像素值和第一生成图像的像素值,确定待检测图像是否为缺陷图像。
在一些实施例中,所述确定模块,还用于若第一特征向量与第二特征向量之间的差异大于第一阈值,确定待检测图像为异常图像;根据确定为异常图像的待检测图像的像素值和对应的第一生成图像的像素值之间的差值,得到确定为异常图像的待检测图像对应的差分热力图;根据差分热力图中缺陷区域的像素数量,确定待检测图像是否为缺陷图像。
在一些实施例中,所述装置还包括提取模块,所述提取模块,用于对差分热力图进行提取处理,得到差分热力图中的缺陷区域;所述确定模块,还用于若缺陷区域的像素数量大于第二阈值,确定待检测图像为缺陷图像。
在一些实施例中,所述装置还包括调整模块;降维处理模块,还用于将无缺陷图像输入至待训练的生成网络中进行降维处理,得到低纬度下的第三特征向量;高维映射模块,还用于将第三特征向量输入至待训练的生成网络的生成器中进行高维映射处理,得到维度高于无缺陷图像的第二生成图像;降维处理模块,还用于将无缺陷图像和第二生成图像输入至待训练的判别网络中进行真伪判别,得到第二生成图像为无缺陷图像的相似概率;确定模块,还用于若相似概率小于第三阈值,确定目标损失函数;所述调整模块,用于根据目标损失函数,调整生成网络和判别网络的参数值,得到调整后的生成网络和调整后的判别网络;继续根据下一无缺陷图像调整生成网络和判别网络的参数值,直至当前判别网络输出的概率大于或等于第三阈值,将当前训练得到的生成对抗网络作为已训练的生成对抗网络。
在一些实施例中,所述确定模块,还用于若相似概率小于第三阈值,根据无缺陷图像的第三特征向量和第二生成图像对应的第四特征向量,确定第一损失函数;第四特征向量为将第二生成图像输入至待训练的判别网络中进行降维处理得到,第四特征向量的维度与第三特征向量的维度相同,第一损失函数用于表征第二生成图像与无缺陷图像在低纬度下的特征差异;根据无缺陷图像的像素值和第二生成图像的像素值,确定第二损失函数;第二损失函数用于表征第二生成图像与无缺陷图像之间的相似程度;根据无缺陷图像的图像特征和第二生成图像的图像特征之间的差异,确定第三损失函数;根据第一损失函数、第二损失函数和第三损失函数,确定所述目标损失函数。
在一些实施例中,所述装置还包括获取模块;所述获取模块,用于获取在预设时段内得到的多个待检测图像的检测结果;所述确定模块,还用于确定各检测结果的准确率;所述调整模,还用于若小于预设标准的准确率的数量超出第四阈值,对第一阈值进行调整。
在一些实施例中,所述装置还包括预处理模块,所述预处理模块,用于对待检测图像进行预处理,从而得到具有标准尺寸的待检测图像。
在本申请实施例中,一方面在对缺陷检测模型进行训练时,仅基于无缺陷图像进行训练,不依赖缺陷样本,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测;另一方面,从图像的特征向量和像素值两方面对待检测图像进行缺陷检测,能够提高检测准确度。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图8所示的缺陷检测装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交互模式切换方法。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法中的步骤。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的采样装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该采样装置的各个程序模块,比如,图9所示的降维处理模块、高维映射模块和确定模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的采样方法中的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;待检测图像包括无缺陷图像和缺陷图像;已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到;对低纬度下的第一特征向量进行高维映射处理,得到维度高于待检测图像的第一生成图像;对第一生成图像进行降维处理,得到低纬度下的第二特征向量;第二特征向量的维度与第一特征向量的维度相同;根据待检测图像的第一特征向量和第一生成图像的第二特征向量、以及待检测图像的像素值和第一生成图像的像素值,确定待检测图像是否为缺陷图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若第一特征向量与第二特征向量之间的差异大于第一阈值,确定待检测图像为异常图像;根据确定为异常图像的待检测图像的像素值和对应的第一生成图像的像素值之间的差值,得到确定为异常图像的待检测图像对应的差分热力图;根据差分热力图中缺陷区域的像素数量,确定待检测图像是否为缺陷图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对差分热力图进行提取处理,得到差分热力图中的缺陷区域;若缺陷区域的像素数量大于第二阈值,确定待检测图像为缺陷图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将无缺陷图像输入至待训练的生成网络中进行降维处理,得到低纬度下的第三特征向量;将第三特征向量输入至待训练的生成网络的生成器中进行高维映射处理,得到维度高于无缺陷图像的第二生成图像;将无缺陷图像和第二生成图像输入至待训练的判别网络中进行真伪判别,得到第二生成图像为无缺陷图像的相似概率;若相似概率小于第三阈值,确定目标损失函数;根据目标损失函数,调整生成网络和判别网络的参数值,得到调整后的生成网络和调整后的判别网络;继续根据下一无缺陷图像调整生成网络和判别网络的参数值,直至当前判别网络输出的概率大于或等于第三阈值,将当前训练得到的生成对抗网络作为已训练的生成对抗网络。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若相似概率小于所述第三阈值,根据无缺陷图像的第三特征向量和第二生成图像对应的第四特征向量,确定第一损失函数;第四特征向量为将第二生成图像输入至待训练的判别网络中进行降维处理得到,第四特征向量的维度与第三特征向量的维度相同,第一损失函数用于表征第二生成图像与无缺陷图像在低纬度下的特征差异;根据无缺陷图像的像素值和第二生成图像的像素值,确定第二损失函数;第二损失函数用于表征第二生成图像与无缺陷图像之间的相似程度;根据无缺陷图像的图像特征和第二生成图像的图像特征之间的差异,确定第三损失函数;根据第一损失函数、第二损失函数和第三损失函数,确定目标损失函数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取在预设时段内得到的多个待检测图像的检测结果;确定各检测结果的准确率;若小于预设标准的准确率的数量超出第四阈值,对第一阈值进行调整。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对待检测图像进行预处理,从而得到具有标准尺寸的待检测图像。
在本申请实施例中,一方面在对缺陷检测模型进行训练时,仅基于无缺陷图像进行训练,不依赖缺陷样本,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测;另一方面,从图像的特征向量和像素值两方面对待检测图像进行缺陷检测,能够提高检测准确度。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;待检测图像包括无缺陷图像和缺陷图像;已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到;对低纬度下的第一特征向量进行高维映射处理,得到维度高于待检测图像的第一生成图像;对第一生成图像进行降维处理,得到低纬度下的第二特征向量;第二特征向量的维度与第一特征向量的维度相同;根据待检测图像的第一特征向量和第一生成图像的第二特征向量、以及待检测图像的像素值和第一生成图像的像素值,确定待检测图像是否为缺陷图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若第一特征向量与第二特征向量之间的差异大于第一阈值,确定待检测图像为异常图像;根据确定为异常图像的待检测图像的像素值和对应的第一生成图像的像素值之间的差值,得到确定为异常图像的待检测图像对应的差分热力图;根据差分热力图中缺陷区域的像素数量,确定待检测图像是否为缺陷图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对差分热力图进行提取处理,得到差分热力图中的缺陷区域;若缺陷区域的像素数量大于第二阈值,确定待检测图像为缺陷图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将无缺陷图像输入至待训练的生成网络中进行降维处理,得到低纬度下的第三特征向量;将第三特征向量输入至待训练的生成网络的生成器中进行高维映射处理,得到维度高于无缺陷图像的第二生成图像;将无缺陷图像和第二生成图像输入至待训练的判别网络中进行真伪判别,得到第二生成图像为无缺陷图像的相似概率;若相似概率小于第三阈值,确定目标损失函数;根据目标损失函数,调整生成网络和判别网络的参数值,得到调整后的生成网络和调整后的判别网络;继续根据下一无缺陷图像调整生成网络和判别网络的参数值,直至当前判别网络输出的概率大于或等于第三阈值,将当前训练得到的生成对抗网络作为已训练的生成对抗网络。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若相似概率小于所述第三阈值,根据无缺陷图像的第三特征向量和第二生成图像对应的第四特征向量,确定第一损失函数;第四特征向量为将第二生成图像输入至待训练的判别网络中进行降维处理得到,第四特征向量的维度与第三特征向量的维度相同,第一损失函数用于表征第二生成图像与无缺陷图像在低纬度下的特征差异;根据无缺陷图像的像素值和第二生成图像的像素值,确定第二损失函数;第二损失函数用于表征第二生成图像与无缺陷图像之间的相似程度;根据无缺陷图像的图像特征和第二生成图像的图像特征之间的差异,确定第三损失函数;根据第一损失函数、第二损失函数和第三损失函数,确定目标损失函数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取在预设时段内得到的多个待检测图像的检测结果;确定各检测结果的准确率;若小于预设标准的准确率的数量超出第四阈值,对第一阈值进行调整。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对待检测图像进行预处理,从而得到具有标准尺寸的待检测图像。
在本申请实施例中,一方面在对缺陷检测模型进行训练时,仅基于无缺陷图像进行训练,不依赖缺陷样本,从而能够减少人工对各类型缺陷样本收集的成本,且能够适用于更多类型的缺陷检测;另一方面,从图像的特征向量和像素值两方面对待检测图像进行缺陷检测,能够提高检测准确度。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种缺陷检测方法,其特征在于,所述方法包括:
在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;所述待检测图像包括无缺陷图像和缺陷图像;所述已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到;
对所述低纬度下的第一特征向量进行高维映射处理,得到维度高于所述待检测图像的第一生成图像;
对所述第一生成图像进行降维处理,得到低纬度下的第二特征向量;所述第二特征向量的维度与所述第一特征向量的维度相同;
根据所述待检测图像的第一特征向量和所述第一生成图像的第二特征向量、以及所述待检测图像的像素值和所述第一生成图像的像素值,确定所述待检测图像是否为缺陷图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待检测图像的第一特征向量和所述第一生成图像的第二特征向量、以及所述待检测图像的像素值和所述第一生成图像的像素值,确定所述待检测图像是否为缺陷图像,包括:
若所述第一特征向量与所述第二特征向量之间的差异大于第一阈值,确定所述待检测图像为异常图像;
根据确定为异常图像的所述待检测图像的像素值和对应的所述第一生成图像的像素值之间的差值,得到确定为异常图像的所述待检测图像对应的差分热力图;
根据所述差分热力图中缺陷区域的像素数量,确定所述待检测图像是否为缺陷图像。
3.根据权利要求2所述的方法,其特征在于,所述根据所述差分热力图中缺陷区域的像素数量,确定所述待检测图像是否为缺陷图像,包括:
对所述差分热力图进行提取处理,得到所述差分热力图中的缺陷区域;
若所述缺陷区域的像素数量大于第二阈值,确定所述待检测图像为缺陷图像。
4.根据权利要求1所述的方法,其特征在于,生成对抗网络包括生成网络和判别网络,所述生成对抗网络通过以下方法预先获得:
将无缺陷图像输入至待训练的生成网络中进行降维处理,得到低纬度下的第三特征向量;
将所述第三特征向量输入至待训练的生成网络的生成器中进行高维映射处理,得到维度高于所述无缺陷图像的第二生成图像;
将所述无缺陷图像和所述第二生成图像输入至待训练的判别网络中进行真伪判别,得到所述第二生成图像为所述无缺陷图像的相似概率;
若所述相似概率小于第三阈值,确定目标损失函数;
根据所述目标损失函数,调整所述生成网络和所述判别网络的参数值,得到调整后的生成网络和调整后的判别网络;
继续根据下一无缺陷图像调整所述生成网络和所述判别网络的参数值,直至当前所述判别网络输出的概率大于或等于所述第三阈值,将当前训练得到的生成对抗网络作为已训练的生成对抗网络。
5.根据权利要求4所述的方法,其特征在于,所述若所述相似概率小于第三阈值,确定目标损失函数,包括:
若所述相似概率小于所述第三阈值,根据所述无缺陷图像的第三特征向量和所述第二生成图像对应的第四特征向量,确定第一损失函数;所述第四特征向量为将所述第二生成图像输入至所述待训练的判别网络中进行降维处理得到,所述第四特征向量的维度与所述第三特征向量的维度相同,所述第一损失函数用于表征所述第二生成图像与所述无缺陷图像在低纬度下的特征差异;
根据所述无缺陷图像的像素值和所述第二生成图像的像素值,确定第二损失函数;所述第二损失函数用于表征所述第二生成图像与所述无缺陷图像之间的相似程度;
根据所述无缺陷图像的图像特征和所述第二生成图像的图像特征之间的差异,确定第三损失函数;
根据所述第一损失函数、所述第二损失函数和所述第三损失函数,确定所述目标损失函数。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
获取在预设时段内得到的多个待检测图像的检测结果;
确定各所述检测结果的准确率;
若小于预设标准的所述准确率的数量超出第四阈值,对所述第一阈值进行调整。
7.根据权利要求1所述的方法,其特征在于,在对所述待检测图像进行降维处理之前,所述方法还包括:
对所述待检测图像进行预处理,从而得到具有标准尺寸的待检测图像。
8.一种缺陷检测装置,其特征在于,包括:
降维处理模块,用于在已训练的生成对抗网络中,对待检测图像进行降维处理,得到低纬度下的第一特征向量;所述待检测图像包括无缺陷图像和缺陷图像;所述已训练的生成对抗网络为基于多个无缺陷图像对待训练的生成对抗网络进行训练得到;
高维映射模块,用于对所述低纬度下的第一特征向量进行高维映射处理,得到维度高于所述待检测图像的第一生成图像;
所述降维处理模块,还用于对所述第一生成图像进行降维处理,得到低纬度下的第二特征向量;所述第二特征向量的维度与所述第一特征向量的维度相同;
确定模块,用于根据所述待检测图像的第一特征向量和所述第一生成图像的第二特征向量、以及所述待检测图像的像素值和所述第一生成图像的像素值,确定所述待检测图像是否为缺陷图像。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210903749.1A CN115239672A (zh) | 2022-07-28 | 2022-07-28 | 缺陷检测方法及装置、设备、存储介质 |
PCT/CN2022/140929 WO2024021461A1 (zh) | 2022-07-28 | 2022-12-22 | 缺陷检测方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210903749.1A CN115239672A (zh) | 2022-07-28 | 2022-07-28 | 缺陷检测方法及装置、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115239672A true CN115239672A (zh) | 2022-10-25 |
Family
ID=83678270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210903749.1A Pending CN115239672A (zh) | 2022-07-28 | 2022-07-28 | 缺陷检测方法及装置、设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115239672A (zh) |
WO (1) | WO2024021461A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117408967A (zh) * | 2023-10-24 | 2024-01-16 | 欧派家居集团股份有限公司 | 基于3d视觉识别的板材缺陷检测方法及系统 |
WO2024021461A1 (zh) * | 2022-07-28 | 2024-02-01 | 上海闻泰信息技术有限公司 | 缺陷检测方法及装置、设备、存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10832399B2 (en) * | 2018-10-23 | 2020-11-10 | International Business Machines Corporation | Detection for abnormal connectivity on a product |
CN109949305B (zh) * | 2019-03-29 | 2021-09-28 | 北京百度网讯科技有限公司 | 产品表面缺陷检测方法、装置及计算机设备 |
CN110880175B (zh) * | 2019-11-15 | 2023-05-05 | 广东工业大学 | 一种焊点缺陷检测方法、系统以及设备 |
CN112837295A (zh) * | 2021-02-01 | 2021-05-25 | 北京工业大学 | 一种基于生成对抗网络的橡胶手套缺陷检测方法 |
CN113920053A (zh) * | 2021-07-22 | 2022-01-11 | 杭州深想科技有限公司 | 基于深度学习的瑕疵检测方法、计算设备和存储介质 |
CN115239672A (zh) * | 2022-07-28 | 2022-10-25 | 上海闻泰信息技术有限公司 | 缺陷检测方法及装置、设备、存储介质 |
-
2022
- 2022-07-28 CN CN202210903749.1A patent/CN115239672A/zh active Pending
- 2022-12-22 WO PCT/CN2022/140929 patent/WO2024021461A1/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024021461A1 (zh) * | 2022-07-28 | 2024-02-01 | 上海闻泰信息技术有限公司 | 缺陷检测方法及装置、设备、存储介质 |
CN117408967A (zh) * | 2023-10-24 | 2024-01-16 | 欧派家居集团股份有限公司 | 基于3d视觉识别的板材缺陷检测方法及系统 |
CN117408967B (zh) * | 2023-10-24 | 2024-03-19 | 欧派家居集团股份有限公司 | 基于3d视觉识别的板材缺陷检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2024021461A1 (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109584248B (zh) | 基于特征融合和稠密连接网络的红外面目标实例分割方法 | |
CN110443143B (zh) | 多分支卷积神经网络融合的遥感图像场景分类方法 | |
CN110490212A (zh) | 钼靶影像处理设备、方法和装置 | |
CN115239672A (zh) | 缺陷检测方法及装置、设备、存储介质 | |
CN111160249A (zh) | 基于跨尺度特征融合的光学遥感图像多类目标检测方法 | |
CN114663346A (zh) | 一种基于改进YOLOv5网络的带钢表面缺陷检测方法 | |
CN115294117B (zh) | Led灯珠的缺陷检测方法及相关装置 | |
CN112884782B (zh) | 生物对象分割方法、装置、计算机设备和存储介质 | |
CN114841972A (zh) | 基于显著性图和语义嵌入特征金字塔的输电线路缺陷识别方法 | |
CN112836625A (zh) | 人脸活体检测方法、装置、电子设备 | |
CN114266894A (zh) | 一种图像分割方法、装置、电子设备及存储介质 | |
CN115439694A (zh) | 一种基于深度学习的高精度点云补全方法及装置 | |
CN115830004A (zh) | 表面缺陷检测方法、装置、计算机设备和存储介质 | |
CN111598854A (zh) | 基于丰富鲁棒卷积特征模型的复杂纹理小缺陷的分割方法 | |
CN113762265B (zh) | 肺炎的分类分割方法及系统 | |
CN114119532A (zh) | 一种基于遥感影像与孪生神经网络的建筑物变化检测方法 | |
CN111274964A (zh) | 一种基于无人机视觉显著性分析水面污染物的检测方法 | |
CN113887472A (zh) | 基于级联颜色及纹理特征注意力的遥感图像云检测方法 | |
CN112348762A (zh) | 一种基于多尺度融合生成对抗网络的单幅图像去雨方法 | |
CN110889418A (zh) | 一种气体轮廓识别方法 | |
CN112507327B (zh) | 一种基于机器学习的晴雨检测与处理方法 | |
CN115620083A (zh) | 模型训练方法、人脸图像质量评价方法、设备及介质 | |
CN113313678A (zh) | 一种基于多尺度特征融合的精子形态学自动分析方法 | |
CN117593301B (zh) | 基于机器视觉的内存条损伤快速检测方法及系统 | |
CN116485802B (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 |