CN115063357A - 表面缺陷的检测方法、***、电子设备及存储介质 - Google Patents
表面缺陷的检测方法、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115063357A CN115063357A CN202210621825.XA CN202210621825A CN115063357A CN 115063357 A CN115063357 A CN 115063357A CN 202210621825 A CN202210621825 A CN 202210621825A CN 115063357 A CN115063357 A CN 115063357A
- Authority
- CN
- China
- Prior art keywords
- image
- result information
- detection result
- size
- local
- 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
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
本发明的实施例提供了一种表面缺陷的检测方法、***、电子设备及存储介质。该方法包括:获取待检测图像,其中,待检测图像包括多个目标单元;获取第一滑动窗口和第一步长;根据第一步长,在待检测图像上滑动第一滑动窗口,以获取与每次滑动分别对应的局部图像,其中,第一滑动窗口和第一步长的设置满足:每个目标单元完整地位于至少一个局部图像中;将每个局部图像输入预设模型中进行检测,并输出每个局部图像的检测结果信息,其中,检测结果信息包括缺陷识别结果信息和/或正常识别结果信息。该方案能够更高效地检测目标对象的各种类型的缺陷,且自适用性更强;同时检测准确率也更高。
Description
技术领域
本发明涉及自动检测领域,更具体地涉及一种表面缺陷的检测方法、检测***、电子设备及存储介质。
背景技术
很多物体的表面上可能存在各种各样的形态各异的缺陷。例如,表面上可能存在较细的裂纹,较小的空洞和较大的缺损等。传统的图像处理方法并不能有效检测到多种类型的缺陷,尤其无法识别形态较小的缺陷,因此准确度比较低,检测能力不足。
以很多应用领域中,用来为各种不同的对象进行密封的封口膜为例,其可以看作被密封的对象的一个表面。该对象例如孔板等。近年来,孔板广泛应用于生物研究、医院、科研所、畜牧水产养殖、食品加工等相关领域,用以处理、转移和储存液体样本。在采用孔板分装储存液体的过程中,为了防止液体流出或相互流动,可以将装有母液的孔板采用封口膜进行密封。由于使用封口膜密封之后,还可能对孔板进行平移或者摇晃。如果存在封口膜破损或者覆膜未贴紧的情况,则会导致液体流出或者不同孔位之间的液体相互流动从而造成污染。这就需要对封口膜的密封状况进行检测,从而及时修复。
现有技术通常采用传统的图像处理方法进行封口膜检测,然而在图像中覆膜后的封口痕迹特征并不明显,这给封口膜的检测带来了一定困难;而且封口膜上可能存在诸如孔洞、覆膜连通或缺失等等各种不同的缺陷。传统的图像处理方法难以有效、全面且准确地检测封口膜的所有缺陷。
发明内容
考虑到上述问题而提出了本发明。根据本发明的一个方面,提供了一种表面缺陷的检测方法。该方法包括:获取待检测图像,其中,待检测图像包括多个目标单元;获取第一滑动窗口和第一步长;根据第一步长,在待检测图像上滑动第一滑动窗口,以获取与每次滑动分别对应的局部图像,其中,第一滑动窗口和第一步长的设置满足:每个目标单元完整地位于至少一个局部图像中;将每个局部图像输入预设模型中进行检测,并输出每个局部图像的检测结果信息,其中,检测结果信息包括缺陷识别结果信息和/或正常识别结果信息。
示例性地,在将每个局部图像输入预设模型中进行检测之前,检测方法还包括:获取已标注缺陷区域和/或正常区域的原始训练图像;获取多种窗口尺寸,其中,多种窗口尺寸中至少包括第一滑动窗口的尺寸;根据每种窗口尺寸,在每个原始训练图像上随机获取当前窗口大小的图像,以获取多个局部训练图像;将每个局部训练图像输入网络模型中进行训练,以得到训练好的网络模型,其中,预设模型为训练好的网络模型。
示例性地,根据每种窗口尺寸,在每个原始训练图像上随机获取当前窗口大小的图像,以获取多个局部训练图像,包括:根据每种窗口尺寸,在每个原始训练图像上随机获取当前窗口大小的多个局部图像;判断每个局部图像中是否包括已标注的缺陷区域和/或正常区域;若是,则将该局部图像作为局部训练图像。
示例性地,第一滑动窗口的横向尺寸大于横向尺寸最大的目标单元的横向尺寸,第一滑动窗口的纵向尺寸大于纵向尺寸最大的目标单元的纵向尺寸;第一步长包括横向步长和纵向步长,横向步长小于横向尺寸最小的目标单元的横向尺寸,和/或,纵向步长小于纵向尺寸最小的目标单元的纵向尺寸。
示例性地,多个目标单元的尺寸相同,且任意两个相邻目标单元的间距相同,其中,第一滑动窗口的横向尺寸等于每个目标单元的横向尺寸的n倍,第一滑动窗口的纵向尺寸等于每个目标单元的纵向尺寸的m倍,m和n均为正整数,且至少一者不小于2。
示例性地,待检测图像为封口膜的待检测图像,其中,封口膜用于为至少一个封口对象进行封口,目标单元为封口对象;缺陷识别结果信息包括以下至少一种:破损、孔洞、覆膜连通和覆膜缺失。
示例性地,在将每个局部图像输入预设模型中,并输出每个局部图像的检测结果信息之后,方法还包括:判断当前局部图像的检测结果信息是否为空;若是,则确定当前局部图像的检测结果为当前局部图像整体覆膜缺失。
示例性地,预设模型为目标检测模型。
示例性地,在将每个局部图像输入预设模型中,并输出每个局部图像的检测结果信息之后,方法还包括:根据任意两个重叠的局部图像以及每个局部图像的检测结果信息,对分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个检测结果信息执行整合操作。
示例性地,根据任意两个重叠的局部图像以及每个局部图像的检测结果信息,对分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个检测结果信息执行整合操作,包括:根据分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个检测结果信息,确定两个检测结果信息所在区域的交并比,并通过与预设交并比阈值对比将两个检测结果信息整合;和/或,确定两个检测结果信息所在区域的重叠区与较小检测结果信息所在区域的比值,并通过与预设比值阈值对比,以将两个检测结果信息整合。
根据本发明第二方面,还提供一种表面缺陷的检测***,包括:第一获取模块,用于获取待检测图像,其中,待检测图像包括多个目标单元;第二获取模块,用于获取预设的第一滑动窗口和第一步长;滑动处理模块,用于根据第一步长,在待检测图像上滑动第一滑动窗口,以获取与每次滑动分别对应的局部图像,其中,第一滑动窗口和第一步长的设置满足:每个目标单元完整地位于至少一个局部图像中;检测模块,用于将每个局部图像输入预设模型中进行检测,并输出每个局部图像的检测结果信息,其中,检测结果信息包括缺陷识别结果信息和/或正常识别结果信息。
根据本发明第三方面,还提供一种电子设备,包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述表面缺陷的检测方法。
根据本发明第四方面,还提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述表面缺陷的检测方法。
在本发明的上述技术方案中,以一定步长在待检测图像中滑动滑动窗口,以确定其中的局部图像,且使每个目标单元可以完整地位于至少一个局部图像中。然后,通过预设模型对局部图像进行目标对象如封口膜的缺陷检测。该方案能够更高效地检测目标对象的各种类型的缺陷,且自适用性更强,同时,检测准确率也更高。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出了根据本发明一个实施例的表面缺陷的检测方法的示意性流程图;
图2示出了根据本发明一个实施例的待检测图像的局部的示意图;
图3示出了根据本发明另一个实施例的待检测图像的局部的示意图;
图4a至图4f分别示出了根据本发明实施例的不同局部图像的示意图;
图5a和图5b分别示出了根据本发明实施例的检测结果整合的示意图;
图6示出了根据本发明另一个实施例的表面缺陷的检测方法的流程示意图;
图7示出了根据本发明一个实施例的表面缺陷的检测***的示意性框图;以及
图8示出了根据本发明一个实施例的电子设备的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
图1示出了根据本发明一个实施例的表面缺陷的检测方法100的示意性流程图。如图1所示,表面缺陷的检测方法100可以包括以下步骤S110、步骤S120、步骤S130和步骤S140。
在步骤S110,获取待检测图像,其中,待检测图像包括多个目标单元。
本发明实施例的待检测图像可以是待检测对象的图像。待检测对象可以是可能存在表面缺陷的目标对象。
在一个示例中,待检测对象可以是对孔板进行封口后的封口膜,例如适用于对深孔板进行密封的热封膜。容易理解,每个深孔板上可以包括多个孔位,每个孔位中均可以放入对应的样本如液体样本。为了防止液体样本的流动或晃动带来的污染,可以采用封口膜对深孔板进行封口。在封口的过程中,每个孔位口的边缘与封口膜贴合的地方会产生封口痕迹。因此,与整个深孔板对应的封口膜上可以包括与多个孔位分别一一对应的多个封口痕迹。
根据本发明实施例,可以采用任何现有的或者未来的图像采集方式获取待检测图像。示例性地,可以采用机器视觉检测***中的图像采集装置获取待检测图像,如采用与检测环境和待检测对象匹配的照明装置、镜头、高速相机和图像采集卡获取待检测图像。
示例性地,待检测图像可以是黑白图像,也可以是彩色图像。示例性地,待检测图像可以是任意尺寸或分辨率大小的图像。替代地,待检测图像也可以是满足预设分辨率要求的图像。例如,待检测图像可以是不低于5472*3648的黑白图像。又可选地,待检测图像可以是满足每个目标单元不低于912*912的黑白图像。对于待检测图像的要求可以基于实际的检测需求、图像采集装置的硬件要求等进行设置。
示例性地,待检测图像可以是图像采集装置直接采集到的原始图像,也可以是对原始图像进行预处理操作后的图像。该预处理操作可以包括为了改善图像的视觉效果,提高图像的清晰度,或是突出图像中的某些特征等便于表面缺陷检测的所有操作。例如,预处理操作可以包括滤波等去噪操作,也可以包括图像参数的调整如图像灰度、对比度、亮度等的调整。
在前述待检测对象为密封孔板的封口膜的示例中,待检测图像可以是包括与多个孔位对应的多个封口痕迹的封口膜图像。为了简便,后文将以深孔板的封口膜图像作为待检测图像的具体示例来阐释根据本发明实施例的表面缺陷检测方法100。
图2示出了根据本发明一个实施例的待检测图像的局部的示意图。在待检测图像中包括多个目标单元210。容易理解,目标单元210可以是图像采集装置拍摄到的深孔板中每个孔位口的边缘与封口膜贴合产生的封口痕迹的图像。根据本发明实施例的表面缺陷检测方法100可以用于检测如图2所示的封口膜图像的多个目标单元中存在的表面缺陷。表面缺陷例如不同目标单元的覆膜连通、目标单元的覆膜缺失,封口膜上存在孔洞等等。
示例性地,待检测图像中的目标单元的数目可以是任意大于或等于2的正整数。对于现有的常用的深孔板,例如24、48或96孔深孔板,封口膜的待检测图像中的目标单元的数目可以是24、48、96个。图2可以视作是24孔深孔板的封口膜的待检测图像的一个示例,因此,图2中可以包括24个目标单元。
并且,根据不同的需求,深孔板可以包括多种形状和规格。因此,每个目标单元的形状、尺寸和分布形式可以包括任何合适的形式。示例性地,每个目标单元可以是如图2中示出的圆形、也可以是方形、三角形或其他形状。示例性地,在待检测图像中,多个目标单元的形状和尺寸可以相同,也可以不完全相同。示例性地,在待检测图像中,多个目标单元可以按照固定的间隔规律分布形成多行和多列。当然,待检测图像中的多个目标单元也可以包括其他不规律的分布形式。
对于孔板的封口膜来说,任何一个孔位的封口膜出现缺陷均可能导致样本储存或样本转移失败,因此需要对每个孔位的封口膜进行表面缺陷的检测。相应的,需要对待检测图像中的多个目标单元进行检测,以便于及时识别出其中存在的缺陷。现有技术中通常采用传统机器视觉的算法直接对整个待检测图像进行检测。对于包括多个目标单元的待检测图像,例如96孔的深孔板封口膜图像来说,在采用统机器视觉算法识别整个封口膜图像时,只能检测出整张图像中的大尺寸缺陷,例如破损的大缺口,而对于孔洞、不同目标单元之间的连通区域等小区域的缺陷则会有较多漏检,无法保证准确检测出每个目标单元区域的表面缺陷。
根据本发明实施例的表面缺陷的检测方法100,可以通过滑动窗口的形式将待检测图像划分为多个局部图像,进而对每个局部图像分别进行表面缺陷的检测。
在步骤S120,获取预设的第一滑动窗口和第一步长。第一步长用于确定第一滑动窗口在待检测图像中每次滑动的距离。该第一滑动窗口和第一步长可以根据目标单元的尺寸预先设置。
在步骤S130,根据第一步长,在待检测图像上滑动第一滑动窗口,以获取与每次滑动分别对应的局部图像,其中,第一滑动窗口和第一步长的设置满足:每个目标单元完整地位于至少一个局部图像中。
根据前述陈述,待检测图像中的多个目标单元的形状和尺寸可以相同,也可以不完全相同。示例性地,滑动窗口的形状可以为矩形,滑动窗口的尺寸可以包括横向尺寸和纵向尺寸。相应的,每个目标单元的尺寸也可以包括横向尺寸和纵向尺寸。可以理解,目标单元可以是任意形状的,例如矩形、圆形、椭圆形等。目标单元的横向尺寸是其横向上最大的尺寸,纵向尺寸是其纵向上的最大尺寸。例如对于圆形,其横向尺寸和纵向尺寸均为其直径的大小。对于长轴是横向的椭圆形,其横向尺寸为其长轴的大小,纵向尺寸为是短轴的大小。
需要特别说明的是,根据本发明实施例的表面缺陷的检测方法100,第一滑动窗口和第一步长的设置满足:每个目标单元完整地位于至少一个局部图像中。示例性地,为了有效检测出每个目标单元区域的表面缺陷,并且为了提高检测的准确性,可以通过设置第一滑动窗口的尺寸和第一步长的大小,使得在上一个滑动窗口对应的局部图像内未完整显示的目标单元,在后续下一个或多个滑动窗口对应的局部图像内会被完整地显示出,因此,使得在步骤S130获取的局部图像中,每个目标单元均可以完整地显示在至少一个局部图像中。
容易理解,当第一滑动窗口中包括一个完整的目标单元时,与该第一滑动窗口对应的局部图像中即可包括该完整的目标单元。因此,当第一滑动窗口和第一步长满足预设条件的情况下,可以使得每个目标单元完整地显示在至少一个局部图像中。例如,对于任一目标单元,包括该目标单元所在的图像区域的局部图像数量可以为多个,则该多个局部图像中至少有一个局部图像中包括该目标单元所在的完整区域。例如,对于目标单元是圆形的,在多个局部图像中,至少有一个局部图像中包括该目标单元所在的完整的圆形区域。
容易理解,如果第一滑动窗口的尺寸过小以及第一步长的尺寸过大,可能无法覆盖每一个完整的目标单元,容易造成检测结果出现错误。因此需要根据预设的条件设置第一滑动窗口和第一步长。示例性地,可以基于待检测图像中的第一特定目标单元的尺寸设置预设的第一滑动窗口的尺寸。对于基于待检测图像中的第一特定目标单元的尺寸设置预设的第一滑动窗口的示例将在后文进行详细阐释,在此不再赘述。示例性地,在步骤S130中,第一滑动窗口在待检测图像上的滑动方向可以是任意合适的方向,如上下滑动、左右滑动、多个角度的斜向滑动等,本发明不对其进行限制。示例性而非限制性地,在待检测图像中,若目标单元按照一定的规律分布为多行多列的情况下,第一滑动窗口可以按照行和列的方向滑动。例如,参考图2中的封口膜的待检测图像,第一滑动窗口可以先横向滑动,滑动至行末时再纵向滑动以换行;或者,第一滑动窗口可以先纵向滑动,滑动至列末时再横向滑动以换列。
示例性地,步骤S120中预设的第一步长可以为使第一滑动窗口在滑动过程中能够遍历待检测图像的每个像素的任意合适的尺寸。例如,预设的第一步长在横向上可以小于第一滑动窗口的横向尺寸,预设的第一步长在纵向上可以小于第一滑动窗口的纵向尺寸。这样通过步骤S130获取的多个局部图像必然包括整个待检测图像的完整信息,进而可以实现对待检测图像中的多个目标单元的表面缺陷检测。
示例性地,为了使得每个目标单元完整地位于至少一个局部图像中,表面缺陷检测方法100还可以进一步基于待检测图像中的第二特定目标单元的尺寸来设置预设的第一步长。
示例性地,第一滑动窗口的横向尺寸大于横向尺寸最大的目标单元的横向尺寸,第一滑动窗口的纵向尺寸大于纵向尺寸最大的目标单元的纵向尺寸;第一步长包括横向步长和纵向步长,其中,横向步长小于横向尺寸最小的目标单元在待检测图像中的横向尺寸,纵向步长小于纵向尺寸最小的目标单元在待检测图像中的纵向尺寸。
在步骤S120中,可以基于第一特定目标单元的尺寸来设置第一滑动窗口。示例性地,第一特定目标单元可以包括横向尺寸最大的目标单元和纵向尺寸最大的目标单元。
示例性地,第一滑动窗口的横向尺寸可以大于横向尺寸最大的目标单元在待检测图像中的横向尺寸,第一滑动窗口的纵向尺寸可以大于纵向尺寸最大的目标单元在待检测图像中的纵向尺寸。下面参考图3,图3示出了根据本发明另一个实施例的待检测图像的局部示意图。在图3示出的待检测图像中包括多个不同形状和大小不同的目标单元,其中包括横向尺寸最大的目标单元310和纵向尺寸最大的目标单元320。横向尺寸最大的目标单元310的横向尺寸在待检测图像中例如3厘米,纵向尺寸最大的目标单元320的纵向尺寸在待检测图像中例如4厘米。示例性地,第一滑动窗口的横向尺寸可以设置为任意大于3厘米的尺寸,例如4厘米。第一滑动窗口的纵向尺寸可以设置为任意大于4厘米的尺寸,例如5厘米。容易理解,该尺寸的第一滑动窗口可以保证滑动窗口中足以完整覆盖图3中的任一个目标单元,进而保证了缺陷检测的准确性。例如,通过图3中的第三位置370的第一滑动窗口(图3中斜条纹填充的区域)中可以完整准确地确定纵向尺寸最大的目标单元320中是否存在缺陷。
可选地,第一滑动窗口的横向尺寸还可以是横向尺寸最大的目标单元的横向尺寸的1.2至3倍。第一滑动窗口的纵向尺寸可以是纵向尺寸最大的目标单元的纵向尺寸的1.2至3倍。
再次参考图3,在上述确定第一滑动窗口的横向尺寸在待检测图像中为4厘米、纵向尺寸在待检测图像中为5厘米的示例中,还可以进一步确定第一步长。由于待检测图像包括多个目标单元,每个第一滑动窗口可能包括不完整的目标单元。例如,在图3中示出的第一位置350的第一滑动窗口中,并未完整显示纵向尺寸最小的目标单元340。在这种情况下,如果第一步长的横向步长设置的太大,则可能导致在后续下一个的滑动窗口中依然无法完整显示该目标单元,如图3中,在第一步长设置的较大的情况下,如第一滑动窗口直接从第一位置350滑动至第三位置370,则不会完整显示该纵向尺寸最小的目标单元340。因此,可以根据横向尺寸最小的目标单元330确定第一步长的横向步长,可以将第一步长的横向步长设置为比该目标单元的横向尺寸小的合适的尺寸。例如,横向步长可以稍微小于横向尺寸最小的目标单元330的横向尺寸,更进一步地,可以确定第一步长的横向步长等于横向尺寸最小的目标单元330的横向尺寸的90%。由此,可以确定第二位置360的第一滑动窗口和第三位置370的第一滑动窗口。容易看出,第二位置360的第一滑动窗口完整覆盖纵向尺寸最小的目标单元340,第三位置370的第一滑动窗口完整覆盖纵向尺寸最大的目标单元320。
类似地,由于在第一位置350、第二位置360和第三位置370的第一滑动窗口中,均未完全涵盖目标单元310。为了在后续的至少一个窗口中该目标单元可以完整被覆盖,可以根据纵向尺寸最小的目标单元340确定第一步长的纵向步长,可以将第一步长的纵向步长设置为小于该目标单元的纵向尺寸的任何合适的尺寸。例如,纵向步长可以稍微小于纵向尺寸最小的目标单元340的纵向尺寸,更进一步地,可以确定第一步长的纵向步长等于纵向尺寸最小的目标单元340的纵向尺寸的90%。由此,按照纵向步长在下一行的滑动过程可以确定后续的其他滑动窗口。容易看出,根据该纵向步长确定的第四位置380的第一滑动窗口中,可以完整覆盖横向尺寸最大的目标单元310。
由此,步骤S120可以根据横向尺寸最大的目标单元的横向尺寸和纵向尺寸最大的目标单元的纵向尺寸设置第一滑动窗口,以及根据横向尺寸最小的目标单元的横向尺寸和纵向尺寸最小的目标单元的纵向尺寸设置第一步长,进而步骤S130获取到的局部图像可以完整显示待检测图像中的任一目标单元,即每个目标单元完整地位于至少一个局部图像中。因而,可以有效适用于待检测图像包括不同形态的目标单元的表面缺陷检测。并且,该方案简单易于实施,且适用性强,检测精度也更高。
按照上述有关设置第一滑动窗口和第一步长的方案,在一定程度上可以保证步骤S130获取的多个局部图像中,每个局部图像中均包括1个完整的目标单元。因此,在保证精度的同时,还能较大程度地提高效率。
当然,在实际应用中,还可以再进一步减小横向步长和纵向步长,这样也就可能存在某个局部图像中不包括1个完整的目标单元,但仍然能够会保证每个目标单元均能够至少在1个局部图像中出现,从而不会存在漏检;并且由于某个目标单元的局部在多个局部图像中出现,也就会进行多次缺陷检测,从而可以进一步地提高检测精度。
在一些情况中,多个目标单元的尺寸可以完全相同。在一个示例中,第一滑动窗口的横向尺寸可以是大于每个目标单元的横向尺寸的任何尺寸,第一滑动窗口的纵向尺寸可以是大于每个目标单元的纵向尺寸的任何尺寸。
在另一个示例中,多个目标单元的尺寸相同,且任意两个相邻目标单元的间距相同。第一滑动窗口的横向尺寸可以等于每个目标单元的横向尺寸的n倍,第一滑动窗口的纵向尺寸可以等于每个目标单元的纵向尺寸的m倍,m和n均为正整数,且至少一者不小于2。
例如,对于24、48或96孔深孔板的封口膜的待检测图像,每个孔位的形态完全一致,且规律排布,任意两个孔位之间的间距相同。对于这种情况,可以将第一滑动窗口的横向和/或纵向尺寸设置为目标单元的相应尺寸的整数倍。
仅示例性地,m可以是1、2、3、4等,n也可以是2、3、4等。即,第一滑动窗口可以设置为包括2个、4个、6个或8个目标单元的大小。示例性地,可以综合考虑实际情况下对检测精度和检测速度的要求,具体设置第一滑动窗的大小。
根据上述方案,将第一滑动窗口设置为目标单元的m*n倍的大小,可以使得窗口中能够覆盖m*n个目标单元,因此在步骤S130中获取的局部图像也可以包括多个目标单元,因此在后续针对每个局部图像的表面缺陷检测过程中,在保证检测准确度的同时,检测速度更快,因此效率更高。
示例性地,在待检测图像中的多个目标单元尺寸相等且规律排布的情况下,与上述第一滑动窗口为目标单元的整数倍的示例相对应的,横向步长和纵向步长也可以为目标单元的整数倍。
示例性而非限制性地,在第一滑动窗口的尺寸为2*2(此处以每个目标单元为1个单位)的情况下,可以设置第一步长的横向步长为1,纵向步长也为1。当第一滑动窗口为4*4(以每个目标单元为1个单位)时,可以根据需要设置第一步长的横向步长和纵向步长均为1、2、3中的任意一种。
根据本发明实施例的第一步长的横向步长和纵向步长可以相等,也可以不相等。例如,对于待检测图像中目标单元的横向尺寸和纵向尺寸相等的情况下,可以设置横向步长与纵向步长相等。对于待检测图像中目标单元的横向尺寸和纵向尺寸不相等的情况下,则可以根据需要自由设置横向步长和纵向步长相等或者不等。当然,在待检测图像中目标单元的横向尺寸和纵向尺寸相等的情况下,也可以设置横向步长与纵向步长不相等。
容易理解,对于同一个待检测图像,在第一滑动窗口确定的情况下,第一步长越大,相邻窗口得到的局部图像之间的重叠区域越小,获取的局部图像的数量也越少,检测速度越快。相反的,第一步长设置的越小,相邻窗口得到的局部图像之间的重叠区域越大,获取的局部图像的数量也越多,也就可以增加重叠区域的检测次数,从而可以提高检测精度,但同时对待检测图像的处理速度则可能越慢。因此,可以根据实际的检测需求,设置合适的第一步长。
示例性地,步骤S130可以包括:确定第一滑动窗口的滑动起始点,即其滑动的起始位置;基于第一步长,确定后续每次滑动中第一滑动窗口的位置,以获取与每次滑动分别对应的局部图像。
示例性地,可以将待检测图像的任一角点设置为滑动起始点。可选地,可以将待检测图像的左上角点设置为滑动起始点。例如,以图3中的待检测图像的左上角点O为滑动起始点,由此可以确定第一位置350的第一滑动窗口,得到其覆盖的第一个局部图像。然后基于第一步长可以进一步确定第二位置360的第一滑动窗口和第三位置370的第一滑动窗口。进而可以得到与后续每次滑动分别对应的局部图像,该局部图像即第一滑动窗口该次滑动后所覆盖的待检测图像的区域。
在步骤S140,将每个局部图像输入预设模型中进行检测,并输出每个局部图像的检测结果信息,其中,检测结果信息包括缺陷识别结果信息和/或正常识别结果信息。
示例性地,根据本发明实施例的预设模型可以是任何现有的或者未来的可以实现对局部图像中的目标单元的表面缺陷检测的检测模型或算法。示例性而非限制性地,预设模型可以是目标检测模型,也可以是语义分割模型。示例性地,可以根据实际需求选择合适的预设模型。
示例性地,预设模型的数目可以为1个,也可以为多个。例如,对于图4b至图4f中示出的5种封口膜检测缺陷,可以分别采用5个目标检测模型分别实现对每种缺陷的检测。这种方案下,可以最大程度地保证检测精度。可以理解,在这种情况下,将局部图像输入到上述5个目标检测模型中,只要一个目标检测模型输出该局部图像包括缺陷的信息,即可确定该局部图像中存在缺陷。
在另一示例中,预设模型数目为1。可以仅通过一个模型实现待检测图像的表面缺陷检测。例如,可以仅通过一个目标检测模型对封口膜的待检测图像中的多种类型的缺陷进行检测。由于模型越多,占用的计算资源就越多,并且模型越多越耗时。而采用一种模型来识别多种缺陷的方案则可以节省计算资源,且检测效率更高。
示例性地,将每个局部图像输入预设模型后,模型输出的检测结果信息可以包括缺陷识别结果信息和/或正常识别结果信息。容易理解,在当前局部图像中的目标单元不包括表面缺陷的情况下,输出的检测结果信息仅包括正常识别结果信息。在当前局部图像中既包括无缺陷的目标单元又包括存在表面缺陷的目标单元的情况下,模型输出的检测结果信息既包括正常识别结果信息,又包括缺陷识别结果信息。而在当前局部图像中的目标单元均存在缺陷的情况下,模型输出的检测结果信息仅包括缺陷识别结果信息。
仅示例性地,正常识别结果信息可以包括以下项之一:无缺陷的目标单元所在的位置框、代表正常的类别信息;缺陷识别结果信息可以包括以下项之一:每处缺陷所在的位置框、代表每种类型缺陷的类型信息。可选地,预设模型可以只输出位置框信息,而不输出类型信息。又可选地,预设模型可以输出位置框信息和特定缺陷的缺陷类型信息,其中,特定缺陷可以根据用户的个性化需求进行设定。
在本发明的技术方案中,以一定步长按照滑动窗口在待检测图像中滑动,以确定其中的局部图像,且使每个目标单元可以完整地位于至少一个局部图像中。然后,通过预设模型对局部图像进行目标对象如封口膜的缺陷检测。该方案能够更高效地检测目标对象的各种类型的缺陷,且自适用性更强;同时,检测准确率也更高。
可以理解,上述步骤S140所利用的预设模型可以是经训练的。示例性地,根据本发明实施例的表面缺陷检测方法100还可以包括对预设模型的训练步骤。
示例性地,在将每个局部图像输入预设模型中进行检测之前,检测方法还包括:步骤S101,获取已标注缺陷区域和/或正常区域的原始训练图像;步骤S102,获取多种窗口尺寸,其中,多种窗口尺寸中至少包括第一滑动窗口的尺寸;步骤S103,根据每种窗口尺寸,在每个原始训练图像上随机获取当前窗口大小的图像,以随机获取多个局部训练图像;步骤S104,将每个局部训练图像输入网络模型中进行训练,以得到训练好的网络模型,其中,预设模型为训练好的网络模型。
示例性地,步骤S101中获取的原始训练图像例如是任意数目的已标注的封口膜图像。任意数目例如1000张。示例性地,原始训练图像的尺寸可以相同,例如原始训练图像的大小均为5472*3648。替代地,原始训练图像的大小也可以不同。例如,可以包括对多种尺寸的原始训练图像。
示例性地,针对原始训练图像,可以标注有标注数据,标注数据例如包括正常目标单元的位置框和不同类型缺陷的缺陷区域的位置框。可选地,标注数据还可以包括正常类型的目标单元的标签数据或不同类型缺陷的类别标签数据。
示例性地,标注数据可以是直接由人工标注获得的,也可以是在机器识别的基础上二次人工标注获得的,也可以通过其他方法得到,本发明不对其进行限制。
示例性,在步骤S102获取多种窗口尺寸,且多种窗口尺寸中至少包括第一滑动窗口的尺寸。例如,第一滑动窗口的尺寸为2*2,则上述多种窗口尺寸至少包括2*2的窗口。容易理解,基于多种滑动窗口,通过步骤S103可以得到与前述步骤S140中获取的局部图像的尺寸相同的局部训练图像。当然,除此以外,还可以得到其他尺寸的局部训练图像。
可以设置多种不同的窗口尺寸的窗口,以训练网络模型能够适用于检测不同的缺陷。例如,多种窗口尺寸可以包括1*2、2*2、2*3、2*4、3*3、4*4等。进而,在步骤S103,可以在原始训练图像中分别随机获取与上述多种窗口尺寸大小一致的图像,以获取上述多种尺寸的局部训练图像;在步骤S104,可以将多种尺寸的局部训练图像分别输入网络模型中进行训练,以获取训练好的网络模型,并将训练好的网络模型作为预设模型。
示例性地,步骤S103可以包括:随机地设定每种尺寸的窗口每次在原始训练图像上的位置点;根据每种窗口尺寸和窗口每次所在的位置点,在每个原始训练图像上随机获取每种窗口尺寸的局部训练图像。
示例性地,与前述步骤S130中根据第一步长在待检测图像中规律滑动获取局部图像的方案不同,步骤S103中可以理解为不按照固定的步长滑动滑动窗口,而是根据随机的位置点获取局部训练图像。即,对于每个原始训练图像而言,多个局部训练图像可以是任一种尺寸的窗口在该原始训练图像的多个任意位置上对应获取的。
根据上述方案,获取局部训练图像的窗口可以包括多种尺寸,进而,局部训练图像可以具有多种尺寸且每个局部训练图像是随机获取的,因此通过该多种尺寸的局部训练图像训练网络模型,获取的预设模型的鲁棒性和兼容性更好。且通过这种训练方案得到的预设模型在待检测图像中的目标单元的尺寸不同的情况下,可以改变第一滑动窗口和第一步长以满足不同的检测需求,同时模型的检测准确率也不会受影响。
示例性地,步骤S103还可以包括:步骤S103a,根据每种滑动窗口尺寸,在每个原始训练图像上随机获取当前窗口大小的多个局部图像;步骤S103b,判断每个局部图像中是否包括已标注的缺陷区域和/或正常区域;步骤S103c,若是,则将该局部图像作为局部训练图像。
根据本发明实施例,首先,对于每个已标注的原始训练图像,可以通过步骤S103a获取每种窗口尺寸在原始训练图像中的任意位置的局部图像。例如,可以以2*2的窗口位于原始训练图像中的100个任意位置,可以获得原始训练图像中的100个局部图像。然后,可以在步骤S103b判断该100个局部图像中的每个局部图像是否包括已标注的缺陷区域和/或正常区域。之后,可以在步骤S103c删除既没有标注缺陷区域也没有标注正常区域的局部图像,即删除没有任何标注信息的局部图像。并且,可以将剩余的包括标注信息的局部图像作为局部训练图像送入网络模型中进行训练。
通过将包括标注信息的局部训练图像作为样本图像训练网络模型,可以较大程度地避免不准确的样本图像对模型训练的干扰作用,从而可以提高模型训练的效率和准确率。
示例性地,待检测图像为封口膜的待检测图像,其中,封口膜用于为至少一个封口对象进行封口,目标单元为封口对象;缺陷识别结果信息包括以下至少一种:破损、孔洞、覆膜连通和覆膜缺失。
示例性地,在前述待检测图像为封口膜的待检测图像的示例中,封口膜用于为至少一个封口对象进行封口。封口对象例如深孔板中的每个孔位。对于为96孔的深孔板进行封口的封口膜的待检测图像,多个目标单元为96个孔位口。将该类待检测图像通过步骤S120和S130可以得到多个局部图像。将多个局部图像输入预设模型中,可以得到模型输出的检测结果信息。
示例性地,对上述封口膜的局部图像的检测结果信息可以包括用于指示该局部图像中的孔位密封正常的正常识别结果信息,还可以包括用于指示该局部图像中的孔位密封存在缺陷的缺陷识别结果信息。
根据本发明实施例的上述封口膜的局部图像的缺陷识别结果信息可以包括以下至少一种:破损、孔洞、覆膜连通和覆膜缺失。
下面参考图4a至图4f描述封口膜的局部图像的缺陷。图4a至图4f分别示出了根据本发明实施例的不同局部图像的示意图。
图4a中的局部图像包括正常识别结果信息。容易看出,图4a中的4个目标单元的封口痕迹清晰,且没有任何缺陷痕迹。
示例性地,图4b中的局部图像的检测结果信息包括多个破损缺陷410。示例性地,破损缺陷一般为较大尺寸的缺陷。诸如目标检测模型的预设模型可以相对较为容易地识别出该缺陷。
示例性地,图4c中的局部图像的检测结果信息包括两个孔洞缺陷420。示例性地,孔洞缺陷的尺寸很小,传统视觉处理方法无法识别这种小缺陷,即使采用神经网络模型对整张封口膜图像进行检测也难以识别。而根据本发明实施例的分别对局部图像进行检测的方法则可以实现对这种小尺寸的缺陷的识别,可以大大降低漏检率。
示例性地,图4d中的局部图像的检测结果信息包括覆膜连通缺陷430。覆膜连通是由于覆膜压力不足或热力不足而导致的少部分覆膜未贴紧封口对象,容易造成孔位之间的样本污染,从而影响使用。对于图4d中示出的覆膜连通缺陷430可以采用目标检测模型进行识别。
图4e中的局部图像的检测结果信息包括覆膜缺失缺陷440。覆膜缺失属于整个孔位口的覆膜完全未封上的情况。通过预设模型检测出这类缺陷,及时进行修复或重新覆膜,可以防止在转移样本时各孔位之间的液体样本溢出。
示例性地,用户可以根据需要自由训练网络模型,例如用任意一种或多种缺陷类型的缺陷训练网络模型,以使预设模型能够识别对应的缺陷。例如,预设模型可以仅输出破损缺陷和孔洞缺陷,而不输出覆膜连通缺陷的缺陷识别结果信息。当然,预设模型检测或输出的缺陷识别结果信息也可以不仅限于上述4种类型的缺陷识别结果信息,本发明不对其进行限制。
根据本发明实施例的上述方案,可以采用预设模型对封口膜的待检测图像进行表面缺陷的检测,预设模型还可以输出包括至少一种类型缺陷在内的缺陷识别结果信息。封口膜在图像中覆膜痕迹特征不明显,而且其缺陷类型多样,这种方法有助于用户快速准确地获知封口膜某些位置的缺陷类型,方便用户及时进行分类处理。
示例性地,在将每个局部图像输入预设模型中,并输出每个局部图像的检测结果信息之后,方法还包括:判断当前局部图像的检测结果信息是否为空;若是,则确定当前局部图像的检测结果为当前局部图像整体覆膜缺失。
图4f为局部图像整体覆膜缺失的一个具体示例。示例性地,可以通过判断预设模型输出的当前局部图像的检测结果信息来确定该局部图像是否属于整体覆膜缺失。
区别于图4e中的覆膜缺失缺陷440,局部图像的整体覆膜缺失可以包括整个局部图像中的多个目标单元均缺失,即多个孔位口的覆膜完全未封上的情况。在这种情况下,由于该局部图像几乎不存在覆膜痕迹,因此预设模型检测不出任何目标单元,无法输出任何检测结果信息。因此可以通过判断预设模型输出的当前局部图像的检测结果信息是否为空,若为空则可以判定该局部图像属于整体覆膜缺失。
根据上述方案,可以通过对检测结果信息的简单逻辑判断即可判断出整体覆膜缺失的缺陷情况。该方法充分考虑了封口膜极端情况下的表面检测缺陷,方法简单易实施,且节省计算资源,还可以避免漏检的风险。
由上可知,待检测图像的每个局部图像均可以存在如下至少一种检测结果信息:正常、破损、孔洞、覆膜连通、覆膜缺失和整体覆膜缺失。***或工作人员可根据该检测结果判断:若整个待检测图像中只要一个局部图像中存在破损、孔洞、覆膜连通、覆膜缺失和整体覆膜缺失,则判断该待检测图像为NG图像,进而发出报警提示;若整个待检测图像的所有局部图像的检测结果信息为正常识别结果信息,则判断该待检测图像为OK图像。
示例性地,预设模型为目标检测模型。
采用目标检测模型可以准确检测并输出局部图像中的正常识别结果信息和/或包括上述破损、孔洞、覆膜连通和覆膜缺失在内的4种缺陷识别结果信息的至少一种。尤其是在识别图4d中示出的覆膜连通缺陷430的情况下,相对其他模型而言,准确度更高。
示例性地,将步骤S130中获取的每个局部图像输入目标检测模型中,可以通过目标检测模型输出每个局部图像的检测结果信息。
示例性而非限制性地,根据本发明实施例的用于检测局部图像的表面缺陷的模型可以是端到端的目标检测模型。例如,可以是能够检测出待检测图像中的目标区域的基于深度学习神经网络的多种目标检测模型,包括但不限于YOLOV5模型、单步通用目标检测(Single Shot MultiBox Detector,简称SSD)模型、一阶全卷积目标检测(FullyConvolutional One-Stage Object Detection,简称FCOS)模型等。
采用YOLOV5等目标检测模型对局部图像进行表面缺陷的检测,可以实时地、快速地获取检测结果,同时消耗的计算资源也较少。
示例性地,在步骤S140之后,表面缺陷的检测方法100还包括步骤S150,根据任意两个重叠的局部图像以及每个局部图像的检测结果信息,对分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个检测结果信息执行整合操作。
示例性地,在通过步骤S140获取预设模型输出的对每个局部图像的检测结果信息之后,还可以对检测结果信息进行进一步的后处理操作。
为了后续统计不同类型缺陷的数量以及统计正常区域的数量,来便于客户后续进行相应问题的分析,但由于有些局部图像中可能存在不完整的目标单元A,而后续的局部图像会存在该整个目标单元A,该目标单元A则会进行多次缺陷检测,也就是说会输出多个检测结果,若检测结果均为同一检测结果类型,则进行多次统计就不太合适或者说不太准确,因此需要对属于同一种检测结果类型且存在重叠区的检测结果信息进行整合。
根据本发明实施例的表面缺陷检测方法100,对于待检测图像中的每一个局部图像,可以存在多个局部图像与其有重叠区域。容易理解,在第一滑动窗口尺寸固定的情况下,第一步长设置的越小,相邻窗口的重叠区域越大,相邻局部图像之间的重叠区域也越大,且与每个局部图像具有重叠区域的其他局部图像的数量越多。再次参考图3,图中示出了第一滑动窗口的4个位置。可以理解,对于图3中示出的位于每一个位置的第一滑动窗口,与其他位置的第一滑动窗口均具有重叠区域。相应的,每个第一滑动窗口覆盖的局部图像之间也存在重叠区域。
示例性地,对于具有重叠区域的任两个局部图像可以首先判断两者的检测结果信息中是否包括同一种检测结果类型的检测结果信息;若是,则可以进一步判断两个图像上属于同一种检测结果类型的检测结果信息是否存在重叠区域;若存在重叠区域,则可以进一步对两个图像上属于同一种检测结果类型的检测结果信息执行整合操作。
示例性地,检测结果类型可以包括与正常识别结果信息和上述破损、孔洞、覆膜连通和覆膜缺失在内的4种缺陷识别结果信息在内的共计5种检测结果类型。当然,在前述缺陷识别结果信息可以包括其他类型的缺陷识别结果信息的情况下,检测结果类型还可以包括其他类型,本发明不对其进行限制。属于同一种检测结果类型的检测结果信息例如均属于正常识别结果信息,或均属于覆膜缺失的识别结果信息。
在一个示例中,对于相邻两个窗口获取的局部图像x和局部图像y,当预设模型输出的局部图像x的检测结果信息和局部图像y的检测结果信息均包括正常识别结果信息的情况下,可以进一步判断局部图像x中的正常识别结果信息的结果区域x1与局部图像y中的正常识别结果信息的结果区域y1是否存在重叠区域。若是,则进一步对结果区域x1和结果区域y1执行整合操作。
示例性而非限制性地,整合操作可以包括对模型输出的上述存在重叠区域的同一种检测结果类型的两个检测结果信息的位置框进行整合,以确定最终的该检测结果类型的位置框。例如,对存在重叠区域的两个正常区域的两个位置框进行整合,得到最终的该正常区域的整合位置框。
通过该方案可以实现对与重叠区域关联的多个检测结果信息进行整合,整合后的最终检测结果更准确。
根据本发明实施例,对分别位于任意两个重叠的局部图像上且属于同一种类型的两个检测结果,可以在满足预设条件的情况下对两个检测结果执行相应的整合操作。满足预设条件的情况可以包括多种合适的情况,包括但不限于以下情况:两个检测结果所在的区域满足预设的交并比阈值、两个检测结果所在区域的重叠度达到预设阈值。
示例性而非限制性地,步骤S150可以包括:步骤S151,根据分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个检测结果信息,确定两个检测结果信息所在区域的交并比,并通过与预设交并比阈值对比将两个检测结果信息整合;和/或,步骤S152,根据分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个检测结果信息,确定两个检测结果信息所在区域的重叠区与较小检测结果信息所在区域的比值,并通过与预设比值阈值对比,以将两个检测结果信息整合。
图5a和图5b分布示出了根据本发明实施例的检测结果整合的简单示意图。示例性地,如图5a所示,区域a和区域b分别表示位于相邻两个重叠的局部图像上属于同一种类型的检测结果例如正常识别结果所在的区域,且区域a和区域b存在重叠区域。步骤S151可以包括计算区域a和区域b的交并比的值,然后可以将该值与预设的至少一个交并比阈值进行对比,并可以根据对比结果的不同,对两个检测结果进行不同的整合操作。
示例性而非限制性地,根据对比结果对两个检测结果进行不同的整合操作可以包括:当该交并比值大于第一交并比阈值时,将区域a各区域b合并,并将合并后的大区域作为最终的检测结果区域;当该交并比值小于第二交并比阈值时,保留区域a和区域b为两个独立的检测结果区域;当该交并比值大于第二交并比阈值且小于第一交并比阈值时,确定该两个检测结果为待定检测结果。仅示例性地,第一交并比阈值例如0.4,第二交并比阈值例如0。例如,当图5a中的两个区域的交并比大于0.4时,可以合并两个区域为一个大区域(图中加粗虚线框所划定的区域)。本领域普通技术人员容易理解该方案,在此不再赘述。
对于步骤S152的方案可以参考图5b。如图5b所示,区域c和区域d可以分别表示分别位于任意两个重叠的局部图像上且属于同一种类型的两个检测结果所在的区域,检测结果类型比如覆膜缺失。示例性地,可以计算区域c和区域d的重叠区域与较小区域d的比值。并通过将该比值与预设比值阈值进行对比,以将两个检测结果整合。示例性地,可以在重叠区域与较小区域的比值大于预设比值阈值的情况下,对两个检测结果执行整合操作。
示例性地,再次参考图3,由第一位置350的第一滑动窗口获取的局部图像中包括纵向尺寸最小的目标单元340的少部分区域,而由第二位置360的第一滑动窗口确定的局部图像中包括纵向尺寸最小的目标单元340的整个区域。当封口膜的待检测图像中,该目标单元340密封正常的情况下,将该两个局部图像输入预设模型中,可以输出表示该目标单元的正常识别结果信息。其中,由第一位置350的第一滑动窗口获取的局部图像的正常识别结果信息所在的区域可以是表示少部分纵向尺寸最小的目标单元340所在位置的小矩形区域。而由第二位置360的第一滑动窗口确定的局部图像的正常识别结果信息所在的区域则可以是包括完整纵向尺寸最小的目标单元340的大矩形区域。当图像质量较好,且预设模型的精度正常的情况下,两个矩形区域的重叠区域与小矩形区域的比值可以接近于1。这种情况下,可以将两个检测结果信息执行整合操作。
可选地,对两个检测结果信息执行整合操作可以包括保留其中较大的区域且删除其中较小的区域。示例性地,预设比值阈值例如0.7,可以在上述比值大于0.7的情况下,才对两个检测结果所在的两个区域执行仅保留较大区域的整合操作,如保留图5b中区域c的结果即可。
示例性地,还可以在上述比值小于或等于0.7的情况下执行其他合适的操作。例如在上述比值为0的情况下,保持两个独立的区域;或者确定检测结果为待定状态,以在其他多组存在重叠区域的局部图像执行上述后处理操作之后再作进一步判断。
上述方案可以基于同类型的两个检测结果所在的位置区域的相对位置关系,对两个检测结果进行整合。方案简单易实施,便于获取更准确的最终检测结果。
图6示出了根据本发明另一个实施例的表面缺陷的检测方法的流程示意图。下面参考图6对该实施例的表面缺陷的检测方法进行描述。示例性地,首先可以获取尺寸为5472*3648的24圆孔深孔板的封口膜的待检测图像。容易理解,24孔深孔板包括规律排列的24个圆形孔位,均匀分布为6行*4列。为了准确检测出待检测图像中的缺陷区域,可以采用滑动窗口裁剪的方式获取待检测图像的多个局部图像。根据前述陈述,可以将第一滑动窗口的横向尺寸设置为每个目标单元的横向尺寸的n倍,第一滑动窗口的纵向尺寸设置为每个目标单元的纵向尺寸的m倍。例如,以待检测图像中的每个目标单元为一个单位,可以设置第一滑动窗口的尺寸为2*2。示例性地,第一步长的横向步长和纵向步长可以相等,例如设置为一个目标单元尺寸的80%。根据第一滑动窗口和第一步长在待检测图像上滑动,可以获取如图6中示出的多个局部图像。将每个局部图像输入YOLOV5目标检测网络模型中进行检测,并获取YOLOV5模型输出的检测结果信息,如输出检测到的每个局部图像中的正常区域和缺陷区域。还可以将既未输出缺陷区域也未输出正常区域的局部图像确定为整体覆膜缺失。示例性地,最后还可以综合多个局部图像的检测结果信息,执行检测结果信息的后处理操作。例如,对于任何两个存在重叠区域的局部图像,当预设模型输出的两个局部图像的检测结果信息的类型一致时,可以对相应的两个检测结果执行整合操作。由此,可以获得对待检测图像的缺陷检测的最终检测结果。
根据本发明第二方面,还提供一种表面缺陷的检测***700。图7示出了根据本发明实施例的表面缺陷检测***的示意性框图。如图7所示,该***700包括第一获取模块710、第二获取模块720、滑动处理模块730和检测模块740。
第一获取模块710,用于获取待检测图像,其中,待检测图像包括多个目标单元。
第二获取模块720,用于获取预设的第一滑动窗口和第一步长。
滑动处理模块730,用于根据第一步长,在待检测图像上滑动第一滑动窗口,以获取与每次滑动分别对应的局部图像,其中,第一滑动窗口和第一步长的设置满足:每个目标单元完整地位于至少一个局部图像中。
检测模块740,用于将每个局部图像输入预设模型中进行检测,并输出每个局部图像的检测结果信息,其中,检测结果信息包括缺陷识别结果信息和/或正常识别结果信息。
根据本发明的又一方面,还提供了一种电子设备800。图8示出了根据本发明实施例的电子设备的示意性框图。如图8所示,该电子设备800包括处理器810和存储器820。其中,存储器820中存储有计算机程序指令,计算机程序指令被处理器810运行时用于执行如上所述的表面缺陷的检测方法100。
根据本发明的再一方面,还提供了一种存储介质。在存储介质上存储了程序指令,程序指令在运行时用于执行如上所述的表面缺陷的检测方法100。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
本领域普通技术人员通过阅读上述有关表面缺陷的检测方法的相关描述,可以理解上述表面缺陷的检测***、电子设备和存储介质的具体实现方案,为了简洁,在此不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的表面缺陷的检测***中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种表面缺陷的检测方法,其特征在于,所述方法包括:
获取待检测图像,其中,所述待检测图像包括多个目标单元;
获取预设的第一滑动窗口和第一步长;
根据所述第一步长,在所述待检测图像上滑动所述第一滑动窗口,以获取与每次滑动分别对应的局部图像,其中,所述第一滑动窗口和所述第一步长的设置满足:每个目标单元完整地位于至少一个所述局部图像中;
将每个局部图像输入预设模型中进行检测,并输出所述每个局部图像的检测结果信息,其中,所述检测结果信息包括缺陷识别结果信息和/或正常识别结果信息。
2.根据权利要求1所述的表面缺陷的检测方法,其特征在于,在所述将每个局部图像输入预设模型中进行检测之前,所述检测方法还包括:
获取已标注缺陷区域和/或正常区域的原始训练图像;
获取多种窗口尺寸,其中,所述多种窗口尺寸中至少包括所述第一滑动窗口的尺寸;
根据每种窗口尺寸,在每个原始训练图像上随机获取当前窗口大小的图像,以获取多个局部训练图像;
将每个局部训练图像输入网络模型中进行训练,以得到训练好的网络模型,
其中,所述预设模型为所述训练好的网络模型。
3.根据权利要求2所述的表面缺陷的检测方法,其特征在于,所述根据每种窗口尺寸,在每个原始训练图像上随机获取当前窗口大小的图像,以获取多个局部训练图像,包括:
根据每种窗口尺寸,在每个原始训练图像上随机获取当前窗口大小的多个局部图像;
判断每个局部图像中是否包括已标注的缺陷区域和/或正常区域;
若是,则将该局部图像作为所述局部训练图像。
4.根据权利要求1至3任一项所述的表面缺陷的检测方法,其特征在于,所述第一滑动窗口的横向尺寸大于横向尺寸最大的目标单元的横向尺寸,所述第一滑动窗口的纵向尺寸大于纵向尺寸最大的目标单元的纵向尺寸;
所述第一步长包括横向步长和纵向步长,
所述横向步长小于横向尺寸最小的目标单元的横向尺寸,所述纵向步长小于纵向尺寸最小的目标单元的纵向尺寸。
5.根据权利要求4所述的表面缺陷的检测方法,其特征在于,所述多个目标单元的尺寸相同,且任意两个相邻目标单元的间距相同,其中,
所述第一滑动窗口的横向尺寸等于每个目标单元的横向尺寸的n倍,所述第一滑动窗口的纵向尺寸等于每个目标单元的纵向尺寸的m倍,m和n均为正整数,且至少一者不小于2。
6.根据权利要求1至3任一项所述的表面缺陷的检测方法,其特征在于,所述待检测图像为封口膜的待检测图像,其中,所述封口膜用于为至少一个封口对象进行封口,所述目标单元为封口对象;
所述缺陷识别结果信息包括以下至少一种:破损、孔洞、覆膜连通和覆膜缺失。
7.根据权利要求6所述的表面缺陷的检测方法,其特征在于,在将每个局部图像输入预设模型中,并输出每个局部图像的检测结果信息之后,所述方法还包括:
判断当前局部图像的所述检测结果信息是否为空;
若是,则确定当前局部图像的检测结果为当前局部图像整体覆膜缺失。
8.根据权利要求7所述的表面缺陷的检测方法,其特征在于,所述预设模型为目标检测模型。
9.根据权利要求1至3任一项所述的表面缺陷的检测方法,其特征在于,在所述将每个局部图像输入预设模型中,并输出每个局部图像的检测结果信息之后,所述方法还包括:
根据任意两个重叠的局部图像以及每个局部图像的检测结果信息,对分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个检测结果信息执行整合操作。
10.根据权利要求9所述的表面缺陷的检测方法,其特征在于,所述根据任意两个重叠的局部图像以及每个局部图像的检测结果信息,对分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个所述检测结果信息执行整合操作,包括:
根据分别位于任意两个重叠的局部图像上,属于同一种检测结果类型且存在重叠区的两个检测结果信息,确定两个检测结果信息所在区域的交并比,并通过与预设交并比阈值对比将两个检测结果信息整合;和/或,确定两个检测结果信息所在区域的重叠区与较小检测结果信息所在区域的比值,并通过与预设比值阈值对比将两个检测结果信息整合。
11.一种表面缺陷的检测***,其特征在于,包括:
第一获取模块,用于获取待检测图像,其中,所述待检测图像包括多个目标单元;
第二获取模块,用于获取预设的第一滑动窗口和第一步长;
滑动处理模块,用于根据所述第一步长,在所述待检测图像上滑动所述第一滑动窗口,以获取与每次滑动分别对应的局部图像,其中,所述第一滑动窗口和所述第一步长的设置满足:每个目标单元完整地位于至少一个所述局部图像中;
检测模块,用于将每个局部图像输入预设模型中进行检测,并输出所述每个局部图像的检测结果信息,其中,所述检测结果信息包括缺陷识别结果信息和/或正常识别结果信息。
12.一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至10任一项所述的表面缺陷的检测方法。
13.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至10任一项所述的表面缺陷的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210621825.XA CN115063357A (zh) | 2022-06-01 | 2022-06-01 | 表面缺陷的检测方法、***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210621825.XA CN115063357A (zh) | 2022-06-01 | 2022-06-01 | 表面缺陷的检测方法、***、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115063357A true CN115063357A (zh) | 2022-09-16 |
Family
ID=83197742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210621825.XA Pending CN115063357A (zh) | 2022-06-01 | 2022-06-01 | 表面缺陷的检测方法、***、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115063357A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115808382A (zh) * | 2023-02-02 | 2023-03-17 | 深圳裕典通微电子科技有限公司 | 一种应用于压力传感器的压电薄膜在线检测方法及*** |
CN115984268A (zh) * | 2023-03-20 | 2023-04-18 | 杭州百子尖科技股份有限公司 | 基于机器视觉的目标检测方法、装置、电子设备以及介质 |
CN117495846A (zh) * | 2023-12-27 | 2024-02-02 | 苏州镁伽科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-01 CN CN202210621825.XA patent/CN115063357A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115808382A (zh) * | 2023-02-02 | 2023-03-17 | 深圳裕典通微电子科技有限公司 | 一种应用于压力传感器的压电薄膜在线检测方法及*** |
CN115984268A (zh) * | 2023-03-20 | 2023-04-18 | 杭州百子尖科技股份有限公司 | 基于机器视觉的目标检测方法、装置、电子设备以及介质 |
CN117495846A (zh) * | 2023-12-27 | 2024-02-02 | 苏州镁伽科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
CN117495846B (zh) * | 2023-12-27 | 2024-04-16 | 苏州镁伽科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115063357A (zh) | 表面缺陷的检测方法、***、电子设备及存储介质 | |
US11774735B2 (en) | System and method for performing automated analysis of air samples | |
CN110349145B (zh) | 缺陷检测方法、装置、电子设备以及存储介质 | |
CN109977191B (zh) | 问题地图检测方法、装置、电子设备和介质 | |
WO2017181724A1 (zh) | 电子元件漏件检测方法和*** | |
CN109856156A (zh) | 一种基于aoi的显示面板微小缺陷判定方法与装置 | |
CN111091538A (zh) | 一种管道焊缝自动识别、缺陷检测方法及装置 | |
CN104539937A (zh) | 一种摄像头模组污点检测的方法和装置 | |
AU2019336484B2 (en) | Digital assessment of chemical dip tests | |
WO2022088096A1 (zh) | 缺陷实际面积的检测方法、显示面板的检测方法及装置 | |
TWI832435B (zh) | 水質監視系統及電腦可讀取記錄媒體 | |
CN115170501A (zh) | 缺陷检测方法、***、电子设备及存储介质 | |
CN112418590A (zh) | 一种印制电路板元器件检测方法及*** | |
CN114428110A (zh) | 一种轴承套圈荧光磁粉探伤图像缺陷检测方法及*** | |
CN112967224A (zh) | 一种基于人工智能的电子电路板检测***、方法及介质 | |
CN115937555A (zh) | 一种基于标准化流模型的工业缺陷检测算法 | |
WO2022109949A1 (zh) | 不良图片缺陷等级识别的方法、装置及存储介质 | |
CN116071304A (zh) | 一种物品边缘线定位方法、装置及电子设备 | |
CN115249316A (zh) | 工业缺陷检测方法和装置 | |
JP2008276311A (ja) | 文字認識装置、外観検査装置及び文字認識方法 | |
CN114550129A (zh) | 一种基于数据集的机器学习模型处理方法和*** | |
WO2017000827A1 (zh) | 一种自动筛选图片的方法及装置 | |
CN116309574B (zh) | 一种面板漏制程缺陷检测方法、***、设备及存储介质 | |
CN117495846B (zh) | 图像检测方法、装置、电子设备及存储介质 | |
CN116542967B (zh) | 一种锂电池极柱缺陷的检测方法、装置以及设备 |
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 |