朱 明,曾其勇,洪 涛,郑晓峰,吴 凯
(1. 中国计量学院 质量与安全工程学院,杭州 310018;2. 浙江机电职业技术学院 机械工程学院,杭州 310053)
由于奶粉罐制造要经过彩色印刷、焊接、冲压、切割和镀膜等工艺,中间过程会造成包装罐罐体的质量缺陷。因此,奶粉罐在出厂之前必须对罐盖和整个罐体进行质量检测。罐盖可以在同一个平面上完成检测,而罐体内壁的检测则与罐盖不同,复杂的内壁很难实现亮度均匀的照明,罐体内壁缺陷的自动检测较为困难。
本文围绕奶粉罐生产线的实际检测需求,以机器视觉技术为基础,以图像处理技术为主要方法,以LabVIEW为开发平台,开发用于奶粉罐内壁缺陷的在线检测系统,以克服传统人工在线检测带来的各种弊端,提高生产效率及检测准确性,实现实时连续检测。
奶粉罐内壁缺陷检测系统结构如图1所示。系统由光电传感器、工业I/O卡、LED光源、工业相机、镜头、工控机、显示器、声音、灯光报警装置和分析处理软件等组成[1]。
图1 奶粉罐内壁缺陷检测系统构成
检测系统启动,照明光源打开,为检测区域提供照明。光电传感器检测生产线是否运动,并传送信号输入到工业I/O卡。工业I/O卡检测到输入信号,则触发工业相机拍照,工业相机和镜头配合,采集检测区域的图像,并传送到工控机。工控机利用分析处理软件,根据图像判断出产品是否存在缺陷。若判断出产品存在缺陷,则工业I/O卡发送剔除信号到剔除装置,完成对缺陷品的剔除,并亮起报警装置,提醒工人确认。
考虑到罐体材质易反射等特点,选择型号为OPT-RID240的碗状光源(dome light)。该产品具有球积分效果的半球面内壁,均匀反射从底部360度发射出的光线,使整个图像的照度比较均匀,适合于表面反射较强的物体表面检测[2]。此外采用同轴照明方式,该方式对检测高反射的物体特别有帮助,还适合检测受周围环境产生阴影的影响、检测面积不明显的物体[3]。
CCD相机种类繁多,主要参数有分辨率,帧率,外同步与外触发设置等。因为CCD的分辨率会直接影响到整个视觉系统的计算精度,所以设计系统时要进行分辨率计算[4]。本检测系统要求能够适合于口径为φ60mm~φ200mm,不同高度的奶粉罐检测,且检测精度要求1.5mm×1.5mm,检测效率达2个/秒。检测系统的分辨率计算如下:
从式(1)和式(2)可知,只要摄像机的分辨率高于134×134,就能满足此系统的要求。奶粉罐生产线上要求检测效率达2个/秒,系统的检测速度取决于系统内部的运行时间,包括成像时间、运算时间和控制系统时间三部分。选取的CCD相机应具备“异步重置外触发”功能以缩短拍摄时间,本文选用的德国Basler 公司型号为scA780-54gm的Basler千兆网数字相机能满足本项目的检测要求。
位置传感器选用反射式光电传感器,这种光电传感器在没有接收到从反光板反射回来的光束时,就会输出触发信号[5]。采集得到的罐体图像经计算机分析处理后,根据参数得出产品是否合格的结论,并触发剔除装置对不合格奶粉罐予以剔除。
剔除时间的设计,通过配合传送带速度及剔除位置,计算剔除时间,并结合多次试验,对其剔除准确度进行调整。考虑到皮带速度的不稳定性,为提高剔除准确性,在剔除位置增设一个光电传感器,配合图像采集时的光电传感器,对缺陷罐是否准确到达剔除位置予以修正,如图2所示。
图2 光电传感器与剔除装置设计
从获得的照明均匀的罐内图像可以看出,罐内图像可以划分成内壁、边缘、喷胶和底面4个部分,其中罐体内壁被划分为不同大小分离环状区域。如图3所示。
图3 罐体采集图像及其内部区域划分
为了缺陷检测的准确性,本文把标准合格样本的图像作为训练集。从这些标准合格样本的图像中提取检测区域图像的特征量信息(如圆度信息、各ROI检测区域内灰度均值等),作为在线检测时的比较标准。若检测图像特征信息在允许误差范围之外则认为是缺陷。其主要缺陷表现为罐口变形、内壁污垢和划伤等。
首先对采集图像进行图像预处理,滤除噪声干扰并增强图像的对比度,使辨别工作更容易,识别结果更准确;其次,通过最小二乘法检测圆,确定罐口及罐底圆心;通过检测罐口轮廓上的点到圆心的距离的变化量与所设阈值的比较来判断罐口否变形,对于变形的罐体,直接做剔除处理;然后再对罐体内部进行缺陷检测。缺陷检测主要通过对定位图像划分ROI检测区域,并对各子ROI区域分别独立进行Blob分析的方法进行处理,以检测缺陷。若检测缺陷特征值超出允许范围,则系统认为该罐为不合格罐,予以剔除,若在允许范围内,则认为其合格。算法流程图如图4所示。
灰度图像的亮度反差可以使用对比度来表示,对比度可以表示为:
对比度=亮度最大值÷亮度最小值
增强图像对比度实际是增强原图像的各部分反差,也就是增强图像中感兴趣的灰度区域,相对抑制那些不感兴趣的灰度区域[6]。针对奶粉罐图像,图像对比度增强效果如图5所示。
图4 算法流程图
图5 对比度增强效果
在奶粉罐传送过程中,流水线上每个罐内图像中喷胶所在的角度不一样,给内壁区域的提取带来了困难,从而影响了检测的精度,因此必须对奶粉罐进行精确定位。定位的好坏直接影响了图像感兴趣区域的选取,进而影响了罐口特征的提取以及污损判断是否准确。常用的圆心定位方法有重心法、Hough 变换圆检测法和最小二乘圆拟合法三种[7]。通过比较,本文选用最小二乘圆拟合法来进行定位。
最小二乘法拟合圆的检测原理是对边缘检测查找到的边缘点根据最小二乘原理(残差平方和最小)用圆来逼近罐口的轮廓。假设经边缘检测后查找到的边缘点集为P(n),其中n为边缘点的个数,首先设定圆的方程如下:
对于任意一边缘点(xi, yi)的残差ei为:
对于所有的边缘点的残差的的和函数Q计算公式如下:
根据最小二乘原理有:
由此可得到罐口图像对应圆的参数:
由上式可以看出,根据最小二乘拟合圆原理推导出圆心坐标和半径值的检测算法虽然复杂,但是只需要对提取到得P(n)中边缘点循环一次计算就可以完成,时间复杂度为O(n),公式中较复杂的计算半径的运算只需要在x0和y0计算结束后进行一次运算即可,所以该算法的运算速度比较快。
对奶粉罐罐口与罐底图像进行最小二乘法检测圆。图像进行采样,提取边缘点,运用最小二乘法对图像进行拟合,标记出圆心和圆心坐标。如图6所示。
图6 罐口与罐底的定位罐底定位
在完成圆心定位后,再利用hough直线检测算法[8],完成罐壁喷胶的定位,如图7所示。
图7 喷胶区域的定位
本文以LabVIEW为开发平台,结合NI IMAQ的强大功能和NI Vision的图像处理函数库,开发用于奶粉罐内壁缺陷的在线检测系统[10]。软件主界面设计如图8所示。
图8 检测系统主界面
罐口变形是指罐口形状与正圆有较明显的差别,造成变形的原因往往是奶粉罐在制造过程中的冲压,或由于设备的故障导致的卡罐等。对于罐口变形的检测,可以将奶粉罐产品实际的罐口形状与正圆进行比较,求出实际的杯口轮廓与正圆的差别,通过该差别量来判断纸杯是否圆度变形。该算法步骤大体如下:
1)得到奶粉罐罐体轮廓的圆心,设定罐口变形阈值k;
2)对轮廓像素点依次进行扫描,计算每个轮廓点对应的半径;
3)扫描结束时求出罐口轮廓上点对应的半径最大值Rmax和最小值Rmin;
4)对半径最大值最小值作差Rsub,若Rsub 侧壁区域由于高度变化,导致灰度分布不均匀。罐底由于图像采集时有一定角度,导致侧壁反光、阴影等原因也会引起灰度的不均匀。如果直接对原始图像进行污渍检测,由于不同的区域,罐体的灰度不同,从而很难设定一个统一的阈值来检测污渍,因为即使是同一污渍,放在不同的区域,其灰度值也是不同的。 根据奶粉罐内壁结构特点,我们将侧壁分成若区域。如图9所示,将获取的罐体图像分为多个区域,包括:内壁检测区域Ⅰ、内壁检测区域Ⅱ、内壁检测区域Ⅲ、内壁检测区域Ⅳ和罐底检测区域。各区域形成独立ROI检测区域,然后再对各区域图像做进一步分析处理。 图9 罐体图像的检测区域划分 对图像进行感兴趣区域划分后,系统处理时间大大缩短。虽然所处理的图像信息减少了,但所关心的图像特征并没有因为区域的划分而减少,该方法兼顾速度的同时也保证了精度。对于独立ROI区域的缺陷检测,本文采用Blob算法来做分析。Blob算法的核心思想是:在一块区域内把出现“灰度突变”的范围(Blob)的准确位置找出来,并确定其大小、形状及面积等[9]。检测效果如图10所示。 图10 Blob缺陷检测效果 本文基于机器视觉技术介绍了奶粉罐内壁缺陷检测系统的设计,结合生产实际,提出了具体的检测方案。针对奶粉罐内壁特殊结构,设计合适的缺陷检测算法,并完成硬件设备的搭建与软件系统的编写。整个检测系统经过试验认证,取得了良好的效果。 [1] 韩九强. 机器视觉技术及应用[M]. 北京: 高等教育出版社, 2009. [2] OPT Machine Vision.http://www.optmv.com/index.asp. [3] 段峰, 王耀南, 雷晓峰, 吴立钊, 谭文. 机器视觉技术及其应用综述[J]. 自动化博览, 2002, (3): 59-62. [4] 李国伟. 空瓶自动检测系统的研究[D]. 山东大学. 2008, 5. [5] 李旭华. 光电传感器原理及应用[J]. 电气时代, 2004, 9:56-57. [6] Carsten Steger, Markus Ulrich, Christian Wiedemann, 著.杨少荣, 吴迪靖, 段德山, 译. 机器视觉算法与应用[M].北京: 清华大学出版社, 2008. [7] 蒋联源. 随机圆检测快速算法. 光电工程[J], 2010, 37(1):70-75. [8] 段汝娇, 赵伟, 黄松岭, 陈建业. 一种基于改进Hough变换的直线快速检测算法[J]. 仪器仪表学报, 2010, 32(12):2774-2780. [9] 石美红, 王文广. 基于Blob算法的织物疵点检测算法的研究[J]. 现代电子技术, 2010, 24: 29-32. [10] 陈树学, 刘萱. LabVIEW宝典[M]. 北京: 电子工业出版社, 2011.4.2 侧壁和罐底污渍检测
5 结束语