一种工业流水线产品瑕疵检测方法

文档序号:26053069发布日期:2021-07-27 15:29阅读:305来源:国知局
一种工业流水线产品瑕疵检测方法

本发明涉及机器视觉技术领域,尤其是一种工业流水线产品瑕疵检测方法。



背景技术:

随着经济的蓬勃发展和社会的进步,制造业取得了迅猛发展。随着个人和社会需求的增加,生活中用到的绝大部分产品,都需要在一定规模的生产线上进行生产,因此工业产品生产自动化已是大势所趋。但是在流水线产品生产的过程中,不可避免的会产生有瑕疵的产品,如工件表面缺陷。因此,在这个过程中一个必不可少的重要环节便是产品质量是否合格的检测。及时检测出其中不合格的产品,不仅能保证产品的安全和质量,而且有利于生产效率的大大提高。

目前,现有的检测方法一般有人工检测和机器视觉检测两种,传统的人工检测方法,通过观察来判断目标产品和真正的产品之间的差异,并手动消除不合格产品。这种方法已经不能满足规模越来越大的生产线,随着生产线产量的增加,产品数量增多,检查人员进行长时间的高强度工作,随着时间的增加逐渐导致视觉疲劳,容易产生判断失误;而且检查人员判断产品是否合格仅凭经验,没有一个统一标准,导致产品质量参差不齐;此外,有些对精确度要求很高的产品,仅凭人工简单操作很难达到产品的质量要求,需要大量的时间进行检测,这就降低了生产效率,也增加了成本,甚至还有一些不适合人类操作的危险环境。

目前仍有大量流水线使用人工检测的方法来检测产品瑕疵,由于人工检测具有上述一系列的不足,因此迫切需要向全社会各类生产线进行技术的更新换代,即使用机器视觉检测瑕疵的方法来取代传统的人工检测。

如今的机器视觉技术逐渐趋于自动化、智能化,可以完成更多的功能。该技术融合了数字图像处理技术、控制技术、机械工程技术、传感器技术等,因此可以在制造业和工业生产中承担更多的检测任务,而且具有检测速度快,检测进度高等一系列的优点,在有限的时间内完成更多工作,极大地提升了制造业水平。



技术实现要素:

发明目的:针对在流水线产品生产过程中,对产品的人工检测技术存在速度慢、精度低、没有统一标准等不足,本发明旨在利用机器视觉实现对产品表面瑕疵实现快速和精确的检测。

为实现上述发明目的,本发明提出了一种工业流水线产品瑕疵检测方法,具体包括如下步骤:

步骤1,采集产品瑕疵图像,形成产品瑕疵图像数据集。

利用工业相机拍摄不同种类产品瑕疵图像,获取瑕疵产品表面图像。对瑕疵产品采用平移、旋转、错切等方式产生更多的产品瑕疵图像,以产生更多的训练数据,使数据扩增;所述的瑕疵包括裂纹、划痕、麻坑和砂眼。

步骤2,用labellmg工具进行标签制作,把产品瑕疵图像数据集分为训练集、验证集和测试集;对vgg16网络模型进行训练、验证和测试,最后形成训练好的vgg16网络模型。

步骤3,对待测产品瑕疵图像进行采集并预处理;预处理包括图像增强、直方图均衡化以及图像平滑滤波。

图像的对比度通过直方图均衡化方法可以增强,并达到灰度均衡的目的;

图像平滑滤波主要是处理图像中掺杂进的噪声,减少噪声以达到提高图像质量的目的。图像平滑滤波包括高斯滤波法、均值滤波法和中值滤波法,优选的,本发明采用中值滤波,均值滤波和高斯滤波易造成细节模糊,而中值滤波处理的图像保留边缘细节较为清晰,模糊程度也最小,总体效果最好。

步骤4,对预处理后的图像进行图像阈值分割,得到二值图像。

图像阈值分割是指将目标物体与背景分割开,本发明中的目标物体是指产品瑕疵图像中的瑕疵部分。

图像阈值分割方法包括双峰法、迭代法、最大类间方差法以及最大熵法,本发明采用最大类间方差法对图像进行图像阈值分割。

步骤5,利用八邻域区域标记法求得二值图像中的最大连通区域面积,在此同时还要设定一个阈值t。如果最大连通区域面积大于设定阈值,则判定该图像存在瑕疵,并且将该原图像、灰度图像以及二值图像保存下来,进入步骤6;如果图像中的最大连通区域面积小于设定的阈值,则判定该图像无瑕疵。

步骤6,对有瑕疵的产品图片采用ssd检测算法对特征进行提取,完成产对产品瑕疵的分类,所述的ssd检测算法基于训练好的vgg16网络模型的。

预处理过的缺陷图片缩放至300*300输入到ssd检测算法中,训练好的vgg16网络的conv4_3层用作瑕疵目标检测的一个特征图,卷积层还利用conv7,conv8_2,conv9_2,conv10_2,conv11_2作为后续检测所用的特征图,提取了总共六个特征图,特征图的大小为(38,38),(19,119),(10,10),(5,5),(3,3),(1,1)。这六个不同的特征图,每个单元产生的先验框数量不一样,不同特征图获得的先验框结合起来,经过非极大值抑制方法来抑制掉一部分重叠或者不正确的先验框,生成最终的先验框,从而实现对瑕疵进行分类,瑕疵的类别包括裂纹、划痕、麻坑、砂眼。

有益效果:

本发明结合机器视觉检测技术的优势,本发明的方法,可以有效地检测工业流水线产品的瑕疵,不仅检测精度高,速度快,而且操作简便,为剔除不合格产品奠定了良好的基础。

附图说明

图1是本发明的流程图。

具体实施方式

本发明提出了一种工业流水线产品瑕疵检测方法,具体包括如下步骤:

步骤1,采集产品瑕疵图像,形成产品瑕疵图像数据集;

利用工业相机拍摄不同种类产品瑕疵图像,获取瑕疵产品表面图像。在对瑕疵产品采用平移、旋转、错切等方式产生更多的产品瑕疵图像,以产生更多的训练数据,使数据扩增,本实施例中同一种产品的产品瑕疵图像拍摄150张。所述的瑕疵包括裂纹、划痕、麻坑和砂眼。

本实用例中的图像采集装置包括工业相机、转动装置、光源以及遮挡板。影响图像质量的因素有很多。比如工业相机种类选择,光源的选择以及照明方式的选择等。

根据图像芯片上半导体材料和结构的不同工业相机分为ccd工业相机和cmos工业相机两种。ccd工业相机在用电量以及成本造价上比cmos工业相机要略高些,但是在分辨率、噪声以及灵敏度方面,ccd比cmos要高很多,因此本实施例选择ccd相机进行实验。光学镜头是工业相机中非常重要的组成部分,镜头好坏的选取会直接影响成像的质量,光学镜头的作用是将成像物体聚焦在图像传感器的感光芯片上,这样才能够获取较清晰的图像。光学镜头主要分监控类镜头和工业类镜头两种,监控类镜头一般适用在对图像质量要求不高、价格相对便宜的应用场合;工业类镜头凭借图像质量高、畸变小的优点通常被用在工业零件缺陷检测以及科学研究等应用领域。

镜头焦距的计算公式如下:。

其中。fov表示视野大小,wd表示工作距离,m为放大倍率,v和h表示垂直和水平方向,

对光源的选取是影响回转体零件表面缺陷检测的一个相当重要的因素,为了突出感兴趣的区域,所以使用光源,这样可以抑制背景区域,从而获得的图像对比度比较鲜明。选取合适的光源不仅可以获得高质量的图像,而且还可以减小周围环境光的干扰、降低图片噪声。因为产品表面可能会有裂纹、划痕、麻坑、砂眼等缺陷,我们需要提取零件表面缺陷特征,这就需要对比度较高的图像能将目标物体与背景很好的分离,所以本发明选择了led光源以及前向照明方式。

步骤2,用labellmg工具进行标签制作,按8:1:1把产品瑕疵图像数据集分为训练集、验证集和测试集,对vgg16网络模型进行训练、验证和测试,最后形成训练好的vgg16网络模型,训练集用于训练产品瑕疵数据集,找出模型函数最优参数;验证集用以确定模型函数最优参数;测试集仅用于对训练好的模型函数进行性能评估。

步骤3,对待测产品瑕疵图像进行采集并预处理;

所述预处理具体为进行图像增强、直方图均衡化以及图像平滑滤波,将的产品瑕疵图像转换成标准图像,所述标准图像是指300*300像素的图像。

图像中主要包括目标信息、背景信息和噪声,在对图像处理的过程中,我们往往只对图像的某些特征信息感兴趣,这些特征被我们称为前景或目标,其他的为背景。我们只需要感兴趣的目标信息,背景信息和噪声则是不需要的,所以我们要去除背景和噪声,为表面缺陷的提取做好准备。采集的表面图像由于受到成像设备、光源以及周围环境的影响,会导致图像产生噪声、信噪比降低以及清晰度下降,因此不能直接拿来进行目标的边缘检测、缺陷提取以及匹配识别。这就需要首先对图像进行预处理,减少或消除由于上述原因导致图像质量差的影响。进行图像预处理后将图像转换成标准图像,从而能有效的进行后续的图像二值化、边缘检测、缺陷提取等过程。

图像增强技术是预处理部分的一个重要的环节,通过对图像的灰度、边缘、轮廓等进行锐化,突出边缘、轮廓的细节,增强图像的对比度,改善图像的视觉效果,突出前景信息,提高图像清晰度,便于图像分析处理。

灰度直方图反映的是图像中各灰度级在图像中出现的次数,直接表现了图中各灰度出现的频率。直方图均衡化通过灰度变换函数对原图像进行变换实现的,将一幅图像中的所有灰度值具有相同可能性的过程。图像的对比度通过直方图均衡化方法可以增强,并达到灰度均衡的目的。

图像平滑滤波主要是处理图像中掺杂进的噪声,减少噪声以达到提高图像质量的目的。在采集图像、数字化转换以及图像传送过程中都免不了在图像中夹杂噪声信号。图像的边缘属于高频信号,平滑滤波也会使图像边缘部分模糊化,而图像的边缘特征,对下一步的图像处理比较重要,所以平滑处理需要在减少噪声的同时,也要保持图像原有的边缘信息。利用不同的平滑算法处理图像后,模糊的程度一般不同,但都是在图像的边缘和尖锐的部分最为明显。常用的方法有高斯滤波法、均值滤波法、中值滤波法等。

均值滤波是用滤波模板所覆盖的周围像素区域灰度值的平均值替代原来的各个像素值,公式如下:m是像素的总数,均值滤波可以快速地平滑图像但无法去除噪声。

高斯滤波使用加权平均的方式对图像进行平滑操作,是均值平滑方式的改进。

中值滤波是以某个像素点为中心的窗口内所有的像素的灰度值按从大到小的顺序排列,取中间值作为中心像素的灰度值。中值滤波为非线性滤波,让与周围像素灰度值的差比较大的像素改取与周围像素值接近的值,从而可以消除孤立的噪声点。

g(x,y)=med{f(x,y)}

均值滤波、高斯滤波易造成细节模糊,而中值滤波处理的图像保留边缘细节较为清晰,模糊程度也最小,总体效果最好,所以实施例选择中值滤波对图像进行滤波处理。

步骤4,对预处理后的图像进行图像阈值分割,得到二值图像。

图像阈值分割是最常见和应用最广泛的分割技术,虽然它是一种较传统的分割方法,但是其计算简单、方便实现、性能较稳定的特点仍然十分突出。实质是根据图像中要提取的目标物体和背景在灰度上的差异,利用图像灰度直方图的信息,选择出一个较合适的阈值,通过对图像中的每一个像素点的灰度值和阈值进行判断看是否满足要求,从而确定图像中此像素点属于何种区域,从而达到将目标物体与背景区分开的目的。作为阈值分割中比较特殊的方法,二值法分割将图像变换为二值图像也就是黑白图像,这是根据设定的灰度阈值对各个像素点进行判断直接变成“0”或“1”的效果。阈值分割有很多种方法,例如双峰法、迭代法、大律法以及最大熵法,其中双峰法是最简单的阈值分割方法。

双峰法的思路是认为一幅图像的目标物体和背景占据不同的灰度级,会存在两个明显的高峰和一个谷底。其中t为指定阈值,双峰之间即为分割阈值。

迭代法是基于逼近的思想,是最早的自适应阈值分割算法。基本思路是先选取一个初始阈值,通过某种优化准则不断迭代优化寻求最佳分割阈值的过程。

最大类间方差法是由otsu提出来的,也叫otsu法,其基本思路找到一个合适的阈值使分割后的目标与背景之间的类间方差最大,类间方差越大说明两部分的分离性越好。它具有算法简单,处理速度快,自适应强的优点,适用于物体目标与背景灰度差明显的情况,本发明采用otsu法对图像进行阈值分割。

对图像进行阈值分割后得到的二值图像仅有黑白两种像素点组成,通常二值图像的白像素点用“1”来表示,黑像素点用“0”表示。连通区域标记法领域准则将图像中符合该准则的像素点集合起来,同时将不同的连通域填入目标标号进行标记的方法。连通标记法不仅能够识别目标而且具有去噪的功能,对目标识别来说,在准确性以及速度上会产生相当大的影响。

步骤5,利用八邻域区域标记法判定二值图像是否存在缺陷;

八邻域区域标记法是一种基于区域生长的二值图像连通区域标记的快速算法.与传统方法相比,该方法的特点是在一次图像扫描中完成所有连通区域的标记,而且避免了大多数改进算法都必须处理的重复标记的问题;同时,该方法不受所标记的图形形状的影响,表现出良好的算法鲁棒性。本发明通过ccd工业相机采集到表面图像存在缺陷与否,需要通过判定才能进行后续的缺陷提取工作。经过otsu法分割后,目标的缺陷基本被分割出来,但同时会有大量的噪声存在。可以利用八邻域区域标记法求得二值图像中的最大连通区域面积,在此同时还要设定一个阈值t。如果最大连通区域面积大于设定阈值,则判定该图像存在缺陷,并且将该原图像、灰度图像以及二值图像保存下来,并进行原图像、灰度图像以及二值图像特征提取工作;如果图像中的最大连通区域面积小于设定的阈值,则判定该图像无缺陷。图像预处理部分与缺陷检测相结合实现了产品表面缺陷的在线检测的功能。

对于分割后的图像仍存在少量的杂点和噪声,为了去除它们,采用八邻域区域标记法来去除小面积区域,以此达到去除噪声的目的。

步骤6.对有瑕疵的产品图片采用ssd检测算法对特征进行提取,完成产对产品瑕疵的分类。

ssd检测算法是一种基于回归的端到端的目标检测算法,是一种单次多目标检测算法,它在yolo的基础上加入了fasterr-cnn的anchor机制,预处理过的缺陷图片缩放至300*300输入到ssd检测算法中,之后送入卷积神经网络,根据输出结果对缺陷进行分类和定位。相比于yolo对原始图像划分栅格,ssd依次对特征图上所有的点进行操作,以每个特征图上对应的特征向量作为预测目标。对不同尺度的特征图,对每个特征图上的点重新设计了多重特征提取框。

ssd算法以vgg16网络结构作为基础网络,vgg16的全连接层fc6和fc7被转换成ssd中3*3的conv6卷积层和1*1的con7卷积层。为了获得更多用于目标检测的特征图,ssd网络在vgg16的基础上还增加了几个连续的卷积层,与yolo相比有几点改进,ssd采用cnn直接检测,和yolo不同,yolo网络的检测在全连接层的后面;对于目标检测,ssd提取了不同尺度的特征图,cnn网络结构中位置靠前的特征图尺度较大,其中特征信息较丰富,适合小目标的检测,cnn更适合较大的目标;ssd网络设计了六种比例的先验框。因此ssd同时拥有yolo的回归思想和fasterr-cnn的锚机制的优点,简化了神经网络的计算量,并且检测是实时的,而且有利于提取大小和长宽比不同的特征。

预处理过的缺陷图片缩放至300*300输入到ssd检测算法中,预训练好的vgg16网络的conv4_3层用作瑕疵目标检测的一个特征图,卷积层还利用conv7,conv8_2,conv9_2,conv10_2,conv11_2作为后续检测所用的特征图,提取了总共六个特征图,特征图的大小为(38,38),(19,119),(10,10),(5,5),(3,3),(1,1)。这六个不同的特征图,每个单元产生的先验框数量不一样,不同特征图获得的先验框结合起来,经过非极大值抑制方法来抑制掉一部分重叠或者不正确的先验框,生成最终的先验框,从而实现对瑕疵进行分类,瑕疵的类别包括裂纹、划痕、麻坑、砂眼。池化层可以有效的缩小参数矩阵的尺寸,从而减少最后连接层的中的参数数量。所以本发明中还了加入池化层,可以加快计算速度和防止过拟合的作用。

模型损失函数由分类损失函数和回归损失函数组成。定义为位置误差lconf与置信度误差lloc的加权和,其中n是先验框的正样本数量:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1