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

一种基于分块的金属表面缺陷检测方法及系统

文献发布时间:2023-06-19 13:45:04


一种基于分块的金属表面缺陷检测方法及系统

技术领域

本发明属于工业缺陷检测技术领域,涉及金属表面缺陷检测,特别涉及一种基于分块的金属表面缺陷检测方法及系统。

背景技术

由于在工业中应用的广泛性,金属表面检测已经越来越受到人们的关注。与某些平滑的表面相比(例如,LCD屏或光学元件等),金属表面的图像很容易受到光照不均匀,背景噪声等因素的影响,这就给检测问题带来了困难。

例如,发动机作为汽车的“心脏”,是汽车生产制造过程中非常核心的环节,其质量把控非常严格。假如发动机缸孔壁出现磨损、缩松等缺陷,会造成漏油漏气等问题,不仅会影响发动机的性能,甚至可能会引起安全事故。因此,对发动机进行缺陷检测是发动机生产制造过程中非常重要的一环。当前,在发动机表面缺陷检测问题上,主要采用的方法是人工目视法,即依靠肉眼进行缺陷检测。然而,人工目视法受工人的技术水平、判断标准、个体差异等因素的影响,无法保障产品的检测稳定性和一致性;并且人工检测的方法自动化程度低、生产效率低、同时也会耗费大量的人力成本。

发明内容

本发明的目的在于提供一种基于分块的金属表面缺陷检测方法及系统,以解决上述存在的一个或多个技术问题。本发明的检测方法,可提升对金属表面的缺陷进行检测和定位的效率,且检测的召回率较高。

为达到上述目的,本发明采用以下技术方案:

本发明第一方面提供的一种基于分块的金属表面缺陷检测方法,包括以下步骤:

获取待检测的金属表面图像并进行分块处理,获得分块后的图像块集合;

将所述图像块集合中的图像块输入预训练好的二分类器中,获得检测结果;

其中,所述预训练好的二分类器的获取步骤包括:

获取标注好的金属表面缺陷样本图像并进行分块处理,获得分块后的图像块缺陷样本集合;其中,所述图像块集合中的图像块与所述图像块缺陷样本集合中的图像块缺陷样本的大小相同;

基于所述图像块缺陷样本集合,获得正负样本集合;

基于所述正负样本集合中的正样本和负样本对预构建的二分类网络进行训练,训练达到预设收敛条件后获得所述预训练好的二分类器。

本发明方法的进一步改进在于,所述获取标注好的金属表面缺陷样本图像并进行分块处理,获得分块后的图像块缺陷样本集合的步骤具体包括:

(1)获取预设数量的金属表面缺陷样本图像;

(2)对每个金属表面缺陷样本图像进行分块处理,获得所述每个金属表面缺陷样本图像的图像块缺陷样本集合;

(3)对于所述每个金属表面缺陷样本图像的图像块缺陷样本集合,计算每个图像块缺陷样本和图像缺陷真值框的重叠面积与图像缺陷真值框的比值;基于所述比值与预设比值阈值,划分获得有缺陷、无缺陷的正负样本集合。

本发明方法的进一步改进在于,所述步骤(1)中,在获取预设数量的金属表面缺陷样本图像之后,还包括:对金属表面缺陷样本图像进行处理校正,获得亮度均匀一致的金属表面缺陷样本图像;

其中,所述处理校正的步骤具体包括:

采用伽马校正对金属表面缺陷样本图像进行处理校正;

伽马校正由下列幂定律公式所定义:

其中,A是一个常量,V是一点的灰度值,γ为伽马值。

本发明方法的进一步改进在于,所述将所述图像块集合中的图像块输入预训练好的二分类器中,获得检测结果的步骤具体包括:

将所述图像块集合中的图像块输入预训练好的二分类器中,获得每个图像块的置信度分数;

将置信度分数大于等于预设置信度分数阈值的图像块判定为有缺陷;

在待检测的金属表面图像上,标注出判定为有缺陷的图像块,获得检测结果。

本发明方法的进一步改进在于,所述将所述图像块集合中的图像块输入预训练好的二分类器中,获得每个图像块的置信度分数的步骤具体包括:

图像块输入二分类器后,获得一个二维向量[x

将二维向量输入Softmax函数,得到图像块的置信度分数;

其中,Softmax函数为,

式中,x

本发明方法的进一步改进在于,所述分块处理的步骤具体包括:

从左到右,由上到下划分图像,获得的图像块的大小为256×256,水平方向第j个,垂直方向第i个图像块标记为(i,j);

图像块(i,j)的坐标计算公式为,

x

y

x

y

式中,(i,j)表示第i行第j列的图像块;x

本发明方法的进一步改进在于,所述计算每个图像块缺陷样本和图像缺陷真值框的重叠面积与图像缺陷真值框的比值的步骤具体包括:

基于金属表面缺陷样本图像的标注文件,获取所有缺陷的缺陷位置信息;其中,缺陷位置信息为缺陷标注框在原始金属表面缺陷样本图像中的左上角和右下角坐标;

对于划分获得的图像块(i,j),获取其在原始金属表面缺陷样本图像中的左上角和右下角的坐标;

假设缺陷真值框的左上角坐标为(x

计算图像块坐标与缺陷真值框左上角坐标的最大值:

x

y

计算图像块坐标与缺陷真值框右下角坐标的最小值:

x

y

若x

s

将重叠面积s

本发明第二方面提供的一种基于分块的金属表面缺陷检测系统,包括:

分块处理模块,用于获取待检测的金属表面图像并进行分块处理,获得分块后的图像块集合;

检测结果获取模块,用于将所述图像块集合中的图像块输入预训练好的二分类器中,获得检测结果;

其中,所述预训练好的二分类器的获取步骤包括:

获取标注好的金属表面缺陷样本图像并进行分块处理,获得分块后的图像块缺陷样本集合;其中,所述图像块集合中的图像块与所述图像块缺陷样本集合中的图像块缺陷样本的大小相同;

基于所述图像块缺陷样本集合,获得正负样本集合;

基于所述正负样本集合中的正样本和负样本对预构建的二分类网络进行训练,训练达到预设收敛条件后获得所述预训练好的二分类器。

与现有技术相比,本发明具有以下有益效果:

本发明提出的基于分块的金属表面缺陷检测方法,对金属表面的缺陷检测效果显著;其通过对图像进行分块,利用预先训练获得的模型对由待检测图像划分出的图像块进行检测,从而得出整张图像的检测结果。

本发明方法与传统的人工目视法相比检测速度更快,平均4~5秒检测一张图像;同时,与传统的目标检测算法如Fast-RCNN相比,本方法的检测精度更高。

示例性的,本发明的方法,可实现在较快的速度下对金属表面的缺陷进行检测和定位,经200余张图像验证,检测的召回率高达80%,远超目前的目标检测算法。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对实施例或现有技术描述中所需要使用的附图做简单的介绍;显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的一种基于分块的金属表面缺陷检测方法的流程示意图;

图2是本发明实施例中,图像块划分示意图;

图3是本发明实施例中,深度神经网络ResNet-50结构的示意图;

图4是本发明实例中,神经网络ResNet-50的conv block组件的示意图;

图5是本发明实例中,神经网络ResNet-50的identity block组件的示意图;

图6是本发明实施例的待检测图像示意图(已去除背景区域);

图7是本发明实施例的检测结果示意图(已去除背景区域)。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面结合附图对本发明做进一步详细描述:

请参阅图1,本发明实施例的一种基于分块的金属表面缺陷检测方法,包括以下步骤:

(1)采集足量的金属表面缺陷图像;

(2)将步骤(1)中获得的金属缺陷图像进行图像处理和校正,获得亮度均匀一致的图像,并进行手动标注,获得一批带标注的金属表面缺陷图像;

(3)根据步骤(2)获得的图像标注信息,将步骤(2)获得的图像进行切块,获得小图像块并划分为正负样本集;

根据小图像块与图像缺陷真值框Ground Truth的重叠面积与图像缺陷真值框的比值划分正负样本,获得有缺陷与无缺陷的正负样本集;

(4)以步骤(3)中获得的正负样本集作为深度神经网络的输入,训练深度神经网络获得一个二分类器,该分类器能够判断图像块中是否带有缺陷;

(5)将待检测图像划分为与步骤(2)中同等大小的图像块,输入步骤(4)获得的二分类器中,得到该图像块的置信度分数。

根据置信度分数大小,设定一个阈值,将大于该阈值的图像块判定为有缺陷。根据图像块在原始图像中的位置,将有缺陷的图像块在原始图像中标注出来,获得最终检测结果。

本发明实施例的步骤(1)具体包括:模拟发动机表面制作一批金属板,人工制造金属表面缺陷,缺陷类别包括划痕、凹槽等。搭建图像采集平台进行图像采集,获得一批有代表性的金属表面缺陷图像。金属板尺寸为300×300mm,每块金属板缺陷数量6~20个不等,图像的分辨率为3648×5472。

本发明实施例的步骤(2)具体包括:采用伽马校正(Gamma correction)对步骤(1)中获得的图像进行校正。伽马校正是用来对影片或是影像系统里对光线的灰度进行非线性的运算或反运算。

伽马校正由下列幂定律公式所定义:

其中,A是一个常量,V是一点的灰度值,γ为伽马值。

通常相机图像传感器的输出与照射在图像传感器上的光子是线性的,伽马校正可提供一种输出非线性的映射机制。伽马数值在0.5~1之间,图像暗处亮度提升;数值在1~4之间图像暗处亮度下降。示例性的,此处选择的γ值为0.454。

本发明实施例的步骤(3)具体包括:将原始图像中的金属板周围的背景舍去,只对金属板部分分块,将划分后的图像块分别计算与图像中的缺陷的真值框的重叠面积s

示例性的,选取的阈值为0.3。舍去金属板周围背景时分别舍去作用900个像素,上下30个像素,图像块的划分尺寸为256×256。

本发明实施例的步骤(4)具体步骤包括:将步骤(3)中获得的正负样本图像块输入神经网络,采用Resnet-50网络训练,得到一个二分类器。该分类器在测试集上的准确率为90.43%。

请参阅图2,本发明实施例的步骤(5)中,待检测图像划分图像块的具体步骤包括:

舍去图像中金属板外的背景部分,即左右分别舍去900个像素,上下分别舍去30个像素;

从左到右,由上到下划分原始图像,划分的图像块的大小为256×256,舍去背景后在图像块之间不重叠时水平与垂直方向均最多划分14个图像块,原始图像被划分为196个图像块,水平方向第j个,垂直方向第i个图像块标记为(i,j);

图像块(i,j)的坐标计算公式为:

x

y

x

y

式中,x

本发明实施例的步骤(5)中,得到待检测图像的检测结果的具体步骤包括:

将待检测图像划分为256×256大小的图像块,总共获得196张小图像块;

将获得的196张小图像块分别进行图像预处理,利用Pytorch中的图像预处理方法对输入图像块进行处理,主要包括随机旋转,随机裁剪为224×224大小以及数据归一化。

将处理后的图像块分别输入步骤(4)中获得的分类器模型,得到每个图像块的置信度分数。对于每个图像块根据其置信度分数与阈值的大小关系,判定该图像块是否带有缺陷,当置信度分数大于阈值时为有缺陷,否则为无缺陷。根据有缺陷的图像块在原图中的位置,在原图中标注出检测框位置。

本发明实施例的步骤(5)中,获得每个图像块的置信度分数的计算步骤如下:

处理后的图像块输入步骤(4)中获得的二分类器之后,得到的一个二维向量[x

Softmax函数如下:

将上述二维向量输入Softmax函数,x

本发明实施例可选的,步骤(3)中计算划分图像块与图像缺陷的真值框的重叠面积s

对于某个划分后的图像块(i,j)计算其在原图中的左上角和右下角的坐标。

图像块(i,j)的坐标计算公式为:

x

y

x

y

式中,x

假设某个缺陷真值框的左上角坐标为(x

计算图像块坐标与缺陷真值框左上角坐标的最大值:

x

y

计算图像块坐标与缺陷真值框右下角坐标的最小值:

x

y

得到上述四个坐标值后做如下讨论:

若x

否则重叠面积s

s

得到重叠面积s

本发明实施例的方法中,基于分块的金属表面缺陷检测方法在对金属板的缺陷检测效果显著。通过对原始图像进行分块,输入神经网络训练得到一个二分类器模型,利用获得的模型对由待检测图像划分出的图像块进行检测,从而得出整张图像的检测结果。本发明方法与传统的人工目视法相比检测速度更快,平均4~5秒检测一张图像。同时与传统的目标检测算法如Fast-RCNN相比,本方法的检测精度更高。

实施例1

请参阅图1,本发明实施例的一种基于分块的金属表面缺陷检测方法,包括步骤如下:

步骤1:采集金属表面缺陷图像;

步骤2:图像校正并标注;

步骤3:图像分块划分正负样本;

步骤4:训练网络得到二分类器;

步骤5:待检测图像分块输入二分类器;

步骤6:检测结果输出。

步骤1的具体实现步骤为:目前金属表面缺陷检测领域面临的一个难题是缺乏公开的有代表性的数据集,因此本发明通过模拟发动机表面结构,制作一批金属板,采用人工制造缺陷的方式,主要制造划痕和凹槽两类缺陷,保证缺陷的代表性,每块金属板制作6~20个缺陷不等。金属板的尺寸为300mm×300mm。

由于金属材料表面反光严重,为构建均匀光照条件,采用四个条形灯合围打光的方式。

步骤2具体实现步骤为:由于步骤1中采集的图像亮度不均匀,因此对步骤1中的图像进行伽马校正,对应公式为:

其中A是一个常量,V是某点的灰度值,γ为伽马值。

当γ值小于1时会使图像暗处变亮,此处选取的伽马值为0.454。

图像标注采用手工标注的方式,利用LabelImg软件对图像进行标注,得到后缀名为xml的标注文件。

请参阅图2,步骤3的具体实现步骤为:该步骤分为两个步骤,图像块生成和图像块划分正负样本。

图像块生成的步骤为:计算金属板在原始图像中与北京的边界,即左右大约900个像素,上下大约30个像素。将原始尺寸为3648×5472的原始图像去除背景,变为3588×3642大小,在图像块大小为256×256且相互无冗余的情况下最多划分196(14*14)个图像块。

图像块(i,j)表示其是水平方向第j个,垂直方向第i个图像块,其坐标由如下公式计算:

x

y

x

y

式中,x

切分之后的图像块划分为正负样本的步骤为:计算图像块与该图像块所属图像的缺陷真值框的重叠面积s

假设某个缺陷真值框的左上角坐标为(x

计算图像块坐标与缺陷真值框左上角坐标的最大值:

x

y

计算图像块坐标与缺陷真值框右下角坐标的最小值:

x

y

得到上述四个坐标值后做如下讨论:

若x

否则重叠面积s

得到重叠面积s

关于此处阈值的设定,当阈值设定过大时,导致正样本数量较少;当阈值设定过小时,会导致划分质量较差,出现错分。选取了多个值,从划分得到的样本数量与样本质量综合考虑将该阈值设定为0.3,即重叠面积站缺陷真值框的30%以上时就将该图像块划分为正样本。

请参阅图3至图5,步骤4的具体实现步骤为:经步骤3之后获得划分好的正负样本集,图片总数量约为9000余张,正负样本数量大致相当。按照4:1的比例划分训练集与测试集。将不带缺陷的负样本的类别设为0,带缺陷的正样本类别设为1,输入ResNet-50网络,损失函数为交叉熵(Cross Entropy)损失函数,训练100个epoch后在验证集的准确率高达90.43%。在8张V100显卡环境下训练时间约为5个小时。

ResNet-50网络结构图如图3,其内部conv block与identity block结构分别如图4和图5所示。

步骤5包括图像分块与图像块分类。将待测图像分为小块的图像的步骤与步骤3中一致。图像块分类步骤包括:将切分的图像块输入步骤4获得的分类器,得到该图像块带有缺陷的置信度分数,当该置信度分数大于某一阈值时将该图像块判定为有缺陷,否则为无缺陷。

计算置信度分数的步骤为:

处理后的图像块输入步骤4中获得的二分类器之后,输出得到一个二维向量[x

Softmax函数如下:

将上述二维向量输入Softmax函数,x

此处设定的阈值为0.5时召回率达到81%。

步骤6为输出检测结果,具体操作步骤如下:计算步骤5中获得的置信度大于阈值的图像块的坐标,利用OpenCv的cv2.rectangle()函数会出所有检测框,即得到检测结果。

本发明实施例的检测结果如图6、图7所示。本发明实施例针对金属表面缺陷检测问题,设计基于分块的检测算法。算法流程简单,检测效果显著。具体来说,为改善由于金属材料打光时聚光效应显著,光照不均匀问题,对采集的图像进行伽马校正,获得亮度均匀的图像;为解决缺陷尺寸小难以检测问题,对原始图像进行分块检测,大大提高了检测精度;此外,本发明选择的分类器模型可以替换为EfficientNet、VGG、AlexNet等网络,对模型复杂度要求不高,检测速度约为4~5秒每张。

综上所述,本发明公开了一种基于分块的金属表面缺陷检测方法,属于计算机视觉领域。主要包含以下步骤:1、金属表面缺陷图像采集;2、图像校正和标注;3、图像分块划分正负样本;4、训练网络得到二分类器;5、待检测图像输入二分类器;6、检测结果输出。本发明方法能适用于某些金属表面缺陷检测任务,如工厂对铸件外表面的检测,发动机对上表面的缺陷检测等,在一定程度上弥补工厂金属表面缺陷检测技术的不足。

下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。

本发明再一实施例中,一种基于分块的金属表面缺陷检测系统,包括:

分块处理模块,用于获取待检测的金属表面图像并进行分块处理,获得分块后的图像块集合;

检测结果获取模块,用于将所述图像块集合中的图像块输入预训练好的二分类器中,获得检测结果;

其中,所述预训练好的二分类器的获取步骤包括:

获取标注好的金属表面缺陷样本图像并进行分块处理,获得分块后的图像块缺陷样本集合;其中,所述图像块集合中的图像块与所述图像块缺陷样本集合中的图像块缺陷样本的大小相同;

基于所述图像块缺陷样本集合,获得正负样本集合;

基于所述正负样本集合中的正样本和负样本对预构建的二分类网络进行训练,训练达到预设收敛条件后获得所述预训练好的二分类器。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

相关技术
  • 一种基于分块的金属表面缺陷检测方法及系统
  • 基于HDRI的高反光金属表面缺陷检测方法及系统
技术分类

06120113791051