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

技术领域

本发明涉及工业缺陷检测技术领域,更具体地,涉及一种工业缺陷检测方法和装置。

背景技术

目前在工业质检领域,卷积神经网络(CNN)分类模型被广泛应用。目前CNN分类模型训练和测试时都是固定输入图像分辨率且输入图像宽高相等,比如训练和测试的输入图像分辨率都为224*224,这样的方法要求无论获取的原始图像分辨率为多大,都需要缩放到224*224才能送入CNN分类模型,这样运用起来其实会降低某些图像的分类精度,比如有些图像的宽高都小于30,直接放大到224*224会使图像严重变模糊,降低分类精度,有些图像的宽、高相差很大,比如宽25、高300,直接缩放到224*224会使图像中的物体严重变宽,产生明显失真,降低分类的精度。

发明内容

针对现有技术的至少一个缺陷或改进需求,本发明提供了一种工业缺陷检测方法和装置,利用具有全局平均池化层的CNN分类网络,在训练和测试过程中,输入模型的图像宽、高可以变化,增加了训练样本尺寸的多样性,并增加模型对各种尺寸图像的分类精度。

为实现上述目的,按照本发明的第一个方面,提供了一种工业缺陷检测方法,该方法包括:

选择可输入不同分辨率图像的CNN分类网络;

利用训练集训练所述CNN分类网络;

输入经预处理的待测图像,利用所述CNN分类网络识别待测图像中的缺陷,并对所述缺陷进行分类;

其中,所述CNN分类网络具有全局平均池化层。

进一步地,上述工业缺陷检测方法还包括:

所述CNN分类网络是Resnet、Mobilenet v1、Mobilenet v2或Mobilenet v3。

进一步地,上述工业缺陷检测方法还包括:

所述预处理包括:

采用检测模型检测原始待测图像中缺陷位置,依据所述缺陷位置截取所述待测图像。

进一步地,上述工业缺陷检测方法还包括:

利用训练集训练所述CNN分类网络,具体包括:

设置训练的batchsize为1,在N个样本训练后,以累积的梯度除以N,再执行所述CNN分类网络的参数更新。

进一步地,上述工业缺陷检测方法还包括:

保存经预处理的待测图像,通过数据均衡和/或数据增强,构建或更新训练集。

按照本发明的第二个方面,还提供了一种工业缺陷检测装置,其包括:

存储模块,其被配置为存储至少一种CNN分类网络,以及训练集;其中,所述CNN分类网络具有全局平均池化层;

相机模块,其被配置为对待测物拍照,获取具有工业缺陷的第一待测图像;

图像输入模块,其被配置为接收所述第一待测图像,并对所述待测图像进行预处理,输出第二待测图像;

训练模块,其被配置为从所述存储模块中调用一种CNN分类网络,利用所述训练集对所述CNN分类网络进行训练;

计算模块,其被配置为接收所述第二待测图像,利用已经完成训练的CNN分类网络,识别所述第二待测图像中的缺陷,并对所述缺陷进行分类。

进一步地,上述工业缺陷检测装置还包括:

所述CNN分类网络是Resnet、Mobilenet v1、Mobilenet v2或Mobilenet v3。

进一步地,上述工业缺陷检测装置还包括:

所述图像输入模块包括检测模型,用于检测所述第一待测图像中缺陷的位置,依据所述缺陷位置截取所述第一待测图像作为二待测图像,输出所述第二待测图像。

进一步地,上述工业缺陷检测装置还包括:

所述训练模块利用样本对所述CNN分类网络进行训练,具体包括:

在所述训练模块中,设置训练的batchsize为1,在N个样本训练后,以累积的梯度除以N,再执行所述CNN分类网络的参数更新。

进一步地,上述工业缺陷检测装置还包括:

数据处理模块,用于对所述第二待测图像进行数据均衡和/或数据增强,获得第三待测图像;

存储模块,存储所述第三待测图像,用于构建或更新训练集。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

本发明提供的工业缺陷检测方法,训练和测试时输入模型的图像分辨率可以不固定,宽高不必相等。在训练CNN分类网络时,对输入模型的图像的分辨率可以进行缩放,增加训练样本分辨率的多样性,可以提高模型对不同大小物体分类的精度。在测试CNN分类网络时,输入模型的图像的分辨率可以根据需要进行变化,更加具有灵活性,可以提高测试时图像的分类精度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种工业缺陷检测方法的流程示意图;

图2为本发明实施例提供的一种工业缺陷检测装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

如图1所示,作为本发明的第一实施例,提供了一种工业缺陷检测方法,包括:

选择可输入不同分辨率图像的CNN分类网络;

利用训练集训练CNN分类网络;

输入待测图像,利用CNN分类网络识别待测图像中的缺陷,并对缺陷进行分类;

其中,CNN分类网络具有全局平均池化层。

传统分类模型需要固定输入尺寸,例如,需要将输入的图像的分辨率调整为224*224。如果其中的缺陷区域面积很小,例如不超过30*30,或者检测出的缺陷区域宽和高差异非常大,比如宽高比为15,为了能将截取出的缺陷送入分类模型,则需要外扩比较大的区域去截取一个正方形的区域,这样就会引入比较大的背景区域。背景区域会变成分类中的噪声,使得分类的精度降低。

现在使用宽高可变和不固定宽高比的方法训练CNN分类模型后,对于检测模型检测出的面积很小或者宽和高差异非常大的缺陷只用适当外扩一点就可以截取出相应区域,根据需要进行不会让图像产生明显模糊或失真的缩放即可送入CNN分类模型进行分类,这样的方法可以提高分类精度。

本发明中,选择具有全局平均池化层的CNN分类网络作为分类网络。以Resnet和Mobilenet(包括Mobilenet v1、Mobilenet v2或Mobilenet v3)为例的CNN分类模型,最后部分包含全局平均池化层,这样无论输入CNN的图像分辨率为多少,经过此层后特征图分辨率都变为1*1,由于全局平均池化层输出的特征图通道数是模型设计好的固定值,故全局平均池化层输出的特征图分辨率和通道数都是固定的,这样后面的全连接层的参数总量也不会发生改变,所以在训练和测试时,输入CNN分类模型的图像分辨率就可以不固定。

以Mobilenet v1为例,由于全局平均池化层之前有5个步长为2的卷积,其余的卷积步长都为1,对特征图总共进行了5次2倍下采样,合起来是32倍下采样,所以输入Mobilenet v1的图像宽、高只用是32的整数倍就可以了,且宽、高不必相等,比如输入图像分辨率可以为宽128、高160。在训练过程中,输入图像的宽高可以不断变化。测试时,输入图像的宽高也可以根据需要变化。

进一步地,由于采用上述CNN分类网络,无需固定输入图像的宽高,则可以对输入图像进行预处理,首先采用检测模型检测出图像中缺陷的具体位置,无需如传统CNN分类网络一样将该缺陷图像拉伸或外扩,可以直接将截取到以缺陷为主的图像输入CNN分类网络进行训练和测试。也即,可以尽可能小程度的改变缺陷图像的宽高比,避免引入模糊或失真。

进一步地,由于工业检测中没有较为普遍的公开训练集,因此,需要在检测过程中收集相应的缺陷图作为训练集。具体而言,对于缺陷图,还需要进行数据均衡、数据增强等数据处理的手段。

进一步地,在训练过程中,输入图像不必缩放到同一尺寸,也不必缩放成宽高相等,可以对图像进行缩放,但宽高需要满足一定的条件。例如,对于Mobilenet v1来说,输入图像的宽高必须是32的整数倍。由于现在的深度学习框架,同一batch内的图像要求宽、高必须相等,但如果有些图不适合缩放到某一batch设置的图像尺寸,则可以设置训练batchsize为1,对每张图像进行合理的缩放,并在N个样本训练后,以累积的梯度除以N,再执行所述CNN分类网络的参数更新,也就是在多次前向后反向更新一次参数,这样既达到了合理缩放所有图像的目的,又能达到训练的等效batchsize为自己的期望值。

如图2所示,作为本发明的第二实施例,还提供了一种工业缺陷检测装置,包括:

存储模块,其被配置为存储至少一种CNN分类网络,以及训练集;其中,所述CNN分类网络具有全局平均池化层;

相机模块,其被配置为对待测物拍照,获取具有工业缺陷的第一待测图像;

图像输入模块,其被配置为接收所述第一待测图像,并对所述待测图像进行预处理,输出第二待测图像;

训练模块,其被配置为从所述存储模块中调用一种CNN分类网络,利用所述训练集对所述CNN分类网络进行训练;

计算模块,其被配置为接收所述第二待测图像,利用已经完成训练的CNN分类网络,识别所述第二待测图像中的缺陷,并对所述缺陷进行分类。

进一步地,上述工业缺陷检测装置还包括:

所述CNN分类网络是Resnet、Mobilenet v1、Mobilenet v2或Mobilenet v3。

进一步地,上述工业缺陷检测装置还包括:

所述图像输入模块包括检测模型,用于检测所述第一待测图像中缺陷的位置,依据所述缺陷位置截取所述第一待测图像作为二待测图像,输出所述第二待测图像。

进一步地,上述工业缺陷检测装置还包括:

所述训练模块利用样本对所述CNN分类网络进行训练,具体包括:

在所述训练模块中,设置训练的batchsize为1,在N个样本训练后,以累积的梯度除以N,再执行所述CNN分类网络的参数更新。

进一步地,上述工业缺陷检测装置还包括:

数据处理模块,用于对所述第二待测图像进行数据均衡和/或数据增强,获得第三待测图像;

存储模块,存储所述第三待测图像,用于构建或更新训练集。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术分类

06120116301585