基于视觉的PET瓶封盖检测及定位系统
2022-07-10周向荣李小江
张 鑫, 周向荣, 李小江
(杭州娃哈哈集团有限公司, 浙江 杭州 310018)
饮料行业竞争日趋激烈,用户对产品质量也愈加看重;而食品企业对食品安全的责任永无止境。在饮料生产线上,瓶盖、瓶口及旋盖封装过程可能存在偏差,导致出现高盖、歪盖、安全环断裂和低液位等问题。由于饮料对密封性要求高,易漏气变质,发现并剔除不合格产品可以保证产品质量,降低生产损失,减少投诉。目前质量检测工作依然依靠人工目检,存在检查效率不高、岗位价值低等问题。课题组提出的基于视觉的PET封盖检测及定位系统可以更加快速和准确地检测出高盖、歪盖、安全环断裂和低液位等缺陷,将一次性成本投入为固定资产,减少人工成本方面的投入,降低了总成本;同时系统具有反向定位功能,能够定位出产生封盖异常的旋盖机工位,指导生产,降低损失,提高生产效率。该检测系统只需在车间停机时做适当清洁维护,可无间断工作,避免了人因疲劳而导致的漏检和误检。
1 机械结构设计
1.1 视觉成像方案
饮料瓶封盖缺陷主要包括无盖、高盖、歪盖和低液位等,以上缺陷都能通过轮廓判断来识别。因此在成像方案上课题组选用背光源剪影成像的方式,该方案能够清晰的采集样品的轮廓信息。另外,方案采用如图1所示的3个相机进行拍摄,以保证视场覆盖瓶盖外表面。采像设备选用的是130万像素的CCD相机和12 mm的定焦镜头。采集到的图像能够有效提取被检测物的轮廓信息,效果如图2所示。
图1 成像方案Figure 1 Scheme of imaging
图2 瓶子图像Figure 2 Image of bottle
1.2 剔除机构
剔除装置用于剔除检测出的不合格产品,用1个电磁阀驱动气缸伸缩实现。使用时,调整减压阀的压力为300~400 kPa。剔除装置在安装时,剔除气缸头与瓶身的距离控制在15 mm左右。剔除装置如图3所示。
图3 剔除装置Figure 3 Rejecting device
1.3 定位机构
定位系统能够找到产生次品瓶盖的旋盖头,从而有针对性地检修,提高生产效率。原理如下:给每个转盘的旋盖头设置编号,编号区间为 0~n,在0号位置安装传感器,PLC记录起始位置,通过传送带编码器,记录每个瓶子对应的编号,在剔除工位,PLC将有缺陷的瓶子对应的编号及缺陷类型反馈给界面软件存档并显示。定位系统如图4所示。
图4 定位系统Figure 4 Positing system
2 电气设计
电气控制选用西门子S7-1200系列的PLC作为主控单元,主要负责与视觉模块的通信,利用光电传感器及编码器完成旋盖机定位以及次品的剔除工作。其中与视觉控制器的通信包括接收次品缺陷类型,及反馈对应次品编号。具体的电气检测流程如图5所示。
图5 电气控制流程图Figure 5 Flow chart of electrical control
3 视觉设计
视觉设计软件部分,主要分为界面软件和图像处理算法2部分。
3.1 界面软件
开发工具采用微软基础类库MFC,集成开发环境选择的是Visual Studio 2019,主要实现的功能包括采集图像、调用图像处理算法、与PLC通信、统计检测结果并存档和人机操作等。
3.1.1 图像采集
相机采用海康工业相机,将原厂相机SDK进行二次开发,其中图像通过回调函数实时传递给应用类,实现图像采集功能。
3.1.2 调用图像处理算法
采用动态链接库实现共享函数库。使用动态链接库可以更为容易地将更新应用于各个模块,同时不会影响该程序的其他部分,有利于分割研发任务,方便后期的调试和维护。
3.1.3 PLC通信
与PLC的通信采用modbus tcp通信协议[1]。MFC调用CSocket类来实现通信[2-3],相较于winsock,CSocket类提供了阻塞的访问方式,其成员函数如receive,send,receivefrom,sendto和accept不会像winsock中的函数一样返回错误代码为WSAEWOULDBLOCK的错误,这些函数会自行进入等待状态,直至操作结束。
3.1.4 数据统计和存档
实时更新监测数据,包括总检测数、次品数及各个单项缺陷对应数据,同时统计旋盖机各工位产生的缺陷类型及数量保存到本地文档中。
3.1.5 人机操作
四人中,袁安的拳脚功夫可能是最好的吧,一路上,咬吴耕的狗,偷李离的贼,调戏上官星雨的乡村流氓,都是由他负责打发掉的。他的拳法名叫百花错拳,却并不是母亲请来的武术师父教会的。
每种类型的瓶盖会有对应的参数,操作人员可以通过人机调用相应参数;另外,软件也提供了主要参数的微调功能。比如,不同瓶型的高度会有差异,运行前操作人员需要进入调试模式,调整设备高度,以确保瓶盖在视场中心。
3.2 图像处理算法
图像处理算法是视觉系统的核心,直接影响设备性能。项目集成开发环境选择的是Visual Studio 2019,调用了开源的视觉算法库Opencv,最终生成动态链接库DLL,供软件平台调用。图像处理算法主要功能分为:找目标、分割瓶体、各项分类处理和返回结果。图像处理算法流程如图6所示。
图6 图像算法流程图Figure 6 Flow chart of image process arithmetic
3.2.1 找目标
将单通道灰度图转化为二值化图像,利用Canny算子[4-5]找到边缘,再利用8邻域找轮廓并填充[6-7],屏蔽面积小于阈值的区域,剩下轮廓数≠1,则说明视场中无检测物或者存在多个检测物,结束流程并返回结果为合格。如轮廓数=1,遍历目标轮廓坐标[8-9],如图像边缘是轮廓的一部分,则判为目标不完整,结束流程并返回结果为合格;反之,判为目标单一且完整,进入下一环节。
3.2.2 分割瓶体
这个环节的关键是找到支撑环,再根据支撑环找到瓶盖、防盗环和液位区。为了设计出针对各个部位的单独的识别算法:
1)首先,运行前手动调整支撑环在图像中的初始位置,保证其在图像中线位置上。
3.2.3 各项分类处理
采用串行处理的方式,依次顺序为:无盖、高盖、歪盖、低液位和环缺陷。一旦某一项检测到异常,则直接退出,返回异常项;如果所有检测都正常,返回结果为合格,并结束流程。
1)无盖:判断瓶盖ROI灰度均值,大于阈值即为无盖。灰度均值在有盖和无盖2种情况下差异较大,阈值比较容易设置,判断结果较为准确。
2)高盖:计算盖顶中心到支撑环拟合线的距离,与设定阈值比较,大于阈值即为高盖,反之合格。
3)歪盖:利用最小二乘法[10-12]拟合盖顶轮廓线,计算其与支撑环拟合线的夹角,与设定阈值比较,大于阈值即为歪盖,反之合格。
4)低液位:对液位ROI做Y方向投影,计算每行像素灰度均值,根据均值可以分为液体区、泡沫区(或者是晃动导致液位倾斜区)和空气区;对泡沫区继续划分,主要参数为泡沫密度阈值,即泡沫点(黑点)的比例,大于阈值即为液体,从而可以得到实际液位。不同产品阈值参数变化较大,如碳酸饮料和乳饮料对应的阈值比纯净水的阈值大很多。
4 试验
在实际生产线进行了项目试验检测,主要步骤:①制作无盖、高盖、歪盖、低液、无环和卷边标准异常品,每种异常品连续测试10次;②实际生产测试,运行0.5 h,现场安排工人将漏检产品拿出,最后人工复检设备剔除的产品,统计相关数据;③人为拆除其中2个旋盖机工位,制造无盖产品,测试异常定位系统。
实际测试结果:无盖、高盖、低液、无环和卷边盖均可检出;连线观察饮料瓶数为15 765,误剔瓶数为15,漏剔数为0,检测准确率99.90%,不良品检出率100.00%,误剔率0.08%;定位系统能够实时显示异常旋盖机工位和缺陷种类,并能查看累计数据,现场测试能够准确定位。测试结果表明,设备符合设计要求,检测能力满足实际生产线质量标准。
图7所示为歪盖检测的效果对比图,左边为正常盖,右边为歪盖。
图7 检测效果图Figure 7 Detection effect diagram
图7中:kcapk表示盖顶斜率,kringk表示支撑环斜率,Δk表示斜率差。
5 结语
针对目前饮料灌装质量检测工作依靠人工目检,存在检查效率不高、检出率低等缺点。笔者设计了基于视觉的PET封盖检测及定位系统。通过反复实验测试表明:采用背光源剪影的成像方式能够有效采集PET封装的图像信息,3相机方案能够满足瓶盖柱面全检测,稳定有效的成像系统有助于算法模块更加高效准确地识别目标缺陷。该设计采用的图像处理算法对硬件要求低、速度快,能够较大程度降低成本。在实际使用中,采用该系统的设备能够有效检测出PET封装线上存在的缺陷并剔除,并能准确定位造成缺陷的旋盖机工位。