CN117314863A - 缺陷输出方法、装置、设备及存储介质 - Google Patents
缺陷输出方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117314863A CN117314863A CN202311279804.5A CN202311279804A CN117314863A CN 117314863 A CN117314863 A CN 117314863A CN 202311279804 A CN202311279804 A CN 202311279804A CN 117314863 A CN117314863 A CN 117314863A
- Authority
- CN
- China
- Prior art keywords
- defect
- sample
- clustering
- anchor
- model
- 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 302
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000001514 detection method Methods 0.000 claims abstract description 115
- 238000013136 deep learning model Methods 0.000 claims description 57
- 230000006870 function Effects 0.000 claims description 38
- 238000009792 diffusion process Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 16
- 238000002372 labelling Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 4
- 230000002950 deficient Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000006059 cover glass Substances 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- 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]
Abstract
本发明公开了一种缺陷输出方法、装置、设备及存储介质,所述方法包括:获取目标缺陷图片;将所述目标缺陷图片输入至缺陷检测模型中;通过所述缺陷检测模型输出所述目标缺陷图片中缺陷的位置及缺陷类别,其中,所述缺陷的位置和所述缺陷类别通过所述缺陷检测模型的锚框确定,所述缺陷类别为预设的至少一个缺陷类别中的一个。利用本发明公开的方法,可以解决现有技术中的缺陷检测方式对缺陷的检测覆盖范围较小的问题。
Description
技术领域
本发明涉及缺陷检测技术领域,具体涉及一种缺陷输出方法、装置、设备及存储介质。
背景技术
传统缺陷检测技术如自动光学检测通过结合电子影像以及算法对电子影像判断输出缺陷的检测结果。
但是自动光学检测的检测覆盖范围较小,检测目标大多数只能是明显缺陷,余下缺陷只能人工检测,且检测标准容易因人而异;另外,算法的可移植能力差,针对不同产品需要重新调试算法进行缺陷的检测,此外,自动光学检测设备的维护成本高,无法应对突发的新缺陷。
近年来深度学习领域不断发展,利用深度学习检测模型对缺陷进行检测时无需人工参与,并且深度学习模型针对不同产品只需输入多种产品的样本进行训练即可,不必针对不同产品重新调试检测算法,因此深度学习检测模型可以很大程度上提高产品缺陷检测效率,但是利用深度学习检测模型通过锚框进行缺陷检测时,基于锚框的边框回归公式,锚框只能预测四倍锚框大小范围内的目标,从而使得超过四倍锚框大小范围内的目标无法被预测到。
综上所述,现有技术中亟需一种可以对缺陷检测的覆盖范围较大的缺陷检测方式。
发明内容
本发明提供一种缺陷输出方法、装置、设备及存储介质,用以解决现有技术中的缺陷检测方式对缺陷的检测覆盖范围较小的问题。
为了解决上述技术问题,第一方面,本发明提供一种缺陷输出方法,该方法包括:获取目标缺陷图片;
将所述目标缺陷图片输入至缺陷检测模型中;
通过所述缺陷检测模型输出所述目标缺陷图片中缺陷的位置及缺陷类别,其中,所述缺陷的位置和所述缺陷类别通过所述缺陷检测模型的锚框确定,所述缺陷类别为预设的至少一个缺陷类别中的一个;
其中,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,所述锚框聚类算法的聚类次数为使得所述锚框能够预测所有所述样本点或者聚类得到的锚框数量达到预设数量的最少次数,所述样本数据用于训练得到所述缺陷检测模型,所述样本点为所述样本数据包括的样本缺陷。
可选地,在所述将所述目标缺陷图片输入至缺陷检测模型中之前,还包括:
将样本数据输入至预设的深度学习模型中进行训练,其中,所述样本数据为预设的样本缺陷图片,所述样本缺陷图片中通过标注框标注有缺陷的缺陷位置和缺陷类别;
更新所述深度学习模型的权重,直至所述深度学习模型的损失函数输出最小值,其中,所述损失函数为所述深度学习模型输出的锚框与所述标注框之间的损失函数;
确定使得所述损失函数输出最小值的目标权重;
将所述目标权重对应的所述深度学习模型确定为缺陷检测模型。
可选地,所述将样本数据输入至预设的深度学习模型中进行训练,包括:
通过预设的深度学习模型中的特征提取器的不同层提取样本缺陷图片不同尺度的特征,得到所述样本缺陷图片对应的所有尺度的特征图,其中,所述特征提取器的每层对应提取所述样本缺陷图片中一种尺度的特征;
针对每个尺度的特征图,通过锚框确定所述特征图中缺陷的位置和缺陷类别。
可选地,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,包括:
对样本数据中的样本点通过锚框聚类算法进行聚类,得到K/N个锚框,其中,所述K为预设的所有所述锚框的数量,所述N为所述特征提取器的层数;
循环第一聚类过程,直至所有的样本点能够被所述第一聚类过程得到的锚框预测或者聚类得到的锚框数量达到预设数量;
其中,所述第一聚类过程为:
确定当前聚类得到的所有锚框能够预测得到的第一样本点;
将第二样本点通过所述锚框聚类算法聚类为K/N个锚框,其中,所述第一样本点与所述第二样本点的总和为所有所述样本点。
可选地,在所述将样本数据输入至预设的深度学习模型中进行训练之前,还包括:
将预设的缺陷图片和预设条件输入预设的扩散模型,得到样本数据,其中,所述预设条件用于引导所述扩散模型生成样本数据。
可选地,所述扩散模型为Stable diffusion模型。
可选地,所述更新所述深度学习模型的权重,直至所述深度学习模型的损失函数输出最小值,包括:
通过反向传播算法,根据所述深度学习模型的损失函数的梯度更新所述深度学习模型的权重,直至所述损失函数输出最小值。
第二方面,本发明提供一种缺陷输出装置,该装置包括:获取模块,用于获取目标缺陷图片;
输入模块,用于将所述目标缺陷图片输入至缺陷检测模型中;
输出模块,用于通过所述缺陷检测模型输出所述目标缺陷图片中缺陷的位置及缺陷类别,其中,所述缺陷的位置和所述缺陷类别通过所述缺陷检测模型的锚框确定,所述缺陷类别为预设的至少一个缺陷类别中的一个;
其中,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,所述锚框聚类算法的聚类次数为使得所述锚框能够预测所有所述样本点或者聚类得到的锚框数量达到预设数量的最少次数,所述样本数据用于训练得到所述缺陷检测模型,所述样本点为所述样本数据包括的样本缺陷。
第三方面,本发明提供一种缺陷输出设备,包括存储器和处理器,其中:
所述存储器用于存储计算机程序;
所述处理器用于读取所述存储器中的程序并执行如上述第一方面提供的一种缺陷输出方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有可读的计算机程序,该程序被处理器执行时实现如上述第一方面提供的缺陷输出方法的步骤。
与现有技术相比,本发明提供的一种缺陷输出方法,具有以下有益效果:
通过多次聚类得到锚框,并且在锚框数量没有达到预设数量时,聚类得到锚框的聚类次数需要尽可能使得当前的锚框可以预测足够多的样本点,从而可以使得锚框能够预测的缺陷足够多,进而可以解决现有技术中的缺陷检测方式对缺陷的检测覆盖范围较小的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一部分实施例,而不是全部的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,根据这些附图获得的其他的附图,都属于本申请保护的范围。
图1是本申请实施例提供的一种缺陷输出方法的流程图;
图2是本申请实施例提供的另一种缺陷输出方法的流程图;
图3是本申请实施例提供的又一种缺陷输出方法的流程图;
图4为本申请实施例提供的一种扩散模型的一个输出图像;
图5为本申请实施例提供的一种扩散模型的又一个输出图像;
图6为本申请实施例提供的缺陷检测模型输出的一种缺陷检测结果图;
图7为本申请实施例提供的缺陷检测模型输出的又一种缺陷检测结果图;
图8是本申请实施例提供的一种缺陷输出装置的结构示意图;
图9是本申请实施例提供的一种缺陷输出设备的结构示意图;
图10是本申请实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了使本揭示内容的叙述更加详尽与完备,下文针对本发明的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本发明具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的方法步骤与其顺序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
在本发明实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个,其它量词与之类似应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
实施例1
如图1所述,为本发明实施例提供的一种缺陷输出方法的流程图,包括以下步骤。
步骤S102,获取目标缺陷图片。
具体地,本步骤中的目标缺陷图片可以是含有缺陷图像的图片,此处的缺陷图像可以根据本实施例应用的具体工业场景进行确定,例如,本实施例可以应用于移动终端领域,对应的该领域的缺陷图像可以为移动终端设备的缺陷图像。
进一步具体地,该缺陷图像可以通过任意可以实现的方式获得,例如通过对缺陷处拍照进行获得,也可以是对缺陷处摄影获取视频,通过视频取帧以获取缺陷图像,例如此处可以通过自动光学检测设备获取缺陷图像。
步骤S103,将所述目标缺陷图片输入至缺陷检测模型中。
具体地,本步骤中的缺陷检测模型可以是任意能够用于缺陷检测的模型,例如该缺陷检测模型可以是用于进行目标检测的YOLO系列模型,也可以是用于目标检测的基于区域的神经卷积网络(Region-based Convolutional Network,R-CNN)系列模型,还可以是用于目标检测的单次多边框检测(Single Shot MultiBox Detector,SSD)模型等。
步骤S104,通过所述缺陷检测模型输出所述目标缺陷图片中缺陷的位置及缺陷类别。
其中,所述缺陷的位置和所述缺陷类别通过所述缺陷检测模型的锚框确定,所述缺陷类别为预设的至少一个缺陷类别中的一个;
其中,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,所述锚框聚类算法的聚类次数为使得所述锚框能够预测所有所述样本点或者聚类得到的锚框数量达到预设数量的最少次数,所述样本数据用于训练得到所述缺陷检测模型,所述样本点为所述样本数据包括的样本缺陷。
具体地,缺陷检测模型在输入目标缺陷图片后,可以输出锚框,该锚框附带有目标缺陷图片中的缺陷在目标缺陷图片中的位置以及该缺陷所对应的缺陷类别。
进一步具体地,锚框表示缺陷在目标缺陷图片中的位置的方式可以是任意能够表示缺陷位置的表示方式,例如,可以将目标缺陷图片放置在预设的坐标系中,进而确定缺陷在该预设的坐标系中的坐标,将该坐标作为缺陷在目标缺陷图片中的位置表示。作为一个具体的示例,例如,锚框输出的用于表示缺陷图像位置的表示方式为输出缺陷图像的左上角坐标、缺陷图像的高以及缺陷图像的宽。
具体地,预设的缺陷类别可以根据本实施例应用的场景在应用时由相关领域的技术人员进行具体设置,例如,当本实施例应用于移动终端领域时,预设的缺陷类别可以是盖板玻璃缺陷、电池缺陷、金属部件缺陷以及摄像头模组缺陷等。
具体地,锚框聚类算法可以是任意能够对锚框进行聚类的算法,例如OPTICS聚类算法、HDBSCAN聚类算法以及k-means及其衍生算法等。
具体地,缺陷检测模型中的锚框的预设数量可以由相关领域的技术人员根据需要进行具体设置。
可以理解地是,由于本步骤需要通过对样本点进行聚类得到锚框,样本点可以携带能够表征其位置信息和/或形状信息的信息,以便于生成锚框。例如,样本点可以携带样本点的宽、高以及中心点坐标,也可以携带样本点的各顶点坐标等。可以理解地是,通过聚类得到的样本点的位置信息和/或形状信息,可以生成与该样本点对应的锚框。
可以理解地是,通常样本数据的数量较多,若只对样本数据的样本点通过一次锚框聚类算法进行聚类得到锚框,得到的锚框数量一般较少,而锚框对样本点的检测范围有限,会使得距离锚框较远的样本点无法被锚框检测到,进而使得锚框无法检测输出所有样本点对应的缺陷的位置及缺陷类别;虽然也可以一次性聚类获得数量较多的锚框对样本点进行检测,但是这相较于通过多次锚框聚类算法逐渐增加锚框数量的方式而言,会大大增加锚框的数量,从而使得算法模型过于冗余,拖慢缺陷检测模型的工作效率。因此,采用本实施例的技术方案,可以减少图像缺陷漏检的情况,还可以有效提高缺陷检测模型的工作效率。
在一种可选的实现方式中,如图2所示为本发明实施例提供的另一种缺陷输出方法的流程图,在步骤S102之前,还包括:
步骤S1012,将样本数据输入至预设的深度学习模型中进行训练;
其中,所述样本数据为预设的样本缺陷图片,所述样本缺陷图片中通过标注框标注有缺陷的缺陷位置和缺陷类别;
步骤S1013,更新所述深度学习模型的权重,直至所述深度学习模型的损失函数输出最小值;
其中,所述损失函数为所述深度学习模型输出的锚框与所述标注框之间的损失函数;
步骤S1014,确定使得所述损失函数输出最小值的目标权重;
步骤S1015,将所述目标权重对应的所述深度学习模型确定为缺陷检测模型。
需要说明地是,对缺陷进行标注的方式可以是任意能够进行图像标注的方式,例如可以通过CVAT、VOTT或者labelimg等图像标注工具进行标注。
具体地,本步骤中的深度学习模型可以是用于目标检测的深度学习模型,例如YOLO系列的模型以及RCNN深度学习模型等。
需要说明地是,本步骤中缺陷位置以及缺陷类别的设置可以参考步骤S104,此处不再进行赘述。
具体地,本步骤中的损失函数可以包括分类损失、边框损失以及置信度损失等,为了保证深度学习模型输出的损失函数的值最小,可以不断对深度模型的权重进行试探更改,直至达到目的。
可选地,对于确定目标权重的深度学习模型,可以将对应权重为目标权重的深度模型嵌入工厂的设备中,进一步向该设备中输入具有缺陷的产品,通过输出的缺陷检测结果确定该目标权重对应的深度学习模型的可靠性,若该目标权重对应的深度学习模型的可靠性较高,可以将该深度学习模型作为最终投入使用的缺陷检测模型,若该目标权重对应的深度学习模型的可靠性较低,则进一步优化更新深度学习模型的权重,重新对深度学习模型进行训练,直至深度学习模型达到可靠性要求。
可以理解地是,通过本实现方式对深度学习模型进行训练,得到缺陷检测模型,可以得到可靠性较高的缺陷检测模型,从而实现缺陷检测的自动化。
在一种可选的实现方式中,步骤S1012包括:
通过预设的深度学习模型中的特征提取器的不同层提取样本缺陷图片不同尺度的特征,得到所述样本缺陷图片对应的所有尺度的特征图,其中,所述特征提取器的每层对应提取所述样本缺陷图片一种尺度的特征;
针对每个尺度的特征图,通过锚框确定所述特征图中缺陷的位置和缺陷类别。
可以理解地是,本实现方式中不同尺度的特征图代表着不同尺度大小的特征图。
需要说明地是,深度学习模型还可以包括检测头部,该检测头部用于输入特征提取器输出的不同尺度的特征表示,进而对不同尺度的特征表示,通过锚框输出不同尺度的特征表示中的缺陷位置及缺陷类型。
具体地,本实现方式中的特征提取器可以是任意能够提取不同尺度特征的特征提取器,例如循环神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional Network,CNN)以及Transformer。在此基础上可以理解地是,特征提取器用于输出不同尺度特征的层需要分别设置输出通道,用以输出不同尺度的特征,每层输出通道的数量可以根据应用时的具体需要进行设置。
可以理解地是,通过对不同尺度的特征分别进行提取,可以使得所提取到的特征兼顾输入的样本数据中不同尺度的特征,从而可以避免通过小尺度提取大图像特征使得图像特征无法被提取完全的问题,还可以避免通过大尺度提取小图像特征使得图像的细节特征无法被提取的问题。
在一种可选的实现方式中,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,包括:
对样本数据中的样本点通过锚框聚类算法进行聚类,得到K/N个锚框,其中,所述K为预设的所有所述锚框的数量,所述N为所述特征提取器的层数;
循环第一聚类过程,直至所有的样本点能够被所述第一聚类过程得到的锚框预测或者聚类得到的锚框数量达到预设数量;
其中,所述第一聚类过程为:
确定当前聚类得到的所有锚框能够预测得到的第一样本点;
将第二样本点通过所述锚框聚类算法聚类为K/N个锚框,其中,所述第一样本点与所述第二样本点的总和为所有所述样本点。
具体地,K的值可以在应用时根据具体需要进行设置,可以理解地是K需要为N的整数倍。
具体地,锚框聚类算法可以为任意能够将样本点聚类为锚框的算法,例如锚框聚类算法可以是K-means算法,K-means算法对锚框进行聚类的具体过程为:第一步,对样本点进行聚类,得到初始化的k个簇中心作为锚框;第二步,使用相似性度量(例如欧式距离),将各样本点分配给与其距离最近的簇中心;第三步,计算每个簇中样本点的均值(即距离该簇中每个样本点最近的一个样本点),将该样本点均值更新为该簇的簇中心,循环第二步及第三步,直至每个簇的簇中心不再变化,或者循环次数达到了预设的最大循环次数。
需要说明地是,锚框的预测范围是有限制的,例如,锚框的预测范围为锚框本身面积的四倍,所以可以理解地是根据所确定出的锚框以及所有的样本点可以确定出当前锚框无法预测的样本点。
作为一个具体的实例,假设K的值为9,N的值为3,本实现方式中聚类得到锚框的过程可以如下所示:第一步,通过K-means算法对所有样本点进行聚类,得到初始化的K/3个锚框;第二步,保留第一步的K/3个锚框,确定无法被这K/3个锚框预测的剩余样本点;第三步,对第二步的剩余样本点通过K-means算法进行聚类,再得到K/3个锚框;第四步,保留当前得到的2K/3个锚框,确定无法被这2K/3个锚框预测的剩余样本点(若无剩余样本点,则停止对锚框的聚类);第五步,对第四步的剩余样本点通过K-means算法进行聚类,再得到K/3个锚框,最终得到K个锚框。
可以理解地是,K为特征提取器的层数M的倍数,可以使得得到的K个锚框可以均分至特征提取器的不同层,从而使得锚框对不同尺度的特征图的缺陷检测能力均匀分布,提高了缺陷检测模型对不同尺度的特征图的缺陷检测能力。而多次均匀对样本点进行聚类得到锚框,可以使得聚类得到的锚框在整个缺陷检测模型中分布更均匀,对与其接近的样本点的缺陷检测的可靠性更高。
在一种可选的实现方式中,如图3所示为本发明实施例提供的又一种缺陷输出方法的流程图,在步骤S1012之前,还包括:
步骤S1011,将预设的缺陷图片和预设条件输入预设的扩散模型,得到样本数据。
其中,所述预设条件用于引导所述扩散模型生成样本数据。
具体地,本实现方式中扩散模型可以是任意用于生成图像的扩散模型,例如Stability AI、OpenAI以及Google Brain等。
可以理解地是,输入扩散模型的缺陷图像可以是用于生成扩散模型所输出的各种图像的初始图像,扩散模型通过所输入的预设条件对初始图像进行加噪或者减噪操作,进而得到用户需要的图像,进而通过扩散模型可以有效扩充样本数据库。例如,本实现方式中的预设条件可以是生成与输入的预设的缺陷图片同类型的缺陷图片,其中同类型的缺陷图片可以是同一部件的缺陷图片,或者是生成同一缺陷类型的缺陷图片等。
可选地,在通过扩散模型扩充样本数据库的基础上,可以对样本数据进一步进行数据增强处理,增加数据的种类。此处对数据所做的增强处理可以是任意图像增强处理的方式,例如可以是对数据进行平移处理、翻转处理或者Mosaic数据增强处理等。
可以理解地是,通过对样本数据通过扩散模型进行扩充,可以有效增加样本数据的数量,从而使得基于大量样本数据训练得到的缺陷检测模型可靠性更高。
在一种可选的实现方式中,所述扩散模型为Stablediffusion模型。
具体地,Stablediffusion模型是一种在潜在空间扩散的模型,该模型首先将图像压缩至潜空间,对比原像素空间,潜空间像素小了48倍,Stablediffusion模型通过变分自编码器实现图像潜空间压缩,变分自编码器包括编码器和解码器,编码器用于将图像压缩为潜在空间的低维表示,解码器用于从潜在空间中将压缩的图像还原为原像素的图像。进一步可以理解地是,Stablediffusion模型生成图像的工作步骤为:第一步,将输入的图像编码为潜在空间的潜在图像;第二步,通过降噪强度控制向潜在图像中添加的噪声量生成潜在噪声图像;第三步,噪声预测器将潜在噪声图像和预设条件作为输入,预测潜在空间中需要去除的噪声;第四步,从潜在噪声图像中减去噪声,生成新的潜在图像;第五步,通过解码器将新的潜在图像转换为原像素,生成最终的图像。需要说明地是,噪声预测器为经过训练后,用于输入潜在噪声图像和预设条件,去除潜在噪声图像中不满足预设条件的噪声,进而输出满足预设条件的图像的神经网络模型。
可以理解地是,由于Stablediffusion模型将图像压缩至潜在空间中进行工作,所以Stablediffusion模型在输入样本数据时,不但能扩充样本数据,还能有效减少扩充样本数据所用的时间。
在一种可选的实现方式中,所述更新所述深度学习模型的权重,直至所述深度学习模型的损失函数输出最小值,包括:
通过反向传播算法,根据所述深度学习模型的损失函数的梯度更新所述深度学习模型的权重,直至所述损失函数输出最小值。
需要说明地是,反向传播算法由激励传播过程和权重更新过程循环迭代构成;其中,激励传播过程包括前向传播阶段和反向传播阶段,前向传播阶段根据训练数据和权重参数确定对应的输出的损失函数的输出值,反向传播阶段通过导数链式法则计算损失函数对权重参数的梯度,进而权重更新过程根据梯度进行权重参数的更新。不断循环激励传播过程以及权重更新过程,使得基于某权重得到的深度模型输出的损失函数输出最小值,且该最小值保持稳定。
可以理解地是,使得深度学习模型的损失函数输出最小值,可以使得该深度学习模型进行缺陷检测时的可靠性更高,预测缺陷能力更强。
作为一个具体的示例,本发明实施例提供的一种缺陷输出方法包括以下步骤。
步骤S201,将预设的缺陷图片和预设条件输入预设的扩散模型,得到样本数据。其中,所述预设条件用于引导所述扩散模型生成所述样本数据。
步骤S202,将样本数据输入至预设的深度学习模型中进行训练,其中,所述样本数据为预设的样本缺陷图片,所述样本缺陷图片中通过标注框标注有缺陷的缺陷位置和缺陷类别;
步骤S203,更新所述深度学习模型的权重,直至所述深度学习模型的损失函数输出最小值,其中,所述损失函数为所述深度学习模型输出的锚框与所述标注框之间的损失函数;
步骤S204,确定使得所述损失函数输出最小值的目标权重;
将所述目标权重对应的所述深度学习模型确定为缺陷检测模型
步骤S205,获取目标缺陷图片;
步骤S206,将所述目标缺陷图片输入至缺陷检测模型中;
步骤S207,通过所述缺陷检测模型输出所述目标缺陷图片中缺陷的位置及缺陷类别,其中,所述缺陷的位置和所述缺陷类别通过所述缺陷检测模型的锚框确定,所述缺陷类别为预设的至少一个缺陷类别中的一个;
其中,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,所述锚框聚类算法的聚类次数为使得所述锚框能够预测所有所述样本点或者聚类得到的锚框数量达到预设数量的最少次数,所述样本数据用于训练得到所述缺陷检测模型,所述样本点为所述样本数据包括的样本缺陷。
需要说明地是,通过执行步骤S201至步骤S207得到表1中第3列所示的检测结果,此时的锚框并不是对样本点通过锚框聚类算法聚类得到的,如图4和图5为将图像输入扩散模型得到的图像;
需要说明地是,通过执行步骤S202至步骤S207,可以得到表1中第4列所示的检测结果,此时的锚框是对样本点通过锚框聚类算法聚类得到的;
需要说明地是,执行全部步骤,可以得到表1中第5列所示的检测结果。如图6和图7所示为输入两个目标缺陷图片所输出的缺陷检测结果。
表1
需要说明地是,模型未进行优化时:投入多尺度缺陷产品60片,检出39片,检出率为65.00%;投入没有缺陷的产品即良品720片,误检7片,误检率0.97%。
扩散模型优化后:投入多尺度缺陷产品60片,检出46片,检出率为76.66%;投入没有缺陷的产品即良品720片,误检9片,误检率1.25%。
锚框生成算法优化后:投入多尺度缺陷产品60片,检出47片,检出率为78.33%;投入没有缺陷的产品即良品720片,误检9片,误检率1.25%。
整体优化后:投入多尺度缺陷产品60片,检出52片,检出率为86.66%;投入没有缺陷的产品即良品720片,误检13片,误检率1.80%。
由实验结果可得到,所提出的针对多尺度的扩散模型与锚框生成算法优化有效,在降低漏检率上都有良好的表现。
实施例2
基于上述缺陷输出方法,本发明实施例提供缺陷输出装置,如图8所示,该装置包括获取模块810、输入模块820以及输出模块830。
获取模块810,用于获取目标缺陷图片;
输入模块820,用于将所述目标缺陷图片输入至缺陷检测模型中;
输出模块830,用于通过所述缺陷检测模型输出所述目标缺陷图片中缺陷的位置及缺陷类别,其中,所述缺陷的位置和所述缺陷类别通过所述缺陷检测模型的锚框确定,所述缺陷类别为预设的至少一个缺陷类别中的一个;
其中,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,所述锚框聚类算法的聚类次数为使得所述锚框能够预测所有所述样本点或者聚类得到的锚框数量达到预设数量的最少次数,所述样本数据用于训练得到所述缺陷检测模型,所述样本点为所述样本数据包括的样本缺陷。
基于上述缺陷输出方法,如图9所示,本发明实施例还提供了一种缺陷输出设备的结构示意图,该识别设备包括处理器91和与该处理器91耦合的存储器92。存储器92存储有计算机程序,计算机程序被处理器91执行时,使得处理器91执行上述实施例中的缺陷输出方法的步骤。
关于上述缺陷输出设备中处理器91实现上述技术方案的其他细节,可参见上述发明实施例中提供的缺陷输出方法中的描述,此处不再赘述。
其中,处理器91还可以称为CPU(CentralProcessingUnit,中央处理单元),处理器91可能是一种集成电路芯片,具有信号的处理能力;处理器91还可以是通用处理器、DSP(Digital Signal Process,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field Programmable Gata Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,其中通用处理器可以是微处理器或者该处理器91也可以是任何常规的处理器等。
如图10所示,本发明实施例还提供了一种计算机可读存储介质的结构示意图,该存储介质上存储有可读的计算机程序101;其中,该计算机程序101可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、磁碟或者光盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种缺陷输出方法,其特征在于,包括:
获取目标缺陷图片;
将所述目标缺陷图片输入至缺陷检测模型中;
通过所述缺陷检测模型输出所述目标缺陷图片中缺陷的位置及缺陷类别,其中,所述缺陷的位置和所述缺陷类别通过所述缺陷检测模型的锚框确定,所述缺陷类别为预设的至少一个缺陷类别中的一个;
其中,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,所述锚框聚类算法的聚类次数为使得所述锚框能够预测所有所述样本点或者聚类得到的锚框数量达到预设数量的最少次数,所述样本数据用于训练得到所述缺陷检测模型,所述样本点为所述样本数据包括的样本缺陷。
2.根据权利要求1所述的缺陷输出方法,其特征在于,在所述将所述目标缺陷图片输入至缺陷检测模型中之前,还包括:
将样本数据输入至预设的深度学习模型中进行训练,其中,所述样本数据为预设的样本缺陷图片,所述样本缺陷图片中通过标注框标注有缺陷的缺陷位置和缺陷类别;
更新所述深度学习模型的权重,直至所述深度学习模型的损失函数输出最小值,其中,所述损失函数为所述深度学习模型输出的锚框与所述标注框之间的损失函数;
确定使得所述损失函数输出最小值的目标权重;
将所述目标权重对应的所述深度学习模型确定为缺陷检测模型。
3.根据权利要求2所述的缺陷输出方法,其特征在于,所述将样本数据输入至预设的深度学习模型中进行训练,包括:
通过预设的深度学习模型中的特征提取器的不同层提取样本缺陷图片不同尺度的特征,得到所述样本缺陷图片对应的所有尺度的特征图,其中,所述特征提取器的每层对应提取所述样本缺陷图片一种尺度的特征;
针对每个尺度的特征图,通过锚框确定所述特征图中缺陷的位置和缺陷类别。
4.根据权利要求3所述的缺陷输出方法,其特征在于,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,包括:
对样本数据中的样本点通过锚框聚类算法进行聚类,得到K/N个锚框,其中,所述K为预设的所有所述锚框的数量,所述N为所述特征提取器的层数;
循环第一聚类过程,直至所有的样本点能够被所述第一聚类过程得到的锚框预测或者聚类得到的锚框数量达到预设数量;
其中,所述第一聚类过程为:
确定当前聚类得到的所有锚框能够预测得到的第一样本点;
将第二样本点通过所述锚框聚类算法聚类为K/N个锚框,其中,所述第一样本点与所述第二样本点的总和为所有所述样本点。
5.根据权利要求2所述的缺陷输出方法,其特征在于,在所述将样本数据输入至预设的深度学习模型中进行训练之前,还包括:
将预设的缺陷图片和预设条件输入预设的扩散模型,得到样本数据,其中,所述预设条件用于引导所述扩散模型生成所述样本数据。
6.根据权利要求5所述的缺陷输出方法,其特征在于,所述扩散模型为Stablediffusion模型。
7.根据权利要求2所述的缺陷输出方法,其特征在于,所述更新所述深度学习模型的权重,直至所述深度学习模型的损失函数输出最小值,包括:
通过反向传播算法,根据所述深度学习模型的损失函数的梯度更新所述深度学习模型的权重,直至所述损失函数输出最小值。
8.一种缺陷输出装置,其特征在于,包括:
获取模块,用于获取目标缺陷图片;
输入模块,用于将所述目标缺陷图片输入至缺陷检测模型中;
输出模块,用于通过所述缺陷检测模型输出所述目标缺陷图片中缺陷的位置及缺陷类别,其中,所述缺陷的位置和所述缺陷类别通过所述缺陷检测模型的锚框确定,所述缺陷类别为预设的至少一个缺陷类别中的一个;
其中,所述缺陷检测模型的锚框为对样本数据中的样本点通过锚框聚类算法聚类至少两次得到的,所述锚框聚类算法的聚类次数为使得所述锚框能够预测所有所述样本点或者聚类得到的锚框数量达到预设数量的最少次数,所述样本数据用于训练得到所述缺陷检测模型,所述样本点为所述样本数据包括的样本缺陷。
9.一种缺陷输出设备,其特征在于,包括存储器和处理器,其中:
所述存储器用于存储计算机程序;
所述处理器用于读取所述存储器中的计算机程序,并执行如权利要求1~7所述的任一缺陷输出方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有可读的计算机程序,该程序被处理器执行时实现如权利要求1~7所述的任一缺陷输出方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279804.5A CN117314863A (zh) | 2023-09-27 | 2023-09-27 | 缺陷输出方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279804.5A CN117314863A (zh) | 2023-09-27 | 2023-09-27 | 缺陷输出方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117314863A true CN117314863A (zh) | 2023-12-29 |
Family
ID=89249486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311279804.5A Pending CN117314863A (zh) | 2023-09-27 | 2023-09-27 | 缺陷输出方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117314863A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117649351A (zh) * | 2024-01-30 | 2024-03-05 | 武汉大学 | 一种基于扩散模型的工业缺陷图像仿真方法及装置 |
-
2023
- 2023-09-27 CN CN202311279804.5A patent/CN117314863A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117649351A (zh) * | 2024-01-30 | 2024-03-05 | 武汉大学 | 一种基于扩散模型的工业缺陷图像仿真方法及装置 |
CN117649351B (zh) * | 2024-01-30 | 2024-04-19 | 武汉大学 | 一种基于扩散模型的工业缺陷图像仿真方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11341626B2 (en) | Method and apparatus for outputting information | |
CN109145828B (zh) | 用于生成视频类别检测模型的方法和装置 | |
JP2020533654A (ja) | ホログラフィック偽造防止コードの検査方法及び装置 | |
CN110910445B (zh) | 一种物件尺寸检测方法、装置、检测设备及存储介质 | |
WO2021248269A1 (zh) | 一种变电设备高精度识别方法及系统 | |
CN117314863A (zh) | 缺陷输出方法、装置、设备及存储介质 | |
CN116805387B (zh) | 基于知识蒸馏的模型训练方法、质检方法和相关设备 | |
CN117237681A (zh) | 图像处理方法、装置及相关设备 | |
KR20160035104A (ko) | 오브젝트 검출 방법 및 오브젝트 검출 장치 | |
CN116958512A (zh) | 目标检测方法、装置、计算机可读介质及电子设备 | |
CN114494824B (zh) | 用于全景图像的目标检测方法、装置、设备及存储介质 | |
CN110827194A (zh) | 图像处理的方法、装置及计算机存储介质 | |
CN111027376A (zh) | 一种确定事件图谱的方法、装置、电子设备及存储介质 | |
CN113139540B (zh) | 背板检测方法及设备 | |
CN115311396A (zh) | 一种超高建筑物屋顶轮廓线的自动提取方法及系统 | |
CN110705633B (zh) | 目标物检测、目标物检测模型的建立方法及装置 | |
CN114298992A (zh) | 一种视频帧去重方法、装置、电子设备及存储介质 | |
CN114694257A (zh) | 多人实时三维动作识别评估方法、装置、设备及介质 | |
CN114240928A (zh) | 板卡质量的分区检测方法、装置、设备及可读存储介质 | |
CN113420809A (zh) | 视频质量评价方法、装置和电子设备 | |
CN108875770B (zh) | 行人检测误报数据的标注方法、装置、系统和存储介质 | |
JP6175904B2 (ja) | 照合対象抽出システム、照合対象抽出方法、照合対象抽出プログラム | |
CN117474836A (zh) | 形变缺陷的检测方法及装置 | |
CN111124862A (zh) | 智能设备性能测试方法、装置及智能设备 | |
CN117456291B (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 |