一、基于机器视觉检测技术现状
机器视觉是以普通计算机视觉研究为基础,并且同时涉及到光源照明技术、高速图像采集等方面实用技术的研究。在工业中,利用机器视觉构建一个完整的工业视觉应用系统需要结合多种技术,其中涵盖了机械工程、传感器、光学成像、运动控制、图像处理等方面。图1-1显示的是实际工业中机器视觉系统整体框架,主要包括被测目标、光源、光学成像系统、图像捕捉系统、图像采集与数字化、智能图像处理模块和运动控制模块。
随着科技的进步,机器视觉的发展速度也越来越快,国外的一些研发机构都开发出了很多基于图像处理的机器视觉系统软件,例如MatroxImaging Library(MIL)、Halcon、Matlab以及开源库OpenCV 等。由于这些软件在图像上具有很强大的处理能力, 所以已经被广泛的运用到实际的工业生产中了。目前,在机器视觉方面有两类算法,分别为数字图像处理算法和基于卷积神经网络的深度学习算法。
(1)基于数字图像处理的方法,主要通过图像处理等操作得到胶层的面积、质心以及自定义的复杂度公式进行对胶层的质量判定。传统的基于数字图像处理的方法具有操作简单,参数较少的优势,但也存在易受光照等客观因素影响,胶层分割效果差、缺陷分类差、通用性较差等缺点。
(2)随着大数据时代的来临,各类信息资源的轻易获取使得深度学习的应用也越来越广泛。特别是在卷积神经网络中,图片被深度卷积和池化之后,隐含层能够表现出比手动获取更加具有泛化性和抽象性的特征,从而在识别分类上取得了很好的效果。深度学习的出现为点胶缺陷的识别带来了更大的可行性。但深度学习需要足够多的训练数据和强大的计算能力,使得其在许多领域内的落地和应用受到了制约,而这也会直接影响到点缺陷胶的检测效率。
二、点胶检测系统的光学检测方案
在进行点胶缺陷检测的过程中,图像信息的持续和稳定获取也是至关重要的一步,图像的好坏对于算法的设计困难程度有着很大的影响,因此,在点胶缺陷检测系统的设计过程中,需要对光学检测时的硬件进行选型。如图2-1所示,考虑到胶条为透明胶,存在反光现象,所以要求光源在各个角度的光照程度较为均匀,而同轴光具有高密度排列,成像清晰,亮度均匀等特点。此外,在要求光照亮度均匀的同时,由于部分胶条中存在气泡,而同轴光源距离胶条存在一定的距离,采集到的图片无法观察到气泡特征, 故考虑使用条形光源对胶条上方进行照射,使得气 泡特征可见。由于垂直照射方式具有照射面积大、 光照均匀性好等优点,故同轴光源选择垂直照射方式,而条形光源主要是为了对胶条进行光照加强, 同时为了不遮挡同轴光源,故选择侧面照射。
三、点胶检测系统的算法方案
3.1点胶缺陷的类别定义
在实际的点胶过程中,往往因为点胶量的大小、 点胶压力、针头大小、胶水的粘度以及胶水温度等因素,导致生产的胶条会存在各种各样的缺陷,从而影响产品的质量。工业生产中比较常见的几种缺陷种类,其具体定义如下所示:
(1)多胶:胶条中间部分宽度大于其他部分,如图 3-1 a)所示;
(2)少胶:胶条中间部分宽度小于其他部分,如图 3-1 b)所示;
(3)断胶:胶条出现一次或多次的断裂,如图3-1 c) 所示;
(4)扭曲:胶条整体存在多处弯曲现象,如图3-1 d) 所示;
(5)气泡:胶条中含有数目较多的气泡,如图3-1 e) 所示;
同时,在工业生产中符合生产要求的正常胶条如图 3-1 f)所示。
对于点胶缺陷检测有两点要求:
(1)由于缺陷检测的点胶图像数量多,检测需要的时间比较长,对检测速度要求比较高;
(2)点胶缺陷图片受环境影响存在质量上的不同,对于算法的准确性以及鲁棒性有很大的要求。
3.2基于数字图像处理的算法
在对胶条进行缺陷检测之前,必须先得到胶条的图片,而在实际的生产加工中,会将工件上的某块区域作为Mark定位点,采用图像匹配算法来寻找该Mark点的位置,从而得到胶条的具体位置,由此在工业摄像头得到工件图片后,无需对整幅图片进行缺陷分析,同时也去除了一些干扰区域,方便了视觉算法的后续处理。以下为针对点胶缺陷相应的基于数字图像处理的方法:
(1)多胶少胶:对于胶条多胶少胶的缺陷检测,首先 对图片进行相应的预处理操作,得到二值化图像后进行胶条两侧轮廓的获取,对提取到的轮廓区域进行水平和垂直方向的投影,通过计算像素值数量的最大值和最小值的差值以及像素值投影图中曲线形状来判断是否存在缺陷和具体类型。
(2)断胶:对于胶条断胶缺陷检测,根据胶条断裂图 片的特征,对图片进行预处理后先进行闭运算,断开胶条之间的细小连接,之后进行轮廓的获取,通过计算各个轮廓所包含的面积来作为判断缺陷是否存在的标准。
(3)扭曲:针对胶条扭曲缺陷检测,通过计算寻找到 的轮廓的凸缺陷的面积(即轮廓面积与其凸包面积的差值)来作为判断是否存在扭曲缺陷的标准。
(4)气泡:检测是否存在直径和面积较大的气泡。由 于气泡的特征是圆形,所以利用霍夫圆变换来检测图片中的圆形数量,同时计算其面积,通过对面积和数量进行阈值设定,来判断气泡缺陷的存在。
· 深度学习模型的选择
一般在利用深度学习算法进行缺陷检测时,首 先要确定的是网络模型。因为胶条种类分为6类,类别数量不是很多,故我们可选择AlexNet、MobileNet 以及Lenet-5、U-net等网络深度不同的或者更优质的网络模型。
· 训练方案改进
往往经典网络模型的准确率不会特别高,并不 能满足我们的需求,所以我们需要对训练方法进行改进。通常通过数据增强、迁移学习以及改进网络结构三个方面对模型进行改进。其中在实际生产中,一般在数据层上都有缺陷样本图片较少、缺陷样本不均衡等等问题,而对模型进行训练时,神经网络的参数数量又非常巨大,要想使得这些参数正常工作则需要大量的数据进行训练。
在工业领域中,可以在人为制造缺陷、数据增 广、生成对抗网络、迁移学习等手段解决相应的训 练数据问题。如图3-3为深度学习数据支撑手段。
在训练过程中进行相应微调是必不可少的。过拟合现象在深度学习中屡见不鲜,如果网络模型出现此类问题,那么该网络就无法正常使用,为了解决这个问题,一般会使用模型集成的方法,即训练多个模型进行组合。但是由于模型数量的增多,无论是训练过程还是测试过程,都会带来时间的浪费。由Hinton提出的dropout,在网络训练过程中,对网络层中的参数以一定概率进行归零操作,每一次训练都可以看作是在训练不同的神经网络,所以dropout相当于是对多个网络取平均,同时减少了神经元之间的复杂共适应性,可以有效地抑制过拟合现象。当然实际训练过程中,网络结构的改进方式有很多,没有最优的模型,只有符合要求更优的模型。
四、结论
在实际的点胶过程中,由于多种因素的影响容 易出现各种缺陷,因此在对胶条进行缺陷检测时, 更多的是采用机器视觉的方法,从而达到提高生产效率和降低成本的目的,进而使得产品更加具有竞争力。目前,在机器视觉方面有两类算法,分别为数字图像处理算法和基于卷积神经网络的深度学习算法。针对基于数字图像处理的视觉算法,在简单的缺陷检测方面成本较低,速度和精度也能够达到要求,但是在算法层面缺少通用性,对于每一种缺陷都要设计特定的算法进行检测。深度学习算法相对图像处理算法在处理新类别的图片方面较为简单,对于不同的缺陷只要重新进行标注再训练后就可以进行缺陷检测,不仅如此深度学习算法对于复杂情况的缺陷检测效果比图像处理算法好,但是深度学习算法也有大量的图片数据获取成本较高、产线换 型检测响应较慢的问题。当然,随着深度学习的高速发展和当前大数据时代的信息获取能力的增强,相信深度学习在未来会更多地落地到生活场景中去。