胡益旻,吴瑞明,傅 阳,柴亚珂
(浙江科技学院 机械与能源工程学院,杭州 310023)
密封性是密闭容器的重要性能指标,常见的检测方法有人工检测、高压检测[1]、光学检测和超声检测等[2]。人工检测仅根据恒温水中一定时间内的气泡产生情况进行判断,因此准确性低、随机性强。高压检测通过加压、观测压力变化特征进行检测[3],如制动钳气密性检测[4]、发动机进气门气密性检测、橡胶制品气密性检测等[5-6],该方法可以迅速找到泄漏点,但不适合检测体积大的设备[7]。光学检测,如采用红外热成像法对气密性进行检测,作用距离远、抗干扰能力强,但它只能判断设备表面的缺陷信息。基于超声的密封性检测[8],如美国的Javid Huseynov团队[9]通过计算漏孔声强和声压来确定漏孔的准确位置和大小,实现密封检测的量化分析,但该方法抗干扰能力弱,容易造成误检。另外,还可采用卤素检测仪[10]等专用设备检测气体泄漏,专用设备的检测灵敏度高,但成本也较高。总体而言,已有检测方法操作较为复杂,数据采集受试验环境和试验设备影响较大,实用性一般。视觉检测作为一种新的检测方法,可以在恒定的条件下对检测结果进行量化分析,且采用非接触测量,不需要固定参考值,对每种状态都可以进行分析,避免固定参考值带来的误差,增强了检测的可靠性[11]。因此,本文采用机器视觉检测方式,通过对恒定水温下产生气泡的运动特征分析来检测浮球密封性。
机器视觉检测系统包括采集装置、照明装置、图像处理系统、通信装置及执行装置[12]。采集装置根据视野面积及检测精度对相机和镜头进行选择,由于获取较好的视野范围才能有较好的检测精度,因此要确保视野范围内均有图像出现,且无其他干扰因素。照明装置根据现场的检测环境,利用工业光源减少自然光带来的光线干扰。同时,不同的光源对成像的质量也有较大的影响,高质量的打光可以通过光源角度、大小、种类及颜色等让检测特征更加突出,从而满足取图要求。图像处理系统通过连续图像相减和形状滤波灰度匹配实现气泡有无的判断,并建立高斯混合模型以实现气泡运动特征的分析和气泡数量的统计。通信装置是对检测信息的结果反馈,根据判断条件得到的结果与上位机之间进行通信,通信传递信息包括数据、坐标及结果。常用的通信方式包括IO通信、串口通信及TCP/IP通信。IO通信只是对结果做出1和0判断;串口通信和TCP/IP通信都可以对数据信息进行传递。本文选择的通信方式是IO通信,是在没有坐标和数字信息的情况下,以最简单的结果传递每个浮球的最佳通信方式。执行装置包括旋转电机、浮球载具、水浴锅不合格品剔除装置。检测论证过程是将检测物体放入浮球载具,由旋转电机带动载具和浮球进入水浴锅,待静置3 s后,相机开始拍照取图,对得到的图像进行软件分析。采用形状滤波匹配算法先对图像进行运算,再对运算得到的二值化图像[13]进行图形的运动特征查找,在查找过程中利用高斯混合模型(Gaussian mixture mode,GMM)分类过滤处理,最后完成过滤后的各状态的特征匹配。
浮球因泄漏在水里产生气泡,气泡在不断上升的过程中,由于压强的变化而逐渐膨胀,最后变成固定形态漂浮在水面。在气泡检测的过程中,通过图像运算得到不同阶段气泡的二值化图像。图像运算时,依托两幅图像或多幅图像点对点运算,根据灰度值之间的差异进行加、减、乘、除运算,得到输出图像。
黑白相机取图的灰度值范围通常为0~255,而在图像运动过程中灰度值只会在区域内发生变化,根据变化的值,给定阈值,进行差分图像相减运算,即减去图像变化过程中的相似部分,得到差异部分。检测选用130万像素的高帧率相机,相机分辨率为1 280 pixel×1 024 pixel,针对视野范围内1 280×1 024个像素点进行逐个像素点相减。
图1 气泡检测工位图
气泡运动过程中,由于选择高帧率相机,理论帧率150帧/s,在对图像继续运算时,去除图像相加减的初帧图像和终帧图像,帧率为148帧/s。对每秒采集到的148帧图像,采用文献[14]的方法进行差异分析。考虑到效率,我们把检测分为5个工位,如图1所示。
在符合设定的水温下,将5个检测工位分别浸入水中,静置3 s后,相机开始连续拍照取图,同时进行连续处理,分别得到气泡产生的4种状态,如图2所示。
图2 气泡产生的4种状态
图像运算定义如下:
I(i,j)=|Ii-Ij|。
(1)
式(1)中:I(i,j)为单个像素根据阈值φi进行像素点相减得到的像素值。相减后,若I(i,j)小于阈值,则输出灰度值为0;若I(i,j)大于阈值φi,则输出灰度值为255。再根据二值化的像素点个数,生成对应的二值化图像。
由于每帧图像相减得到的图像各不一样,所以再根据每帧的图像特征对相应的图像特征进行匹配。完成特定数量的图像匹配后即可得到气泡的检测结果。
在气泡运动过程中,经过图像运算后得到二值化灰度图像,每帧二值化图像均伴有气泡依运动轨迹由产生到变大到稳定漂浮的状态变化。而在选取特定的状态特征图像时,根据运动状态做相似度匹配,若相似度匹配依据图像灰度值进行,则称为灰度值模板匹配[15]。
相似度由绝对误差和gSAD、误差平方和gSSD两个函数来衡量[16],计算公式如下:
(2)
(3)
式(2)~(3)中:t(u,v)为模板图像的u行v列的灰度值;f(r+u,c+v)为待测图像的r+u行c+v列的灰度值。
由式(2)~(3)可知,模板图像的灰度值t(u,v)与待测图像的灰度值f(r+u,c+v)越接近,gSAD和gSSD越小,相似度越高。
在视觉检测中发现,自然光的光照变化对待测图像灰度值有较大的影响,光照越强,图像越亮,灰度值变大;反之,灰度值变小。待测图像灰度值的变化引起相似度函数值波动,造成匹配误差。为消除检测过程中自然光对图像灰度值的影响,采用归一化处理,以降低图像灰度值的亮度敏感性,增强鲁棒性。归一化相关系数ZNCC表述如下:
(4)
图3 特征匹配处理
通过计算得到-1≤ZNCC≤1。当ZNCC(r,c)=1时,模板与待测图像极性相同(如模板为白色对应图像也为白色);当ZNCC(r,c)=-1时,模板与待测图像极性不相同(如模板为白色对应图像却为黑色)。图3为基于黑色图像提取白色模板信息的图片。
由于气泡运动特征图像是由图像运算而得,根据气泡产生的速度和大小不相同,需要在基于特征模板的选取上确定真实的边缘。通常需要根据图像对应的灰度值找到对应黑白图像亚像素边缘。在边缘查找时,由于边缘的黑色点或者白色点属于离散点,因此首先需要对离散点进行数据统计分析[18]。若要找到边缘,则需找到该直线的线性回归方程进行计算。直线方程如下:
(5)
选取边缘局部图像如图4(a)所示,其灰度值范围如图4(b)所示,最小值为1,最大值为40。
图4 边缘局部灰度图及边缘局部灰度值分布
再选取图3完整图像做灰度值范围分析,如图5所示,最小值为1,最大值为77。根据灰度值直方图分析数据,得到边缘灰度值的变化范围为1~77,阈值为5的边缘拟合,如图6所示。
图5 灰度值范围
图6 边缘拟合点位置
在完成特征匹配后发现,在5个浮球的气泡产生时,气泡的特征轮廓有其他干扰条件,导致匹配成功率不高。产生影响的原因是气泡产生较小,特征不明显,而且这个气泡产生时是非连贯的,即单位时间内可能只出现1个气泡,而非连续气泡;气泡的波动也会在水面波动的时候使得背景特征显现。考虑到效率原因,检测静置时间选取合适范围,避免过长时间的等待导致较小的气体泄露时产生的气泡趋于饱和。
图7 处理前气泡产生状态
为解决背景特征的影响,对气泡形态特征进行图像处理,即排除其他无关形状的干扰,在已经形成的特征中对气泡进行选取。对处理之前的图像进行灰度反转,以突出检测颜色的特征,如图7所示。由图7可知,左侧的其他条件及背景特征对检测有所干扰,因此需排除明显不同之处以减小特征匹配时其他条件造成的干扰。
利用GMM即高斯概率密度函数精确地量化事物[20]。一维高斯概率密度函数方程为
(6)
式(6)中:π为权值因子;δ为标准差,也称高斯半径;δ2为方差;μ为均值。μ决定正态曲线的中心位置,δ决定正态曲线的陡峭程度。
高斯混合是单高斯混合模型加权组合(维度一般不超过15),GMM能够平滑地近似任意形状的密度分布,密度函数如下:
(7)
经过GMM分类器后,得到的图像滤出圆形特征外的其他特征,获得检测区域内的圆形特征。处理后的图像如图8所示。测试200组图像进行图像运算及GMM分类器后的暗部像素点,即气泡轮廓像素点取值范围,对处理前后像素点范围内气泡数量进行统计,数据见表1。
图8 GMM分类器处理后的图像
表1处理前后气泡个数变化对比
Table1Bubble number change before and after processing
像素点范围处理前气泡个数处理后气泡个数0~1803349181~500 4568501~1 500 48571 501~3 000 7426
在进行GMM分类器分类后,再对图像进行运算,抽取运算后的特征匹配并应用到5个浮球,对5个浮球做检测。在对上百组样品进行测试后,有气泡和无气泡的状态明显区分。进一步通过划分区域,防止浮球不在的区域产生瞬间的小气泡而对浮球的气泡检测造成干扰,从而影响浮球检测。
表2检测效率统计
Table2Detection efficiency statistics(个·min-1)
批次人工检测效率视觉检测效率1122721533317334143351827
浮球密封性检测包括放料、静置、挑选、继续静置、再次挑选等步骤。人工检测与视觉检测的效率对比见表2。在实验室条件下,采用人工检测可同时检测2个浮球,一个检测周期约11 s(包括放料时间6 s、静置时间3 s和检测时间2 s),检测效率约11个/min;采用视觉检测可同时检测5个浮球,一个检测周期约14 s(包括放料时间9 s、静置时间3 s和检测时间2 s),检测效率约21个/min,采用视觉检测还可避免因疲劳等原因造成的漏检现象。在生产企业员工熟练操作之后,视觉检测效率较实验室情况还有小幅的提升。
视觉检测时存在人工放料时间较长(9 s)的问题,因此在后续改进中,可利用机械手上料,传感器触发,全面替代生产工人,从而实现全自动化生产。
本检测系统对气泡产生的整个过程进行分析,基于不同运动状态的气泡特征,用形状滤波匹配算法进行分析判断,按设定阈值判断是否合格。视觉检测一次同时对5个浮球进行检测、剔除和分料,满足工业自动化要求。当具备恒温下会产生气泡的特性时,检测浸入水中的其他产品均可用此方法进行判断,从而提高生产效率。但对一些水面晃动的情况,需要进一步通过过滤的方式进行抽取、检测,以达到最佳提取效果。因此,在图像滤波算法上还有很大的改善空间。