基于机器视觉的点胶缺陷检测技术探讨腾讯云开发者社区

随着工业自动化控制技术和计算机技术的飞速发展,工业自动化已经渗透到各个行业的生产中。自动点胶机在工业生产中得到了广泛应用,从微电路行业、电子产品行业、LED行业到一般工业的产品连接、注涂和密封,都发挥着重要作用。

在实际的生产中,由于多种因素的影响,例如自动点胶机的点胶工艺水平、胶水的温度等,生产出的胶水可能会产生含有气泡、胶条断裂、胶条宽度太粗或太细等缺陷。因此在各种需要通过点胶来实现连接效果的场合中,严格控制点胶的质量是极其重要的。

依靠人力来对点胶进行缺陷检测显然是不合理的,由于其工作量大、效率低、 检测精度不高等特点,目前已不能满足实际的生产需求。

为了解决上述问题,基于机器视觉的点胶缺 陷检测技术得到广泛的应用,其具有成本低、精度高、速度快的优势。

一、基于机器视觉检测技术现状

机器视觉是以普通计算机视觉研究为基础,并且同时涉及到光源照明技术、高速图像采集等方面实用技术的研究。在工业中,利用机器视觉构建一个完整的工业视觉应用系统需要结合多种技术,其中涵盖了机械工程、传感器、光学成像、运动控制、图像处理等方面。图1-1显示的是实际工业中机器视觉系统整体框架,主要包括被测目标、光源、光学成像系统、图像捕捉系统、图像采集与数字化、智能图像处理模块和运动控制模块。

随着科技的进步,机器视觉的发展速度也越来越快,国外的一些研发机构都开发出了很多基于图像处理的机器视觉系统软件,例如MatroxImaging Library(MIL)、Halcon、Matlab以及开源库OpenCV 等。由于这些软件在图像上具有很强大的处理能力, 所以已经被广泛的运用到实际的工业生产中了。 目前,在机器视觉方面有两类算法,分别为数字图像处理算法和基于卷积神经网络的深度学习算法。

(1)基于数字图像处理的方法,主要通过图像处理等操作得到胶层的面积、质心以及自定义的复杂度公式进行对胶层的质量判定。传统的基于数字图像处理的方法具有操作简单,参数较少的优势,但也存在易受光照等客观因素影响,胶层分割效果差、缺陷分类差、通用性较差等缺点。

(2)随着大数据时代的来临,各类信息资源的轻易获取使得深度学习的应用也越来越广泛。特别是在卷积神经网络中,图片被深度卷积和池化之后,隐含层能够表现出比手动获取更加具有泛化性和抽象性的特征,从而在识别分类上取得了很好的效果。深度学习的出现为点胶缺陷的识别带来了更大的可行性。但深度学习需要足够多的训练数据和强大的计算能力,使得其在许多领域内的落地和应用受到了制约,而这也会直接影响到点缺陷胶的检测效率。

二、点胶检测系统的光学检测方案

在进行点胶缺陷检测的过程中,图像信息的持续和稳定获取也是至关重要的一步,图像的好坏对于算法的设计困难程度有着很大的影响,因此,在点胶缺陷检测系统的设计过程中,需要对光学检测时的硬件进行选型。

如图2-1所示,考虑到胶条为透明胶,存在反光现象,所以要求光源在各个角度的光照程度较为均匀,而同轴光具有高密度排列,成像清晰,亮度均匀等特点。

此外,在要求光照亮度均匀的同时,由于部分胶条中存在气泡,而同轴光源距离胶条存在一定的距离,采集到的图片无法观察到气泡特征, 故考虑使用条形光源对胶条上方进行照射,使得气泡特征可见。

由于垂直照射方式具有照射面积大、 光照均匀性好等优点,故同轴光源选择垂直照射方式,而条形光源主要是为了对胶条进行光照加强, 同时为了不遮挡同轴光源,故选择侧面照射。

图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)所示。

对于点胶缺陷检测有两点要求:

(2)点胶缺陷图片受环境影响存在质量上的不同,对于算法的准确性以及鲁棒性有很大的要求。

3.2 基于数字图像处理的算法

在对胶条进行缺陷检测之前,必须先得到胶条的图片,而在实际的生产加工中,会将工件上的某块区域作为Mark定位点,采用图像匹配算法来寻找该Mark点的位置,从而得到胶条的具体位置,由此在工业摄像头得到工件图片后,无需对整幅图片进行缺陷分析,同时也去除了一些干扰区域,方便了视觉算法的后续处理。以下为针对点胶缺陷相应的基于数字图像处理的方法:

(1)多胶少胶:对于胶条多胶少胶的缺陷检测,首先 对图片进行相应的预处理操作,得到二值化图像后进行胶条两侧轮廓的获取,对提取到的轮廓区域进行水平和垂直方向的投影,通过计算像素值数量的最大值和最小值的差值以及像素值投影图中曲线形状来判断是否存在缺陷和具体类型。

(2)断胶:对于胶条断胶缺陷检测,根据胶条断裂图 片的特征,对图片进行预处理后先进行闭运算,断开胶条之间的细小连接,之后进行轮廓的获取,通过计算各个轮廓所包含的面积来作为判断缺陷是否存在的标准。

(3)扭曲:针对胶条扭曲缺陷检测,通过计算寻找到 的轮廓的凸缺陷的面积(即轮廓面积与其凸包面积的差值)来作为判断是否存在扭曲缺陷的标准。

(4)气泡:检测是否存在直径和面积较大的气泡。由 于气泡的特征是圆形,所以利用霍夫圆变换来检测图片中的圆形数量,同时计算其面积,通过对面积和数量进行阈值设定,来判断气泡缺陷的存在。

图3-2深度学习检测系统搭建流程

· 深度学习模型的选择

一般在利用深度学习算法进行缺陷检测时,首 先要确定的是网络模型。因为胶条种类分为6类,类别数量不是很多,故我们可选择AlexNet、MobileNet 以及Lenet-5、U-net等网络深度不同的或者更优质的网络模型。

· 训练方案改进

往往经典网络模型的准确率不会特别高,并不 能满足我们的需求,所以我们需要对训练方法进行改进。通常通过数据增强、迁移学习以及改进网络结构三个方面对模型进行改进。其中在实际生产中,一般在数据层上都有缺陷样本图片较少、缺陷样本不均衡等等问题,而对模型进行训练时,神经网络的参数数量又非常巨大,要想使得这些参数正常工作则需要大量的数据进行训练。

在工业领域中,可以在人为制造缺陷、数据增 广、生成对抗网络、迁移学习等手段解决相应的训 练数据问题。如图3-3为深度学习数据支撑手段。

在训练过程中进行相应微调是必不可少的。过拟合现象在深度学习中屡见不鲜,如果网络模型出现此类问题,那么该网络就无法正常使用,为了解决这个问题,一般会使用模型集成的方法,即训练多个模型进行组合。但是由于模型数量的增多,无论是训练过程还是测试过程,都会带来时间的浪费。由Hinton提出的dropout,在网络训练过程中,对网络层中的参数以一定概率进行归零操作,每一次训练都可以看作是在训练不同的神经网络,所以dropout相当于是对多个网络取平均,同时减少了神经元之间的复杂共适应性,可以有效地抑制过拟合现象。当然实际训练过程中,网络结构的改进方式有很多,没有最优的模型,只有符合要求更优的模型。

四、结论

在实际的点胶过程中,由于多种因素的影响容 易出现各种缺陷,因此在对胶条进行缺陷检测时, 更多的是采用机器视觉的方法,从而达到提高生产效率和降低成本的目的,进而使得产品更加具有竞争力。

目前,在机器视觉方面有两类算法,分别为数字图像处理算法和基于卷积神经网络的深度学习算法。针对基于数字图像处理的视觉算法,在简单的缺陷检测方面成本较低,速度和精度也能够达到要求,但是在算法层面缺少通用性,对于每一种缺陷都要设计特定的算法进行检测。

深度学习算法相对图像处理算法在处理新类别的图片方面较为简单,对于不同的缺陷只要重新进行标注再训练后就可以进行缺陷检测,不仅如此深度学习算法对于复杂情况的缺陷检测效果比图像处理算法好,但是深度学习算法也有大量的图片数据获取成本较高、产线换 型检测响应较慢的问题。

当然,随着深度学习的高速发展和当前大数据时代的信息获取能力的增强,相信深度学习在未来会更多地落地到生活场景中去。

THE END
0.SolidEdge工程图中如何绘制中断视图garytao右击长条形的视图,点击新增断裂线,然后绘制两个断点 点击完成之后效果如下图所示 如果要修改断裂视图的样式,则选中这个视图,在左键单击,然后点击这个按钮取消显示断裂视图 然后左键单击断裂视图的起始线(一定要点到竖线上去,否则无效),即可修改断裂视图的样式。改jvzquC41yy}/ewgnqiy/exr1cekucxmck3841y487;;33A3jvor
1.5.20断面图断裂视图等轴测剖面图第五章工程出图本节内容主要介绍断面图、断裂视图、等轴测剖面图,本节视频通过实际的操作详细讲解了断面图、断裂视图、等轴测剖面图,视频简单明了,欢迎大家在线收看。jvzquC41vgiikwkq0ootwvn0eqs/ew4xkfkpexztug5wkmjqu19368DvkfCirhftvkimg
2.SolidWorks设计培训二、工程图基本操作; 三、标注三视图; 四、模型视图; 五、相对视图; 六、空白视图和预定义的视图; 七、投影视图; 八、辅助视图:生成辅助视图、编辑用来生成辅助视图所绘制的直线; 九、剖面视图; 十、断裂视图:生成断裂视图、将断裂视图恢复为未断裂状态、修改断裂视图; 十一、局部视图:生成局部视图、改变轮廓的jvzquC41yy}/{myrz0io1ltwtuk`uqty0cyqAontuvoe?=+pekj>4;
3.巧妙使用经典截图工具Snagit搞定特殊制图需求图形图像过分长或过分宽的图不便于在有限空间里展示,因此人们常将其做成断裂图,中间省去一部分。这样的图制作起来其实也容易。在抓取图片或打开一幅已有图片之后,点击进入“图像”菜单下的“画布”分组,在其中点击“剪切”按钮,在下拉列表中选择需要截断图像的具体方向,然后在画面中用框选的办法画出需要截断的区域范围,松开鼠标之后,画面马上会出现断裂 jvzquC41yy}/lk:30pku1|thvli06A>2294ivvq
4.Solidworks工程图和零件模式下的断开视图solidworks工程图/eSolidworks工程图和零件模式下的断开视图,工程图有时添加视图后会发现,比例太小看不清,比例太大放不下,可以用断裂视图,轴测图用断裂视图不可用,可以用零件模型模式下的断开视图,具体方法见视频讲解 1、打开零件模型 2、添加工程视图 3、工程图上进行断裂视图 4、轴测图在模型中配置下右键新建模型断开视图 5、模型jvzquC41yy}/oohcf0ipo8xqnkjxq{pu1iuoilmgpizv1|mqya8569:0jvsm
5.昆山Solidworks三维曲面建模设计师培训2、工程图基本操作; 3、标注三视图; 4、模型视图; 5、相对视图; 6、空白视图和预定义的视图; 7、投影视图; 8、辅助视图:生成辅助视图、编辑用来生成辅助视图所绘制的直线; 9、剖面视图; 10、断裂视图:生成断裂视图、将断裂视图恢复为未断裂状态、修改断裂视图; 11、局部视图:生成局部视图、改变轮廓的位置或大jvzquC41yy}/jxzzwg4dqv4uw|npw8pgejkoi6:7:3;20qyon
6.solidworks中的断裂视图是如何实现的呢?在SolidWorks 中创建断裂视图是处理较大模型时非常有用的功能,特别是在图纸空间有限的情况下。下面是如何使用 SolidWorks 创建断裂视图的详细步骤: 创建断裂视图 选择断裂视图工具: 在工程图选项卡中,点击“断裂视图”按钮(通常显示为一条带有折断线的图标)。 jvzquC41dnuh0lxfp0tfv8|gkzooa=8723:1:8ftvkimg8igvcomu86632?98B8
7.花两分钟学会画断裂视图solidworks工程图/edrawings教程花两分钟学会画Solidworks断裂视图 (时长:00:02:12) 地瓜炖土豆 发布内容:78个 查看TA的个人主页 概述: 花两分钟学会画Solidworks断裂视图 1、长宽比很大的零件如何出工程图 2、断裂视图的画法介绍 3、了解一下断裂视图的设置项 4、定义图纸中最终留的缝隙的大小 5、子视图是断裂视图,父视图是不会跟着变化jvzquC41yy}/oohcf0ipo8xqnkjxq{pu1iuoilmgpizv1|mqya899?;0jvsm
8.SolidWorks断裂视图命令怎么使用?图形图像软件教程1、如下图所示,打开事先保存好的SolidWorks工程图,作为演示所用。 2、如下图所示,在视图布局中找到‘断裂视图’,点击它。 3、如下图所示,出现“断裂视图”对话框,可以看到信息提示:选择要断开的工程图视图。 4、如下图所示,选择红色框选中的视图,然后,“断裂视图”对话框就变了,出现了视图的设置一栏。 jvzquC41yy}/lk:30pku1|thvli08=9:694ivvq
9.python绘制散点图Python可视化笔记43篇合集(建议收藏)Python可视化32|matplotlib-断裂坐标轴(broken_axis)|图例(legend)详解 绘制坐标轴断裂图 Python可视化31|matplotlib-图添加文本(text)及注释(annotate) 自由往一张图添加「注释文字、指引箭头。」 Python可视化30|matplotlib-辅助线(axhline|vlines|axvspa|axhspan) jvzquC41dnuh0lxfp0tfv8|gkzooa<>857:6;8ftvkimg8igvcomu8632;=36?;