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

产品图像缺陷检测方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:27:02


产品图像缺陷检测方法、装置、电子设备及存储介质

技术领域

本发明涉及工业缺陷识别的技术领域,特别是涉及一种产品图像缺陷检测方法、装置、电子设备及存储介质。

背景技术

工业生产过程中会产生各种类型的缺陷,其会影响产品质量甚或安全问题,通常需要用计算式视觉技术将其检测与识别。深度学习的语义分割算法属于像素级的分类算法,其能对图像的每个像素进行分类,预测每个像素是否是缺陷。由于语义分割是对像素进行分类,可准确输出缺陷位置与面积等业界所需的数据,且其预测精度高,稳定性强,所以广泛应用于工业外观缺陷检测与识别。

但是,将语义分割算法用于工业质检有其固有问题,其根源正是语义分割本身的特点:语义分割是对整幅图像的每个像素进行分类,只要有一个像素预测为缺陷,就意味着该图有缺陷,但由于噪声的干扰,随机出现少量像素预测为缺陷是很有可能的,业务上不应该将其视为缺陷。简而言之,就是语义分割模型存在过杀率高的问题,即将不是缺陷的少量像素预测为缺陷,导致在工业质检中将良品误判为次品。

针对语义分割的这个问题,目前常规的方法是设置面积阈值,通过卡面积的方式滤除小面积的噪声缺陷,但是,这个方法存在不足,体现在面积阈值设置得过大,会滤除真实的缺陷,设置得过小,又难以滤除噪声缺陷。也就是说技术人员难以设置统一、可靠的面积阈值,往往依靠个人经验,最终导致因人而异。

发明内容

基于此,本发明的目的在于,提供一种产品图像缺陷检测方法、装置、电子设备及存储介质,引入关键点检测算法,利用其图像级信息预测过杀低的优势,来缓解语义分割算法的像素级信息预测过杀高的问题。

第一方面,本发明提供一种产品图像缺陷检测方法,包括以下步骤:

获取待检测的产品图像;

将所述产品图像输入训练好的语义分割模型,得到缺陷预测二值图;

将所述产品图像输入训练好的关键点监测模型,得到所述产品图像中所有缺陷点对应的坐标;

将所述缺陷点对应的坐标投射到所述缺陷预测二值图中,遍历所有缺陷预测区域;

当所述缺陷预测区域内包含缺陷点对应的坐标,则判定该缺陷预测区域为真实缺陷区域。

进一步地,所述语义分割模型为deeplab v3模型。

进一步地,所述deeplab v3模型的训练过程包括:

获取语义分割数据集,所述数据集包括多张产品图像,每张产品图像包括对应的缺陷标注;

构建deeplab v3模型,其中,所述deeplab v3模型的损失函数为逐像素的交叉熵损失;

使用所述语义分割数据集训练所述deeplab v3模型,得到训练好的语义分割模型;其中,训练采用poly学习率策略,初始学习率设置为0.007。

进一步地,所述关键点检测模型为SimpleBaselines模型。

进一步地,所述SimpleBaselines模型的训练过程包括:

获取关键点检测数据集,所述数据集包括多张产品图像,每张产品图像包括对应的缺陷关键点坐标标注;

构建所述SimpleBaselines模型,其中,所述SimpleBaselines模型的损失函数为均方误差,优化算法为Adam,batch size=32;num epochs=30;lr=0.01;

使用所述关键点检测数据集对所述SimpleBaselines模型进行训练至收敛,得到训练好的关键点检测模型。

第二方面,本发明还提供一种产品图像缺陷检测装置,包括:

产品图像获取模块,用于获取待检测的产品图像;

缺陷预测二值图获取模块,用于将所述产品图像输入训练好的语义分割模型,得到缺陷预测二值图;

缺陷点坐标获取模块,用于将所述产品图像输入训练好的关键点监测模型,得到所述产品图像中所有缺陷点对应的坐标;

缺陷区域判定模块,用于将所述缺陷点对应的坐标投射到所述缺陷预测二值图中,遍历所有缺陷预测区域,当所述缺陷预测区域内包含缺陷点对应的坐标,则判定该缺陷预测区域为真实缺陷区域。

第三方面,本发明还提供一种电子设备,包括:

至少一个存储器以及至少一个处理器;

所述存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如本发明第一方面任一所述的一种产品图像缺陷检测方法的步骤。

第四方面,本发明还提供一种计算机可读存储介质,

所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面任一所述的一种产品图像缺陷检测方法的步骤。

本发明提供的一种产品图像缺陷检测方法、装置、电子设备及存储介质,引入关键点检测算法,利用其图像级信息预测过杀低的优势,来缓解语义分割算法的像素级信息预测过杀高的问题。无需人工设置面积阈值,克服以往方法中难以设置面积阈值的不足;缓解语义分割模型的过杀高问题,提升工业质检的缺陷识别精度。

为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

图1为本发明提供的一种产品图像缺陷检测方法的流程示意图;

图2为一个实施例中提取得到语义分割缺陷区域和缺陷关键点坐标示意图;

图3为一个实施例中锂电池转接片焊接图像的灰度化图像,该产品表面可能存在爆点类型的缺陷;

图4为图3中的产品原图经过语义分割模型后得到的缺陷区域二值图的灰度化图像;

图5为图3中的产品原图经过关键点检测模型后得到的关键点图像的灰度化图像;

图6为图4和图5的二值图和关键点图结合的图像;

图7为本发明提供的一种产品图像缺陷检测装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。

应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。

在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

针对背景技术中的问题,本申请实施例提供一种产品图像缺陷检测方法,如图1所示,该方法包括以下步骤:

S01:获取待检测的产品图像。

所示产品图像为待检测是否存在缺陷的工业产品,由图像采集设备拍摄得到。

待检测的缺陷通常是指检测物品表面的瑕疵,如污点、划痕、浅坑、浅瘤、边缘缺陷、图案缺陷、斑点、凹痕、色差、瑕疵、材料不足、材料过多等。

具体的,可能包括、电子设备表面的字符识别和字符缺陷检测;.检测液晶屏表面的缺陷,如瑕疵、瑕疵和划痕;在造纸工业中检测造纸过程中的缺陷,例如污点、斑点和杂质;检测印刷品的污渍、色差等缺陷;瓶盖印刷质量检验,产品包装上的条形码和字符识别等。

以上缺陷均呈现于产品表面,可通过人眼视觉辨别。进一步的,可通过采集产品表面图像,进行机器视觉检测。

S02:将所述产品图像输入训练好的语义分割模型,得到缺陷预测二值图。

语义分割是计算机视觉中很重要的一个方向。不同于目标检测和识别,语义分割实现了图像像素级的分类。它能够将一张图片或者视频(视频以帧来提取的话其实就是图片),按照类别的异同,将图像分为多个块。

语义分割常应用于以下领域:

医学图像分割:主要用于对肿瘤等的分割,辅助医疗;

无人驾驶:其中,道路分割可以确定出无人汽车行驶的区域,而如果能精确分割出行人、车辆等,那么可以根据这些信息避障,同时,分割可以确定出目标轮廓,这些信息对于目标的行为预测肯定有很大帮助;

遥感图像分割:通常对遥感图像分割出道路,湖面,房屋,车辆等,这种难度是很大的,因为目标很小。

在一个具体实施例中,将语义分割应用于工业产品的缺陷检测,则分割算法模型的目的是通过人为提供的训练数据,学习如何识别某种缺陷,自然地输出也就是希望识别的缺陷,它以二值图的形式呈现。输入数据是原始图像(即相机拍摄的图像),输出是预测的二值图(背景是黑色,前景即缺陷是白色)。

在一个优选的实施例中,所述语义分割模型为deeplab v3模型。

DeepLab v3相比于DeepLab v2,改进了v2的ASPP模块:加入了BN层;将v2中的ASPP中尺寸3×3,dilation=24的空洞卷积替换成一个普通的1×1卷积,以保留滤波器中间部分的有效权重;(随着空洞率的增大,滤波器中有效权重的个数在减少)增加了全局平均池化以便更好的捕捉全局信息。

所述deeplab v3模型的训练过程包括:

S11:获取语义分割数据集,所述数据集包括多张产品图像,每张产品图像包括对应的缺陷标注;

S12:构建deeplab v3模型,其中,所述deeplab v3模型的损失函数为逐像素的交叉熵损失;

S13:使用所述语义分割数据集训练所述deeplab v3模型,得到训练好的语义分割模型;其中,训练采用poly学习率策略,初始学习率设置为0.007。

S03:将所述产品图像输入训练好的关键点监测模型,得到所述产品图像中所有缺陷点对应的坐标。

在图像处理中,关键点本质上是一种特征。它是对一个固定区域或者空间物理关系的抽象描述,描述的是一定邻域范围内的组合或上下文关系。它不仅仅是一个点信息,或代表一个位置,更代表着上下文与周围邻域的组合关系。

关键点检测网络的目的是学习如何准确认出缺陷的位置,例如图像中有5个缺陷,就在每个缺陷处输出一个点坐标。其输入数据是原始图像,输出数据是若干个点的坐标(x和y)。

在一个优选的实施例中,所述关键点检测模型为SimpleBaselines模型。

SimpleBaselines是一种结构精简、准确率较高的特征点检测算法,图像输入由残差网络构成的骨干网络提取特征,得到的特征经过三次反卷积,最后经过一次1×1卷积得到输出张量,也称为热图。通过计算可得特征点在各个热图中的坐标,随后利用仿射变换即可得到特征点在输入图像中的坐标。

所述SimpleBaselines模型的训练过程包括:

S21:获取关键点检测数据集,所述数据集包括多张产品图像,每张产品图像包括对应的缺陷关键点坐标标注;

S22:构建所述SimpleBaselines模型,其中,所述SimpleBaselines模型的损失函数为均方误差,优化算法为Adam,batch size=32;num epochs=30;lr=0.01;

S23:使用所述关键点检测数据集对所述SimpleBaselines模型进行训练至收敛,得到训练好的关键点检测模型。

S04:将所述缺陷点对应的坐标投射到所述缺陷预测二值图中,遍历所有缺陷预测区域,当所述缺陷预测区域内包含缺陷点对应的坐标,则判定该缺陷预测区域为真实缺陷区域。

分割模型输出的是若干个区域(一个区域由多个点组成),而关键点检测模型输出的是若干个点(一个像素点),两者的坐标都被投影到同一张图像上。在一个具体的实施例中,如图2所示,逐个遍历分割区域,只有当分割区域内部包含关键点的时候,才认为该区域是真实的缺陷区域,否则,认为该区域是误识别的缺陷,进而将其舍弃。

在一个具体的实施例中,如图3-图6所示,图3为锂电池转接片焊接图像,该产品表面可能存在爆点类型的缺陷。

图4为该产品原图经过语义分割模型后得到的缺陷区域二值图,其中包括ABC共3个缺陷区域;图5为产品原图经过关键点检测模型后得到的关键点图像,其中包括x共1个关键点;图6为二值图和关键点图结合的图像,其中B缺陷区域中包含x关键点,判定B缺陷区域为真实的缺陷;A与C区域不包含关键点,判定为误识别,将其舍弃。

本申请实施例还提供一种产品图像缺陷检测装置,如图7所示,该产品图像缺陷检测装置400包括:

产品图像获取模块401,用于获取待检测的产品图像;

缺陷预测二值图获取模块402,用于将所述产品图像输入训练好的语义分割模型,得到缺陷预测二值图;

缺陷点坐标获取模块403,用于将所述产品图像输入训练好的关键点监测模型,得到所述产品图像中所有缺陷点对应的坐标;

缺陷区域判定模块404,用于将所述缺陷点对应的坐标投射到所述缺陷预测二值图中,遍历所有缺陷预测区域,当所述缺陷预测区域内包含缺陷点对应的坐标,则判定该缺陷预测区域为真实缺陷区域。

优选的,所述语义分割模型为deeplab v3模型。

优选的,所述deeplab v3模型的训练过程包括:

获取语义分割数据集,所述数据集包括多张产品图像,每张产品图像包括对应的缺陷标注;

构建deeplab v3模型,其中,所述deeplab v3模型的损失函数为逐像素的交叉熵损失;

使用所述语义分割数据集训练所述deeplab v3模型,得到训练好的语义分割模型;其中,训练采用poly学习率策略,初始学习率设置为0.007。

优选的,所述关键点检测模型为SimpleBaselines模型。

优选的,所述SimpleBaselines模型的训练过程包括:

获取关键点检测数据集,所述数据集包括多张产品图像,每张产品图像包括对应的缺陷关键点坐标标注;

构建所述SimpleBaselines模型,其中,所述SimpleBaselines模型的损失函数为均方误差,优化算法为Adam,batch size=32;num epochs=30;lr=0.01;

使用所述关键点检测数据集对所述SimpleBaselines模型进行训练至收敛,得到训练好的关键点检测模型。

本申请实施例还提供一种电子设备,包括:

至少一个存储器以及至少一个处理器;

所述存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如前所述的一种产品图像缺陷检测方法的步骤。

对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本申请实施例还提供一种计算机可读存储介质,

所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的一种产品图像缺陷检测方法的步骤。

计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本发明提供的一种产品图像缺陷检测方法、装置、电子设备及存储介质,引入关键点检测算法,利用其图像级信息预测过杀低的优势,来缓解语义分割算法的像素级信息预测过杀高的问题。无需人工设置面积阈值,克服以往方法中难以设置面积阈值的不足;缓解语义分割模型的过杀高问题,提升工业质检的缺陷识别精度。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

技术分类

06120115917572