掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及一种PCB电路板检测技术,特别涉及一种基于分割模型的PCB电路板缺陷后处理方法。

背景技术

现在工业自动化改造中会有大量的缺陷检测项目,一般的思路主要分为两种:第一种是利用传统的图像处理算法,针对不同的缺陷类别进行分析和处理;第二种是利用多尺度分类的深度学习模型来进行缺陷检测,通过采集大量缺陷数据,对数据进行分类标注,然后训练深度学习模型进行检测。

工业上的物体缺陷类型往往都是多样化的,现有图像处理的方法的局限在于不仅需要花费大量的人力物力去分析缺陷和对缺陷特征建模,而且对于兼容性来说传统的机器视觉算法很难做到对缺陷特征完整的建模和迁移,复用性不大。

如果只用深度学习的模式进行缺陷检测,从一定程度上会解决人力和时间的问题,而且多分类检测模型可以很快定位到缺陷的位置。在深度学习模型的评估中,为了模型不漏检,应该提高召回率,那么相应的精确率就会下降,过检率就会提高。那么为了降低过检率,就需要提取到检出缺陷的区域特征,但是多分类模型对于缺陷的信息提取效果不是很好。在多分类的检测模型的检测结果的区域往往是以缺陷的最小外接矩形生成的,这个区域内除了缺陷外还有很多背景等不重要的信息,如果后面需要对缺陷进行后处理,不好对缺陷提取,而且检测结果框的尺寸信息(长,宽,面积),无法去表征这个缺陷的尺寸信息,不利于二次筛选。

发明内容

本发明的目的在于提供一种基于分割模型的PCB板缺陷处理方法,用于解决上述现有技术的问题。

本发明一种基于分割模型的PCB板缺陷处理方法,其中,包括:步骤1、收集PCB板缺陷图数据集,确定PCB板的缺陷类别,以及缺陷类别对应的检测标准;步骤2、对收集到的缺陷图数据集进行预处理,将各缺陷图中的缺陷区域进行标注,生成缺陷图的mask;步骤3、对PCB板缺陷图数据集和缺陷图的mask进行增广,将增广后的图加入PCB板缺陷图数据集;步骤4、对扩充后的PCB板缺陷图数据集,利用UNet分割模型进行训练;步骤5、对PCB板缺陷图数据集通过计算PCB板缺陷图的各缺陷区域的方向梯度直方图,获得特征向量的HOG特征描述符,HOG特征描述符标记为正类或负类标签,其中正类为存在缺陷的标签,负类为不存在缺陷的标签;将HOG特征描述符和对应的正类或负类标签输入SVM训练器进行训练;步骤6、获取待检测的PCB板图像,通过利用UNet分割模型的训练结果检测的PCB板图像,输出缺陷区域坐标,根据坐标绘制出缺陷区域;步骤7、对于绘制出的缺陷区域,通过计算该缺陷区域的方向梯度直方图,提取待检测的PCB板图像的的特征向量的HOG特征描述符;将提取的待检测的PCB板图像的的特征向量的HOG特征描述符输入到训练好的SVM分类器;通过SVM分类器进行判断,输出待检测的PCB板图像的缺陷类别。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,PCB板的缺陷类别包括:PCB板划痕、PCB板污渍、PCB板异色、PCB板沾锡以及PCB板断开;PCB板划痕检出标准包括划痕的最小宽度以及覆盖的面积;PCB板污渍的检出标准包括污渍的最小直径和数量;PCB板异色的检出标准包括异色的最小面积以及颜色对比度;PCB板沾锡的检出标准包括锡的最小面积;PCB板断开的检出标准包括断开的大小和位置;PCB板漏铜的检出标准包括面积和位置。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,将各缺陷图中的缺陷区域进行标注包括:在PCB板缺陷图上找到缺陷区域,沿着缺陷区域的轮廓逐点绘制多边形,每个顶点之间的连线组成多边形的边;在完成一个缺陷区域的标注后,为其指定一个缺陷的类别标签;完成PCB板缺陷图中所有缺陷区域的标注后,将缺陷区域转换为二值蒙版图像,其中缺陷区域用一个像素值表示,背景区域用另一个像素值表示;重复上述步骤,直至PCB板缺陷图数据集中的PCB板缺陷图标注完成。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,步骤3具体包括:对于PCB板图像上的脏污和异色类的缺陷,进行逐像素放大;将PCB板图像上的缺陷,进行像素平移,以获得PCB板图像上不同位置的缺陷;对于PCB板图像上的划痕类的缺陷,进行旋转操作;和针对对比度较低的PCB板图像进行对比度增强;获取生成的图像,加入PCB板缺陷图数据集。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,生成缺陷图的mask具体包括:创建一个与PCB板缺陷图尺寸相同的空白mask,所有像素值初始化为0,将缺陷区域填充为1,保存为二值图像文件,即为缺陷图的mask。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,UNet分割模型的结构包括五个下采样层和五个上采样层,通过五个上采样层提取特征信息,并通过上采样层绘制PCB板图像的缺陷区域;上采样层使用一反卷积层,将小尺寸的特征图放大为大尺寸的特征图;使用跳跃连接将下采样部分相应层的特征图与上采样部分的特征图进行拼接,形成一个新的特征图;将新的特征图通过一到两个卷积层和激活函数,以提取更多的特征信息;五个下采样层中,将输入PCB板图传递给第一卷积层;将第一卷积操作层的输出传递给第一ReLU激活函数;将第一ReLU激活函数的输出传递给第二卷积层;将第二卷积层的输出传递给第二ReLU激活函数;将第二ReLU激活函数的输出传递给最大池化层;对5个下采样层重复上述操作。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,步骤6具体包括:利用UNet分割模型的训练结果对输入的待检测的PCB板图像进行像素级别的分类,输出一个与原始图像大小相同的概率图,每个像素点对应一个概率值,表示该像素点属于缺陷区域的概率;设置一个阈值,当像素点的概率值高于阈值时,将对应的像素点标记为缺陷;当概率值低于阈值时,将对应的像素点标记为非缺陷,以得到一个二值化的mask;对二值化mask进行轮廓提取,提取出缺陷区域的边界坐标信息;根据提取出缺陷区域的边界坐标信息,在待检测的PCB板图像绘制出缺陷区域。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,对PCB板缺陷图数据集通过计算PCB板缺陷图的各缺陷区域的方向梯度直方图,获得特征向量的HOG特征描述符包括:计算PCB板缺陷图的水平和垂直梯度;划分PCB板缺陷图为小的区域;计算每个区域的方向梯度直方图;归一化每个区域的方向梯度直方图;将所有归一化的直方图连接起来,形成一个的特征向量的HOG特征描述符,表征连接起来的所有归一化方向梯度直方图;将连接起来的所有归一化方向梯度直方图组合成PCB板图像的特征向量。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,将提取的待检测的PCB板图像的的特征向量的HOG特征描述符输入到训练好的SVM分类器包括:将提取的各特征向量和对应的标签输入SVM训练器;训练过程中,SVM会尝试找到一个最优的超平面,使得该超平面与正类和负类标签PCB板缺陷图之间的间隔最大,得到最优间隔;在最优间隔的边界上的样本点作为为支持向量。

根据本发明一种基于分割模型的PCB板缺陷处理方法的一实施例,其中,通过SVM分类器进行判断,输出待检测的PCB板图像的缺陷类别包括:首先对待检测PCB板缺陷图的待检测区域进行HOG特征提取,将提取的特征向量输入到训练好的SVM分类器,SVM根据最优间隔和支持向量进行判断,并输出待检测区域的缺陷判别结果;如果包含缺陷,则进一步获取缺陷的类型信息。

本发明一种基于分割模型的PCB板缺陷处理方法能够准确提取缺陷位置并提取区域特征的向量进行处理,从而减少过检率。

附图说明

图1是本发明本发明一种基于分割模型的PCB板缺陷处理方法的流程图;

图2(a)是多分类模型的分割效果图;

图2(b)是分割模型的检测效果图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

图1是本发明技术方案的主流程图,如图1所示,本发明提出的基于UNet分割模型后对缺陷后处理包括下列步骤:

步骤1.收集数据集,确定不同缺陷类别的检测标准,然后收集大批量的缺陷图数据;

数据集的建立方法,包括:确定不同缺陷的检出标准,各自建立不同缺陷类别的图像数据集;采用多边形画框工具,标注出训练集的缺陷的轮廓信息,生成缺陷的mask。

在本实施例中,收集的数据集需要和实际生产中产生的缺陷类型一致。这些数据集的目的是为了训练和验证基于分割模型的缺陷后处理方法。根据实际应用场景和检测对象的特点,可收集各种不同的缺陷类别,如划痕、污渍、异色、沾锡、断开、漏铜等。

在本发明中,收集数据集主要涉及确定不同缺陷类别的检出标准,具体缺陷类别及其检出标准可以包括:

划痕:划痕是指产品表面的出现人为的划伤,已经出现凹陷的情况。检出标准包括划痕的最小宽度、覆盖的面积。

污渍:污渍是指产品或组件出现导电异物或者其他异物。检出标准包括污渍的最小直径和数量。

异色:异色是指产品或组件表面的颜色与正常表面的颜色不同,一般是污染引起的。检出标准包括异色的最小面积、颜色对比度。

沾锡:沾锡是指产品或组件出现锡状异物,会造成组件通路。检出标准包括锡的最小面积。

断开:断开是指产品或组件出现断路的情况。检出标准包括断开的大小和位置。

漏铜:漏铜是指产品出现漏出铜状物体的情况,检出标准包括面积和位置。

较佳的,对于每一种缺陷类别,根据实际应用场景和需求进行分析制定检出标准,具体可以通过以下标准来确定这些缺陷类别标准包括:

分析实际应用场景:首先要分析所涉及的工业领域、产品类型和生产过程,可能出现的缺陷类型及其特点。

评估缺陷对产品质量的影响:根据缺陷对产品性能和安全的影响程度,为每种缺陷类别设定一个相应的严重性等级。

根据每一种缺陷的大小和尺寸选择相应的检出要求,确定不同缺陷类别的检出标准。

收集的缺陷图数据的具体数量取决于实际应用场景、产品类型、缺陷类别的多样性以及深度学习模型的复杂性。通常,训练深度学习模型需要成千上万甚至更多的样本。然而,在某些情况下,可以使用迁移学习、少样本学习等技术来减少所需样本数量。为了确定合适的数据量,可以根据实际需求进行尝试。在训练过程中,可以观察模型在训练集和验证集上的性能,以判断是否需要更多数据。如果模型在训练集上表现良好,但在验证集上表现较差,可能需要增加更多的数据以提高泛化能力。

较佳的,可以从以下图像数据收集的基本原则进行图像数据的收集:

图像质量:收集的缺陷图应保证清晰度、对比度和亮度适中,便于模型识别和学习缺陷特征。

缺陷类别:确保收集到的数据集包含工业生产中所有的缺陷类别,以便训练模型能够识别和处理多种类型的缺陷。

数据平衡:尽量保证每种缺陷类别的图像数量相近,以避免数据集的不平衡对模型训练造成负面影响。

多样性:收集具有不同大小、形状、颜色和纹理的缺陷图,以提高模型的泛化能力和适应性。

通过收集具有多样性和代表性的缺陷图数据,可以有效地训练和优化基于分割模型的缺陷后处理方法,提高其在实际应用中的性能。

较佳的,在实施例中,收集图像数据集的过程包括以下几个步骤:

a.确定不同缺陷类别的图像数据:根据实际应用场景和检测对象的特点,确定各种不同的缺陷类别的图像数据,如划痕类、污渍类、异色类、沾锡类、断开类、漏铜类等。

具体可以根据实际生产过程的缺陷样本,确定能够反映真实的缺陷类型和特征。

b.为每种缺陷类别建立一个独立的缺陷类别图像文件集,用于存储对应的缺陷图数据。

c.收集缺陷图数据。具体可以通过以下几种途径收集缺陷图数据:

c1.现场拍摄具有不同缺陷的工业产品或设备,保证图像清晰度和光照条件。

c2.从网络或其他现有途径获取现有的缺陷的图像数据。

对于一较佳实施例,收集缺陷数据的方法可以包括:

使用高分辨率的相机或传感器在生产线上或实验室中拍摄缺陷样品的照片,采集高质量图像。对图像数据进行预处理,例如调整图像大小、灰度化、归一化等,以便于模型训练和评估。通过数据增强方法(如旋转、翻转、缩放、平移、改变对比度等),扩充原始缺陷类别图像文件集。以帮助提高模型的泛化能力,防止过拟合。

步骤2.图像预处理和标注:对收集到的数据进行预处理,采用多边形画框工具标注出训练集的缺陷轮廓信息,生成缺陷的mask。

d.标注缺陷轮廓信息:使用多边形画框工具将每张缺陷图中的缺陷区域进行标注,以生成对应的缺陷mask。

使用多边形画框工具将每张缺陷图中的缺陷区域进行标注具体包括:

d1.导入图像:将需要标注的原始图像导入到所选的图像标注工具中。通常,可以一次导入多个图像,以便批量进行标注操作。

d2.开始标注:在图像上找到缺陷区域,然后使用多边形画框工具沿着缺陷的轮廓逐点绘制多边形。每个顶点之间的连线组成多边形的边。在完成一个缺陷区域的标注后,可以为其指定一个类别标签,以表示该缺陷的类型。所绘制的轮廓要尽可能贴近缺陷的范围;

d3.保存标注信息:完成图像中所有缺陷区域的标注后,需要将这些信息保存到一个文件中(如JSON文件格式)。将多边形区域转换为二值蒙版图像,其中缺陷区域用一个像素值表示,背景区域用另一个像素值表示。

d4.标注其他图像:重复上述步骤d1-d3,直至缺陷类别图像文件集中的图像标注完成。在完成所有图像的标注后,从而为缺陷检测模型提供更准确的训练数据,用于训练和评估缺陷检测模型。

优选的,标注工具一般需要选择一个具有多边形画框功能的图像标注工具。具体来说标注工具可以是开源和商业工具,例如:labelme、labelimg等。

其中,本实施例中缺陷的mask可以是一个与原始图像尺寸相同的二值图像,其中表示缺陷区域的像素值为1(或其他非零值),而表示背景区域的像素值为0。缺陷的mask的作用是将缺陷区域与背景区域分离,有助于缺陷检测模型更准确地学习不同区域的特征。

其中,使用上述方法的多边形画框工具在原始图像中绘制缺陷区域的轮廓,完成标注后,生成缺陷mask的步骤可以包括:

创建一个空白mask:创建一个与原始图像尺寸相同的空白mask,所有像素值初始化为0(即背景值)。

填充多边形区域:将绘制的多边形区域填充为1(或其他非零值),表示缺陷区域。具体可以使用图像处理库(如OpenCV、PIL等)提供的多边形填充函数实现。

将生成的缺陷mask保存为图像文件(如PNG、JPEG等),并将其与对应的原始图像一起存储。在训练过程中,缺陷检测模型可以使用原始图像和对应的mask进行监督学习。

通过上述过程生成的缺陷mask可以帮助缺陷检测模型更准确地识别不同区域的特征,从而提高检测性能。

在本发明中,针对每种缺陷类别图像文件集包括该缺陷类别相关的图像数据,具体来说,可以包含以下内容:

原始图像:这些图像是从生产线、实验室或其他来源获取的产品或组件的照片,它们展示了对应缺陷类别的实际样本。

标注信息:对于每个原始图像,需要有相应的标注信息,用于指示缺陷的位置、形状和大小。这些标注信息通常以文件的形式(如JSON文件)存储在图像文件集中,或者以图像蒙版(mask)的形式与原始图像一起存储。蒙版图像通常与原始图像具有相同的尺寸,其中缺陷区域用特定的像素值(如255)表示,背景区域用另一个像素值(如0)表示。

对每个原始图像,可以生成多个增强版本并将它们存储在相应的图像文件集中。具体来说,为了提高模型的泛化能力,可以对原始图像和相应的标注信息进行数据增强。数据增强操作包括翻转、旋转、裁剪、缩放、对比度调整等。

构建一个适用于训练和评估缺陷检测模型的缺陷类别图像文件集。

步骤3.利用数据增强工具对数据集和缺陷mask进行逐像素放大、平移、旋转和对比度增强操作,扩充缺陷的数据集,包括:

利用数据增强主要是通过对原始数据应用各种变换来生成新的训练样本,从而提高模型的泛化能力。本实施例利用数据增强工具对数据集和缺陷mask进行逐像素放大、平移、旋转和对比度增强,具体包括:

3.1对于PCB板图像上的脏污和异色类的缺陷,进行逐像素放大;

逐像素放大操作是通过调整图像尺寸来增加缺陷的分辨率。可以使用图像处理库(如OpenCV、PIL等)提供的缩放函数对原始图像和缺陷mask进行等比例放大。例如,将图像尺寸从256x256放大到512x512。

3.2将PCB板图像上的缺陷,进行像素平移,以获得PCB板图像上不同位置的缺陷;

像素平移操作是在缺陷中沿水平和垂直方向移动像素。可以使用图像处理库提供的平移函数对原始图像和缺陷mask应用随机的平移距离。例如,将图像向右平移20像素,向下平移30像素。

3.3对于PCB板图像上的划痕类的缺陷,进行旋转操作。

旋转操作是围绕缺陷中心点进行旋转。可以使用图像处理库提供的旋转函数对原始图像和缺陷mask应用随机的旋转角度。例如,旋转30度或者-45度。

3.4针对对比度较低的PCB板对整个图像进行对比度增强操作。

可以使用图像处理库提供的对比度调整函数对原始图像进行随机的对比度变化。其中,本实施例中,对比度增强应用于原始图像,而非缺陷mask。

步骤4.构建一个UNet分割模型进行训练,UNet网络结构由五个下采样层和五个上采样层组成,五个下采样层输出的特征图分别与五个上采样层输出的特征图进行拼接融合,整体结构是一个编码和解码的过程;

其中每一个下采样层包括2个卷积操作层和1个最大池化层用于特征提取,卷积核的大小是3*3,而且每一次每一次卷积后设置激活函数,激活函数为ReLU。池化层的核的大小是2*2;

特征提取后,进行四次上采样的过程还原的原始图像大小,尺度为2。

本实施例通过U型结构的神经网络Unet进行图像分割。本实施例的神经网络Unet具有两部分:下采样(编码)部分和上采样(解码)部分。下采样部分包含若干个卷积层、激活函数和池化层,用于提取图像的特征。上采样部分包含若干个反卷积层(或叫上采样层)、激活函数和跳跃连接,用于恢复图像的空间尺寸和细节。

在UNet的上采样部分,反卷积层或上采样层负责将特征图放大至原始输入图像的空间尺寸,包括:

1.反卷积操作:使用一个具有适当核大小、步长和填充的反卷积层,将较小尺寸的特征图放大为较大尺寸的特征图。通常,反卷积层的核大小为2x2,步长为2,以将特征图的宽度和高度放大两倍。

2.跳跃连接:在上采样过程中,为了保留更多的空间信息,使用跳跃连接将下采样部分相应层的特征图与上采样部分的特征图进行拼接融合。具体而言,将下采样部分第i层的特征图与上采样部分第i层的特征图进行通道方向的拼接,形成一个新的特征图。

3.卷积和激活操作:将拼接后的特征图通过一到两个卷积层和激活函数,以提取更多的特征信息。通常,卷积层的核大小为3x3,步长为1,激活函数可以是ReLU(RectifiedLinear Unit)或LeakyReLU等。

通过上述过程,上采样部分能够逐层恢复图像的空间尺寸和细节信息。在整个解码过程中,由于采用了跳跃连接,UNet能够充分利用多尺度特征,从而在图像分割任务中取得较好的性能。

假设UNet的下采样部分有5个下采样层。在每一个下采样层中,可以设计以下操作:

1.第一个卷积操作层:将输入特征图(对于第一层,输入特征图就是原始输入图像)传递给一个卷积层。这个卷积层具有3x3的卷积核大小,步长为1,可以使用相同的填充来保持特征图的空间尺寸。以提取输入特征图的局部特征。

2.ReLU激活函数:将第一个卷积操作层的输出传递给一个ReLU激活函数,以增加非线性特性。这有助于捕捉输入特征图中的更复杂特征。

3.第二个卷积操作层:将ReLU激活函数的输出传递给另一个卷积层,与第一个卷积操作层具有相同的卷积核大小、步长和填充。这一步的目的是进一步提取特征。

4.ReLU激活函数:将第二个卷积操作层的输出传递给另一个ReLU激活函数,以增加非线性特性。

5.最大池化层:将ReLU激活函数的输出传递给一个最大池化层。这个池化层具有2x2的核大小,步长为2,用于降低特征图的空间尺寸。有助于减少计算复杂度,并提高特征的平移不变性。

本实施例中,在UNet的下采样部分,对应5个下采样层重复上述操作。每一层的输出都会作为下一层的输入。这样可以逐层提取输入图像的多尺度特征。同时,还会保存每一个下采样层ReLU激活函数的输出,以便在上采样部分使用跳跃连接进行特征融合。

3*3的卷积核在本实施例中的主要功能是局部特征提取,包括:

局部特征提取:卷积核在输入特征图(如图像)的局部区域上滑动,并计算局部区域与卷积核之间的点积。这使得卷积层能够提取输入特征图中的局部特征,例如边缘、角点和纹理等。

参数共享:在卷积神经网络中,卷积核的权重在整个输入特征图上共享。这意味着,不管输入特征图的尺寸多大,卷积核的参数数量始终保持不变。参数共享可以显著减少模型的参数数量,降低过拟合的风险,并减少计算复杂度。

平移不变性:由于卷积核在整个输入特征图上滑动并应用相同的权重,卷积操作具有一定程度的平移不变性。这意味着,即使输入特征图中的某个特征发生平移,卷积层仍然可以识别出该特征。这对于处理自然图像等实际应用中的数据非常有用,因为这些数据通常具有平移变化。

特征映射:卷积核可以将输入特征图映射到一个新的特征空间,从而使得网络能够捕捉更高层次的特征。随着网络层数的增加,这些特征变得越来越抽象,能够表示更高层次的概念。

在本发明实施例的卷积神经网络(CNN)中激活函数负责引入非线性,从而使得网络能够捕捉更复杂的特征和模式。激活函数ReLU(Rectified Linear Unit)其数学表达式为:f(x)=max(0,x)。ReLU是在负数部分输出为0,正数部分保持线性。

在本发明中,每一个下采样层包括2个卷积操作层和1个最大池化层。每个卷积操作层后面都会接一个激活函数(本例中为ReLU)。使用激活函数的具体步骤包括:

执行卷积操作:卷积层使用大小为3x3的卷积核在输入特征图上执行卷积操作。卷积操作的输出是一个新的特征图,每个元素都是局部区域与卷积核之间的点积。

应用激活函数:对于卷积操作的输出特征图,将ReLU激活函数逐元素应用。具体来说,对于特征图中的每个值,如果该值大于0,则保持不变;如果小于等于0,则将其置为0。

在下采样层中,还有一个卷积操作层和ReLU激活函数。因此,需要再次执行卷积操作,并将ReLU应用于卷积操作的输出特征图。

执行最大池化操作:在两个卷积操作层之后,执行最大池化操作。最大池化层使用大小为2x2的池化核在输入特征图上进行滑动,从局部区域中选择最大值作为输出特征图的元素。

在每个下采样层中,卷积操作层和ReLU激活函数一起进行特征提取和非线性处理。这使得网络能够捕捉输入数据中的更复杂模式和特征。

步骤5.提取缺陷的轮廓信息,利用训练好的UNet分割模型检测后输出缺陷的Mask坐标信息,获取Mask坐标信息绘制出缺陷的轮廓信息;

生成缺陷的轮廓信息的HOG(Histogram of Oriented Gradient,方向梯度直方图)特征描述符,HOG通过计算和统计图像区域的灰度梯度方向的直方图来构建特征向量,可以提取图像的轮廓信息。而且由于HOG算法在图像的局部方格单元上进行操作,它对图像几何的和光学的形变都能保持很好的不变性的优点,

本发明HOG主要是通过计算图像各个区域中的梯度方向和大小来构建特征描述符,通过HOG特征描述符进行目标检测、图像识别和分类任务,具体包括:

划分缺陷的轮廓为小的区域(cell):将缺陷的轮廓划分为较小的区域(例如8x8像素),以便在每个区域内计算方向梯度直方图。

计算每个区域的方向梯度直方图:在每个区域内,根据梯度的方向和大小计算方向梯度直方图。这些直方图具有固定数量的bins,每个bin代表一个特定的梯度方向范围。梯度大小被累积到对应的bin中。

归一化每个区域的方向梯度直方图:为了减少光照变化的影响,对每个区域的方向梯度直方图进行归一化。通常,将几个相邻区域组合成一个较大的区域(block),并对整个block的直方图进行归一化。

将所有归一化的直方图连接起来:将所有区域(或block)的归一化方向梯度直方图连接起来,形成一个的特征向量的HOG特征描述符,即PCB板图像的特征向量。

对于一较佳实施例,计算区域的HOG特征向量的过程如下:

图像预处理:将缺陷的轮廓转换为灰度图像,以降低计算复杂度。可以选择对缺陷的轮廓进行归一化处理,以提高光照不变性。

计算梯度:使用Sobel算子、Prewitt算子或其他边缘检测算子在水平和垂直方向上计算缺陷的轮廓的梯度强度和梯度方向。梯度方向将在0到360度(或0到180度)范围内量化。

划分单元格和区块:将缺陷的轮廓分割为小的单元格(例如8x8像素),并将相邻的单元格组合成区块(例如2x2个单元格)。可以提高空间局部性和鲁棒性。

计算直方图:对每个单元格内的梯度方向和强度进行统计,创建方向梯度直方图。将梯度方向分为若干个bin(例如9个),然后将梯度强度累加到对应的bin中。

归一化区块:对每个区块进行归一化处理,以减小光照和对比度的影响。可以采用L1、L2等不同的归一化方法。

连接特征向量:将所有区块的归一化直方图连接成一个长特征向量,即图像的HOG特征描述符。这个特征向量包含了缺陷的轮廓的局部梯度信息,能够有效地描述图像的轮廓和纹理特征。

HOG特征描述符包含连接起来的所有归一化方向梯度直方图。这些特征描述符可以用于训练分类器(如支持向量机SVM)或其他机器学习模型以进行目标检测、识别或分类等任务。通过使用训练好的UNet分割模型,得到了缺陷的Mask坐标信息。在这些区域上计算HOG特征描述符。以便得到包含每个缺陷区域HOG特征描述符的列表,可以将这些特征描述符用于进一步的分析或者进行其他后处理任务,例如分类、评估缺陷严重程度。

在HOG特征提取过程中,这些参数可以根据具体问题进行调整,以达到最佳的性能。HOG特征描述符可以用于训练分类器(例如支持向量机SVM)或其他机器学习模型,以进行目标检测、识别或分类等任务。

本实施例中,训练针对PCB板缺陷图分类的SVM分类器(Support Vector Machine,支持向量机)的方法包括:

将HOG特征描述符标记为正类或负类标签,其中正类为存在缺陷的标签,负类为不存在缺陷的标签;

将HOG特征描述符和对应的正类或负类标签输入SVM训练器进行训练。SVM的目标是找到一个超平面,使得正类和负类之间的间隔最大化。这个间隔被称为“最优间隔”。

首先使用带标签的训练数据集(包括缺陷和非缺陷样本)训练SVM分类器。训练过程中,SVM会尝试找到一个最优的超平面,使得该超平面与两类样本之间的间隔最大,从而得到一个更好的分类性能。

步骤6.利用SVM分类器对PCB板图像缺陷进行判别。当检测的时候,获取待检测的PCB板图像,通过利用UNet分割模型的训练结果检测的PCB板图像,输出缺陷区域坐标,根据坐标绘制出缺陷区域;

对于绘制出的缺陷区域,通过计算缺陷区域的灰度梯度方向的直方图HOG来提取待检测的PCB板图像的的特征向量的HOG特征描述符;

将提取的待检测的PCB板图像的的特征向量的HOG特征描述符输入到训练好的SVM分类器;

通过SVM分类器进行判断,利用最优间隔做出缺陷的判别,SVM会将特征向量划分到某个类别(缺陷或非缺陷)。SVM分类器可以有效地对图像中的缺陷进行检测和判别。

SVM分类器会输出一个类别标签,表示该图像中是否存在缺陷。如果判断为缺陷,可以进一步获取缺陷的详细信息,如轮廓信息、面积等。

通过以上步骤,可以利用最优间隔对缺陷进行判别。这种方法可以有效地区分缺陷和非缺陷样本,提高缺陷检测的准确性。

图2(a)是多分类模型的分割效果图,图2(b)是分割模型的检测效果图,可见本发明通过不同的模型对同一批数据集进行数据进行检测可以看出,采用分割模型后,缺陷的轮廓信息能够被准确提取出来,区域定位好后对区域计算方向梯度直方图,最后将特征向量进入分类器,实验结果比只有多分类模型更好,对缺陷的判别准确率会比背景技术高。

本发明利用分割模型提取PCB板图像缺陷的具体的轮廓区域,准确得获得缺陷的位置和尺寸得特征信息,然后利用这些特征运用图像处理对区域计算其特有的特征向量,最后运用分类的方法,采用分类器对目标区域进行缺陷的判别,减少了缺陷检测项目中过检率较高的问题。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种基于CNN的柔性电路板外观缺陷检测方法
  • 产品表面缺陷分割方法、缺陷分割模型学习方法及装置
  • 一种基于语义分割的PCB板缺陷检测方法
技术分类

06120116486112