本发明涉及计算机视觉、深度学习技术领域,具体地,涉及一种基于蒙版抑制的精密零组件表面缺陷检测方法和系统。
背景技术:
工业生产中,几乎所有产品都需要进行质检,其中一大部分的质检过程是由质检员用肉眼视觉完成对产品缺陷的检测(以下称为视检),尤其是一些表面缺陷,比如精密工件、金属表面、手机背板等,这种情况在实际工业中十分常见。由于产品的多样性、缺陷的多样性,比如装饰板材的缺陷即有划痕、污点、斑块、磨损、碎屑等,大大增加了质检员的工作量和工作难度,导致人工视检效率下降且容易由于质检员的疲劳和失误导致漏检、错检等情况,提高生产线的时间成本并可能影响到上市产品的质量。企业往往需要培养专门的质检员,检测环节也大大提高了企业的人力成本。故对于采取人工视检的产品,应用计算机视觉技术和深度学习技术进行图像的采集与处理,采用自动化检测系统及方法进行检测是行之有效,降本增效、控制漏检率的方法。
早期的自动化检测方法倾向于根据缺陷的类型提取特定的手工图像特征,采用数字图像处理方法如阈值分割、椭圆gabor滤波器、rgb直方图等选择特定的图像特征。
专利文献cn106248686a(申请号:201610545573.1)公开了一种基于机器视觉的玻璃表面缺陷检测装置及方法,提出采用ccd相机对玻璃图像进行采集,在采用数字图像处理方法,如图像标定,二值化,去噪声,边缘检测等方法对缺陷进行识别。数字图像处理方法的识别率对于各种因素,如光照、对比度等影响因素十分敏感,且其过于依赖提取的特定图像特征,无法应对复杂背景,多种缺陷的识别任务,不具备通用性。
近年来,借助机器学习领域深度学习研究的发展,识别技术得到了突飞猛进的发展。将深度学习方法引入vcm马达表面缺陷图像的检测识别,可以极大的提高识别的准确性,降低漏检率,提高鲁棒性。深度学习的实质是通过构建具有多隐层的机器学习模型和海量的训练数据,对特征进行学习,从而最终提升分类或预测的准确性和通用性。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种基于蒙版抑制的精密零组件表面缺陷检测方法和系统。
根据本发明提供的基于蒙版抑制的精密零组件表面缺陷检测方法,包括:
步骤1:采集精密零组件的产品图片,并在产品图片上标注缺陷数据;
步骤2:根据精密零组件的轮廓,计算产品图片上的缺陷检测区域并用一个外接矩形包裹起来;
步骤3:在产品图片上的外接矩形范围内标注蒙版区域;
步骤4:根据产品图片上蒙版区域与外接矩形区域的相对位置,计算所有精密零组件图片中的蒙版区域;
步骤5:利用迁移学习法,对标注的缺陷数据进行深度学习算法的分类训练,生成卷积神经网络模型;
步骤6:利用卷积神经网络模型检索识别精密零组件的缺陷类别;
步骤7:通过模型集成,分析精密零组件是否存在加工缺陷;
步骤8:统计外接矩形中所有的加工缺陷,去除蒙版区域内的加工缺陷后,将其余加工缺陷作为最终输出结果。
优选的,进行深度学习算法的分类训练时,生成两个卷积神经网络模型,进行缺陷类别识别;
当两个模型都判断精密零组件是良品时,则判定该件为良品;
若有一个模型判断是不良品时,则判定该件为不良品。
优选的,标注的缺陷数据的类别包括:面、边缘、胶和pin针。
优选的,外接矩形区域与蒙版区域的位置随着精密零组件位置的不同而动态变化。
优选的,蒙版区域的计算方式为:根据每张精密零组件图片中矩形区域的位置及各条边长度,对基础零组件图片中的蒙版区域及矩形框同时进行拉伸和平移,使得基础矩形框与待分析图片的矩形框重合,则此时的蒙版区域为待分析图片中的蒙版区域;
蒙版区域用于对所有缺陷信息,过滤矩形区域内的检测结果。
根据本发明提供的基于蒙版抑制的精密零组件表面缺陷检测系统,包括:
模块m1:采集精密零组件的产品图片,并在产品图片上标注缺陷数据;
模块m2:根据精密零组件的轮廓,计算产品图片上的缺陷检测区域并用一个外接矩形包裹起来;
模块m3:在产品图片上的外接矩形范围内标注蒙版区域;
模块m4:根据产品图片上蒙版区域与外接矩形区域的相对位置,计算所有精密零组件图片中的蒙版区域;
模块m5:利用迁移学习法,对标注的缺陷数据进行深度学习算法的分类训练,生成卷积神经网络模型;
模块m6:利用卷积神经网络模型检索识别精密零组件的缺陷类别;
模块m7:通过模型集成,分析精密零组件是否存在加工缺陷;
模块m8:统计外接矩形中所有的加工缺陷,去除蒙版区域内的加工缺陷后,将其余加工缺陷作为最终输出结果。
优选的,进行深度学习算法的分类训练时,生成两个卷积神经网络模型,进行缺陷类别识别;
当两个模型都判断精密零组件是良品时,则判定该件为良品;
若有一个模型判断是不良品时,则判定该件为不良品。
优选的,标注的缺陷数据的类别包括:面、边缘、胶和pin针。
优选的,外接矩形区域与蒙版区域的位置随着精密零组件位置的不同而动态变化。
优选的,蒙版区域的计算方式为:根据每张精密零组件图片中矩形区域的位置及各条边长度,对基础零组件图片中的蒙版区域及矩形框同时进行拉伸和平移,使得基础矩形框与待分析图片的矩形框重合,则此时的蒙版区域为待分析图片中的蒙版区域;
蒙版区域用于对所有缺陷信息,过滤矩形区域内的检测结果。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过蒙版区域设置,降低了待检精密零组件对于环境变化的敏感度,提高了零组件检测在复杂环境下的抗噪能力;
2、本发明通过多个卷积神经网络模型和模型集成,对产品进行缺陷检测,提高了检测的准确率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为矩形框和蒙版区域示意图;
图2为本发明方法流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例:
如图2,根据本发明提供的采用蒙版抑制的精密零组件表面缺陷检测方法,包括如下步骤:
s1:采集精密零组件产品图片,并在精密零组件产品上标注缺陷信息。所述人工标注缺陷信息的类别为:面、边缘、胶、pin针;
s2:根据精密零组件轮廓,计算实际训练区域并用一个外接矩形包裹起来;
s3:选择一张精密零组件产品图片,在外接矩形范围内标注蒙版区域信息;
s4:根据该图片蒙版区域与外接矩形之间的相对位置关系,计算所有精密零组件图片中的蒙版区域信息;
s5:利用迁移学习的方法,对所述人工标注的数据进行深度学习算法的分类训练,生成两个不同的cnn模型;
s6:利用所述两个cnn模型分别检索识别精密零组件的缺陷类别;
s7:利用多模型集成的方法,分析出精密零组件是否存在加工缺陷;
s8:统计所有的加工缺陷,对于每一个精密零组件,其对应的蒙版区域中的缺陷信息是无用信息,这些缺陷信息会被算法舍弃掉,并将其余缺陷信息作为最终输出结果。
检测出精密零组件轮廓后,计算出一个合适大小的外接矩形框。矩形框内的区域即为实际用于算法分析的区域。
矩形框区域与蒙版区域的位置随着零组件位置的不同而动态变化。
蒙版区域的作用在于对所有缺陷信息,过滤区域内的检测结果。
进一步地,所述步骤s2中,矩形区域的计算方式为:设定一个最短距离,选择一个最小外接矩形,让矩形各个边的距离到达零组件轮廓的距离都为最短距离。
进一步地,所述步骤s4中,蒙版区域的计算方式为:根据每张零组件图片中矩形框的位置及各条边长度,对基础零组件图片中的蒙版区域及矩形框同时进行拉伸和平移,最终令基础矩形框与待分析图片的矩形框相重合,则此时的蒙版区域即为待分析图片中的蒙版区域,如图1所示。
进一步地,所述步骤s5中的所述两个不同的cnn模型为inception和mobilenet;
进一步地,所述步骤s6中的所述迁移学习的方法包括:使用所述inception和mobilenet,保留卷积层和池化层用于特征提取,只重新构建其最后一层全连接层进行分类;使用所述人工标注的数据分别对全连接层进行训练,得到两个可对所述人工标注的类别进行识别分类的卷积神经网络模型,以缩短神经网络的训练时间。
进一步地,所述步骤s7中的所述多模型集成的方法包括:
在所述模块推理系统,在所述上位计算机收集到待检测图像后,将所述待检测图像分别输入所述inception和所述mobilenet;
若所述inception或所述mobilenet检测到加工缺陷,返回“true”;
若所述inception或所述mobilenet未检测到加工缺陷,返回“false”;
只有当所述inception和所述mobilenet均返回“false”时,所述模块推理系统才返回“false”,表示待测零组件没有加工缺陷;
当所述inception和所述mobilenet之一或者全部返回“true”时,所述模块推理系统返回“true”,表示待测零组件存在加工缺陷,以此降低漏检率。
根据本发明提供的基于蒙版抑制的精密零组件表面缺陷检测系统,包括:
模块m1:采集精密零组件的产品图片,并在产品图片上标注缺陷数据;
模块m2:根据精密零组件的轮廓,计算产品图片上的缺陷检测区域并用一个外接矩形包裹起来;
模块m3:在产品图片上的外接矩形范围内标注蒙版区域;
模块m4:根据产品图片上蒙版区域与外接矩形区域的相对位置,计算所有精密零组件图片中的蒙版区域;
模块m5:利用迁移学习法,对标注的缺陷数据进行深度学习算法的分类训练,生成卷积神经网络模型;
模块m6:利用卷积神经网络模型检索识别精密零组件的缺陷类别;
模块m7:通过模型集成,分析精密零组件是否存在加工缺陷;
模块m8:统计外接矩形中所有的加工缺陷,去除蒙版区域内的加工缺陷后,将其余加工缺陷作为最终输出结果。
优选的,进行深度学习算法的分类训练时,生成两个卷积神经网络模型,进行缺陷类别识别;
当两个模型都判断精密零组件是良品时,则判定该件为良品;
若有一个模型判断是不良品时,则判定该件为不良品。
优选的,标注的缺陷数据的类别包括:面、边缘、胶和pin针。
优选的,外接矩形区域与蒙版区域的位置随着精密零组件位置的不同而动态变化。
优选的,蒙版区域的计算方式为:根据每张精密零组件图片中矩形区域的位置及各条边长度,对基础零组件图片中的蒙版区域及矩形框同时进行拉伸和平移,使得基础矩形框与待分析图片的矩形框重合,则此时的蒙版区域为待分析图片中的蒙版区域;
蒙版区域用于对所有缺陷信息,过滤矩形区域内的检测结果。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。