CN115830004A - 表面缺陷检测方法、装置、计算机设备和存储介质 - Google Patents
表面缺陷检测方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115830004A CN115830004A CN202211689323.7A CN202211689323A CN115830004A CN 115830004 A CN115830004 A CN 115830004A CN 202211689323 A CN202211689323 A CN 202211689323A CN 115830004 A CN115830004 A CN 115830004A
- Authority
- CN
- China
- Prior art keywords
- image
- detected
- standard
- defect
- sample
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请提供了一种表面缺陷检测方法、装置、计算机设备和存储介质,该方法包括:获取待检产品的待检表面图像和标准表面图像;对待检表面图像和标准表面图像进行图像分割,获取待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块;将待检图像块和标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块;每个缺陷分割图像块用于表示一个待检图像块和一个标准图像块之间的像素差异信息;基于缺陷分割图像块,确定待检产品是否存在表面缺陷。如此,本申请利用训练好的缺陷分割模型进行缺陷分割,以此判断待检产品是否存在表面缺陷,提高了表面缺陷检测的检测效率和检测结果的准确度。
Description
技术领域
本申请涉及印刷品检测技术领域,尤其涉及一种表面缺陷检测方法、装置、计算机设备和存储介质。
背景技术
随着工业产品的用户和生产企业对产品质量的要求越来越高,产品在满足使用性能外,还需要有良好的表面质量。然而,在产品制造过程中,表面缺陷往往是不可避免的,因此,有必要对产品进行表面缺陷检测。其中,表面缺陷检测是指检测产品表面的划痕、异物遮挡、褶皱、斑痕、颜色污染、孔洞等缺陷,从而获得被检产品表面存在缺陷的类型、轮廓、位置、大小等一系列信息。
在印刷品表面缺陷检测中,通常采用人工检测的方式,该方式中,首先按照预设的抽检率,随机在一批印刷品中进行随机抽取,然后人工观察抽取的印刷品的表面是否存在缺陷。但人工检测存在准确度低、实时性差、效率低、劳动强度大、且检测结果受人工经验和主观因素的影响较大的问题。
发明内容
本申请提供了一种表面缺陷检测方法、装置、计算机设备和存储介质,能够提高产品表面缺陷的检测效率。
第一方面,本申请提供一种表面缺陷检测方法,包括:
获取待检产品的待检表面图像和标准表面图像;
对待检表面图像和标准表面图像进行图像分割,获取待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块;待检图像块和标准图像块的数目相同,且待检图像块和标准图像块在对应的表面图像中所处的图像区域也相同;
将待检图像块和标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块;每个缺陷分割图像块用于表示一个待检图像块和一个标准图像块之间的像素差异信息;
基于缺陷分割图像块,确定待检产品是否存在表面缺陷。
在一种可能的实现方式中,对待检表面图像和标准表面图像进行图像分割,获取待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块,包括:
对待检表面图像和标准表面图像中相同位置的像素进行像素值相减操作,得到中间表面图像;
对中间表面图像进行连通区域分析,获取至少一个候选缺陷特征图;
按照候选缺陷特征图在中间表面图像中对应的区域位置信息,对待检表面图像和标准表面图像进行图像分割,得到待检图像块和标准图像块。
在一种可能的实现方式中,基于缺陷分割图像块,确定待检产品是否存在表面缺陷,包括:
获取缺陷分割图像块和候选缺陷特征图之间的像素交集信息;
若像素交集信息为空,则确定待检产品表面不存在表面缺陷;
若像素交集信息不为空,则确定待检产品表面存在表面缺陷。
在一种可能的实现方式中,缺陷分割模型包括编码器和解码器;
则将待检图像块和标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块,包括:
将待检图像块和标准图像块输入至编码器中,通过编码器获取待检图像块在预设的多种分辨率下的第一多尺度特征图和标准图像块在多种分辨率下的第二多尺度特征图;
将第一多尺度特征图和第二多尺度特征图输入至解码器中,通过解码器对第一多尺度特征图和第二多尺度特征图进行特征融合处理,输出缺陷分割图像块。
在一种可能的实现方式中,获取待检产品的待检表面图像和标准表面图像,包括:
获取待检产品的初始待检图像和初始标准图像;
基于初始标准图像,对初始待检图像进行图像配准处理,得到中间待检图像;
对中间待检图像和初始标准图像分别进行图像预处理,得到待检表面图像和标准表面图像。
在一种可能的实现方式中,对中间待检图像和初始标准图像分别进行图像预处理,得到待检表面图像和标准表面图像,包括:
对中间待检图像和初始标准图像进行边缘检测,获取中间待检图像的第一边缘信息和初始标准图像的第二边缘信息;
基于第一边缘信息,对中间待检图像进行边缘膨胀处理,得到待检表面图像;
基于第二边缘信息,对初始标准图像进行边缘膨胀处理,得到标准表面图像。
在一种可能的实现方式中,缺陷分割模型的训练过程包括:
获取已检产品的训练样本图像;训练样本图像包括一个标准样本图像和多个缺陷样本图像,每个样本图像携带一个样本标签,样本标签用于表示样本图像是否存在表面缺陷;
根据训练样本图像,生成多个训练样本对;每个训练样本对包括两个样本图像;
将多个训练样本对输入至待训练的初始缺陷分割模型中,根据初始缺陷分割模型的输出,计算初始缺陷分割模型的目标损失函数的训练损失值;
若训练损失值不满足预设的收敛条件,则调整初始缺陷分割模型的参数,并再次将多个训练样本对输入至调整参数后的初始缺陷分割模型,直到训练损失值满足预设的收敛条件,则结束训练,得到训练好的缺陷分割模型。
在一种可能的实现方式中,根据训练样本图像,生成多个训练样本,包括:
将标准样本图像依次与多个缺陷样本图像进行组合,得到多个初始样本对;
对多个初始样本对随机进行数据增强处理,得到多个训练样本对;
其中,数据增强处理包括以下至少一种:
将初始样本对中的两张样本图像进行随机交换,得到多个第一样本对;
按照预设的像素偏移范围,对初始样本对中的任一个样本图像进行像素偏移处理,得到多个第二样本对;
将初始样本对中的标准样本图像随机复制为缺陷样本图像,得到多个第三样本对;
将预先提取的图像缺陷粘贴至初始样本对的标准样本图像中,得到多个第四样本对;
多个训练样本对包括初始样本对、第一样本对、第二样本对、第三样本对和第四样本对中的至少一种样本对。
在一种可能的实现方式中,初始缺陷分割模型的目标损失函数包括Dice损失函数和交叉熵损失函数,且Dice损失函数和交叉熵损失函数在目标损失函数中的计算系数不同。
在一种可能的实现方式中,若待检产品为印刷品,则表面缺陷包括浅粘花缺陷。
第二方面,本申请提供了一种表面缺陷检测装置,包括:
图像获取模块,用于获取待检产品的待检表面图像和标准表面图像;
图像分割模块,用于对待检表面图像和标准表面图像进行图像分割,获取待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块;待检图像块和标准图像块的数目相同,且待检图像块和标准图像块在对应的表面图像中所处的图像区域也相同;
缺陷分割模块,用于将待检图像块和标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块;每个缺陷分割图像块用于表示一个待检图像块和一个标准图像块之间的像素差异信息;
缺陷检测模块,用于基于缺陷分割图像块,确定待检产品是否存在表面缺陷。
第三方面,本申请提供了一种计算机设备,该设备包括存储器和处理器,存储器存储有计算机程序,处理器从存储器中调用并执行计算机程序时实现上述第一方面中任一项所示的表面缺陷检测方法的步骤。
第四方面,本申请提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项所示的表面缺陷检测方法的步骤。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项所示的表面缺陷检测方法的步骤。
本申请提供的技术方案至少可以达到以下有益效果:
本申请提供的表面缺陷检测方法、装置、计算机设备和存储介质,对于获取待检产品的待检表面图像和标准表面图像的,先对待检表面图像和标准表面图像进行图像分割,得到待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块。其中,待检图像块和标准图像块的数目相同,且待检图像块和标准图像块在对应的表面图像中所处的图像区域也相同。然后,将待检图像块和标准图像块输入至预先训练好的缺陷分割模型中,通过缺陷分割模型获取一个待检图像块和一个标准图像块对应的缺陷分割图像块,该缺陷分割图像块可以反映该待检图像块和标准图像块之间的像素差异信息。最后,基于缺陷分割图像块,确定待检产品是否存在表面缺陷。由此可见,本申请利用训练好的缺陷分割模型进行缺陷分割,较人工检测而言,检测效率更高。而且,缺陷分割模型为双输入的神经网络模型,其输入包括一个标准表面图像对应的标准图像块和待检表面图像对应的标准图像块,解决深度学习模型泛化能力弱的问题,无需针对不同的场景、不同的产品进行模型训练,减少了模型训练成本。双输入的缺陷分割模型即使遇到不存在于训练数据集中的产品,也可以保持较好的缺陷检测结果。此外,本申请预先对待检表面图像和标准表面图像进行图像分割,获取待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块,之后再通过缺陷分割模型对各图像块进行处理,减少了图像处理过程中的资源消耗量,降低了缺陷分割模型对图像块进行缺陷分割时对计算机设备的计算性能要求,使得该表面缺陷检测方法可以在低端运算设备上实现高速实时运算,提高了表面缺陷检测效率。
附图说明
图1是本申请一示例性实施例示出的一种计算机设备的结构示意图;
图2是本申请一示例性实施例示出的一种表面缺陷检测方法的流程示意图;
图3是本申请一示例性实施例示出的一种图像处理流程示意图;
图4是本申请一示例性实施例示出的一种缺陷检测模型的结构示意图;
图5是本申请一示例性实施例示出的一种缺陷分割模型的训练流程示意图;
图6是本申请一示例性实施例示出的一种生成训练样本对的流程示意图;
图7是本申请一示例性实施例示出的另一种表面缺陷检测方法的流程示意图;
图8是本申请一示例性实施例示出的一种表面缺陷检测装置的结构示意图;
图9是本申请一示例性实施例示出的另一种表面缺陷检测装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,下面将结合附图及实施例,对本申请的技术方案做进一步详细说明。
在对本申请实施例提供的表面缺陷检测方法进行解释说明之前,先对本申请实施例的应用场景和实施环境进行介绍。
随着工业产品的用户和生产企业对产品质量的要求越来越高,工业产品除了要满足使用性能外,还要有良好的外观,即良好的表面质量。然而,在产品制造过程中,表面缺陷的产生往往是不可避免的。其中,缺陷一般可以理解为与正常产品相比的表面缺失、表面缺陷或面积偏差。而表面缺陷检测是指检测产品表面的划痕、缺陷、异物遮挡、颜色污染、孔洞等缺陷,从而获得待检产品的表面缺陷的缺陷类型、轮廓、位置、大小等一系列能够描述该缺陷的信息。
而且,表面缺陷不仅影响产品的美观和舒适度,而且一般也会对产品的使用性能带来不良影响,所以生产企业对产品的表面缺陷检测非常重视,以便及时发现表面缺陷,从而有效控制产品质量。进一步地,还可以根据表面缺陷检测结果,分析生产工艺中存在的技术/操作问题,从而杜绝或减少缺陷产品的产生,防止潜在的贸易纠纷,维护企业荣誉。
人工检测是产品表面缺陷的传统检测方法,但该方法抽检率低、准确性不高、实时性差、效率低、劳动强度大、受人工经验和主观因素的影响大。
此外,基于传统图像处理算法在印刷品的浅粘花缺陷检测过程中,存在误报、漏检的情况,需要人工反复调整参数。而基于深度学习的单图像输入的表面缺陷检测方法,则存在推理速度慢、泛化能力弱等问题;且针对不同的场景、不同类型的产品都需要训练特定的神经网络模型,增加了检测成本。
虽然基于深度学习的表面缺陷检测技术可以很大程度上克服上述人工检测的弊端,但待检产品的类型是多种多样的,且随着工艺的提高,表面缺陷也比较细微。因此,如何构建一个稳定、高效的基于机器视觉的表面缺陷检测方法,成为目前机器视觉在表面缺陷检测领域应用时所面临的最大难题。
基于此,本申请提供了一种表面缺陷检测方法、装置、计算机设备和存储介质,采用深度学习技术配合合适的数据增强处理、训练策略来训练缺陷分割模型,并在实际检测时通过缺陷分割模型对图像预处理后的待检图像块和标准图像块进行对比分析,从而确定待检产品是否存在表面缺陷。如此,本申请训练得到的缺陷分割模型具备很强的稳定性、泛化性以及高效性,因此,结合图像预处理和缺陷分割模型,可以提高待检产品表面缺陷的检测效率,且在多种产品、多场景下均能可以达到稳定的检测效果。
在一个示例性实施例中,本申请可以利用计算机设备对待检产品的待检表面图像,以及该待检产品的标准表面图像进行图像预处理,并通过预先训练好的缺陷分割模型分析待检表面图像和标准表面图像的像素差异,从而确定待检产品是否存在表面缺陷。
在一种可能的实现方式中,该计算机设备的结构如图1所示,该计算机设备100包括至少一个处理器110、存储器120、通信总线130,以及至少一个通信接口140。
其中,处理器110可以是一个通用中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、微处理器,或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(Application-Specific Integrated Circuit,ASlC),可编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
可选地,处理器110可以包括一个或多个CPU。计算机设备100可以包括多个处理器110。这些处理器110中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。
需要说明的是,这里的处理器110可以指一个或多个设备、电路和/或用于处理数据(如计算机程序指令)的处理核。
存储器120可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(Random Access Memory,RA M)或者可存储信息和指令的其它类型的动态存储设备,还可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。
可选地,存储器120可以是独立存在,并通过通信总线130与处理器110相连接;存储器120也可以和处理器110集成在一起。
通信总线130用于在各组件之间(比如处理器和存储器之间)传送信息,通信总线120可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条通信总线进行示意,但并不表示仅有一根总线或一种类型的总线。
通信接口140用于供该计算机设备100与其它设备或通信网络进行通信。通信接口140包括有线通信接口或无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(Wireless LocalArea Networks,WLAN)接口、蜂窝网络通信接口或其组合等。
在一些实施例中,该计算机设备100还可以包括输出设备和输入设备(图1中未示出)。输出设备和处理器110通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(Liquid Crystal Display,LCD)、发光二极管(Light Emitting Diode,LED)显示设备、阴极射线管(Cathode Ray Tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器110通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器120用于存储执行本申请方案的计算机程序,处理器110可以执行存储器120中存储的计算机程序。例如,该计算机设备100可以通过处理器110调用并执行存储在存储器120中的计算机程序,以实现本申请实施例提供的表面缺陷检测方法的步骤。
应该理解的是,本申请提供的表面缺陷检测方法,可以应用于表面缺陷检测装置,该表面缺陷检测装置可以通过软件、硬件或者软硬件结合的方式实现成为处理器110的部分或者全部,集成在计算机设备100中。
接下来,将通过实施例并结合附图具体地对本申请的技术方案,以及本申请的技术方案如何解决上述技术问题进行详细说明。各实施例之间可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。显然,所描述的实施例是本申请实施例一部分实施例,而不是全部的实施例。
在一个示例性实施例中,如图2所示,本申请提供了一种表面缺陷检测方法,以该方法应用于上述图1所示的计算机设备100进行举例说明,该方法可以包括以下步骤:
步骤210:获取待检产品的待检表面图像和标准表面图像。
其中,待检产品为工业生产线上生产的任一产品,待检表面图像是实时拍摄的待检产品的表面图像。对应地,标准表面图像为与待检产品同类型的,且无表面缺陷的表面图像。
作为一个示例,若待检产品为印刷品,则表面缺陷包括浅粘花缺陷。
需要说明的是,对于同一类型的一批产品,其生产过程中可以针对生产得到的多个待检产品,依次获取其对应的待检表面图像。而针对这一批产品,可以采用同一个标准表面图像执行本申请提供的表面缺陷检测方法,也可以这批产品中预检的多个不存在表面缺陷的标准表面图像执行本申请提供的表面缺陷检测方法,本申请实施例对此不做限制。
应该理解的是,待检产品的表面可能存在缺陷,也可能不存在缺陷。若待检产品的表面存在缺陷,则在待检表面图像和标准表面图像是由同一图像采集设备拍摄的情况下,待检表面图像中存在缺陷的图像区域,与标准表面图像中对应的图像区域之间会存在像素差异。基于此,本申请通过下述步骤220和步骤230分析待检表面图像与标准表面图像之间的像素差异。
作为一个示例,拍摄待检表面图像和标准表面图像的图像采集设备可以为RG B相机。
由于生产线上实时拍摄的待检产品的初始待检图像中存在冗余信息和噪声,若直接将初始待检图像作为待检产品的待检表面图像,则会增大后续模型处理过程中的信息处理量,还可能会对最终的缺陷检测结果造成影响。
因此,可以对实际拍摄得到的待检产品的初始待检图像,以及初始标准图像进行预处理,从而得到待检产品的待检表面图像和标准表面图像。
在一种可能的实现方式中,如图3所示,上述步骤210的实现过程可以包括以下子步骤:
步骤211:获取待检产品的初始待检图像和初始标准图像。
可选地,在执行下述步骤213之前,可以对初始待检图像和初始标准图像进行去噪处理,以剔除图像中的噪声信息和冗余信息。
其中,去噪处理可以通过滤波算法来实现。滤波算法可以为均值滤波、中值滤波、高斯滤波等,本申请实施例对此不做限制。
可选地,为方便计算,可以对初始待检图像和初始标准图像进行灰度化处理,以将RGB相机拍摄的彩色图像转化成为灰度图像。
应该理解的是,彩色图像中R、G、B三个分量的值决定了一个具体的像素点,一个像素点可以有上千万种颜色;而灰度图像也是一种彩色图像,但它的特点在于R、G、B三个分量具体的值是一致的,灰度图中每个像素点的像素值变化区间是0到255。
将初始待检图像和初始标准图像转变成对应的灰度图像,在保留图像轮廓和特征的基础上,该灰度图仍然能够反映整幅图像的轮廓和纹理,不影响后续的缺陷检测。
步骤213:基于初始标准图像,对初始待检图像进行图像配准处理,得到中间待检图像。
应该理解的是,初始待检图像经过图像配准处理后得到中间待检图像,在此步骤213中,无需对初始标准图像进行处理。换言之,执行步骤213后,得到中间待检图像和初始标准图像。
在实际实施过程中,由于拍摄角度、拍摄光线等原因,可能会导致初始待检图和初始标准图像无法达到像素级别的对齐,两者之间会存在像素的偏移。
因此,需要对初始待检图像与初始标准图像进行图像配准处理,使得初始待检图像和初始标准图像在图像尺寸、像素位置等方面实现对齐。
步骤215:对中间待检图像和初始标准图像分别进行图像预处理,得到待检表面图像和标准表面图像。
其中,图像预处理可以包括降采样处理、剔除冗余点、边缘检测、腐蚀处理、膨胀处理中的至少一项。
在一种可能的实现方式中,步骤215的实现过程为:对中间待检图像和初始标准图像进行边缘检测,获取中间待检图像的第一边缘信息和初始标准图像的第二边缘信息;基于第一边缘信息,对中间待检图像进行边缘膨胀处理,得到待检表面图像;基于第二边缘信息,对初始标准图像进行边缘膨胀处理,得到标准表面图像。
其中,图像边缘是图像最基本的特征,边缘(Edge)是指图像局部特性的不连续性,灰度或结构等信息的突变处称之为边缘。例如,灰度级的突变、颜色的突变、纹理结构的突变等。
具体地,边缘检测操作采用的边缘检测算子可以为:Roberts算子、Prewitt算子、Sobel算子、拉普拉斯(Laplacian)算子、LoG算子(也称为Marr边缘检测算子,或者高斯-拉普拉斯算子)、Canny边缘检测中的任一种。
其中,Roberts算子又称为交叉微分算法,它是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条;Roberts算子的模板分为水平方向和垂直方向,能较好的增强正负45度的图像边缘。而Prewitt算子的原理是利用特定区域内像素点的灰度值产生的差分来实现边缘检测;Prewitt算子采用模板对区域内各像素点的像素值进行计算,使得其边缘检测结果在水平方向和垂直方向均比Robert算子更加明显。拉普拉斯算子是n维欧几里德空间中的一个二阶微分算子,分为四邻域和八邻域,四邻域是对邻域中心像素的四个方向求梯度,八邻域是对八个方向求梯度。LoG算子是在运用拉普拉斯算子之前一般先进行高斯低通滤波。Canny边缘检测的基本思想就是首先对图像选择一定的Gauss滤波器进行平滑滤波,然后采用非极值抑制技术进行处理得到最后的边缘图像。
作为一个示例,本申请实施例采用Sobel算子对中间待检图像和初始标准图像进行边缘检测,以获取图像边缘信息。
其中,Sobel算子在Prewitt算子的基础上增加了权重的概念,认为相邻像素点的距离远近,对当前像素点的影响是不同的,距离越近的像素点对当前像素的影响越大,距离越远的像素点对当前像素的影响越小,从而实现图像锐化并突出边缘轮廓。
如此,采用Sobel算子可以充分考虑像素点之间的互相影响,使得计算后的边缘信息更为准确,可以更好地描述中间待检图像中的真实轮廓,以及展示出清晰的轮廓边缘。
进一步地,图像边缘膨胀是在图像的边缘添加像素值,使得整体的像素值扩张,进而达到图像的膨胀效果,也可以说是像素插值处理。
其中,根据膨胀处理时所参考的相邻像素点的位置关系,图像膨胀处理包括水平膨胀、垂直膨胀和全方向膨胀。
作为一个示例,本申请实施例可以对中间待检图像和初始标准图像的边缘进行全方位膨胀处理,得到待检表面图像和标准表面图像。
应该理解的是,全方位膨胀处理是遍历目标图像中的目标区域,只考虑目标像素及其相邻的上下左右四个像素的灰度值,确认其与膨胀的结构元素是否有交点,即是否存在至少一处对应的灰度值相等。如果有交点,则处理该像素点;否则将该像素点删除。
如此,通过全方位膨胀处理,不仅可以对图像边界点进行扩充,还可以将与图像边缘相接触的背景点合并到边缘信息中,使得膨胀处理后可以更好地反映图像边缘与背景信息之间的真实界限,膨胀处理效果更佳。
步骤220:对待检表面图像和标准表面图像进行图像分割,获取待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块。
其中,待检图像块和标准图像块的数目相同,且待检图像块和标准图像块在对应的表面图像中所处的图像区域也相同。
换言之,步骤220在对待检表面图像和标准表面图像进行图像分割时,是基于相同的图像位置进行分割的,使得分割结束后,待检图像块在待检表面图像中对应的图像区域的位置坐标,与标准图像块在标准表面图像中对应的图像区域的位置坐标是相同的;同时,分割后得到的待检图像块和标准图像块的数目也相同。
在一种可能的实现方式中,步骤220的实现过程可以为:对待检表面图像和标准表面图像中相同位置的像素进行像素值相减操作,得到中间表面图像;对中间表面图像进行连通区域分析,获取至少一个候选缺陷特征图;按照候选缺陷特征图在中间表面图像中对应的区域位置信息,对待检表面图像和标准表面图像进行图像分割,得到待检图像块和标准图像块。
由于待检表面图像和标准表面图像是图像配准处理后的图像对,因此,两个表面图像中对应位置的像素描述的是待检产品的同一个表面特征,故像素值可以直接相减。
应该理解的是,若待检表面图像和标准表面图像均为灰度图像,则处理后得到的一张中间表面图像也为灰度图像。该中间表面图像中各像素点的像素值,具体为待检表面图像和标准表面图像中对应位置的两个像素值之差的绝对值。
作为一个示例,可以通过对中间表面图像进行Blob分析,来获取至少一个候选缺陷特征图。
其中,在计算机视觉中,Blob是指图像中的具有相似颜色、纹理等特征所组成的一块连通区域,则在本申请实施例中,Blob分析(Blob Analysis)是对中间表面图像中相同像素的连通域(该连通域称为Blob块)进行分析,得到该连通域的特征图,即候选缺陷特征图。
具体地,Blob分析是对中间表面图像中各像素点的像素值进行二值化处理,分割出前景和背景;然后进行连通区域检测,得到Blob块;进而在各Blob块中提取像素特征,得到候选缺陷特征图。
需要说明的是,中间表面图像中的连通域数目与候选缺陷特征图的数目相同。也即是,若中间表面图像中只存在一个连通域,则Blob分析后得到一个候选缺陷特征图;若中间表面图像中存在多个连通域,则Blob分析后得到各连通域对应的候选缺陷特征图。
进一步地,以一个候选缺陷特征图为例,基于候选缺陷特征图,对待检表面图像和标准表面图像进行图像分割,得到待检图像块和标准图像块的实现过程可以为:获取候选缺陷特征图在中间表面图像中对应的区域位置信息,得到区域位置信息;按照该区域位置信息对待检表面图像进行图像分割,以从待检表面图像中分割出该区域位置信息对应的局部图像,得到待检图像块;同理,按照该区域位置信息对标准表面图像进行图像分割,以从标准表面图像中分割出该区域位置信息对应的局部图像,得到标准图像块。
如此,本申请实施例并非直接将待检表面图像和标准表面图像输入至训练好的缺陷分割模型,而是结合图像预处理和图像分割,减少图像块中的处理信息量,降低缺陷分割对缺陷分割模型的运算资源量要求,可以实现基于表面图像的缺陷分割方法在低端运算设备上的高速实时运算。
步骤230:将待检图像块和标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块。
其中,每个缺陷分割图像块用于表示一个待检图像块和一个标准图像块之间的像素差异信息。
需要说明的是,本申请提供的缺陷分割模型是一种双输入神经网络模型,该缺陷分割模型在进行缺陷分割时,要求模型的输入为两个对应的图像,且对两个图像的输入顺序没有要求。
可选地,候选缺陷特征图中存在大量的非缺陷特征,根据每个候选缺陷特征图的区域位置信息,在待检表面图像和标准表面图像上对应位置采集小尺寸的图像块之后,可以根据候选缺陷特征图的面积大小,对分割得到的待检图像块和标准图像块进行排序,保证大面积的候选缺陷特征图所对应的待检图像块和标准图像块,可以优先被缺陷分割模型处理。
作为一个示例,以印刷品中存在的浅粘花缺陷为例,为了提升浅粘花缺陷检出的效果,达到更好的缺陷检测准确率,本申请实施例使用基于Transformer模型(是一种采用自注意力机制的深度学习模型,自注意力机制可以按输入数据各部分重要性的不同而分配不同的权重)的Seg Former(是一个将transformer与轻量级多层感知器解码器统一起来的语义分割框架)的编码器,作为缺陷分割模型的骨干网络(backbone)。其中,SegFormer使用分层次的编码器结构,可以输出多尺度特征图,并在解码器中将多尺度特征图融合在一起。
其中,SegFormer避免了复杂的解码器,提出的MLP解码器可以从不同的层聚合信息。换言之,SegFormer类似于卷积神经网络模型中将浅层特征图与深层特征图融合的做法,目的是使得高分辨率粗粒度的特征和低分辨率细粒度的特征能一起被捕捉到,从而优化分割结果。
而且,本申请实施例抛弃了Transformer模型,以及基于自注意力的编码器(segmentation transformer,简称为SETR)里面的位置编码,在输入的图片的大小和训练时所使用的图片大小不一样时,不需要再对位置编码向量做插值(当测试分辨率与训练分辨率不同时,会导致性能下降)。
如此,基于本申请设计的简洁、有效的解码器,可以对浅粘花缺陷做到大于90%的缺陷检测准确率。
基于此,本申请提供的缺陷分割模型包括编码器和解码器,步骤230的实现过程可以为:将待检图像块和标准图像块输入至编码器中,通过编码器获取待检图像块在预设的多种分辨率下的第一多尺度特征图和标准图像块在多种分辨率下的第二多尺度特征图;将第一多尺度特征图和第二多尺度特征图输入至解码器中,通过解码器对第一多尺度特征图和第二多尺度特征图进行特征融合处理,输出缺陷分割图像块。
需要说明的是,每种分辨率下对应一个第一特征图和第二特征图,多种分辨率下对应多个第一特征图(即第一多尺度特征图)和多个第二特征图(第二多尺度特征图)。
作为一个示例,参见图4所示的缺陷检测模型的结构图,该图仅以一个待检图像块和一个标准图像块的处理流程进行举例,多个待检图像块和多个标准图像块输入至缺陷分割模型后的具体处理流程与此类似,在此不再赘述。
其中,编码器由4个Transformer块(Transformer块1、Transformer块2、Transformer块3和Transformer块4)构成,在经过每个Transformer块之后特征图分别被下采样至1/4、1/8、1/16、1/32。这四个不同分辨率的特征图之后在解码器中进行融合。解码器可以通过卷积神经网络实现,将编码器中所有特征图分别进行双线性差值和3x3的卷积操作,以达到转置卷积的效果,同时避免了棋盘格效应对网络模型造成的影响。
具体地,在解码器中,不同大小的特征图先被上采样至图像原始尺寸,然后进行拼接操作,得到一个包含高分辨率粗粒度的特征和低分辨率细粒度的拼接特征图。进一步地,将该拼接特征图输入到后续的卷积网络中,使用三个卷积操作,分别将特征图降维到64维、32维、16维。最后将16维的卷积特征图输入到最终卷积层,降维到2维。
其中,2维在这里表示当前像素有无表面缺陷。比如,是否存在浅粘花缺陷。
基于上述解释说明,如图5所示,本申请预先训练缺陷分割模型的过程可以包括以下步骤:
步骤510:获取已检产品的训练样本图像。
其中,已检产品为已经标注出表面缺陷的产品,已检产品和上文的待检产品可以为同一类型的产品,也可以为不同类型的产品。
在该步骤中,训练样本图像包括一个标准样本图像和多个缺陷样本图像,每个样本图像携带一个样本标签,样本标签用于表示样本图像是否存在表面缺陷;
需要说明的是,对于同一类型产品的多个缺陷样本图像,也可以分别结合多个标准样本图像,组成训练样本对,本申请实施例对标准样本图像的数量不做限制。
作为一个示例,对于已检产品A,可以获取该已检产品预先检测出来的多个缺陷样本图像,同时获取该已检产品A的两个标准样本图像。其中,两个标准样本图像的拍摄角度、采光信息等略有不同。
步骤520:根据训练样本图像,生成多个训练样本对。
其中,每个训练样本对包括两个样本图像。
在一种可能的实现方式中,如图6所示,步骤520的实现过程可以为:
步骤521:将标准样本图像依次与多个缺陷样本图像进行组合,得到多个初始样本对;
也即是,每个初始样本对均包括一个缺陷样本图像和一个标准样本图像。
步骤523:对多个初始样本对随机进行数据增强处理,得到多个训练样本对。
在一种可能的实现方式中,数据增强处理包括以下至少一种:
(1)将初始样本对中的两张样本图像进行随机交换,得到多个第一样本对;
需要说明的是,每个初始样本对可以表示为(样本图像1,样本图像2),也即是,对于缺陷分割模型而言,初始样本对中的两个样本图像之间存在先后顺序。
作为一个示例,为了从训练策略上完成双输入图像差异的建模,在输入缺陷样本图像D和标准样本图像R时,对初始样本对(D,R)进行随机交换,对缺陷标签不做变化,使得f(D,R)=f(R,D)成立,从而符合双输入差异建模。
(2)按照预设的像素偏移范围,对初始样本对中的任一个样本图像进行像素偏移处理,得到多个第二样本对。
在样本图像对配准预处理中,由于所使用算法稳定性,硬件限制及速度要求等原因,会导致缺陷样本图像与标准样本图像不能达到像素级别的对齐,会出现大于5个像素的偏移。
基于此,为了使深度学习网络模型可以适应这种情况,在训练初始缺陷检测模型时,对初始样本对中的缺陷样本图像或者标准样本图像做随机偏移操作,使得两个样本图像之间存在位置偏移。
如此,通过模拟实际场景下的常见的图像偏移现象,可以使最终训练得到的缺陷分割模型鲁棒性更强。
(3)将初始样本对中的标准样本图像随机复制为缺陷样本图像,得到多个第三样本对。
也即是,第三样本对中包括两个一模一样的缺陷样本图像,此时,无论图像如何偏移、旋转,其第三样本对对应的缺陷标签应该是一个全为零的矩阵,表示两个样本图像之间不存在差异,也就不存在缺陷。
(4)将预先提取的图像缺陷粘贴至初始样本对的标准样本图像中,得到多个第四样本对。
具体地,将历史检测数据集中已经标注的表面缺陷提取出来,随机粘贴到初始样本对的标准样本图像上,就得到了随机生成的缺陷样本图像。进而通过初始样本对中的原标准样本图像和随机生成的缺陷样本图像,形成第四样本对,以缓解深度学习模型对数据量的需求。
基于此,本申请实施例中用来训练初始缺陷分割模型的多个训练样本对包括:上述初始样本对、上述第一样本对、上述第二样本对、上述第三样本对和上述第四样本对中的至少一种样本对。
步骤530:将多个训练样本对输入至待训练的初始缺陷分割模型中,根据初始缺陷分割模型的输出,计算初始缺陷分割模型的目标损失函数的训练损失值;
在一种可能的实现方式中,步骤530的实现过程可以为:将多个训练样本对分为训练集和验证集,采用训练集中的训练样本对,分批输入到初始缺陷分割模型中,使得初始缺陷分割模型可以充分学习标准样本图像和缺陷样本图像的特征信息。在采用训练集按照预设的迭代训练轮次预设轮次后,采用验证集中的训练样本对检验初始缺陷分割模型的学习效果,计算初始缺陷分割模型的目标损失函数的训练损失值。
其中,训练集和验证集中均包括多个训练样本对,两个集合中训练样本对的数量可以相同,也可以不同,本申请实施例对此不做限制。
应该理解的是,训练损失是根据初始缺陷分割模型预测的缺陷分割图像块中的像素信息,与输入的训练样本对预先标注的缺陷标签之间的差值确定的,差值减小,则说明训练结果趋近于标注信息,即可结束训练。
作为一个示例,预设的迭代训练轮次可以为任意数值,比如,10轮、20轮等。
进一步地,对于浅粘花缺陷而言,其在整个单张彩盒图像上只占很小的一部分,因此,在进行像素级别的分类时,可能存在类别不平衡问题。虽然前文的数据增强处理可以缓解一部分问题,但本申请实施例依然需要通过目标损失函数来约束类别上的不平衡,从而避免漏检情况的发生。
在一种可能的实现方式中,初始缺陷分割模型的目标损失函数包括Dice损失函数和交叉熵损失函数,且Dice损失函数和交叉熵损失函数在目标损失函数中的计算系数不同。
应该理解的是,Dice是一种区域相关的损失函数,用于计算两个样本的相似度,对正负样本严重不平衡的场景有着不错的性能,训练过程中更侧重对前景区域的挖掘;交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与模型预测概率分布之间的差异,交叉熵的值越小,模型预测效果就越好。
作为一个示例,采用Dice损失函数与交叉熵(CrossEntropy)损失函数,设置初始缺陷分割模型的目标损失函数,如下述公式(1)所示:
Loss=1.0*Dice(A,A′)+0.1*CrossEntropy(A,A′) (1)
其中,Dice损失函数与交叉熵损失函数计算像素位置偏差,参见下述公式(2)和公式(3)
Dice(A,A′)=1-2|A&A′|/(|A|+|A′|) (2)
CrossEntropy(A,A′)=-\sum A′log(A) (3)
式中,A′表示初始缺陷分割模型输出的缺陷分割结果,即浅粘花缺陷在缺陷样本图像上的像素位置信息;A表示缺陷样本图像中人工预先标注的浅粘花缺陷位置信息;Dice损失函数计算系数为1,交叉熵损失函数的计算系数为0.1。
如此,通过Dice损失函数和交叉熵损失函数分别计算对应的像素位置偏差,并叠加损失权重(即计算系数)来设置本申请的目标损失函数,可以解决正负样本严重不平衡的问题。
步骤540:若训练损失值不满足预设的收敛条件,则调整初始缺陷分割模型的参数,并再次将多个训练样本对输入至调整参数后的初始缺陷分割模型,直到训练损失值满足预设的收敛条件,则结束训练,得到训练好的缺陷分割模型。
其中,调整初始缺陷分割模型的参数包括调整初始缺陷分割模型中各Transformer块的处理参数,以及卷积神经网络的网络参数。
作为一个示例,预设的收敛条件包括:训练损失值达到预设的损失阈值;训练损失值在预设的迭代训练轮次中不再发生变化;训练总轮次达到预设的训练总次数。
比如,损失阈值可以为0.1,迭代训练轮次可以为10轮,训练总次数可以为100轮。
可选地,对于训练好的缺陷分割模型,在上线使用之前,还可以获取一些产品表面图像,作为测试集,对缺陷分割模型预测的缺陷分割图像块的精确度进行测试,在测试结果满足要求的情况下,训练好的缺陷分割模型可以在实际场景中辅助进行表面缺陷检测。
在上述训练缺陷分割模型过程中,本申请实施例通过对初始样本对随机进行数据增强处理来获取多个训练样本对,提高了训练样本对的多样性,增加了训练样本对的数量,使最终训练得到的缺陷分割模型具有更好的鲁棒性。同时,本申请实施例采用Dice损失函数和交叉熵损失函数,来设置初始缺陷分割模型的目标损失函数,提高了缺陷分割模型的分割准确度,避免漏检情况的发生。
步骤240:基于缺陷分割图像块,确定待检产品是否存在表面缺陷。
其中,缺陷分割图像块用于表示一个待检图像块和一个标准图像块之间的像素差异信息。换言之,缺陷分割图中的像素点可以反映出较标准表面图像而言,待检表面图像中是否存在表面缺陷信息,表面缺陷信息包括缺陷位置、大小、轮廓等信息。
应该理解的是,缺陷分割图像块的个数与输入至缺陷分割模型中的待检图像块或标准图像块的数目相同,对于一个缺陷分割图像块,其中所包括的像素点个数可能为0,也可能不为0。
其中,若缺陷分割图像块中的像素点个数为0,则表示缺陷分割模型判定对应的待检图像块和标准图像块之间不存在像素差异;若缺陷分割图像块中的像素点个数不为0,则表示缺陷分割模型判定对应的待检图像块和标准图像块之间,在这些不为0的像素点处存在差异。
在一种可能的实现方式中,步骤240的实现过程可以为:根据缺陷分割图像块,判断各缺陷分割图像块中是否存在描述缺陷信息的像素点;若缺陷分割图像块中不存在描述缺陷信息的像素点,即缺陷分割图像块为空,则确定该缺陷分割图像块在待检表面图像中对应的图像区域中不存在表面缺陷;若缺陷分割图像块中存在描述缺陷信息的像素点,即缺陷分割图像块不为空,则确定该缺陷分割图像块在待检表面图像中对应的图像区域中存在表面缺陷。
具体地,在待检表面图像的所有待检图像块对应的缺陷分割图像块中,均不存在描述缺陷信息的像素点时,判定该待检表面图像中不存在表面缺陷,对应的待检产品也不存在表面缺陷,该待检产品为良品。
进一步地,若缺陷分割图像块中存在描述缺陷信息的像素点,可以确定这些像素点在缺陷分割图像块中的位置信息,并将该位置信息映射到待检表面图像中,即可确定表面缺陷的具体位置、大小、轮廓等缺陷信息。
在另一种可能的实现方式中,步骤240的实现过程可以为:获取缺陷分割图像块和候选缺陷特征图之间的像素交集信息;若像素交集信息为空,则确定待检产品表面不存在表面缺陷;若像素交集信息不为空,则确定待检产品表面存在表面缺陷。
应该理解的是,两个像素点的像素值不同时,其像素值的差值本身就可以反映两者之间的区别。因此,在基于缺陷分割图像块判断待检产品是否存在表面缺陷时,也可以结合待检表面图像和标准表面图像中相同位置的像素进行像素值相减操作和连通区域分析后得到的候选缺陷特征图,从而提高表面缺陷检测结果的准确度。
因此,若缺陷分割图像块和候选缺陷特征图之间的均存在描述缺陷信息的像素点,则取交集后,像素交集信息中就包括这些描述缺陷信息的像素点。
进一步地,若像素交集信息不为空,还可以确定交集中的各像素点在缺陷分割图像块或候选缺陷特征图的位置信息,并将该位置信息映射到待检表面图像中,即可确定表面缺陷的具体位置、大小、轮廓等缺陷信息。
在本申请实施例中,计算机设备获取待检产品的待检表面图像和标准表面图像后,先对待检表面图像和标准表面图像进行图像分割,得到待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块。其中,待检图像块和标准图像块的数目相同,且待检图像块和标准图像块在对应的表面图像中所处的图像区域也相同。然后,将待检图像块和标准图像块输入至预先训练好的缺陷分割模型中,通过缺陷分割模型获取一个待检图像块和一个标准图像块对应的缺陷分割图像块,该缺陷分割图像块可以反映该待检图像块和标准图像块之间的像素差异信息。最后,基于缺陷分割图像块,确定待检产品是否存在表面缺陷。由此可见,本申请利用训练好的缺陷分割模型进行缺陷分割,较人工检测而言,检测效率更高。而且,缺陷分割模型为双输入的神经网络模型,其输入包括一个标准表面图像对应的标准图像块和待检表面图像对应的标准图像块,解决深度学习模型泛化能力弱的问题,无需针对不同的场景、不同的产品进行模型训练,减少了模型训练成本。双输入的缺陷分割模型即使遇到不存在于训练数据集中的产品,也可以保持较好的缺陷检测结果。此外,本申请预先对待检表面图像和标准表面图像进行图像分割,获取待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块,之后再通过缺陷分割模型对各图像块进行处理,减少了图像处理过程中的资源消耗量,降低了缺陷分割模型对图像块进行缺陷分割时对计算机设备的计算性能要求,使得该表面缺陷检测方法可以在低端运算设备上实现高速实时运算,提高了表面缺陷检测效率。
基于上述实施例,在一个示例性实施例中,如图7所示,本申请还提供了另一种表面缺陷检测方法,以该方法应用于上述图1所示的计算机设备100进行举例说明,该表面缺陷检测方法的实施过程为:
获取待检产品的初始待检图像和初始标准图像,先基于初始标准图像,对初始待检图像进行图像配准处理,得到中间待检图像。再采用Sobel算子对中间待检图像和初始标准图像进行边缘检测和边缘膨胀处理,得到待检表面图像和标准表面图像。然后,对待检表面图像和标准表面图像进行特征比对和Blob分析,得到N个候选缺陷特征图;其中,N≥1。
进一步地,基于各候选缺陷特征图的区域位置信息,对各候选缺陷特征图按照图像面积大小进行排序,并基于各候选缺陷特征图对待检表面图像和标准表面图像进行图像分割,得到N个待检图像块和N个标准图像块。
其中,N个待检图像块和N个标准图像块一一对应,对应的待检图像块和标准图像块描述的是待检产品上相同的表面区域。
进一步地,将N个待检图像块和N个标准图像块按照图像块对的顺序输入至本申请提供的双输入的缺陷分割模型中,得到每对输入的待检图像块和标准图像块对应的缺陷分割图像块。
其中,缺陷分割图像块用于描述一个待检图像块和一个标准图像块之间的像素差异信息,其中包括的像素可能为空,即待检图像块和标准图像块之间不存在像素差异;其中所包括的像素也可能不为空,即待检图像块和标准图像块之间存在像素差异。
应该理解的是,N个待检图像块和N个标准图像块经过缺陷分割模型处理后,得到N个缺陷分割图像块。
进一步地,将N个缺陷分割图像块和对应的N个候选缺陷特征图取交集,判断各缺陷分割图像块是否存在表面缺陷。
最后,对各缺陷分割图像块的表面缺陷判断结果进行筛选处理,以确定待检产品是否存在表面缺陷。
需要说明的是,本申请实施例在实现以上面缺陷检测方法时,其实现原理和技术效果可以参见上一实施例中步骤210-步骤240的相关内容,在此不再赘述。
应该理解的是,虽然上述实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于上述表面缺陷检测方法,采用相同的技术构思,本申请实施例还提供了一种用于实现上述表面缺陷检测方法所对应的表面缺陷检测装置。该装置所提供的解决问题的实现方案与上述方法实施例中所记载的实现方案相似,故下面所提供的一个或多个表面缺陷检测装置实施例中的具体限定可以参见上文中对于表面缺陷检测方法的限定,在此不再赘述。
在一个示例性实施例中,如图8所示,该表面缺陷检测装置800包括:
图像获取模块810,用于获取待检产品的待检表面图像和标准表面图像;
图像分割模块820,用于对待检表面图像和标准表面图像进行图像分割,获取待检表面图像对应的至少一个待检图像块和标准表面图像对应的至少一个标准图像块;待检图像块和标准图像块的数目相同,且待检图像块和标准图像块在对应的表面图像中所处的图像区域也相同;
缺陷分割模块830,用于将待检图像块和标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块;每个缺陷分割图像块用于表示一个待检图像块和一个标准图像块之间的像素差异信息。
缺陷检测模块840,用于基于缺陷分割图像块,确定待检产品是否存在表面缺陷。
在一种可能的实现方式中,图像分割模块820,包括:
像素处理单元,用于对待检表面图像和标准表面图像中相同位置的像素进行像素值相减操作,得到中间表面图像;
区域分析单元,用于对中间表面图像进行连通区域分析,获取至少一个候选缺陷特征图;
图像分割单元,用于按照候选缺陷特征图在中间表面图像中对应的区域位置信息,对待检表面图像和标准表面图像进行图像分割,得到待检图像块和标准图像块。
在一种可能的实现方式中,缺陷检测模块840,包括:
信息获取单元,用于获取缺陷分割图像块和候选缺陷特征图之间的像素交集信息;
第一确定单元,用于若像素交集信息为空,则确定待检产品表面不存在表面缺陷;
第二确定单元,用于若像素交集信息不为空,则确定待检产品表面存在表面缺陷。
在一种可能的实现方式中,缺陷分割模型包括编码器和解码器;则缺陷分割模块830,包括:
特征提取单元,用于将待检图像块和标准图像块输入至编码器中,通过编码器获取待检图像块在预设的多种分辨率下的第一多尺度特征图和标准图像块在多种分辨率下的第二多尺度特征图;
特征融合单元,用于将第一多尺度特征图和第二多尺度特征图输入至解码器中,通过解码器对第一多尺度特征图和第二多尺度特征图进行特征融合处理,输出缺陷分割图像块。
在一种可能的实现方式中,图像获取模块810,包括:
图像获取单元,用于获取待检产品的初始待检图像和初始标准图像;
图像配准单元,用于基于初始标准图像,对初始待检图像进行图像配准处理,得到中间待检图像;
图像处理单元,用于对中间待检图像和初始标准图像分别进行图像预处理,得到待检表面图像和标准表面图像。
在一种可能的实现方式中,图像处理单元,具体用于:
对中间待检图像和初始标准图像进行边缘检测,获取中间待检图像的第一边缘信息和初始标准图像的第二边缘信息;
基于第一边缘信息,对中间待检图像进行边缘膨胀处理,得到待检表面图像;
基于第二边缘信息,对初始标准图像进行边缘膨胀处理,得到标准表面图像。
在一种可能的实现方式中,如图9所示,该表面缺陷检测装置800还包括:
样本获取模块850,用于获取已检产品的训练样本图像;训练样本图像包括一个标准样本图像和多个缺陷样本图像,每个样本图像携带一个样本标签,样本标签用于表示样本图像是否存在表面缺陷;
样本对制备模块860,用于根据训练样本图像,生成多个训练样本对;每个训练样本对包括两个样本图像;
损失计算模块870,用于将多个训练样本对输入至待训练的初始缺陷分割模型中,根据初始缺陷分割模型的输出,计算初始缺陷分割模型的目标损失函数的训练损失值;
模型训练模块880,用于若训练损失值不满足预设的收敛条件,则调整初始缺陷分割模型的参数,并再次将多个训练样本对输入至调整参数后的初始缺陷分割模型,直到训练损失值满足预设的收敛条件,则结束训练,得到训练好的缺陷分割模型。
在一种可能的实现方式中,样本对制备模块,包括:
样本组合单元,用于将标准样本图像依次与多个缺陷样本图像进行组合,得到多个初始样本对;
样本对处理单元,用于对多个初始样本对随机进行数据增强处理,得到多个训练样本对;
其中,数据增强处理包括以下至少一种:
将初始样本对中的两张样本图像进行随机交换,得到多个第一样本对;
按照预设的像素偏移范围,对初始样本对中的任一个样本图像进行像素偏移处理,得到多个第二样本对;
将初始样本对中的标准样本图像随机复制为缺陷样本图像,得到多个第三样本对;
将预先提取的图像缺陷粘贴至初始样本对的标准样本图像中,得到多个第四样本对;
多个训练样本对包括初始样本对、第一样本对、第二样本对、第三样本对和第四样本对中的至少一种样本对。
在一种可能的实现方式中,初始缺陷分割模型的目标损失函数包括Dice损失函数和交叉熵损失函数,且Dice损失函数和交叉熵损失函数在目标损失函数中的计算系数不同。
在一种可能的实现方式中,若待检产品为印刷品,则表面缺陷包括浅粘花缺陷。
需要说明的是,图8和图9所示的表面缺陷检测装置800中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
此外,应该理解的是,本申请实施例可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括计算机程序。在计算机设备上加载和运行该计算机程序时,全部或部分地产生按照本申请实施例所示的流程或功能。
其中,计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序可以从一个网站站点、终端、服务器或数据中心通过有线或无线方式向另一个网站站点、终端、服务器或数据中心进行传输。
该计算机可读存储介质可以是计算机设备能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。
应该理解的是,以上仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围。凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。
Claims (13)
1.一种表面缺陷检测方法,其特征在于,包括:
获取待检产品的待检表面图像和标准表面图像;
对所述待检表面图像和所述标准表面图像进行图像分割,获取所述待检表面图像对应的至少一个待检图像块和所述标准表面图像对应的至少一个标准图像块;所述待检图像块和所述标准图像块的数目相同,且所述待检图像块和所述标准图像块在对应的表面图像中所处的图像区域也相同;
将所述待检图像块和所述标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块;每个所述缺陷分割图像块用于表示一个所述待检图像块和一个所述标准图像块之间的像素差异信息;
基于所述缺陷分割图像块,确定所述待检产品是否存在表面缺陷。
2.根据权利要求1所述的方法,其特征在于,所述对所述待检表面图像和所述标准表面图像进行图像分割,获取所述待检表面图像对应的至少一个待检图像块和所述标准表面图像对应的至少一个标准图像块,包括:
对所述待检表面图像和所述标准表面图像中相同位置的像素进行像素值相减操作,得到中间表面图像;
对所述中间表面图像进行连通区域分析,获取至少一个候选缺陷特征图;
按照所述候选缺陷特征图在所述中间表面图像中对应的区域位置信息,对所述待检表面图像和所述标准表面图像进行图像分割,得到所述待检图像块和所述标准图像块。
3.根据权利要求2所述的方法,其特征在于,所述基于所述缺陷分割图像块,确定所述待检产品是否存在表面缺陷,包括:
获取所述缺陷分割图像块和所述候选缺陷特征图之间的像素交集信息;
若所述像素交集信息为空,则确定所述待检产品表面不存在表面缺陷;
若所述像素交集信息不为空,则确定所述待检产品表面存在表面缺陷。
4.根据权利要求1所述的方法,其特征在于,所述缺陷分割模型包括编码器和解码器;
则所述将所述待检图像块和所述标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块,包括:
将所述待检图像块和所述标准图像块输入至所述编码器中,通过所述编码器获取所述待检图像块在预设的多种分辨率下的第一多尺度特征图和所述标准图像块在所述多种分辨率下的第二多尺度特征图;
将所述第一多尺度特征图和所述第二多尺度特征图输入至所述解码器中,通过所述解码器对所述第一多尺度特征图和所述第二多尺度特征图进行特征融合处理,输出所述缺陷分割图像块。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述获取待检产品的待检表面图像和标准表面图像,包括:
获取所述待检产品的初始待检图像和初始标准图像;
基于所述初始标准图像,对所述初始待检图像进行图像配准处理,得到中间待检图像;
对所述中间待检图像和所述初始标准图像分别进行图像预处理,得到所述待检表面图像和所述标准表面图像。
6.根据权利要求5所述的方法,其特征在于,所述对所述中间待检图像和所述初始标准图像分别进行图像预处理,得到所述待检表面图像和所述标准表面图像,包括:
对所述中间待检图像和所述初始标准图像进行边缘检测,获取所述中间待检图像的第一边缘信息和所述初始标准图像的第二边缘信息;
基于所述第一边缘信息,对所述中间待检图像进行边缘膨胀处理,得到所述待检表面图像;
基于所述第二边缘信息,对所述初始标准图像进行边缘膨胀处理,得到所述标准表面图像。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述缺陷分割模型的训练过程包括:
获取已检产品的训练样本图像;所述训练样本图像包括一个标准样本图像和多个缺陷样本图像,每个样本图像携带一个样本标签,所述样本标签用于表示所述样本图像是否存在表面缺陷;
根据所述训练样本图像,生成多个训练样本对;每个训练样本对包括两个样本图像;
将所述多个训练样本对输入至待训练的初始缺陷分割模型中,根据所述初始缺陷分割模型的输出,计算所述初始缺陷分割模型的目标损失函数的训练损失值;
若所述训练损失值不满足预设的收敛条件,则调整所述初始缺陷分割模型的参数,并再次将所述多个训练样本对输入至调整参数后的所述初始缺陷分割模型,直到所述训练损失值满足预设的收敛条件,则结束训练,得到训练好的所述缺陷分割模型。
8.根据权利要求7所述的方法,其特征在于,所述根据所述训练样本图像,生成多个训练样本,包括:
将所述标准样本图像依次与所述多个缺陷样本图像进行组合,得到多个初始样本对;
对所述多个初始样本对随机进行数据增强处理,得到所述多个训练样本对;
其中,所述数据增强处理包括以下至少一种:
将所述初始样本对中的两张样本图像进行随机交换,得到多个第一样本对;
按照预设的像素偏移范围,对所述初始样本对中的任一个样本图像进行像素偏移处理,得到多个第二样本对;
将所述初始样本对中的所述标准样本图像随机复制为缺陷样本图像,得到多个第三样本对;
将预先提取的图像缺陷粘贴至所述初始样本对的所述标准样本图像中,得到多个第四样本对;
所述多个训练样本对包括所述初始样本对、所述第一样本对、所述第二样本对、所述第三样本对和所述第四样本对中的至少一种样本对。
9.根据权利要求7所述的方法,其特征在于,所述初始缺陷分割模型的目标损失函数包括Dice损失函数和交叉熵损失函数,且所述Dice损失函数和所述交叉熵损失函数在所述目标损失函数中的计算系数不同。
10.根据权利要求1至4中任一项所述的方法,其特征在于,若所述待检产品为印刷品,则所述表面缺陷包括浅粘花缺陷。
11.一种表面缺陷检测装置,其特征在于,包括:
图像获取模块,用于获取待检产品的待检表面图像和标准表面图像;
图像分割模块,用于对所述待检表面图像和所述标准表面图像进行图像分割,获取所述待检表面图像对应的至少一个待检图像块和所述标准表面图像对应的至少一个标准图像块;所述待检图像块和所述标准图像块的数目相同,且所述待检图像块和所述标准图像块在对应的表面图像中所处的图像区域也相同;
缺陷分割模块,用于将所述待检图像块和所述标准图像块输入至预先训练好的缺陷分割模型中,获取至少一个缺陷分割图像块;每个所述缺陷分割图像块用于表示一个所述待检图像块和一个所述标准图像块之间的像素差异信息;
缺陷检测模块,用于基于所述缺陷分割图像块,确定所述待检产品是否存在表面缺陷。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器从所述存储器中调用并执行所述计算机程序时实现上述权利要求1至10中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211689323.7A CN115830004A (zh) | 2022-12-27 | 2022-12-27 | 表面缺陷检测方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211689323.7A CN115830004A (zh) | 2022-12-27 | 2022-12-27 | 表面缺陷检测方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115830004A true CN115830004A (zh) | 2023-03-21 |
Family
ID=85518700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211689323.7A Pending CN115830004A (zh) | 2022-12-27 | 2022-12-27 | 表面缺陷检测方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115830004A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116485779A (zh) * | 2023-05-11 | 2023-07-25 | 哈尔滨工业大学重庆研究院 | 自适应晶圆缺陷检测方法、装置、电子设备及存储介质 |
CN116664846A (zh) * | 2023-07-31 | 2023-08-29 | 华东交通大学 | 基于语义分割实现3d打印桥面施工质量监测方法及系统 |
CN117067112A (zh) * | 2023-10-17 | 2023-11-17 | 杭州泓芯微半导体有限公司 | 一种水切割机及其控制方法 |
CN117115148A (zh) * | 2023-10-19 | 2023-11-24 | 苏州弘皓光电科技有限公司 | 基于5g技术的芯片表面缺陷智能识别方法 |
CN118351111A (zh) * | 2024-06-14 | 2024-07-16 | 深圳超盈智能科技有限公司 | 芯片表面缺陷的检测方法、装置、设备和存储介质 |
-
2022
- 2022-12-27 CN CN202211689323.7A patent/CN115830004A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116485779A (zh) * | 2023-05-11 | 2023-07-25 | 哈尔滨工业大学重庆研究院 | 自适应晶圆缺陷检测方法、装置、电子设备及存储介质 |
CN116485779B (zh) * | 2023-05-11 | 2024-01-30 | 哈尔滨工业大学重庆研究院 | 自适应晶圆缺陷检测方法、装置、电子设备及存储介质 |
CN116664846A (zh) * | 2023-07-31 | 2023-08-29 | 华东交通大学 | 基于语义分割实现3d打印桥面施工质量监测方法及系统 |
CN116664846B (zh) * | 2023-07-31 | 2023-10-13 | 华东交通大学 | 基于语义分割实现3d打印桥面施工质量监测方法及系统 |
CN117067112A (zh) * | 2023-10-17 | 2023-11-17 | 杭州泓芯微半导体有限公司 | 一种水切割机及其控制方法 |
CN117067112B (zh) * | 2023-10-17 | 2024-01-16 | 杭州泓芯微半导体有限公司 | 一种水切割机及其控制方法 |
CN117115148A (zh) * | 2023-10-19 | 2023-11-24 | 苏州弘皓光电科技有限公司 | 基于5g技术的芯片表面缺陷智能识别方法 |
CN117115148B (zh) * | 2023-10-19 | 2024-05-14 | 苏州弘皓光电科技有限公司 | 基于5g技术的芯片表面缺陷智能识别方法 |
CN118351111A (zh) * | 2024-06-14 | 2024-07-16 | 深圳超盈智能科技有限公司 | 芯片表面缺陷的检测方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023077404A1 (zh) | 缺陷检测方法、装置和系统 | |
CN109829893B (zh) | 一种基于注意力机制的缺陷目标检测方法 | |
CN106875381B (zh) | 一种基于深度学习的手机外壳缺陷检测方法 | |
CN111383209B (zh) | 一种基于全卷积自编码器网络的无监督瑕疵检测方法 | |
CN115830004A (zh) | 表面缺陷检测方法、装置、计算机设备和存储介质 | |
KR102166458B1 (ko) | 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치 | |
CN111833306A (zh) | 缺陷检测方法和用于缺陷检测的模型训练方法 | |
CN109580630B (zh) | 一种机械零部件缺陷的视觉检测方法 | |
CN112967243A (zh) | 一种基于yolo的深度学习芯片封装裂纹缺陷检测方法 | |
CN112733950A (zh) | 一种基于图像融合与目标检测结合的电力设备故障诊断方法 | |
CN110619618A (zh) | 一种表面缺陷检测方法、装置及电子设备 | |
CN113628261B (zh) | 一种电力巡检场景下的红外与可见光图像配准方法 | |
CN114742799B (zh) | 基于自监督异构网络的工业场景未知类型缺陷分割方法 | |
CN112258470B (zh) | 基于缺陷检测的工业图像临界压缩率智能分析系统及方法 | |
WO2024021461A1 (zh) | 缺陷检测方法及装置、设备、存储介质 | |
CN113807378A (zh) | 训练数据增量方法、电子装置与计算机可读记录介质 | |
Xiao et al. | Research on defect detection method of powder metallurgy gear based on machine vision | |
CN117252815A (zh) | 基于2d-3d多模态图像的工业零件缺陷检测方法、系统、设备及存储介质 | |
CN116071315A (zh) | 一种基于机器视觉的产品可视缺陷检测方法及系统 | |
CN115880288B (zh) | 电子元件焊接的检测方法、系统及计算机设备 | |
Shit et al. | An encoder‐decoder based CNN architecture using end to end dehaze and detection network for proper image visualization and detection | |
Xu et al. | The steel surface multiple defect detection and size measurement system based on improved yolov5 | |
CN118115835A (zh) | 导光板缺陷小样本数据扩充方法、系统、设备及存储介质 | |
Hu et al. | Hybrid Pixel‐Level Crack Segmentation for Ballastless Track Slab Using Digital Twin Model and Weakly Supervised Style Transfer | |
Sarı et al. | Deep learning application in detecting glass defects with color space conversion and adaptive histogram equalization |
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 |