CN114419037B - 工件缺陷检测方法和装置 - Google Patents
工件缺陷检测方法和装置 Download PDFInfo
- Publication number
- CN114419037B CN114419037B CN202210308529.4A CN202210308529A CN114419037B CN 114419037 B CN114419037 B CN 114419037B CN 202210308529 A CN202210308529 A CN 202210308529A CN 114419037 B CN114419037 B CN 114419037B
- Authority
- CN
- China
- Prior art keywords
- defect
- sample data
- layer
- image
- newly
- 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.)
- Active
Links
Images
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
- G06T7/0004—Industrial image inspection
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
本发明提供了一种工件缺陷检测方法和装置,所述方法包括以下步骤:获取待检测工件的合格样本数据;根据合格样本数据构建初始背景图层和缺陷图层;根据初始背景图层和缺陷图层得到缺陷图形数据;根据合格样本数据和缺陷图形数据生成检测样本数据;根据检测样本数据构建缺陷检测模型以对待检测工件进行缺陷检测。本发明能够快速生成大量的检测样本数据,并能够保证检测样本数据的多样性,此外,还能够降低人工标注缺陷的工作量、提高缺陷标注效率。
Description
技术领域
本发明涉及缺陷检测技术领域,具体涉及一种工件缺陷检测方法和一种工件缺陷检测装置。
背景技术
在工业智能质检领域,需要收集大量带缺陷的零部件照片,并进行标注,作为后续深度学习模型的训练样本。其中训练样本的数量直接影响了深度学习模型的检测精度,在实际项目中,收集样本的过程需要消耗大量的人工成本、时间成本,另外一些缺陷在产品中出现的概率较低,往往难以收集到足够数量的样本。此外,利用Photoshop等软件人工绘制缺陷,虽然可以获取质量不错的带缺陷样本图片,但是人工绘制的方式效率低下,难以在短时间内产出大批量的带缺陷样本图片。
发明内容
本发明为解决上述技术问题,提供了一种工件缺陷检测方法,能够快速生成大量的检测样本数据,并能够保证检测样本数据的多样性,此外,还能够降低人工标注缺陷的工作量、提高缺陷标注效率。
一种工件缺陷检测方法,包括以下步骤:获取待检测工件的合格样本数据;根据所述合格样本数据构建初始背景图层和缺陷图层;根据所述初始背景图层和所述缺陷图层得到缺陷图形数据;根据所述合格样本数据和所述缺陷图形数据生成检测样本数据;根据所述检测样本数据构建缺陷检测模型以对所述待检测工件进行缺陷检测。
其中,所述合格样本数据包括所述待检测工件的良品图像,对应所述缺陷图层还设有配置信息,所述检测样本数据包括缺陷样本数据和所述缺陷样本数据的缺陷MASK。
其中,所述第三处理模块根据所述合格样本数据和所述缺陷图形数据生成检测样本数据,具体包括以下步骤:根据所述合格样本数据中任意良品图像构建新建背景图层;采用所述新建背景图层替换所述缺陷图形数据中的初始背景图层;对应所述新建背景图层加载所述缺陷图层;根据所述配置信息对每个所述缺陷图层进行随机处理以得到缺陷样本数据并导出;根据所述缺陷样本数据得到第一图像矩阵;隐藏所述新建背景图层上的所有所述缺陷图层以得到所述新建背景图层对应的良品图像并导出;根据所述新建背景图层对应的良品图像得到第二图像矩阵;根据所述第一图像矩阵和所述第二图像矩阵得到所述缺陷样本数据的缺陷MASK。
根据本发明的一个实施例,所述根据所述合格样本数据构建初始背景图层和缺陷图层,包括以下步骤:根据所述合格样本数据中任意良品图像构建初始背景图层;根据所述初始背景图层构建多个缺陷图层,其中,对应每个所述缺陷图层还设有配置信息。
根据本发明的一个实施例,所述根据所述检测样本数据构建缺陷检测模型,包括以下步骤:根据所述缺陷样本数据和所述缺陷样本数据的缺陷MASK训练并检验缺陷检测模型。
一种工件缺陷检测装置,包括:获取模块,所述获取模块用于获取待检测工件的合格样本数据;第一处理模块,所述第一处理模块用于根据所述合格样本数据构建初始背景图层和缺陷图层;第二处理模块,所述第二处理模块用于根据所述初始背景图层和所述缺陷图层得到缺陷图形数据;第三处理模块,所述第三处理模块用于根据所述合格样本数据和所述缺陷图形数据生成检测样本数据;建模检测模块,所述建模检测模块用于根据所述检测样本数据构建缺陷检测模型以对所述待检测工件进行缺陷检测。
其中,所述合格样本数据包括所述待检测工件的良品图像,对应所述缺陷图层还设有配置信息,所述检测样本数据包括缺陷样本数据和所述缺陷样本数据的缺陷MASK。
其中,所述第三处理模块根据所述合格样本数据和所述缺陷图形数据生成检测样本数据,具体包括以下步骤:根据所述合格样本数据中任意良品图像构建新建背景图层;采用所述新建背景图层替换所述缺陷图形数据中的初始背景图层;对应所述新建背景图层加载所述缺陷图层;根据所述配置信息对每个所述缺陷图层进行随机处理以得到缺陷样本数据并导出;根据所述缺陷样本数据得到第一图像矩阵;隐藏所述新建背景图层上的所有所述缺陷图层以得到所述新建背景图层对应的良品图像并导出;根据所述新建背景图层对应的良品图像得到第二图像矩阵;根据所述第一图像矩阵和所述第二图像矩阵得到所述缺陷样本数据的缺陷MASK。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述工件缺陷检测方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述工件缺陷检测方法。
本发明的有益效果如下:
(1)本发明通过调用绘图软件二次开发接口调整缺陷图层参数,能够提高检测样本数据的多样性;
(2)本发明通过隐藏或删除初始背景图层,加载新建背景图层,能够提高背景图层的多样性;
(3)本发明通过显示、隐藏缺陷图层导出缺陷样本数据和新建背景图层对应的良品图像,进而比较缺陷样本数据和新建背景图层对应的良品图像之间像素点的值是否有差异得到缺陷MASK,从而能够自动获取缺陷所在的位置信息,由此,能够降低人工标注缺陷的工作量,能够提高缺陷标注效率。
附图说明
图1为本发明实施例的工件缺陷检测方法的流程图;
图2为本发明一个具体实施例的待检测屏蔽盖的良品图像;
图3为本发明一个具体实施例的待检测屏蔽盖的划伤缺陷图形数据的图像;
图4为本发明一个具体实施例的待检测屏蔽盖的新建背景图层和划伤缺陷图层的构成图;
图5为本发明一个具体实施例的基于新建背景图层的划伤缺陷图形数据的图像;
图6为本发明一个具体实施例的基于新建背景图层的划伤缺陷样本图像;
图7为本发明一个具体实施例的基于新建背景图层的不带缺陷样本图像;
图8为本发明一个具体实施例的划伤缺陷MASK;
图9为本发明实施例的工件缺陷检测装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1位本发明实施例的工件缺陷检测方法的流程图。
如图1所示,本发明实施例的工件缺陷检测方法,包括以下步骤:
S1,获取待检测工件的合格样本数据。
具体地,可通过工业相机获取待检测工件的合格样本数据,例如待检测工件的良品图像。
S2,根据合格样本数据构建初始背景图层和缺陷图层。
具体地,可根据合格样本数据中任意良品图像构建初始背景图层,然后可根据初始背景图层构建多个缺陷图层,其中,对应每个缺陷图层还设有配置信息。
更具体地,可在合格样本数据中任意选取一张良品图像,然后可通过二次开发接口输入至绘图软件,例如Photoshop软件,并可通过绘图软件,例如Photoshop软件加载该良品图像作为初始背景图层,进而可在该初始背景图层上绘制多个缺陷图层。其中,对应每个缺陷图层还可设有配置信息,即图像处理配置信息,例如缩放、旋转、平移操作,以及调整透明度、亮度、对比度、模糊度、阴影操作。
S3,根据初始背景图层和缺陷图层得到缺陷图形数据。
具体地,可将初始背景图层,以及在该初始背景图层上绘制的多个缺陷图层统一保存为缺陷图形数据。
S4,根据合格样本数据和缺陷图形数据生成检测样本数据。
具体地,可根据合格样本数据中任意良品图像构建新建背景图层,以及采用新建背景图层替换缺陷图形数据中的初始背景图层,并可对应该新建背景图层依次加载每个缺陷图层,进而可根据配置信息对每个缺陷图层进行随机处理以得到缺陷样本数据并导出,并可根据缺陷样本数据得到第一图像矩阵,然后可隐藏该新建背景图层上的所有缺陷图层以得到该新建背景图层对应的良品图像并导出,并可根据该新建背景图层对应的良品图像得到第二图像矩阵,进而可根据第一图像矩阵和第二图像矩阵得到缺陷样本数据的缺陷MASK。其中,第一图像矩阵对应的缺陷样本数据与第二图像矩阵对应的良品图像均由同一背景图层构成,由此,能够减少计算缺陷MASK时的干扰项,从而能够在保证精度的同时简化计算方式。
更具体地,可通过二次开发接口隐藏或删除初始背景图层,加载导入新的良品图像作为新建背景图层,并可在该新建背景图层上遍历加载每个缺陷图层,进而可根据配置信息对每个缺陷图层随机进行缩放、旋转、平移操作,以及随机进行调整透明度、亮度、对比度、模糊度、阴影操作。需要说明的是,根据配置信息对每个缺陷图层随机进行的操作,可以是上述缩放、旋转、平移操作,以及调整透明度、亮度、对比度、模糊度、阴影操作中的一种或多种,若是多种,则可按照缩放、旋转、平移操作,以及调整透明度、亮度、对比度、模糊度、阴影操作的顺序依次执行;此外,还设有默认配置信息,以对未对应设置配置信息的缺陷图层进行处理,其中,默认配置信息可包括缩放、平移操作,以及调整透明度、亮度、阴影操作。
进一步地,在根据配置信息对每个缺陷图层进行随机处理得到缺陷样本数据后,可通过二次开发接口将该缺陷样本数据导出为PNG或BMP无损格式图像,即缺陷样本图像,并可根据该缺陷样本数据,即缺陷样本图像得到第一图像矩阵。
进一步地,在根据配置信息对每个缺陷图层进行随机处理得到缺陷样本数据后,还可通过二次开发接口将该新建背景图层上的所有缺陷图层隐藏,以得到该新建背景图层对应的良品图像,并可将该良品图像导出为PNG或BMP无损格式图像,即不带缺陷样本图像,进而可根据该不带缺陷样本图像得到第二图像矩阵。
进一步地,可对第一图像矩阵和第二图像矩阵进行异或操作得到对应缺陷样本数据的缺陷MASK。此外,还可对该缺陷MASK进行提取轮廓处理以得到对应的缺陷轮廓多边形,并可将该缺陷轮廓多边形保存为labelme格式的标注文件。
S5,根据检测样本数据构建缺陷检测模型以对待检测工件进行缺陷检测。
具体地,可根据缺陷样本数据和缺陷样本数据的缺陷MASK训练并检验缺陷检测模型。
下面将以检测屏蔽盖的划伤缺陷的具体场景为例,进一步阐述本发明的工件缺陷检测方法的实施过程。
在本发明的一个具体实施例中,可通过工业相机获取待检测屏蔽盖的合格样本数据,例如待检测屏蔽盖的良品图像,例如图2所示的0729-0034-202.jpg、0729-0035-202.jpg、0729-0036-202.jpg、0729-0037-202.jpg。
进一步地,可从图2所示的0729-0034-202.jpg、0729-0035-202.jpg、0729-0036-202.jpg、0729-0037-202.jpg中任选一张待检测屏蔽盖的良品图像构建初始背景图层,例如可选择0729-0034-202.jpg,然后可通过二次开发接口输入至绘图软件,例如Photoshop软件,并可通过绘图软件,例如Photoshop软件加载0729-0034-202.jpg作为初始背景图层,进而可通过绘图软件,例如Photoshop软件在该背景图层上添加划伤缺陷(具体如图3所示),并可将该初始背景图层,以及该初始背景图层对应的划伤缺陷图层保存为划伤缺陷图形数据,即0729-0034-202.psd文件。
进一步地,还可通过二次开发接口输入对应划伤缺陷图层的配置信息:
default: [
['T', -20, 20, -20, 20],
['R', -180, 180]
]
具体说明为,对所有划伤缺陷图层先进行随机平移操作T,再执行随机旋转操作R,其中随机平移操作T的参数为-20,20,-20,20,表示X方向随机平移范围为[-20, 20],Y方向随机平移范围为[-20, 20];随机旋转操作R的参数为-180,180,表示随机旋转的范围是[-180,180]。可以理解的是,上述配置信息的参数只是本发明的一个具体实施例,在本发明的其他具体实施例中,还可根据实际使用设置其他参数的配置信息。
进一步地,可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口来实现对划伤缺陷图层的自动随机变换操作并导出划伤缺陷样本数据和对应的划伤缺陷MASK,由于每次变换都是随机的,所以每次导出的划伤缺陷样本数据都是不一样的,从而能够保证样本数据的多样性。
具体地,可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口Close关闭绘图软件,例如Photoshop软件中所有已导入加载缺陷图形数据,然后可调用绘图软件,例如Photoshop软件的二次开发接口Open打开划伤缺陷图形数据,即0729-0034-202.psd文件。
进一步地,可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口隐藏0729-0034-202.psd文件初始背景图层,即0729-0034-202.jpg构成的初始背景图层,然后可从0729-0034-202.jpg、0729-0035-202.jpg、0729-0036-202.jpg、0729-0037-202.jpg中再次任选一张待检测屏蔽盖的良品图像构建新建背景图层,并需要将该新建背景图层设置在划伤缺陷图层的底部(具体如图4所示),进而可在该新建背景图层上加载0729-0034-202.psd文件中的每个划伤缺陷图层,并对应每个划伤缺陷图层根据配置信息先执行随机平移操作,在执行随机旋转操作得到划伤缺陷样本数据(具体如图5所示)。
进一步地,可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口将划伤缺陷样本数据导出为BMP格式图像,即划伤缺陷样本图像(具体如图6所示);并可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口隐藏新建背景图层上的所有划伤缺陷图层,并可将其导出为MP格式图像,即不带缺陷样本图像(具体如图7所示)。
进一步地,可通过opencv读取划伤缺陷样本数据,即划伤缺陷样本图像以得到第一图像矩阵A,并可通过opencv读取不带缺陷样本图像,即良品图像以得到第二图像矩阵B,然后可对第一图像矩阵A和第二图像矩阵B进行异或操作得到划伤缺陷样本数据的划伤缺陷MASK(具体如图8所示)。此外,还可对划伤缺陷MASK进行提取轮廓处理以得到划伤缺陷轮廓多边形,并可将划伤缺陷轮廓多边形保存为labelme格式的标注文件。
其中,需要说明的是,划伤缺陷样本数据,即划伤缺陷样本图像与不带缺陷样本图像相比,仅仅是缺陷部位的像素值有差异,其他地方像素值相同,所以像素值不同的地方即为缺陷区域,即划伤缺陷MASK,具体地,划伤缺陷MASK计算公式为:
C = (A != B)
其中,C为第三图像矩阵,即划伤缺陷MASK。
本发明的有益效果如下:
(1)本发明通过调用绘图软件二次开发接口调整缺陷图层参数,能够提高检测样本数据的多样性;
(2)本发明通过隐藏或删除初始背景图层,加载新建背景图层,能够提高背景图层的多样性;
(3)本发明通过显示、隐藏缺陷图层导出缺陷样本数据和新建背景图层对应的良品图像,进而比较缺陷样本数据和新建背景图层对应的良品图像之间像素点的值是否有差异得到缺陷MASK,从而能够自动获取缺陷所在的位置信息,由此,能够降低人工标注缺陷的工作量,能够提高缺陷标注效率。
对应上述实施例的工件缺陷检测方法,本发明还提出了一种工件缺陷检测装置。
如图9所示,本发明实施例的工件缺陷检测装置,包括获取模块10、第一处理模块20、第二处理模块30、第三处理模块40和建模检测模块50。其中,获取模块10用于获取待检测工件的合格样本数据;第一处理模块20用于根据合格样本数据构建初始背景图层和缺陷图层;第二处理模块30用于根据初始背景图层和缺陷图层得到缺陷图形数据;第三处理模块40用于根据合格样本数据和缺陷图形数据生成检测样本数据;建模检测模块50用于根据检测样本数据构建缺陷检测模型以对待检测工件进行缺陷检测。
在本发明的一个实施例中,获取模块10可为工业相机,获取模块,即工业相机获取待检测工件的合格样本数据,例如待检测工件的良品图像。
在本发明的一个实施例中,第一处理模块20可根据合格样本数据中任意良品图像构建初始背景图层,然后可根据初始背景图层构建多个缺陷图层,其中,对应每个缺陷图层还设有配置信息。
更具体地,可在合格样本数据中任意选取一张良品图像,然后可通过二次开发接口输入至绘图软件,例如Photoshop软件,并可通过绘图软件,例如Photoshop软件加载该良品图像作为初始背景图层,进而可在该初始背景图层上绘制多个缺陷图层。其中,对应每个缺陷图层还可设有配置信息,即图像处理配置信息,例如缩放、旋转、平移操作,以及调整透明度、亮度、对比度、模糊度、阴影操作。
在本发明的一个实施例中,第二处理模块30可将初始背景图层,以及在该初始背景图层上绘制多个缺陷图层统一保存为缺陷图形数据。
在本发明的一个实施例中,第三检测模块40可具体根据合格样本数据中任意良品图像构建新建背景图层,以及采用新建背景图层替换缺陷图形数据中的初始背景图层,并可对应该新建背景图层加载每个缺陷图层,进而可根据配置信息对每个缺陷图层进行随机处理以得到缺陷样本数据并导出,并可根据缺陷样本数据得到第一图像矩阵,然后可隐藏该新建背景图层上的所有缺陷图层以得到该新建背景图层对应的良品图像并导出,并可根据该新建背景图层对应的良品图像得到第二图像矩阵,进而可根据第一图像矩阵和第二图像矩阵得到缺陷样本数据的缺陷MASK。其中,第一图像矩阵对应的缺陷样本数据与第二图像矩阵对应的良品图像均由同一背景图层构成,由此,能够减少计算缺陷MASK时的干扰项,从而能够在保证精度的同时简化计算方式。
更具体地,可通过二次开发接口隐藏或删除初始背景图层,加载导入新的良品图像作为新建背景图层,并可在该新建背景图层上遍历加载每个缺陷图层,进而可根据配置信息对每个缺陷图层随机进行缩放、旋转、平移操作,以及随机进行调整透明度、亮度、对比度、模糊度、阴影操作。需要说明的是,根据配置信息对每个缺陷图层随机进行的操作,可以是上述缩放、旋转、平移操作,以及调整透明度、亮度、对比度、模糊度、阴影操作中的一种或多种,若是多种,则可按照缩放、旋转、平移操作,以及调整透明度、亮度、对比度、模糊度、阴影操作的顺序依次执行;此外,还设有默认配置信息,以对未对应设置配置信息的缺陷图层进行处理,其中,默认配置信息可包括缩放、平移操作,以及调整透明度、亮度、阴影操作。
进一步地,在根据配置信息对每个缺陷图层进行随机处理得到缺陷样本数据后,可通过二次开发接口将该缺陷样本数据导出为PNG或BMP无损格式图像,即缺陷样本图像,并可根据该缺陷样本数据,即缺陷样本图像得到第一图像矩阵。
进一步地,在根据配置信息对每个缺陷图层进行随机处理得到缺陷样本数据后,还可通过二次开发接口将该新建背景图层上的所有缺陷图层隐藏,以得到该新建背景图层对应的良品图像,并可将该良品图像导出为PNG或BMP无损格式图像,即不带缺陷样本图像,进而可根据该不带缺陷样本图像得到第二图像矩阵。
进一步地,可对第一图像矩阵和第二图像矩阵进行异或操作得到对应缺陷样本数据的缺陷MASK。此外,还可对该缺陷MASK进行提取轮廓处理以得到对应的缺陷轮廓多边形,并可将该缺陷轮廓多边形保存为labelme格式的标注文件。
在本发明的一个实施例中,建模检测模块50可根据缺陷样本数据和缺陷样本数据的缺陷MASK训练并检验缺陷检测模型。
下面将以检测屏蔽盖的划伤缺陷的具体场景为例,进一步阐述本发明的工件缺陷检测装置的实施过程。
在本发明的一个具体实施例中,可通过工业相机获取待检测屏蔽盖的合格样本数据,例如待检测屏蔽盖的良品图像,例如图2所示的0729-0034-202.jpg、0729-0035-202.jpg、0729-0036-202.jpg、0729-0037-202.jpg。
进一步地,可从图2所示的0729-0034-202.jpg、0729-0035-202.jpg、0729-0036-202.jpg、0729-0037-202.jpg中任选一张待检测屏蔽盖的良品图像构建初始背景图层,例如可选择0729-0034-202.jpg,然后可通过二次开发接口输入至绘图软件,例如Photoshop软件,并可通过绘图软件,例如Photoshop软件加载0729-0034-202.jpg作为初始背景图层,进而可通过绘图软件,例如Photoshop软件在该背景图层上添加划伤缺陷(具体如图3所示),并可将该初始背景图层,以及该初始背景图层对应的划伤缺陷图层保存为划伤缺陷图形数据,即0729-0034-202.psd文件。
进一步地,还可通过二次开发接口输入对应划伤缺陷图层的配置信息:
default: [
['T', -20, 20, -20, 20],
['R', -180, 180]
]
具体说明为,对所有划伤缺陷图层先进行随机平移操作T,再执行随机旋转操作R,其中随机平移操作T的参数为-20,20,-20,20,表示X方向随机平移范围为[-20, 20],Y方向随机平移范围为[-20, 20];随机旋转操作R的参数为-180,180,表示随机旋转的范围是[-180,180]。可以理解的是,上述配置信息的参数只是本发明的一个具体实施例,在本发明的其他具体实施例中,还可根据实际使用设置其他参数的配置信息。
进一步地,可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口来实现对划伤缺陷图层的自动随机变换操作并导出划伤缺陷样本数据和对应的划伤缺陷MASK,由于每次变换都是随机的,所以每次导出的划伤缺陷样本数据都是不一样的,从而能够保证样本数据的多样性。
具体地,可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口Close关闭绘图软件,例如Photoshop软件中所有已导入加载缺陷图形数据,然后可调用绘图软件,例如Photoshop软件的二次开发接口Open打开划伤缺陷图形数据,即0729-0034-202.psd文件。
进一步地,可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口隐藏0729-0034-202.psd文件初始背景图层,即0729-0034-202.jpg构成的初始背景图层,然后可从0729-0034-202.jpg、0729-0035-202.jpg、0729-0036-202.jpg、0729-0037-202.jpg中再次任选一张待检测屏蔽盖的良品图像构建新建背景图层,并需要将该新建背景图层设置在划伤缺陷图层的底部(具体如图4所示),进而可在该新建背景图层上加载0729-0034-202.psd文件中的每个划伤缺陷图层,并对应每个划伤缺陷图层根据配置信息先执行随机平移操作,在执行随机旋转操作得到划伤缺陷样本数据(具体如图5所示)。
进一步地,可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口将划伤缺陷样本数据导出为BMP格式图像,即划伤缺陷样本图像(具体如图6所示);并可通过Python脚本调用绘图软件,例如Photoshop软件的二次开发接口隐藏新建背景图层上的所有划伤缺陷图层,并可将其导出为MP格式图像,即不带缺陷样本图像(具体如图7所示)。
进一步地,可通过opencv读取划伤缺陷样本数据,即划伤缺陷样本图像以得到第一图像矩阵A,并可通过opencv读取不带缺陷样本图像,即良品图像以得到第二图像矩阵B,然后可对第一图像矩阵A和第二图像矩阵B进行异或操作得到划伤缺陷样本数据的划伤缺陷MASK(具体如图8所示)。此外,还可对划伤缺陷MASK进行提取轮廓处理以得到划伤缺陷轮廓多边形,并可将划伤缺陷轮廓多边形保存为labelme格式的标注文件。
其中,需要说明的是,划伤缺陷样本数据,即划伤缺陷样本图像与不带缺陷样本图像相比,仅仅是缺陷部位的像素值有差异,其他地方像素值相同,所以像素值不同的地方即为缺陷区域,即划伤缺陷MASK,具体地,划伤缺陷MASK计算公式为:
C = (A != B)
其中,C为第三图像矩阵,即划伤缺陷MASK。
本发明的有益效果如下:
(1)本发明通过调用绘图软件二次开发接口调整缺陷图层参数,能够提高检测样本数据的多样性;
(2)本发明通过隐藏或删除初始背景图层,加载新建背景图层,能够提高背景图层的多样性;
(3)本发明通过显示、隐藏缺陷图层导出缺陷样本数据和新建背景图层对应的良品图像,进而比较缺陷样本数据和新建背景图层对应的良品图像之间像素点的值是否有差异得到缺陷MASK,从而能够自动获取缺陷所在的位置信息,由此,能够降低人工标注缺陷的工作量,能够提高缺陷标注效率。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例的工件缺陷检测方法。
根据本发明实施例的计算机设备,处理器执行存储在存储器上的计算机程序时,通过调用绘图软件二次开发接口调整缺陷图层参数,能够提高检测样本数据的多样性,通过隐藏或删除初始背景图层,加载新建背景图层,能够提高背景图层的多样性,通过显示、隐藏缺陷图层导出缺陷样本数据和新建背景图层对应的良品图像,进而比较缺陷样本数据和新建背景图层对应的良品图像之间像素点的值是否有差异得到缺陷MASK,从而能够自动获取缺陷所在的位置信息,由此,能够降低人工标注缺陷的工作量,能够提高缺陷标注效率。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现根据本发明上述实施例的工件缺陷检测方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,通过调用绘图软件二次开发接口调整缺陷图层参数,能够提高检测样本数据的多样性,通过隐藏或删除初始背景图层,加载新建背景图层,能够提高背景图层的多样性,通过显示、隐藏缺陷图层导出缺陷样本数据和新建背景图层对应的良品图像,进而比较缺陷样本数据和新建背景图层对应的良品图像之间像素点的值是否有差异得到缺陷MASK,从而能够自动获取缺陷所在的位置信息,由此,能够降低人工标注缺陷的工作量,能够提高缺陷标注效率。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (6)
1.一种工件缺陷检测方法,其特征在于,包括以下步骤:
获取待检测工件的合格样本数据;
根据所述合格样本数据构建初始背景图层和缺陷图层;
根据所述初始背景图层和所述缺陷图层得到缺陷图形数据;
根据所述合格样本数据和所述缺陷图形数据生成检测样本数据;
根据所述检测样本数据构建缺陷检测模型以对所述待检测工件进行缺陷检测;
其中,所述合格样本数据包括所述待检测工件的良品图像,对应所述缺陷图层还设有配置信息,所述检测样本数据包括缺陷样本数据和所述缺陷样本数据的缺陷MASK,具体地,所述根据所述合格样本数据和所述缺陷图形数据生成检测样本数据,包括以下步骤:
根据所述合格样本数据中任意良品图像构建新建背景图层;
采用所述新建背景图层替换所述缺陷图形数据中的初始背景图层;
对应所述新建背景图层加载所述缺陷图层;
根据所述配置信息对每个所述缺陷图层进行随机处理以得到缺陷样本数据并导出;
根据所述缺陷样本数据得到第一图像矩阵;
隐藏所述新建背景图层上的所有所述缺陷图层以得到所述新建背景图层对应的良品图像并导出;
根据所述新建背景图层对应的良品图像得到第二图像矩阵;
根据所述第一图像矩阵和所述第二图像矩阵得到所述缺陷样本数据的缺陷MASK。
2.根据权利要求1所述的工件缺陷检测方法,其特征在于,所述根据所述合格样本数据构建初始背景图层和缺陷图层,包括以下步骤:
根据所述合格样本数据中任意良品图像构建初始背景图层;
根据所述初始背景图层构建多个缺陷图层,其中,对应每个所述缺陷图层还设有配置信息。
3.根据权利要求2所述的工件缺陷检测方法,其特征在于,所述根据所述检测样本数据构建缺陷检测模型,包括以下步骤:
根据所述缺陷样本数据和所述缺陷样本数据的缺陷MASK训练并检验缺陷检测模型。
4.一种工件缺陷检测装置,其特征在于,包括:
获取模块,所述获取模块用于获取待检测工件的合格样本数据;
第一处理模块,所述第一处理模块用于根据所述合格样本数据构建初始背景图层和缺陷图层;
第二处理模块,所述第二处理模块用于根据所述初始背景图层和所述缺陷图层得到缺陷图形数据;
第三处理模块,所述第三处理模块用于根据所述合格样本数据和所述缺陷图形数据生成检测样本数据;
建模检测模块,所述建模检测模块用于根据所述检测样本数据构建缺陷检测模型以对所述待检测工件进行缺陷检测;
其中,所述合格样本数据包括所述待检测工件的良品图像,对应所述缺陷图层还设有配置信息,所述检测样本数据包括缺陷样本数据和所述缺陷样本数据的缺陷MASK,所述第三处理模块根据所述合格样本数据和所述缺陷图形数据生成检测样本数据,具体包括以下步骤:
根据所述合格样本数据中任意良品图像构建新建背景图层;
采用所述新建背景图层替换所述缺陷图形数据中的初始背景图层;
对应所述新建背景图层加载所述缺陷图层;
根据所述配置信息对每个所述缺陷图层进行随机处理以得到缺陷样本数据并导出;
根据所述缺陷样本数据得到第一图像矩阵;
隐藏所述新建背景图层上的所有所述缺陷图层以得到所述新建背景图层对应的良品图像并导出;
根据所述新建背景图层对应的良品图像得到第二图像矩阵;
根据所述第一图像矩阵和所述第二图像矩阵得到所述缺陷样本数据的缺陷MASK。
5.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现根据权利要求1-3中任一项所述的工件缺陷检测方法。
6.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1-3中任一项所述的工件缺陷检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210308529.4A CN114419037B (zh) | 2022-03-28 | 2022-03-28 | 工件缺陷检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210308529.4A CN114419037B (zh) | 2022-03-28 | 2022-03-28 | 工件缺陷检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114419037A CN114419037A (zh) | 2022-04-29 |
CN114419037B true CN114419037B (zh) | 2022-06-28 |
Family
ID=81263813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210308529.4A Active CN114419037B (zh) | 2022-03-28 | 2022-03-28 | 工件缺陷检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114419037B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689477B (zh) * | 2019-09-07 | 2023-01-10 | 创新奇智(重庆)科技有限公司 | 一种通用的瑕疵图像模拟方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113971651A (zh) * | 2020-07-24 | 2022-01-25 | 中芯国际集成电路制造(上海)有限公司 | 检测方法以及检测装置、电子设备和存储介质 |
CN113820319A (zh) * | 2021-09-11 | 2021-12-21 | 苏州兆能视觉科技有限公司 | 一种纺织品表面缺陷检测装置与方法 |
CN114092474B (zh) * | 2022-01-19 | 2022-05-13 | 深圳市杰美特科技股份有限公司 | 一种手机外壳复杂纹理背景的加工缺陷检测方法及系统 |
-
2022
- 2022-03-28 CN CN202210308529.4A patent/CN114419037B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114419037A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023077404A1 (zh) | 缺陷检测方法、装置和系统 | |
JP7004145B2 (ja) | 欠陥検査装置、欠陥検査方法、及びそのプログラム | |
CN112348787B (zh) | 物体缺陷检测模型的训练方法、物体缺陷检测方法及装置 | |
CN1690678B (zh) | 图像分析方法、图像分析程序及其像素评价系统 | |
JP2007093304A (ja) | 欠陥検出装置、イメージセンサデバイス、イメージセンサモジュール、画像処理装置、デジタル画像品質テスタ、欠陥検出方法、欠陥検出プログラム、およびコンピュータ読取可能な記録媒体 | |
CN112766110A (zh) | 物体缺陷识别模型的训练方法、物体缺陷识别方法及装置 | |
CN109523527A (zh) | 图像中脏污区域的检测方法、装置和电子设备 | |
CN109241867B (zh) | 采用人工智能算法识别数字岩心图像的方法及装置 | |
CN111862097A (zh) | 微小缺陷检出率的数据增强方法和装置 | |
CN113409234A (zh) | 卷积神经网络(cnn)算法支持的晶片的最小监督自动检查(ai) | |
CN114419037B (zh) | 工件缺陷检测方法和装置 | |
CN117437227B (zh) | 一种图像生成及缺陷检测方法、装置、介质、设备及产品 | |
CN112070749A (zh) | 纸张缺陷检测方法和装置 | |
CN113609984A (zh) | 一种指针式仪表读数识别方法、装置及电子设备 | |
CN113310997A (zh) | Pcb板缺陷确认方法、装置、自动光学检测设备及储存介质 | |
CN115359064A (zh) | 工业缺陷检测方法和装置 | |
CN113256608B (zh) | 工件缺陷检测方法和装置 | |
CN114913148A (zh) | 基于无监督学习的丝印疵点检测方法、装置及存储介质 | |
CN117433966A (zh) | 一种粉磨颗粒粒径非接触测量方法及系统 | |
CN110310341B (zh) | 颜色算法中默认参数的生成方法、装置、设备和存储介质 | |
KR20070035452A (ko) | 결함 검출 장치, 이미지 센서 디바이스, 이미지 센서 모듈,화상 처리 장치, 디지털 화상 품질 테스터, 및 결함 검출방법 | |
CN115601341A (zh) | Pcba板缺陷检测方法、系统、设备、介质及产品 | |
CN115861160A (zh) | 一种手机电源接口表面缺陷检测方法、装置和存储介质 | |
CN113313709A (zh) | 工业部件的缺陷检测方法和装置 | |
JP2022123217A (ja) | 画像検査装置、画像検査方法、及び学習済みモデル生成装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |