缺陷检测方法和装置
文献发布时间:2023-06-19 12:13:22
技术领域
本发明涉及工业质检技术领域,具体涉及一种缺陷检测方法、一种缺陷检测装置、一种计算机设备和一种非临时性计算机可读存储介质。
背景技术
在工业智能质检中,为了将细微的缺陷成像出来,需要超高分辨率的相机进行拍摄。如果将一张超高分辨率的图像(例如分辨率为7680×4320像素的8K图像)送入深度学习网络进行训练,目前市面上的绝大部分GPU(Graphics Processing Unit,图形处理器)显卡的内存是无法支持的。
发明内容
本发明为解决上述技术问题,提供了一种缺陷检测方法和装置,能够基于超大图像实现产品的缺陷检测,对GPU性能的要求较低,且不会丢失图像的全局信息和回归信息,从而能降低产品缺陷检测的成本,并提高产品缺陷检测的检出率和准确率。
本发明采用的技术方案如下:
一种缺陷检测方法,包括以下步骤:获取预设数量的样本图像,并根据每个所述样本图像的尺寸将每个所述样本图像切分为N个子图像,其中,N为大于1的正整数;对每个所述样本图像的N个子图像分别作位置标识,并依据N个位置标识,将每个所述样本图像的N个子图像拼接成n*N通道训练图,其中,n为所述样本图像的原始通道数;将每个所述n*N通道训练图作为目标检测网络的输入,对所述目标检测网络进行训练,其中,所述目标检测网络具有一个主干网络和N个网络头部,所述N个网络头部与所述N个位置标识一一对应;获取待检测图像,并将所述待检测图像切分为N个子图像,其中,所述待检测图像与所述样本图像的尺寸相同、原始通道数相同,所述待检测图像的N个子图像与所述样本图像的N个子图像的尺寸一一对应相同;将所述待检测图像的N个子图像分别作位置标识,并依据N个位置标识,将所述待检测图像的N个子图像拼接成n*N通道待检测图;将所述n*N通道待检测图输入训练后的目标检测网络,并输出缺陷检测结果。
其中,以像素作为所述样本图像和所述待检测图像的尺寸计量单位。
所述主干网络为ResNet、VGGNet或Darknet,每个所述网络头部均包含分类分支和回归分支。
其中,在所述n*N通道训练图输入所述目标检测网络后,通过所述主干网络得到对应的N组特征图,并将所述N组特征图对应的N个特征向量输入到对应的N个网络头部。
一种缺陷检测装置,包括:第一获取模块,用于获取预设数量的样本图像,并根据每个所述样本图像的尺寸将每个所述样本图像切分为N个子图像,其中,N为大于1的正整数;第一处理模块,用于对每个所述样本图像的N个子图像分别作位置标识,并依据N个位置标识,将每个所述样本图像的N个子图像拼接成n*N通道训练图,其中,n为所述样本图像的原始通道数;训练模块,用于将每个所述n*N通道训练图作为目标检测网络的输入,对所述目标检测网络进行训练,其中,所述目标检测网络具有一个主干网络和N个网络头部,所述N个网络头部与所述N个位置标识一一对应;第二获取模块,用于获取待检测图像,并将所述待检测图像切分为N个子图像,其中,所述待检测图像与所述样本图像的尺寸相同、原始通道数相同,所述待检测图像的N个子图像与所述样本图像的N个子图像的尺寸一一对应相同;第二处理模块,用于将所述待检测图像的N个子图像分别作位置标识,并依据N个位置标识,将所述待检测图像的N个子图像拼接成n*N通道待检测图;检测模块,用于将所述n*N通道待检测图输入训练后的目标检测网络,并输出缺陷检测结果。
其中,以像素作为所述样本图像和所述待检测图像的尺寸计量单位。
所述主干网络为ResNet、VGGNet或Darknet,每个所述网络头部均包含分类分支和回归分支。
其中,在所述n*N通道训练图输入所述目标检测网络后,通过所述主干网络得到对应的N组特征图,并将所述N组特征图对应的N个特征向量输入到对应的N个网络头部。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述缺陷检测方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述缺陷检测方法。
本发明的有益效果:
本发明通过对图像进行切分和拼接,将同一幅大图各个位置的小图分通道地同时输入包含一个主干网络和多个网络头部的目标检测网络,能够基于超大图像实现产品的缺陷检测,对GPU性能的要求较低,且相对于直接将切分后的小图作为目标检测网络的输入而言,不会丢失图像的全局信息和回归信息,从而能降低产品缺陷检测的成本,并提高产品缺陷检测的检出率和准确率。
附图说明
图1为本发明实施例的缺陷检测方法的流程图;
图2为本发明一个实施例的目标检测网络的基本结构及输入输出示意图;
图3为本发明实施例的缺陷检测装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的缺陷检测方法和装置适用于细微缺陷的产品质检场景,例如产品表面的细微划痕、毛刺或微小凸起、凹陷等,本发明实施例的缺陷检测方法和装置中所处理的图像为通过超高分辨率的相机采集的超大产品图像,所利用的GPU为现有技术中基于深度学习技术实现目标检测时常用的GPU,无需进行内存扩展。
如图1所示,本发明实施例的缺陷检测方法包括以下步骤:
S1,获取预设数量的样本图像,并根据每个样本图像的尺寸将每个样本图像切分为N个子图像。其中,N为大于1的正整数。
S2,对每个样本图像的N个子图像分别作位置标识,并依据N个位置标识,将每个样本图像的N个子图像拼接成n*N通道训练图,其中,n为样本图像的原始通道数。
在本发明的实施例中,样本图像为存在缺陷的、与待检测产品相同或同类的产品的图像,且具有超高分辨率,例如分辨率为4096×2160像素的4K图像、分辨率为7680×4320像素的8K图像等。预设数量可结合执行本发明实施例的方法的处理器的运算能力、对于检测效果的要求等综合设定。
在本发明的一个实施例中,可以以像素作为样本图像的尺寸计量单位。样本图像的切分数量,即N的取值,以及切分后各个子图像的尺寸可根据实际需求进行设定。优选地,可对样本图像进行平均切分,得到尺寸相同的N个子图像。
子图像的位置标识可以表示其在整个样本图像中的位置,位置标识可以是编号,可以依据编号的顺序对切分后的子图像进行拼接。
应当理解的是,相机拍摄到的原始图像或其初步处理后的图像原本就具有通道数,例如灰度图像的通道数为1、RGB彩色图像的通道数为3,本发明实施例中将图像原本具有的通道数称为图像的原始通道数。
本发明实施例通过对图像的切分和依位置拼接,可重构多通道图像,将图像通道数扩展为原始通道数与切分数量之积。
需要说明的是,预设数量的样本图像为同类图像且切分方式相同,具体地,各个样本图像的尺寸、原始通道数等参数相同,各个样本图像具有相同的切分数量N,且每个样本图像的N个子图像与其他任意一个样本图像的N个子图像的尺寸一一对应相同。
以8K的单通道灰度图像为例,参照图2,首先可以将其均分为1920*2160的8个子图像,再按照先行后列、从左至右的顺序对8个子图像编号,分别为1-8,以编号作为子图像的位置标识,即左上角的子图像的位置标识为1,向右的三个依序为2、3、4,左下角的子图像的位置标识为5,向右的三个依序为6、7、8。然后,依照上述的编号顺序,将8个子图像拼接成8通道训练图。
类似地,如果是三通道的RGB彩色图像,将其切分为8个子图像后,可拼接得到24通道训练图,此时每个子图像,即原图的每个位置是对应三通道训练图的。
S3,将每个n*N通道训练图作为目标检测网络的输入,对目标检测网络进行训练,其中,目标检测网络具有一个主干网络和N个网络头部,N个网络头部与N个位置标识一一对应。
在本发明的一个实施例中,主干网络(backbone)可为ResNet、VGGNet或Darknet等,每个网络头部(head)均包含分类分支和回归分支。
具体地,在n*N通道训练图输入目标检测网络后,可通过主干网络得到对应的N组特征图,并将N组特征图对应的N个特征向量输入到对应的N个网络头部。
应当理解,N组特征图的总通道数大于输入图像的通道数且为输入图像的通道数的倍数,而本发明实施例中特征图的分组是依据输入图像在原始通道数的基础上所扩展的倍数进行的,即每组特征图与一个子图像相对应,也即每组特征图与一个位置标识相对应,这使得特征图具有切分后的子图像的位置信息。
在得到N组特征图后,可将N组特征图分别拉平为N个特征向量,假设N组特征图的长度为
最后,将N个特征向量分别接上对应的用以进行分类和回归的分支,分别用于原样本图像N个位置上的目标检测任务。
仍以上述的灰度图像为例,参照图2,将8通道训练图输入主干网络,得到通道数为8的倍数的特征图,图示为8通道特征图,实际上可以为256通道、512通道和1024通道等。将特征图分为8组,分别与原灰度图像的8个子图像位置相对应。然后,将8组特征图对应的8特征向量分别接上用以进行分类和回归的分支,分别用于原灰度图像8个位置上的目标检测任务,也就是检测和识别的任务。图2中cls表示识别任务,reg表示回归任务,一共有16个分支。
本发明实施例以上述的网络结构及输入输出设计进行目标检测网络的训练,可得到训练后的目标检测网络,即缺陷检测模型。
由于本发明实施例中原图N个部分依据位置拼接为n*N通道训练图,而特征图划分为N个部分会分别用原图的N个位置上的信息来构建损失函数,网络每层参数在基于梯度下降的反向传播算法下,不但可以融合原图中的全局信息,而且可以不断地去拟合不同通道对于位置的感知关系,最后可以让网络训练出来的模型的N个头部具备对于原图N个位置的感知能力。
S4,获取待检测图像,并将待检测图像切分为N个子图像,其中,待检测图像与样本图像的尺寸相同、原始通道数相同,待检测图像的N个子图像与样本图像的N个子图像的尺寸一一对应相同。
S5,将待检测图像的N个子图像分别作位置标识,并依据N个位置标识,将待检测图像的N个子图像拼接成n*N通道待检测图。
在本发明的实施例中,待检测图像可为通过工业相机现场拍摄得到的待检测工业产品的图像,有待对其进行缺陷检测。应当理解的是,待检测图像与上述样本图像的尺寸、原始通道数等参数相同,尺寸计量单位也为像素,且与上述样本图像的切分方式相同。
S6,将n*N通道待检测图输入训练后的目标检测网络,并输出缺陷检测结果。
n*N通道待检测图在训练后的目标检测网络的输入、输出、运算处理方式与上述n*N通道训练图在训练前的目标检测网络的输入、输出、运算处理方式相同,在此不再赘述。
根据本发明实施例的缺陷检测方法,通过对图像进行切分和拼接,将同一幅大图各个位置的小图分通道地同时输入包含一个主干网络和多个网络头部的目标检测网络,能够基于超大图像实现产品的缺陷检测,对GPU性能的要求较低,且相对于直接将切分后的小图作为目标检测网络的输入而言,不会丢失图像的全局信息和回归信息,从而能降低产品缺陷检测的成本,并提高产品缺陷检测的检出率和准确率。
对应上述实施例的缺陷检测方法,本发明还提出一种缺陷检测装置。
如图3所示,本发明实施例的缺陷检测装置包括第一获取模块10、第一处理模块20、训练模块30、第二获取模块40、第二处理模块50和检测模块60。其中,第一获取模块10用于获取预设数量的样本图像,并根据每个样本图像的尺寸将每个样本图像切分为N个子图像,其中,N为大于1的正整数;第一处理模块20用于对每个样本图像的N个子图像分别作位置标识,并依据N个位置标识,将每个样本图像的N个子图像拼接成n*N通道训练图,其中,n为样本图像的原始通道数;训练模块30用于将每个n*N通道训练图作为目标检测网络的输入,对目标检测网络进行训练,其中,目标检测网络具有一个主干网络和N个网络头部,N个网络头部与N个位置标识一一对应;第二获取模块40用于获取待检测图像,并将待检测图像切分为N个子图像,其中,待检测图像与样本图像的尺寸相同、原始通道数相同,待检测图像的N个子图像与样本图像的N个子图像的尺寸一一对应相同;第二处理模块50用于将待检测图像的N个子图像分别作位置标识,并依据N个位置标识,将待检测图像的N个子图像拼接成n*N通道待检测图;检测模块60用于将n*N通道待检测图输入训练后的目标检测网络,并输出缺陷检测结果。
在本发明的实施例中,样本图像为存在缺陷的、与待检测产品相同或同类的产品的图像,且具有超高分辨率,例如分辨率为4096×2160像素的4K图像、分辨率为7680×4320像素的8K图像等。预设数量可结合本发明实施例的装置所涉及的处理器的运算能力、对于检测效果的要求等综合设定。
在本发明的一个实施例中,可以以像素作为样本图像的尺寸计量单位。样本图像的切分数量,即N的取值,以及切分后各个子图像的尺寸可根据实际需求进行设定。优选地,可对样本图像进行平均切分,得到尺寸相同的N个子图像。
子图像的位置标识可以表示其在整个样本图像中的位置,位置标识可以是编号,可以依据编号的顺序对切分后的子图像进行拼接。
应当理解的是,相机拍摄到的原始图像或其初步处理后的图像原本就具有通道数,例如灰度图像的通道数为1、RGB彩色图像的通道数为3,本发明实施例中将图像原本具有的通道数称为图像的原始通道数。
本发明实施例通过对图像的切分和依位置拼接,可重构多通道图像,将图像通道数扩展为原始通道数与切分数量之积。
需要说明的是,预设数量的样本图像为同类图像且切分方式相同,具体地,各个样本图像的尺寸、原始通道数等参数相同,各个样本图像具有相同的切分数量N,且每个样本图像的N个子图像与其他任意一个样本图像的N个子图像的尺寸一一对应相同。
以8K的单通道灰度图像为例,参照图2,首先可以将其均分为1920*2160的8个子图像,再按照先行后列、从左至右的顺序对8个子图像编号,分别为1-8,以编号作为子图像的位置标识,即左上角的子图像的位置标识为1,向右的三个依序为2、3、4,左下角的子图像的位置标识为5,向右的三个依序为6、7、8。然后,依照上述的编号顺序,将8个子图像拼接成8通道训练图。
类似地,如果是三通道的RGB彩色图像,将其切分为8个子图像后,可拼接得到24通道训练图,此时每个子图像,即原图的每个位置是对应三通道训练图的。
在本发明的一个实施例中,主干网络可为ResNet、VGGNet或Darknet等,每个网络头部均包含分类分支和回归分支。
具体地,在n*N通道训练图输入目标检测网络后,可通过主干网络得到对应的N组特征图,并将N组特征图对应的N个特征向量输入到对应的N个网络头部。
应当理解,N组特征图的总通道数大于输入图像的通道数且为输入图像的通道数的倍数,而本发明实施例中特征图的分组是依据输入图像在原始通道数的基础上所扩展的倍数进行的,即每组特征图与一个子图像相对应,也即每组特征图与一个位置标识相对应,这使得特征图具有切分后的子图像的位置信息。
在得到N组特征图后,可将N组特征图分别拉平为N个特征向量,假设N组特征图的长度为
最后,将N个特征向量分别接上对应的用以进行分类和回归的分支,分别用于原样本图像N个位置上的目标检测任务。
仍以上述的灰度图像为例,参照图2,将8通道训练图输入主干网络,得到通道数为8的倍数的特征图,图示为8通道特征图,实际上可以为256通道、512通道和1024通道等。将特征图分为8组,分别与原灰度图像的8个子图像位置相对应。然后,将8组特征图对应的8特征向量分别接上用以进行分类和回归的分支,分别用于原灰度图像8个位置上的目标检测任务,也就是检测和识别的任务。图2中cls表示识别任务,reg表示回归任务,一共有16个分支。
本发明实施例以上述的网络结构及输入输出设计进行目标检测网络的训练,可得到训练后的目标检测网络,即缺陷检测模型。
由于本发明实施例中原图N个部分依据位置拼接为n*N通道训练图,而特征图划分为N个部分会分别用原图的N个位置上的信息来构建损失函数,网络每层参数在基于梯度下降的反向传播算法下,不但可以融合原图中的全局信息,而且可以不断地去拟合不同通道对于位置的感知关系,最后可以让网络训练出来的模型的N个头部具备对于原图N个位置的感知能力。
在本发明的实施例中,待检测图像可为通过工业相机现场拍摄得到的待检测工业产品的图像,有待对其进行缺陷检测。应当理解的是,待检测图像与上述样本图像的尺寸、原始通道数等参数相同,尺寸计量单位也为像素,且与上述样本图像的切分方式相同。
n*N通道待检测图在训练后的目标检测网络的输入、输出、运算处理方式与上述n*N通道训练图在训练前的目标检测网络的输入、输出、运算处理方式相同,在此不再赘述。
根据本发明实施例的缺陷检测装置,通过对图像进行切分和拼接,将同一幅大图各个位置的小图分通道地同时输入包含一个主干网络和多个网络头部的目标检测网络,能够基于超大图像实现产品的缺陷检测,对GPU性能的要求较低,且相对于直接将切分后的小图作为目标检测网络的输入而言,不会丢失图像的全局信息和回归信息,从而能降低产品缺陷检测的成本,并提高产品缺陷检测的检出率和准确率。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例所述的缺陷检测方法。
根据本发明实施例的计算机设备,处理器执行存储在存储器上的计算机程序时,通过对图像进行切分和拼接,将同一幅大图各个位置的小图分通道地同时输入包含一个主干网络和多个网络头部的目标检测网络,能够基于超大图像实现产品的缺陷检测,对GPU性能的要求较低,且相对于直接将切分后的小图作为目标检测网络的输入而言,不会丢失图像的全局信息和回归信息,从而能降低产品缺陷检测的成本,并提高产品缺陷检测的检出率和准确率。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现根据本发明上述实施例所述的缺陷检测方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,通过对图像进行切分和拼接,将同一幅大图各个位置的小图分通道地同时输入包含一个主干网络和多个网络头部的目标检测网络,能够基于超大图像实现产品的缺陷检测,对GPU性能的要求较低,且相对于直接将切分后的小图作为目标检测网络的输入而言,不会丢失图像的全局信息和回归信息,从而能降低产品缺陷检测的成本,并提高产品缺陷检测的检出率和准确率。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
- 塑料光纤的芯径测量方法及用于该塑料光纤的芯径测量方法的塑料光纤的芯径测量装置、塑料光纤的缺陷检测方法及用于该塑料光纤的缺陷检测方法的塑料光纤的缺陷检测装置
- 缺陷检测装置、缺陷修正装置及缺陷检测方法