基于机器视觉的膨胀阀安装孔缺陷检测方法

2022-09-15 05:12楼旭东曹松晓蒋庆徐志鹏汤建斌
机床与液压 2022年13期
关键词:灰度轮廓阈值

楼旭东,曹松晓,蒋庆,徐志鹏,汤建斌

(中国计量大学计量测试工程学院,浙江杭州 310016)

0 前言

近年来随着我国制冷领域的快速发展,膨胀阀作为制冷系统中重要的零部件,其生产检测技术获得越来越多的关注。膨胀阀在制冷系统中起着实现冷凝压力至蒸发压力节流的作用,对制冷系统的整体性能有至关重要的影响。为防止生产运输过程中产生的缺陷影响膨胀阀的性能,在出厂前需对膨胀阀各阀孔进行检测。针对安装孔缺陷的检测,目前国内生产企业多采用人工观察、手动剔除的方式,但因其效率低下、可靠性差、漏检率高,严重制约了行业的发展。近年来机器视觉技术凭借其快速性、精确性、智能化等特性已广泛应用到现代工业的各行各业中。在工业4.0的背景下,自动化设备取代人工检测已是大势所趋,且目前行业内针对膨胀阀安装孔的缺陷检测方法较少或尚未成熟。综上,研究基于机器视觉的膨胀阀安装孔缺陷检测方法以替代人工检测具有充分的可行性与必要性。

机器视觉是实现缺陷检测的主流方法之一。基于机器视觉的缺陷检测方法大致可以分为三类:缺陷区域提取、图像对比差分、图像纹理检测。对于缺陷区域提取,余厚云和张辉使用基于连通域的轮廓提取算法和图像分割实现了汽车涡轮壳零件表面的缺陷检测。对于图像对比差分,URBANEK等通过阈值分割提取输气管道表面缺陷,将缺陷特征区域与已知缺陷模板对比,从而提取缺陷。对于图像纹理检测,苑玮琦等通过分析雪糕木棒表面纹理信息的灰度特征锁定缺陷的位置。

对于形如膨胀阀安装孔的圆环结构对象的缺陷检测,汪凤林等通过对获取的轮廓边缘进行计算、拟合与差分,提出了一种飞轮齿圈缺陷和尺寸的检测方法,能够实现缺齿和残齿的定位;项新建等设计一套轴承垫圈表面缺陷检测及分类系统,用最小二乘法圆拟合提取感兴趣区域,基于形状指标和多个阈值实现缺陷提取与分类;黄森林等提出一种基于随机圆拟合评估定位圆心和通过投影特征分区域分割磁滞阈值的瓶口缺陷检测方法。以上提到的方法,其实现均建立在待测对象已从背景中实现理想分割的前提下,且上述方法在检测区分度较小的缺陷时准确率较低,难以应用到膨胀阀这类具有复杂表面对象的缺陷检测中。为此,本文作者主要基于缺陷区域提取的思想,针对膨胀阀安装孔缺陷的成像特点,提出一种高效率、高精度的基于机器视觉的膨胀阀安装孔缺陷检测方法。针对阀体表面较为复杂、轮廓难以提取的问题,使用SURF(Speeded Up Robust Features)特征匹配定位待检测区域;通过基于双阈值迟滞分割法的预处理方法去除噪声,利用Canny算子计算轮廓边缘,并使用邻域生长法提取轮廓信息。为准确定位安装孔圆心,针对缺陷信息的干扰,提出基于几何矩与最小二乘拟合的圆心定位方法。根据轮廓上的点到圆心的距离分割出缺陷轮廓并在输入图像上进行标注,从而实现安装孔缺陷的检测与提取。

1 系统结构

基于机器视觉的膨胀阀安装孔缺陷检测方法,系统硬件主要包括:工业相机、远心镜头、同轴光源、检测平台与计算机。其中,工业相机选用HIKVISION的MV-CA060-11GC工业面阵相机(分辨率3 072像素×2 048像素)。镜头选用灿锐XF-PTL11008-C双侧远心镜头,远心度小于0.04°,光学畸变小于0.095,能较好地抑制图像畸变。光源选用康视达CST-COS25-W同轴光源面打光,相较主流的环形光源,其同轴光源亮度高、光照均匀且能凸显物体表面不平整,能够较好地克服因光照不均匀而产生的阀体金属表面反光造成的干扰。检测系统实物如图1所示。将待测阀体置于检测台面中央,工业相机采集待测图像并输入至软件算法中,实现膨胀阀表面缺陷的提取与检测。系统结构如图2所示。

图1 检测系统实物

图2 系统结构

2 膨胀阀安装孔缺陷检测算法

膨胀阀安装孔缺陷是指在生产、运输或保存过程中由于操作不当而在安装孔附近产生的凹陷、划伤、油污等缺陷。为防止影响膨胀阀的性能,必须对它进行检测和剔除。膨胀阀表面图像如图3所示。

图3 膨胀阀表面图像

在采得图像后,首先使用SURF特征检测算法定位匹配点并根据相对位姿计算提取感兴趣区域(Region of Interest,ROI)。为减小图像噪声的影响和方便随后的轮廓提取,使用包括双阈值迟滞分割法的预处理方法对图像进行预处理。通过Canny算子计算出预处理图像的轮廓边缘并通过区域生长法提取轮廓信息。使用本文作者提出的基于几何矩与最小二乘法的圆心定位方法定位轮廓圆心,并根据轮廓上的点到圆心的距离提取缺陷。最终根据是否提取到缺陷轮廓判断当前检测阀体是否合格。检测流程如图4所示。

图4 检测流程

2.1 特征匹配

膨胀阀图像中,除待检测的安装通孔区域外,还存在其他阀孔以及背景等干扰因素。为提高算法的检测精度和检测效率,需将图像处理的范围限定在安装孔区域内。对于圆形区域的定位,传统的圆定位方法,如Hough变换法,在处理背景复杂的对象时易出现拟合结果偏离真实边缘的问题,从而导致定位错误。为提高定位精度,结合膨胀阀表面各区域相对位置固定的特点,通过SURF特征检测算法定位ROI。将特征性较强的冷凝器口作为匹配模板,对待检测图像和模板图像进行特征点提取和匹配,并根据特征点匹配关系计算变换矩阵,根据冷凝器口与安装孔的相对位姿获取ROI的坐标信息,完成ROI的提取。

2.1.1 匹配点计算

冷凝器口区域特征性较强,因此将完好膨胀阀的冷凝器口图像作为标准匹配模板。确定匹配模板与输入图像的特征匹配关系的方法如下:

(1)构建图像的Hessian矩阵,计算每个像素的判别式值。对于图像(,),其尺度为的Hessian矩阵为

(1)

对应的判别式为

()=-(09)

(2)

式中:为沿方向的高斯二阶偏导在(,)处与图像的卷积,同理。

(2)构造尺度空间,并将每个像素的判别式值与空间邻域内的邻点进行对比。若该点的判别式值为极大点或极小点,则确定当前点为极值点。滤除定位错误与能量较低的极值点后,剩余的极值点即为特征点。计算获得的图像特征点如图5所示。

图5 图像特征点

(3)计算特征点的特征向量,并根据两特征点间特征向量的欧氏距离确定匹配度,欧氏距离越短,匹配度越高。若两点的欧氏距离在设定阈值内,且矩阵迹正负相同,即可确定两点是一对匹配点。遍历模板图像和输入图像的无归属特征点,使所有潜在匹配点完成配对并获得对应匹配点组。

2.1.2 透视变换

透视变换指将图像从原视平面投影到一个新的视平面。将模板图像上的匹配框端点投影到输入图像的视觉平面上,而模板图像和输入图像的视觉平面一般不可能完全配准,需要进行透视变换。变换矩阵的计算公式如下:

(3)

(4)

式中:(,)为模板图像的像素坐标;(,)为变换到输入图像上的像素坐标;′、′为中间变量;、、、为图像旋转、伸缩参数;、用于产生图像透视变换;、为图像平移量。由式(4)可知,只需给定对应的至少4组匹配点的坐标即可求得透视变换矩阵;求得变换矩阵后,根据给定像素坐标亦可求得变换后对应的像素坐标。将前文获得的匹配点组代入式(4)中并求得变换矩阵。以模板图像的边缘制作矩形匹配框,求得模板图像的4个端点坐标投影到输入图像上的对应坐标,根据待检测区域与匹配区域的相对位置信息完成ROI的提取。设匹配区域中心为(,),ROI中心为(′,′),则有:

(5)

式中:为匹配区域中心与ROI中心像素坐标的差值且为已知量,由此计算出ROI中心坐标(′,′),根据设定的矩形区域提取ROI。透视变换与ROI提取效果如图6所示。

图6 透视变换与ROI提取

2.2 轮廓提取算法

为分析缺陷信息,需对安装孔轮廓进行提取。对提取的ROI图像进行灰度转换与低通滤波处理,通过双阈值迟滞分割法对图像进行二值分割。使用Canny算子计算轮廓边缘,并进行闭操作(Close)合并连通区域。对于属于同一轮廓的点,利用区域生长算法进行提取并储存在数组中以便进一步处理。

2.2.1 图像的预处理

图像在采集和传输时往往会受到外界环境的干扰,从而产生噪声;膨胀阀的表面有特殊的纹理噪声和金属反光,亦会影响检测效果。为提高检测效果,在进行缺陷检测前需要对图像进行预处理。图像的预处理方案如下:

(1)对输入的RGB图像进行灰度转换,根据图像各个通道的采样值进行加权平均,计算出灰度值取代原像素值。考虑到人眼的生理特点,选用以下加权系数计算灰度:=0.299+0587+0114。

(2)为减少金属纹理和其他细小噪声的影响,用尺寸为5×5的高斯低通滤波器对图像进行滤波处理。

(3)为增强轮廓、抑制噪声,对图像进行阈值分割。结合实验效果,选用双阈值迟滞分割法对图像进行阈值分割。双阈值迟滞分割法在处理低强度边缘时能较好地保存真实边缘。对于完成灰度转换与低通滤波处理的图像,设其当前点坐标灰度为(,),设低阈值,高阈值。若当前坐标点灰度(,)大于高阈值或小于低阈值,则将其置为0;若(,)介于高、低阈值之间,则保留它的值。该过程可用式(6)表示:

(6)

对于(,)介于高低阈值之间的像素点,搜索其4个邻域,若邻域中存在灰度不为0的点,则认定该点为轮廓真点,将其置为255,否则将其置为0。该方法能够较好地分割轮廓周围微小的缺陷。经实验验证,图像=70、=230时获得最佳分割效果。图像的预处理效果如图7所示。

图7 图像预处理

2.2.2 轮廓信息提取

对完成预处理的输入图像,使用Canny算子计算图像轮廓的边缘像素。为进一步增强边缘信息和合并边缘,对获得的图像进行闭操作(Close)处理,效果如图8所示,图中像素值为255的像素点可视为轮廓点。

图8 提取轮廓

为提取轮廓并储存轮廓信息以便后续计算,本文作者使用区域生长法对图像进行进一步处理。主要流程如下:开始时,遍历并标记轮廓图像的像素,直至获取一灰度为255的像素点,将它作为种子点,以它为中心,沿逆时针方向依次遍历8个邻近点。若某一邻近点的灰度为255,说明该点是轮廓点,将与合并到同一区域内,标记点及其邻点为已遍历点,并定位到;下一次遍历以为中心,重复上述步骤;若当前点邻域内无符合条件的点,则认为邻域内无轮廓点,结束生长。遍历并标记图像所有像素,滤除组成像素小于20的轮廓,实现轮廓信息提取。

2.3 缺陷种类分析

使用第2.2节中提出的轮廓提取方法对缺陷样本进行处理。为更好地分析缺陷,结合安装孔的同心圆环结构与实际检测需求,根据所处位置,将安装孔缺陷分为3类:槽内缺陷、外环缺陷、内环缺陷。完好安装孔与安装孔缺陷如图9所示。

图9 完好安装孔与安装孔缺陷

2.4 圆心定位与缺陷提取

为提取缺陷信息,需先对轮廓的圆心进行定位。理想情况下,安装孔图像是由4个圆组成的同心嵌套圆环结构。但在实际情况中,由于图像畸变的影响,各圆的圆心往往不在同一位置,因此需分别计算各轮廓圆心。由外而内,设外圆环相邻边缘对轮廓为、,内圆环相邻边缘对轮廓为、。对于上述轮廓中的某一轮廓,设其理想圆心为。由于轮廓上可能存在缺陷信息的影响,直接对它进行拟合会产生较大误差。为提高定位精度,本文作者提出一种基于几何矩与最小二乘拟合的圆心定位方法,主要实现步骤如下:

(1)通过几何矩定位轮廓的近似圆心,对于轮廓,其质心坐标(,)的计算公式为

(7)

(8)

式中:为图像的零阶矩;、为图像的一阶矩;(,)为上某一像素坐标(,)的灰度。统计上的轮廓点,根据式(7)、式(8)计算得到对应质心坐标(,),并将质心作为的近似圆心。

(2)缺陷轮廓会对圆拟合的结果产生影响,为避免代入缺陷点使圆心定位结果产生较大偏差,需分离轮廓上的缺陷,剔除不良点。计算轮廓上各点到近似圆心距离的平均值,该过程可用式(9)表示:

(9)

式中:为轮廓上的像素点数;为轮廓上某一点到的距离。由于缺陷的影响,近似圆心较理想圆心存在一定偏差。为防止误将真实圆轮廓滤除,将保留边界扩展3个像素,以为圆心,设定保留半径区间为[-3,+3]像素,滤除区间之外的缺陷轮廓。使用上述方法依次对所有圆轮廓进行处理,滤除各轮廓。处理效果如图10所示。

图10 滤除缺陷轮廓

(3)对滤除缺陷后的4组轮廓分别进行最小二乘圆拟合。对于完成缺陷滤除的轮廓′,其某一像素坐标为(,),设根据最小二乘法求得的拟合圆心为(,),拟合半径为为该点到圆心(,)距离的平方和与拟合圆半径的平方和之差,可用式(10)表示:

(10)

(11)

拟合半径可由式(12)计算获得:

(12)

通过上述方法求得拟合半径后,滤去真实轮廓点,即以(,)为圆心,半径范围为[-3,+3]圆环区域内的轮廓,完成缺陷轮廓的提取。使用上述方法,依次对轮廓、、、进行缺陷提取,并根据是否提取到轮廓,判断样本是否存在缺陷。计算缺陷轮廓的最小外接矩形,在输入图像上进行标注,如图11所示。

图11 缺陷标注

3 实验数据

实验中图像处理部分运行平台为Windows10系统,CPU型号为Inter(R) Core(TM) i7-8750H,主频为2.20 GHz,内存为16 GB,采用开源计算机视觉处理库OpenCV 3.4.1在Visual Studio 2019开发环境下使用C++语言编程实现。运行一次耗时约305 ms,满足现场检测的需求。为验证文中所提出算法的可靠性,设计了圆心定位算法对比实验与缺陷检测效果评定实验。

3.1 圆心定位算法对比实验

文中提出的安装孔缺陷检测方法准确率受圆心定位的精度影响。为验证文中所提出的圆心定位方法的可靠性与精确度,设计如下对比实验。对存在缺陷的某一轮廓,按照逆时针方向搜索其轮廓点,依次将轮廓点的坐标存入数组中并进行编号,该过程如图12所示。计算所提出的圆心定位方法定位的圆心坐标到轮廓各点坐标的距离,并与最小二乘圆拟合法、质心法求取的圆心坐标到轮廓各点坐标的距离进行比较,结果如图13所示。可知:相较最小二乘圆拟合法与质心法,文中方法对应曲线更为平滑,说明文中提出的圆心定位方法能够有效对抗缺陷的不良信息对圆心定位的干扰,定位精度较高。

图12 轮廓点坐标存入

图13 圆心定位算法对比实验

3.2 缺陷检测效果评定实验

实际检测时,缺陷的尺寸可根据需求定义,在文中的实验条件下(0.026 mm/像素)认为缺陷提取后周长大于0.26 mm的轮廓即为缺陷。取槽内缺陷、外环缺陷、内环缺陷样本各一枚,实际检测效果如图14所示。

图14 膨胀阀安装孔缺陷检测效果

存在多种缺陷的混合缺陷样本检测效果如图15所示。

图15 混合缺陷样本检测效果

经实验验证,本文作者提出的算法能够准确检测膨胀阀安装孔缺陷,满足工业生产自动化检测的需求。

4 结语

本文作者提出了一种基于机器视觉的膨胀阀安装孔缺陷检测方法。通过SURF特征匹配算法定位ROI,使用基于双阈值迟滞分割的方法对图像进行预处理,通过Canny算子计算轮廓边缘,并使用邻域生长法提取轮廓信息。为准确分割缺陷轮廓,提出了基于图像矩与最小二乘拟合的圆心定位方法,能够有效对抗缺陷的干扰,并根据轮廓上的点到圆心的距离分割出缺陷轮廓并在输入图像上进行标注。实验测试表明文中所提出的缺陷检测方法能够准确提取安装孔缺陷,能够满足实际生产中膨胀阀安装孔缺陷自动检测的需求。同时该算法也存在不足之处,当缺陷面积较大时,可能出现缺陷的误标注。引起该问题的原因是缺陷引起图像质心偏移量过大,导致缺陷轮廓误提取,但并不影响该算法的缺陷识别率。后续的研究将致力于解决该问题,并提高算法对膨胀阀各孔位缺陷的普遍适用性与缺陷检测的准确性。

猜你喜欢
灰度轮廓阈值
非平稳声信号下的小波变换去噪方法研究
非均匀光照下文本图像分割算法研究
天津港智慧工作平台灰度发布系统和流程设计
华为“灰度”哲学
Arduino小车巡线程序的灰度阈值优化方案
跟踪导练(三)
利用迭代软阈值方法抑制恒时演化类核磁共振实验中的采样截断伪峰
两种改进的局部阈值分割算法
儿童筒笔画
一种基于灰度分割的调焦评价函数