CN115661140A - 缺陷检测方法、装置、计算机设备及计算机可读存储介质 - Google Patents
缺陷检测方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115661140A CN115661140A CN202211594938.1A CN202211594938A CN115661140A CN 115661140 A CN115661140 A CN 115661140A CN 202211594938 A CN202211594938 A CN 202211594938A CN 115661140 A CN115661140 A CN 115661140A
- Authority
- CN
- China
- Prior art keywords
- branch
- product image
- defect
- defect detection
- pixel
- 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 212
- 238000001514 detection method Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000011218 segmentation Effects 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 description 15
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 13
- 239000010931 gold Substances 0.000 description 13
- 229910052737 gold Inorganic materials 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000007689 inspection Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013434 data augmentation Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申请公开了一种缺陷检测方法、装置、计算机设备及计算机可读存储介质,涉及计算机技术领域。方法包括:获取待检测的产品图像;将产品图像输入已训练的缺陷检测模型,缺陷检测模型包括第一支路和第二支路;通过第一支路,检测产品图像中的缺陷;在通过第一支路,检测产品图像中的缺陷的过程中,通过第二支路,确定产品图像中器件的位置。采用本申请,既实现检测缺陷,又实现定位待检测产品中某一器件。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种缺陷检测方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着人工智能技术的不断发展,在工业质检场景中,可以由人工智能技术训练得到的缺陷检测模型代替人眼进行缺陷检测,从而提高检测的精度和效率。
目前,可以通过人工智能技术训练出一个缺陷检测模型,计算机设备通过缺陷检测模型检测出产品图像中的缺陷。
然而,目前的方法仅能实现缺陷检测,无法既实现检测缺陷,又实现定位待检测产品中某一器件。
发明内容
本申请提供一种缺陷检测方法、装置、计算机设备及计算机可读存储介质,既实现检测缺陷,又实现定位待检测产品中某一器件。
第一方面,本申请提供一种缺陷检测方法,包括:获取待检测的产品图像;将产品图像输入已训练的缺陷检测模型,缺陷检测模型包括第一支路和第二支路;通过第一支路,检测产品图像中的缺陷;在通过第一支路,检测产品图像中的缺陷的过程中,通过第二支路,确定产品图像中器件的位置。
第二方面,本申请提供一种缺陷检测装置,包括:获取模块,用于获取待检测的产品图像;输入模块,用于将产品图像输入已训练的缺陷检测模型,缺陷检测模型包括第一支路和第二支路;检测模块,用于通过第一支路,检测产品图像中的缺陷;确定模块,用于在通过第一支路,检测产品图像中的缺陷的过程中,通过第二支路,确定产品图像中器件的位置。
第三方面,本申请提供一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有计算机程序指令,该处理器执行计算机程序指令时实现上述第一方面的方法中的步骤。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述第一方面的方法中的步骤。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序指令,该计算机程序指令被处理器执行时实现上述第一方面的方法中的步骤。
由此可见,本申请具有如下有益效果:提供了一种具有多个分支的缺陷检测模型,该缺陷检测模型具有两个独立的支路,一个支路负责检测缺陷,另一个支路负责定位器件,因此针对同一个产品图像,既能够输出缺陷的检测结果,又能够输出待定位的器件的位置,实现缺陷和器件两种类型的检测结果。
附图说明
图1是本申请实施例提供的一种工业质检的场景示意图;
图2是本申请实施例提供的一种多分类语义分割的效果示意图;
图3是本申请实施例提供的一种多标签语义分割的效果示意图;
图4是本申请实施例提供的一种多模型检测缺陷的效果示意图;
图5是本申请实施例提供的一种缺陷检测方法的流程图;
图6是本申请实施例提供的一种缺陷检测模型的架构图;
图7是本申请实施例提供的一种缺陷检测装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图;
图9是本申请实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合图及实施例对本申请作进一步详细的说明。
为便于理解本申请实施例的技术方案,下面将先对本申请实施例涉及的技术名词进行说明。
骨干网络(backbone)也称作特征提取器,是神经网络模型的一种组成部分。骨干网络用于进行特征提取,即将神经网络的输入编码成高维抽象的特征表示(featurerepresentation)。
支路是神经网络模型的一种组成部分,用于执行预测任务。例如,用于执行分类任务的支路可以叫做分类头(classification head),用于执行图像分割任务的支路可以叫做分割头(segmentation head,seg_head)等。神经网络模型可以包括骨干网络和若干个支路,骨干网络对输入的图像进行特征提取,得到图像的特征,支路获取骨干网络输出的图像特征,利用图像特征执行预测任务。
语义分割是指像素级别的分类,即识别图像中每个像素对应的类型。分类任务通常是指将一个图像输入模型后,模型输出一个类型。语义分割任务通常是指将一个图像输入模型后,模型输出一个与输入图像尺寸相同的掩膜(mask),掩膜中每个像素的取值指示输入图像中对应像素的类型。
多分类(multiclass)是指从多种候选类型中选择一种类型,作为待识别的图像的分类结果。换句话说,将一个图像输入模型后,模型输出的分类结果为一种类型。基于多分类的语义分割模型在训练时使用的样本为维度(H,W)的掩膜,在预测时输出结果也是维度为(H,W)的掩膜。其中,掩膜中不同的值代表不同的类型。掩膜包含的取值类型的数量与图像中物体类型的数量例如相等。掩膜中每个像素具有一种取值,即一个像素对应一种类型。其中,H(height)表示掩膜的高度,W(width)表示掩膜宽度,H和输入图像的高度相同,W和输入图像的宽度相同。
多标签是指从多种候选类型中选择多种类型,作为待识别的图像的分类结果。换句话说,将一个图像输入模型后,模型输出的分类结果为多种类型。多标签任务可以理解为多分类任务的延伸。多分类任务只要求模型输出一种类型,而多标签任务要求模型考虑输出多种类型,为此模型需要学习类型之间潜在依赖关系,并在分类时利用类型之间的依赖关系。基于多标签的语义分割模型在训练时使用的样本是维度(C,H,W)的掩膜,在预测时的输出结果是一个维度为(C,H,W)的掩膜,C(channel)表示通道维度,同时通道维度上绑定了类型。也可以理解为,基于多标签的语义分割模型的输出结果包括C个尺寸为(H,W)的掩膜,且每个掩膜都是二值图像(只包含0或1),1表示像素属于这个通道所对应类别。例如,如果使用基于多标签的语义分割模型来检测缺陷和定位产品中金面油墨面,则C=2,第一个通道是缺陷的二值掩膜,第二个通道是金面油墨面的掩膜。同理地,如果需要检测出47类缺陷,那么对应通道也增加为47。
softmax:一种用于将特征图转化为概率值的函数。
argmax:一种用于确定概率值最大的类型的函数。argmax函数确定出的类型作为模型输出的分类结果。
本申请的一些实施例应用于利用机器视觉进行工业质检的场景,用于检测产品中的缺陷,并且对产品中某一器件进行定位。在该场景中,缺陷和器件可能重合。位于缺陷和器件重合区域的像素点对应于多个类别,即缺陷和器件。如何检测位于缺陷和器件重合区域的像素点的类别属于一种多标签(multilabel)分割问题,是一个技术难点。
示例性地,如图1所示,图1中(a)为待检测印制线路板(printed circuit board,PCB)图像,图1中(b)为轮廓标记图;其中,实线轮廓标记为缺陷区域,虚线轮廓标记为PCB金面区域。在某些任务需求下,既需要分割检测出缺陷,又需要分割出PCB金面区域。上述情况也被称作多标签分割问题,也即同一个像素点,可能会对应多个类别。例如在图1中,缺陷区域和PCB金面区域相交的位置,就同属于缺陷和金面两个类别(即实线轮廓与虚线轮廓相交区域)。
在工业质检场景中,如何高效、准确地实现多标签分割任务,具有强烈的产业落地需求与实际应用价值。然而,该问题并没有得到学术界重视,并且现有常规的解决方案会有效率低、精度低等问题,严重影响了机器视觉方案在质检领域的实际部署应用。
针对如何解决以上讨论的工业质检场景中多标签分割任务,在研究中发现,如果采用以下方式(1)至方式(3),均会出现一些不足之处。
方式(1)多分类(multiclass)语义分割
多分类语义分割即同一个像素点只能属于一个类别。与此同时,现有常用的公开数据集也基本只适用于多分类任务。在这种范式下,检测网络的输出维度为(B,C,H,W);其中,B为批量大小(batch_size),C为输出类别,H和W为图像的高和宽。之后,经过softmax层转换为同样维度的概率值,再经过argmax操作处理得到(B,H,W)的检测结果。以图1为例,在多分类任务的范式下,分割检测模型的输出为(H,W),缺陷和金面相交区域要么属于缺陷,要么属于金面。如图2所示为图1在多分类语义分割范式下输出结果的可视化,可以看出在缺陷和金面相交区域,缺陷的分割结果由于被金面覆盖导致是不完整的。这一现象会严重影响后续进一步对检测结果的分析和处理。
方式(2)多标签语义分割
多标签语义分割通过将类别与输出通道绑定,每一个类别单独预测对应的二值结果,以此实现一个像素点对应多个类别输出。也就是说,缺陷检测模型的输出维度为(B,C,H,W),经过sigmoid(一种激活函数)层处理后得到同维度的各个通道上的概率值,再经过阈值处理后得到(B,C,H,W)的检测结果,在C维度上即是对应类别的二值结果,图3为多标签语义分割示例。图3中(a)表示产品图像,图3中(b)表示缺陷检测模型,图3中(c)表示检测结果。
但是上述常规的多标签方法并不适用于工业缺陷检测场景。这是由于在工业图像中,缺陷类别数通常很多,各类别间特征区分度很小,极易造成互相混淆。在这种情况下,该方法由于只在网络的最后一层将类别分开,其特征缺乏区分度,反而会进一步加重缺陷的类别混淆。此外,由于多标签范式的标签信息比多分类范式多,其优化难度相应也就更大,在特征区分度小的情况下,更加加大了精确分类的难度。上述问题严重影响了常规多标签语义分割方法在工业质检领域的应用。
方式(3)多模型分割
多模型分割是指将有重叠区域的标签进行拆分,分别用不同的模型去检测。以图1的场景为示例,多模型解决方案如图4所示。图4中(a)表示一个产品图像,图4中(b)表示一种缺陷类别对应的检测模型,图4中(c)表示图4中(b)所示的模型针对产品图像输出的缺陷检测结果。图4中(d)表示与图4中(a)相同的产品图像,图4中(e)表示另一种缺陷类别对应的检测模型,图4中(f)表示采用图4中(e)所示的模型针对产品图像输出的缺陷检测结果。
多模型分割解决方案的弊端显而易见:显著地增加了计算开销和整体的检测时间。如果有多个类型的标签可能互相重叠,那么为了将它们互相区分开就要相应地增加缺陷检测模型的个数,该问题严重影响了这种方案的实用性。
基于此,本申请公开了一种具有多分支网络结构的缺陷检测模型,该缺陷检测模型具有两个独立的支路,一个支路负责检测缺陷,另一个支路负责定位器件的位置,那么对于缺陷和器件相交区域中的像素点来说,一个支路能输出该像素点的缺陷检测结果,另一个支路能输出该像素点的器件检测结果,也就是说,能针对同一个像素点输出缺陷和器件这两种类型的检测结果,从而避免出现针对一个像素点仅输出缺陷检测结果或者器件检测结果导致检测结果不完整。此外,由于两个支路相互独立,检测缺陷的支路无需关注像素是否是器件,检测器件的支路无需关注像素是否是缺陷,从而避免由于缺陷特征和器件特征区别很小导致缺陷类型和器件类型互相混淆,也避免要求一个分支同时输出缺陷和器件这两种类型导致训练难度过大。
图5是本申请实施例提供的一种缺陷检测方法的流程图。图5所示方法包括以下步骤S501至步骤S504。
步骤S501、计算机设备获取待检测的产品图像。
产品图像例如是PCB图像或者芯片图像。产品图像例如包括待检测的缺陷和待定位的器件中至少一项。缺陷例如是划痕或脏污。待定位的器件例如是PCB的金面、油墨面或者芯片的underfill(底部充填胶)。
在一些实施例中,产品图像中缺陷和器件具有重叠区域。例如,产品图像是PCB图像,PCB图像包括缺陷和金面,且缺陷和金面具有重叠的区域。
步骤S502、计算机设备将产品图像输入已训练的缺陷检测模型。
缺陷检测模型例如是神经网络模型。缺陷检测模型例如是基于样本产品图像集训练得到的。缺陷检测模型包括第一支路和第二支路。第一支路用于检测缺陷,第二支路用于确定器件的位置。第一支路与第二支路并联。
步骤S503、计算机设备通过第一支路,检测产品图像中的缺陷。
在一些实施例中,缺陷检测模型是语义分割模型。第一支路用于从产品图像中分割出缺陷区域,第二支路用于从产品图像中分割出器件区域。在一些实施例中,分割结果的形式为掩膜,掩膜具有和产品图像相同的宽度,掩膜具有和产品图像相同的高度。掩膜中的每个像素的值表示产品图像中相应位置的像素对应的类型。
示例性地,计算机设备通过第一支路,对产品图像进行语义分割,得到第一掩膜。计算机设备通过第二支路,对产品图像进行语义分割,得到第二掩膜。
第一掩膜用于指示产品图像中每个像素对应的缺陷类型。在一些实施例中,第一掩膜的取值范围对应于缺陷类型的数量。比如说,第一掩膜中取值的类型数量等于产品图像中缺陷的类型数量。如果第一掩膜中像素点A的取值为0,表示像素点A不是缺陷;如果第一掩膜中像素点A的取值为1,表示像素点A是类型1的缺陷;如果第一掩膜中像素点A的取值为2,表示像素点A是类型2的缺陷。在另一些实施例中,第一掩膜用于指示产品图像中每个像素是否为缺陷。比如说,第一掩膜包含2种取值。如果第一掩膜中像素点A的取值为0,表示像素点A不是缺陷;如果第一掩膜中像素点A的取值为1,表示像素点A是缺陷。
第二掩膜用于指示产品图像中每个像素对应的器件位置。例如,如果第二掩膜中像素点A的取值为0,表示像素点A不是待定位的器件;如果第二掩膜中像素点A的取值为1,表示像素点A是类型1的器件;如果第二掩膜中像素点A的取值为2,表示像素点A是类型2的器件。在另一些实施例中,第二掩膜用于指示产品图像中每个像素是否为待定位的器件。比如说,第二掩膜包含2种取值。如果第二掩膜中像素点A的取值为0,表示像素点A不是待定位的器件;如果第二掩膜中像素点A的取值为1,表示像素点A是待定位的器件。
在一些实施例中,第一支路是基于多个第一样本图像训练得到的,第一样本图像中每个像素具有标签,第一样本图像中像素的标签指示像素对应的缺陷类型。
在一些实施例中,第二支路是基于多个第二样本图像训练得到的,第二样本图像中每个像素具有标签,第二样本图像中像素的标签指示像素对应的器件位置。
步骤S504、计算机设备在通过第一支路,检测产品图像中的缺陷的过程中,通过第二支路,确定产品图像中器件的位置。
上述第一支路和第二支路的一种作用在于,对于缺陷和器件之间重叠区域中的像素点来说,第一支路能输出该像素点的缺陷检测结果,第二支路能输出该像素点的器件检测结果,也就是说,针对重叠区域中的像素点,缺陷检测模型会输出缺陷和器件这两种类型的检测结果,避免针对重叠区域的像素点仅输出缺陷检测结果导致器件检测结果不完整,或者仅输出器件检测结果导致缺陷检测结果不完整,从而有助于检测结果更加完整、准确。
此外,由于两个支路相互独立,检测缺陷的支路无需关注像素是否是器件,检测器件的支路无需关注像素是否是缺陷,从而避免由于缺陷特征和器件特征区别很小导致缺陷类型和器件类型互相混淆,也避免要求一个分支同时检测缺陷和器件这两种类型导致训练难度过大,降低了训练难度。
在一些实施例中,缺陷检测模型还包括骨干网络。骨干网络的输出端分别与第一支路的输入端和第二支路的输入端相连。骨干网络用于提取产品图像的特征。第一支路和第二支路可以共用骨干网络提取的特征。
示例性地,计算机设备将产品图像输入已训练的缺陷检测模型之后, 通过骨干网络对产品图像进行特征提取,得到产品图像的特征。计算机设备将骨干网络提取的产品图像的特征输入第一支路,通过第一支路,根据产品图像的特征检测产品图像中的缺陷;计算机设备将骨干网络提取的产品图像的特征输入第二支路,通过第二支路,根据产品图像的特征确定产品图像中器件的位置。由于多个支路能够共用骨干网络提取的特征,而不必为每个支路分别设置对应的特征提取网络,因此节省了计算开销,提升了检测效率。
本实施例提供的方法,通过一种具有多分支结构的缺陷检测模型来实现检测缺陷和确定器件的位置,该缺陷检测模型具有两个独立的支路,一个支路负责检测缺陷,另一个支路负责定位器件,因此针对同一个图像,既能够输出针对产品图像中缺陷的检测结果,又能够输出产品图像中待定位的器件的位置。
以上图5实施例,描述了如何实现缺陷检测和定位器件。进一步地,在产品图像中包含多种缺陷的情况下,本申请的一些实施例提供了检测多种类型的缺陷的方式,参见下述实现方式一和实现方式二。
实现方式一、采用同一个支路检测多种类型的缺陷。
例如,如果产品图像包括N种类型的缺陷,且N种类型的缺陷的掩膜互不重叠,则采用第一支路检测N种缺陷。针对产品图像中每一个像素,通过第一支路根据图像特征,从N种缺陷中选择该像素对应的一种缺陷,作为该像素的检测结果。其中,N表示正整数。
实现方式二、采用不同的支路检测不同类型的缺陷。
例如,如果产品图像包括N种掩膜重叠的缺陷,且在第一支路中进一步细化出N个子分支,采用N个子支路分别检测N种缺陷其中的一种缺陷。
例如,产品图像中第一类型的缺陷和第二类型的缺陷具有重叠区域,第一支路包括第一子支路以及第二子支路。第一子支路与第二子支路并联。第一子支路与第二子支路共用骨干网络的特征。计算机设备通过第一子支路,检测产品图像中第一类型的缺陷;通过第二子支路,检测产品图像中第二类型的缺陷。
根据上述实施方式,在产品图像包括多种类型的缺陷,且不同类型的缺陷相互重叠的情况下,由于将具有重叠区域的缺陷分配到不同支路上,也即是,通过不同支路分别检测不同类型的缺陷,从而避免由于一个支路检测的不同类型缺陷之间特征区别很小导致缺陷类型混淆,提升缺陷检测结果的精确性。
进一步地,在产品图像中包含多种器件的情况下,本申请的一些实施例提供了检测多种类型的器件的方式,参见下述实现方式A和实现方式B。
实现方式A、采用同一个支路检测多种类型的器件。
例如,如果产品图像包括N种类型的器件,且N种类型的器件的掩膜互不重叠,则采用第二支路检测N种器件。针对产品图像中每一个像素,通过第二支路根据图像特征,从N种器件中选择该像素对应的一种器件,作为该像素的检测结果。
实现方式B、采用不同的支路检测不同类型的器件。
例如,如果产品图像包括N种掩膜重叠的器件,且在第二支路中进一步细化出N个子分支,采用N个子支路分别检测N种器件其中的一种器件。例如,第二支路包括第三子支路以及第四子支路,第三子支路与第四子支路并联。计算机设备通过第三子支路,确定产品图像中第一类型的器件的位置;计算机设备通过第四子支路,确定产品图像中第二类型的器件的位置。在一些实施例中,产品图像中第一类型的器件和第二类型的器件具有重叠区域。
根据上述实施方式,在产品图像包括多种类型的器件,且不同类型的器件相互重叠的情况下,由于将具有重叠区域的器件分配到不同支路上,也即是,通过不同支路分别定位不同类型的器件,从而避免由于一个支路检测的不同类型器件之间特征区别很小导致器件类型混淆,提升检测结果的精确性。
下面结合图1所示的应用场景对图5所示方法举例说明。以下描述的分割头是图5所示方法中支路的示例。
图6是本实施例提供的一种缺陷检测模型的架构图。如图6所示,缺陷检测模型602包括骨干网络、分割头0和分割头1。分割头0是图5所示实施例中第一支路的示例,分割头1是图5所示实施例中第二支路的示例。以两类标签出现重叠的场景为例,例如,将产品图像601输入缺陷检测模型602中,通过缺陷检测模型602中的骨干网络进行特征提取,通过分割头0定位产品图像中的器件,输出掩膜603;通过分割头1检测产品图像中的缺陷,输出掩膜604。掩膜603用于表示产品图像中器件所在的区域,比如是PCB的金面区域。掩膜604用于表示产品图像中缺陷区域。
由于图1中只有两类标签出现的重叠问题,因此图6所示的模型中,只需要将两类标签分配至两个独立的分割头即可。在其他使用场景,如果有多种类别标签发生重叠问题,那么相对应的增加分割头的个数即可。
对于同一张图像来说,各个分割头可以共用一个骨干网络提取出的特征。通常情况下,骨干网络的参数量远大于分割头,因此相较于多模型方案,共用骨干网络能够极大地减少计算开销与推理时间,这使得本实施例具备了在工业场景下实际部署的可能。由于具有标签重叠问题的类别已经被分配到了不同的分割头上,也就是说在每一个分割头上已经不存在重叠问题,那么就可以采用已经在学术界深入研究的多分类语义分割范式,并且各个支路采用的分割头结构也可以有很大灵活性。
本实施例提出的缺陷检测模型分为训练和测试两个过程。
缺陷检测模型的训练过程包括以下步骤一至步骤三。
步骤一、数据预处理。
首先,对样本图像进行归一化处理;之后,对样本图像进行数据增广操作。通常情况下会使用诸如图像尺寸放缩、随机裁剪、随机翻转、颜色扰动等方式进行数据增广,以进一步丰富数据的多样性,以此提升整个模型的泛化能力。
步骤二、通过骨干网络进行特征提取。
将经过预处理后的样本图像输入至骨干网络中,通过骨干网络抽取具备丰富语义信息的特征。
步骤三、通过分割头进行缺陷检测。
将骨干网络提取的特征依次输入各个分割头中。其中,如果有N种类型的缺陷出现了重叠现象,那么与之相对应采用N个分割头。骨干网络抽取出的特征,依次进入到N个分割头中,得到N个维度为(B,C,H,W)的结果。
在多分类语义分割范式下,N个分割头依次计算损失值,从而得到模型总的损失值。计算损失值的方式如下述公式所示。
以上公式中,L表示模型总的损失值,i表示分割头的标识, 表示分割头i计算得
到的损失值, 表示分割头i对应的损失值权重,N表示分割头的数量,N为大于或等于1的
正整数。以上公式表达的逻辑为,对N个分割头中每个分割头计算的损失值进行加权求和,
作为总的损失值。
当得到总的损失值后,通过梯度下降法,可以逐步更新模型的参数,直至收敛。
缺陷检测模型的推理过程包括以下步骤(1)至步骤(3)。为了描述简洁,以下重点描述推理过程与训练过程的区别之处,与训练过程相同相似的部分可参考训练过程的描述。
步骤(1)数据预处理。
与训练过程中数据预处理相区别的是,在推理阶段,可以不需要数据增广操作,只需进行归一化操作即可。
步骤(2)通过骨干网络进行特征提取。
步骤(3)通过分割头进行缺陷检测。
将骨干网络提取的特征依次输入到N个分割头中,得到N个输出结果,每个输出结果为维度为(B,C,H,W)的掩膜。接着,N个输出结果依次经过softmax层后进行argmax操作,得到N个(B,H,W)的最终结果。具有重叠区域的前景,已经被分配到不同的分割头结果中。
本实施例提供的方法,提出了一种具有多个分割头网络结构的模型,通过把具有重叠掩膜的类型分配到不同分割头上,即,针对掩膜有重叠的类型,采用不同的支路分割出这些类型的图像,以此实现多标签的分割结果,从而避免同一条支路中由于掩膜重叠导致类型混淆。相较于多模型方案,由于多个分割头共用骨干网络的,这样极大地节省了计算开销,显著地提升了检测效率。相较于常规的多标签方案,本实施例只将互相重叠的类型分配到不同分割头上,对于同一分割头仍然采用了多分类方法,这就使得多标签方案中常见的类别混淆问题得到极大地缓解,并且相邻的不同类的缺陷在相邻区域也不会再有类别混淆问题(因为其会被分配到同一支路上)。因此,该实施例同时兼顾了效率与精度,具有较强的实际应用价值。
本实施例在多个不同的工业数据集上进行了对比验证,效果均超出常规的多标签方法,并且能够达到和多模型方案相近的性能。此外,本实施例具有较强的兼容性,骨干网络和各个支路上均可以和目前先进的多分类方法兼容,因此具有很好的拓展性。
采用本实施例提供的方法,分别针对utac数据集和PCB数据集这两种多标签数据集进行了验证。utac是数据集的名称。utac数据集中包含4种类型的缺陷,此外,utac数据集还包含一种类型underfill(底部充填胶)。底部充填胶与4种缺陷都会重叠。采用本实施例提供的方法,利用包含2个支路的缺陷检测模型对utac数据集进行缺陷检测;其中,一个支路用于检测4种类型的缺陷,另一个支路用于检测底部充填胶。PCB数据集中包含47种类型的缺陷,此外,PCB数据集中还包含2种类型:金面和油墨面。金面和油墨面与47种缺陷会重叠。采用本实施例提供的方法,利用包含2个支路的缺陷检测模型对utac数据集进行缺陷检测;其中,一个支路用于检测47种类型的PCB缺陷,另一个支路用于检测金面和油墨面。
针对utac数据集,采用多模型分割的方式进行缺陷检测时,所有类别的平均重叠度(Intersection over Union,IOU)为76.13;采用多标签语义分割进行缺陷检测时,所有类别的平均IOU为74.42;采用本实施例提供的方法进行缺陷检测时,所有类别的平均IOU为76.04。针对PCB数据集,采用多模型分割的方式进行缺陷检测时,所有类别的平均IOU为58.67;采用多标签语义分割进行缺陷检测时,所有类别的平均IOU为56.74;采用本实施例提供的方法进行缺陷检测时,所有类别的平均IOU为58.41。其中,IOU等于预测出的结果与标签的交集与预测出的结果与标签的并集之间的比值。
本实施例利用多分支网络结构解决标签重叠的问题,因此对于网络本身采用何种结构是没有要求的。也就是说,骨干网络和各个支路具体采用的网络结构是可以灵活调整的,并且根据实验验证,不同支路采用不同的先进分割头是可以较好兼容的。
图7是本申请实施例提供的一种缺陷检测装置的结构示意图,装置700包括:
获取模块701,用于获取待检测的产品图像;输入模块702,用于将产品图像输入已训练的缺陷检测模型,缺陷检测模型包括第一支路和第二支路;检测模块703,用于通过第一支路,检测产品图像中的缺陷;确定模块704,用于在通过第一支路,检测产品图像中的缺陷的过程中,通过第二支路,确定产品图像中器件的位置。
在一些实施例中,检测模块703具体用于:通过第一支路,对产品图像进行语义分割,得到第一掩膜,第一掩膜用于指示产品图像中每个像素对应的缺陷类型。
在一些实施例中,确定模块704具体用于:通过第二支路,对产品图像进行语义分割,得到第二掩膜,第二掩膜用于指示产品图像中每个像素对应的器件位置。
在一些实施例中,第一支路是基于多个第一样本图像训练得到的,第一样本图像中每个像素具有标签,第一样本图像中像素的标签指示像素对应的缺陷类型;
第二支路是基于多个第二样本图像训练得到的,第二样本图像中每个像素具有标签,第二样本图像中像素的标签指示像素对应的器件位置。
在一些实施例中,缺陷检测模型还包括骨干网络,装置还包括:提取模块,用于通过骨干网络对产品图像进行特征提取,得到产品图像的特征;
检测模块703具体用于:通过第一支路,根据产品图像的特征检测产品图像中的缺陷;确定模块704具体用于:通过第二支路,根据产品图像的特征确定产品图像中器件的位置。
在一些实施例中,产品图像中缺陷和器件具有重叠区域。
在一些实施例中,第一支路包括第一子支路以及第二子支路,在通过第一支路,检测产品图像中的缺陷方面,检测模块703具体用于:通过第一子支路,检测产品图像中第一类型的缺陷;通过第二子支路,检测产品图像中第二类型的缺陷。
在一些实施例中,产品图像中第一类型的缺陷和第二类型的缺陷具有重叠区域。
在一些实施例中,第二支路包括第三子支路以及第四子支路,确定模块704具体用于:通过第三子支路,确定产品图像中第一类型的器件的位置;通过第四子支路,确定产品图像中第二类型的器件的位置。
在一些实施例中,产品图像中第一类型的器件和第二类型的器件具有重叠区域。
图8是本申请实施例提供的一种计算机设备800的结构示意图,该计算机设备800包括处理器801和存储器802,该存储器802中存储有计算机程序指令,该处理器801执行计算机程序指令时实现上述图5实施例所示的方法中的步骤。
图9是本申请实施例提供的一种计算机可读存储介质900的结构示意图,该计算机可读存储介质900中存储有计算机程序指令901,该计算机程序指令901被处理器执行时实现上述图5实施例所示的方法中的步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序指令,该计算机程序指令被处理器执行时实现上述图5实施例所示的方法中的步骤。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种缺陷检测方法,其特征在于,包括:
获取待检测的产品图像;
将所述产品图像输入已训练的缺陷检测模型,所述缺陷检测模型包括第一支路和第二支路;
通过所述第一支路,检测所述产品图像中的缺陷;
在所述通过所述第一支路,检测所述产品图像中的缺陷的过程中,通过所述第二支路,确定所述产品图像中器件的位置。
2.根据权利要求1所述的方法,其特征在于,所述通过所述第一支路,检测所述产品图像中的缺陷,包括:
通过所述第一支路,对所述产品图像进行语义分割,得到第一掩膜,所述第一掩膜用于指示所述产品图像中每个像素对应的缺陷类型。
3.根据权利要求1所述的方法,其特征在于,所述通过所述第二支路,确定所述产品图像中器件的位置,包括:
通过所述第二支路,对所述产品图像进行语义分割,得到第二掩膜,所述第二掩膜用于指示所述产品图像中每个像素对应的器件位置。
4.根据权利要求1所述的方法,其特征在于,所述第一支路是基于多个第一样本图像训练得到的,所述第一样本图像中每个像素具有标签,所述第一样本图像中像素的标签指示所述像素对应的缺陷类型;
所述第二支路是基于多个第二样本图像训练得到的,所述第二样本图像中每个像素具有标签,所述第二样本图像中像素的标签指示所述像素对应的器件位置。
5.根据权利要求1所述的方法,其特征在于,所述缺陷检测模型还包括骨干网络,所述将所述产品图像输入已训练的缺陷检测模型之后,所述方法还包括:
通过所述骨干网络对所述产品图像进行特征提取,得到所述产品图像的特征;
所述通过所述第一支路,检测所述产品图像中的缺陷,包括:
通过所述第一支路,根据所述产品图像的特征检测所述产品图像中的缺陷;
所述通过所述第二支路,确定所述产品图像中器件的位置,包括:
通过所述第二支路,根据所述产品图像的特征确定所述产品图像中器件的位置。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述产品图像中所述缺陷和所述器件具有重叠区域。
7.根据权利要求1所述的方法,其特征在于,所述第一支路包括第一子支路以及第二子支路,所述通过所述第一支路,检测所述产品图像中的缺陷,包括:
通过所述第一子支路,检测所述产品图像中第一类型的缺陷;
通过所述第二子支路,检测所述产品图像中第二类型的缺陷。
8.根据权利要求7所述的方法,其特征在于,所述产品图像中所述第一类型的缺陷和所述第二类型的缺陷具有重叠区域。
9.一种缺陷检测装置,其特征在于,包括:
获取模块,用于获取待检测的产品图像;
输入模块,用于将所述产品图像输入已训练的缺陷检测模型,所述缺陷检测模型包括第一支路和第二支路;
检测模块,用于通过所述第一支路,检测所述产品图像中的缺陷;
确定模块,用于在所述通过所述第一支路,检测所述产品图像中的缺陷的过程中,通过所述第二支路,确定所述产品图像中器件的位置。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序指令,所述处理器执行所述计算机程序指令时实现如权利要求1-8中任一项所述的方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8中任一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211594938.1A CN115661140A (zh) | 2022-12-13 | 2022-12-13 | 缺陷检测方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211594938.1A CN115661140A (zh) | 2022-12-13 | 2022-12-13 | 缺陷检测方法、装置、计算机设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115661140A true CN115661140A (zh) | 2023-01-31 |
Family
ID=85017340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211594938.1A Pending CN115661140A (zh) | 2022-12-13 | 2022-12-13 | 缺陷检测方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115661140A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764137A (zh) * | 2018-05-29 | 2018-11-06 | 福州大学 | 基于语义分割的车辆行驶车道定位方法 |
CN112862811A (zh) * | 2021-03-10 | 2021-05-28 | 华中科技大学 | 基于深度学习的材料显微图像缺陷识别方法、设备及装置 |
WO2022127919A1 (zh) * | 2020-12-17 | 2022-06-23 | 杭州海康威视数字技术股份有限公司 | 表面缺陷检测方法、装置、系统、存储介质及程序产品 |
-
2022
- 2022-12-13 CN CN202211594938.1A patent/CN115661140A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764137A (zh) * | 2018-05-29 | 2018-11-06 | 福州大学 | 基于语义分割的车辆行驶车道定位方法 |
WO2022127919A1 (zh) * | 2020-12-17 | 2022-06-23 | 杭州海康威视数字技术股份有限公司 | 表面缺陷检测方法、装置、系统、存储介质及程序产品 |
CN112862811A (zh) * | 2021-03-10 | 2021-05-28 | 华中科技大学 | 基于深度学习的材料显微图像缺陷识别方法、设备及装置 |
Non-Patent Citations (1)
Title |
---|
(美)保罗加莱奥内 著,闫龙川 等译: "TensorFlow 2.0 神经网络实践", 北京:机械工业出版社, pages: 176 - 178 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110533684B (zh) | 一种染色体核型图像切割方法 | |
JP6710135B2 (ja) | 細胞画像の自動分析方法及びシステム | |
US10565479B1 (en) | Identifying and excluding blurred areas of images of stained tissue to improve cancer scoring | |
Ramoser et al. | Leukocyte segmentation and classification in blood-smear images | |
KR101640998B1 (ko) | 화상 처리 장치 및 화상 처리 방법 | |
US10121245B2 (en) | Identification of inflammation in tissue images | |
EP3663975A1 (en) | Method and system for learning pixel visual context from object characteristics to generate rich semantic images | |
CN111191611A (zh) | 基于深度学习的交通标志标号识别方法 | |
CN110599453A (zh) | 一种基于图像融合的面板缺陷检测方法、装置及设备终端 | |
CN112818952A (zh) | 煤岩分界线的识别方法、装置及电子设备 | |
US20240054639A1 (en) | Quantification of conditions on biomedical images across staining modalities using a multi-task deep learning framework | |
KR101571681B1 (ko) | 동질 영역을 이용한 문서 구조의 분석 방법 | |
CN111797830A (zh) | 票据图像快速红章检测方法、系统、装置 | |
CN115661140A (zh) | 缺陷检测方法、装置、计算机设备及计算机可读存储介质 | |
Lukac et al. | Machine learning based adaptive contour detection using algorithm selection and image splitting | |
US20240005682A1 (en) | Object classifying apparatus, object classification system, and object classification method | |
CN114463772B (zh) | 基于深度学习的交通标志检测与识别方法及系统 | |
Tafavogh et al. | Segmenting neuroblastoma tumor images and splitting overlapping cells using shortest paths between cell contour convex regions | |
Felhi et al. | Multiscale stroke-based page segmentation approach | |
CN113989481A (zh) | 一种合同文本图像印章检测和去除方法 | |
Li et al. | Vehicle License Plate Recognition Combing MSER and Support Vector Machine in A Complex Environment | |
CN115457038B (zh) | 分级预测模型的训练方法、分级预测的方法及相关产品 | |
Jia et al. | Coarse annotation refinement for segmentation of dot-matrix batchcodes | |
CN113255657B (zh) | 票据表面刮痕检测方法、装置、电子设备、机器可读介质 | |
Fazekas et al. | Segmentation of coring images using fully convolutional neural networks |
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 |