基于机器视觉的注塑齿轮缺陷检测系统研究*
2022-09-22林洪毅卞抱元赵紫阳唐旭晟
陈 硕,林洪毅,卞抱元,赵紫阳,唐旭晟
(福州大学 机械工程及自动化学院,福建 福州 350116)
0 引 言
对于注塑方式生产的齿轮,由于生产加工中的进料调节不当、料量不足、模具缺陷等原因,会造成加工出的齿轮存在缺料、毛刺、飞边等缺陷[1]。作为常用的传动件,上述缺陷会导致齿轮的工作精度下降,降低整台机器的可靠性。因此,缺陷齿轮在出厂或者装配前应及时被剔除。
目前,国内注塑齿轮生产企业主要依靠人工目测的方式来剔除缺陷齿轮。人工检测的方式不仅效率低、易漏检或误检,而且无法精确统计缺陷部位的发生概率,工人无法及时有效调整设备和工艺。装配了缺陷齿轮的产品无法正常工作,而重复检验增加了人工成本,从而降低了生产效率和企业竞争力。
基于机器视觉的检测方法凭借其速度快、精度高、稳定性好等优点,目前被广泛应用于机械领域中。文献[2]219研究了基于非下采样Contourlet变换的自适应阈值去噪算法,代替高斯滤波对图像去噪,提高了边缘的自动化检测能力;但该算法具有一定的复杂度,降低了最终的边缘提取速度。高韩等人[3]提出了一种在Canny算法中加入高斯滤波的方法,使得图像的信噪比与图像的边缘连续性进一步得到了加强;但是该算法比较复杂,同时对光照条件的要求也较高。吴晓军等人[4]提出了一种应用图像金字塔的搜索策略,用来对算法进行加速,以边缘点亚像素坐标及梯度向量作为匹配信息,得到了亚像素级的定位精度和精确的旋转角度信息;但该方法需要重复匹配,计算过程复杂。文献[5]研究了一种基于机器视觉的缺陷在线检测系统,可通过工业IO卡发出剔除信号,把不合格品剔除生产线;但该方法采集的图像不够清晰,容易导致缺陷信息丢失。郑硕文等人[6]提出了一种基于机器视觉,通过多传感器相互协调工作的齿轮缺陷检测系统,但该系统响应时间长、时间误差大。杜猛[7]提出了一种结合图像处理与深度学习技术的齿轮齿顶圆柱面缺陷检测方法,但该方法抗干扰性弱,易受到环境的影响。蔺志敏[8]提出了一种利用齿轮边缘差异的对比,通过对齿轮缺陷进行LOG边缘检测,从而实现齿轮缺陷检测的方法;但其存在边缘分割模糊、误判率高等问题。
上述文献中的检测方法大多存在算法复杂、检测正确率低、响应时间较长等问题,因此,仍需对其进行进一步的改进与优化。
笔者以水表齿轮为研究对象,将机器视觉的技术应用于齿轮缺陷的非接触在线检测中,以解决当前人工检测所存在的问题,并提高检测效率和准确率。
1 视觉检测系统组成
该视觉检测系统主要由振动盘、转动传输装置、光电传感器、成像系统、视觉处理系统、下位机控制系统和剔除装置等组成。
该视觉检测系统的结构框图如图1所示。
图1 视觉检测系统结构框图
由图1可以看出:待检测的齿轮通过振动盘依次传送到转动传输装置上,转动传输装置带动齿轮转动,待齿轮经过光电传感器时,触发工业相机拍照,相机将图像传输给电脑,由视觉处理系统对该图像进行检测和判别该齿轮是否合格。如果该齿轮有缺陷,视觉处理系统会向下位机(单片机)控制系统发出剔出信号,剔除装置将次品齿轮从生产线上剔除。
齿轮传输部分负责将待检测齿轮送往传送轨道上,并送到检测工位以及剔除工位。
检测系统的三维结构示意图如图2所示。
图2 系统三维结构示意图
齿轮缺陷检测系统在线检测存在以下难点:
(1)根据算法要求,需要提取齿轮的边缘轮廓信息。将相机拍摄的图片转为灰度图后需要边缘信息明确,便于实现准确地提取,因此,对背景颜色有一定的要求;
(2)齿轮的在线检测需要通过传感器触发相机拍照。由于齿轮传输速度以及传感器的响应和延迟等因素,需要在触发拍照时齿轮刚好到达相机的正下方,以便拍出完整的齿轮图像。
由于待检齿轮均为浅色,转盘选用了黑色硬质材料,这样齿轮的轮廓信息就变得突出,便于提取轮廓边缘信息。
反射式光电传感器固定在转动传输装置上,且传感器位置可调,笔者通过计算齿轮传输速度以及实验,确定传感器最佳位置并加以固定,保证拍摄时待检齿轮位于相机镜头的正下方。
2 齿轮图像的预处理
齿轮图像在拍摄过程中,不可避免地会受到光源、齿轮颜色或其他噪声的影响。同时,为了方便后续缺陷检测的进行,对于拍摄的齿轮图像需要进行一些必要的预处理,其中主要包括图像平滑处理和边缘提取。
2.1 图像平滑处理
通过相机采集得到的原始图像包含不同程度的噪声,这些噪声会对图像造成很大的干扰,因此,需要对图像进行平滑处理。平滑处理主要有两种方法,即中值滤波和均值滤波[9]。笔者采用3×3中值滤波器对相机采集的图像进行平滑处理。中值滤波的原理是将模板内像素灰度进行排序,取其灰度中值代替原图像目标像素灰度值。
中值滤波计算过程示意图如图3所示。
图3 中值滤波计算过程示意图
中值滤波的数学表达式为:
(1)
式中:G(x,y)—滤波后图像灰度值;I(i,j)—原图像灰度值;Sxy—滤波窗口。
由于中值滤波是选取模板中所有像素点的灰度中值,所以模板内灰度值较高或较低的噪点均不会对目标像素最终灰度值造成很大影响。因此,采用该方式能够去除脉冲型噪声,保留边缘等细节信息。
2.2 边缘提取
在数字图像处理领域,有不少用来检测图像里物体边缘的算法,如Sobel算法、Prewitt算法、Laplace算法、Robert算法、LOG算法以及Canny算法。其中,又以CANNY J F于1986年开发出来的Canny算法应用最为广泛。由于它提出了定义最为严格的边缘检测3个标准,其算法运行效率很高。因此,在此处笔者选用文献[2]220中的Canny边缘检测算子,完成对边缘信息的提取工作。
在实际工作中,Canny算法需要满足3个最优准则:信噪比准则、定位精度准则、单边响应准则。
利用以上3个准则,推算出最优边缘检测算子的一个近似实现,能降低单个边缘产生的多响应的概率,并且能够最大限度抑制虚假边界影响。
Canny算法的内容主要有:高斯平滑、梯度计算、非极大值抑制、双门限检测。
高斯平滑利用函数如下:
(2)
笔者构造滤波器得到理想的掩模,并通过标准卷积实现高斯平滑;同时,计算出梯度的幅值及其方向,并进行非极大值抑制。
在整个过程中,要找到图像梯度局部极大值点,并将非极大值点置零,以得到细化边缘。
其计算公式如下:
Px(i,j)=[I(i,j+1)-I(i,j)+
I(i+1,j+1)-I(i+1,j)]/2
(3)
Py(i,j)=[I(i,j)-I(i+1,j)+
I(i,j+1)-I(i+1,j+1)]/2
(4)
(5)
θ(i,j)=tan-1[Px(i,j)/Py(i,j)]
(6)
式中:Px(i,j),Py(i,j)—x和y方向上一阶偏导数;M(i,j)—该点像素的梯度幅值;θ(i,j)—该点像素的方向。
双门限检测通过图像的直方图和给定的高低阈值系数分别计算出高低阈值,利用高阈值和经过非极大抑制后的图像进行比较后,记录边缘点;同时,在其8邻域内迭代找出大于低阈值点,作为边缘点。
但在实际操作中,提取出来的边缘往往包含不想要的细节或者不需要的边缘。
通过Canny算子得到的原图及其目标边缘的提取,如图4所示。
图4 原图及其目标边缘提取
这里只需要大齿轮轮廓边缘,其中,图4(b)和图4(c)都是提取出的边缘,后者为单纯的边缘提取元素,可以清晰地看到,这里除了笔者所需的大齿轮边缘,还包含了用不到的小齿边缘以及一些没有意义的边缘弧及线段和边缘小点;笔者通过边缘面积特征即含像素点数目,以选出所需的大齿轮边缘。
最后提取的边缘效果如图4(d)所示。
3 缺陷检测
3.1 模板匹配
模板匹配是指一种用于在源图像S中寻找或定位给定目标图像T(即模板图像)的技术[10]。其实现的一般过程包括:图像预处理创建RIO、准备并生成模板图像、创建模板、匹配或寻找模板、误差位置角度尺度以及分值的获取。
笔者在该算法中的模板匹配主要利用的技术包括:形状匹配、图像金字塔匹配和带旋转和缩放的模板匹配。
形状匹配的处理思路有两种:(1)利用边缘轮廓模板匹配,通过计算图像边缘点与模板边缘点之间的距离作为相似度。该方法不受目标物体在图像中被遮挡和干扰的影响;(2)基于像素点方向的向量匹配,该方法一般不受边缘提取的影响,也能适应部分遮挡和非线性光照变化的影响。该方法利用模板像素点的方向向量与图像相应点位置的方向变量做点积的总和值,作为相似度匹配的分值。
图像金字塔匹配是实现匹配的一种快速搜索策略[11]。在实际的操作过程中,将图像多次缩小2倍,并将每次缩小的图像由大到小依次向上堆放,形成所谓金字塔;同时,该方法可利用均值滤波器来提高金字塔构建速度。
带旋转和缩放的模板匹配技术是为了解决图像中目标物体的方向或大小与模板不同的问题。它的核心思想就是创建多个方向的多种尺寸的模板,将搜索空间离散化进行匹配。在实际操作中,方向和尺寸变化会分别根据设定的角度步幅和尺寸变化范围,以此来创建多个模板。
此处笔者通过一个标准水表齿轮的大齿作为模板,提取其边缘轮廓,作为后续匹配算法的模板。
模板匹配如图5所示。
图5 模板匹配
图5(a)为一个标准齿轮提取出的边缘轮廓。笔者采用的方式为:先采用图像金字塔对模板进行分层搜索,得到模板的一个大概位姿,然后使用次高层的图像和模板在这个大概位姿附近进行更准确的搜索,最后用形状匹配获取其局部信息,利用该信息进行形状间相似度度量。
该算法中的模板匹配主要是为了找到待匹配齿轮和模板之间的位姿关系。模板和待匹配齿轮的位姿如图5(c)所示。其位姿计算说明如下:
在模板轮廓上取两个齿的顶点,且这两个齿的顶点在同一直径上,记为(x1,y1),(x2,y2),同样在提取边缘后的带匹配齿轮上取两个齿的顶点,记为(x′1,y′1),(x′2,y′2),则计算公式如下:
x0=(x1+x2)/2
(7)
y0=(y1+y2)/2
(8)
Δx=x0-x′0
(9)
Δy=y0-y′0
(10)
式中:x0,y0—圆心的横纵坐标;Δx,Δy—模板与带匹配齿轮的圆心横纵坐标差值。
由此进一步可推出:
θ=arctan[(y2-y1)/(x2-x1)]-
arctan[(y′2-y′1)/(x′2-x′1)]
(11)
(12)
式中:θ—模板与带匹配齿轮两者间的角度差;S—模板与带匹配齿轮两者间的缩放比例因子。
笔者再取与前段直径相垂直的直径上两齿顶点,重复式(7~12)进行对比,便可得另一方向上的缩放因子。
3.2 放射变换
经过上述的模板匹配操作后,可以得到关于模板和齿轮图像目标图形即其齿轮廓之间的位置和角度关系,即可利用放射变换[12-13]将之前提取的边缘图形和模板图形变换到一起,实现后续操作。而放射变换主要分为3种变换:平移变换、缩放变换和旋转变换。3种变换都可以用矩阵来进行描述。
对于平移变换,有:
(13)
式中:x1,y1—圆心变换后的横纵坐标;Δx,Δy—两个坐标方向上平移变化量;x0,y0—圆心变换前的横纵坐标。
对于缩放变换,有:
(14)
式中:Sx,Sy—缩放比例因子。
对于旋转变换,有:
(15)
放射变换效果图如图6所示。
图6 放射变换效果图
其中,图6(a)左上角轮廓是以标准齿轮为模板的边缘轮廓,右下角轮廓是在待检齿轮上提取的边缘轮廓。图6(b)为应用放射变换后的效果,图中模板边缘轮廓和待检齿轮边缘轮廓几乎完全重合,效果很好。
上述两者重合的单个齿局部放大图如图6(c)所示。
3.3 Hausdorff距离
Hausdorff距离是由德国数学家HAUSDORFF F提出的一种能顾及空间目标整体形状的的距离度量[14-18],现在广泛应用于衡量两个集合之间的差别。
对于给定的两个有限点集A={a1,a2,…,an}和B={b1,b2,…,bn},A和B之间的Hausdorff距离H(A,B)定义为:
H(A,B)=max[h(A,B),h(B,A)]
(16)
式中:h(A,B)—点集A到点集B单向的Hausdorff距离;h(B,A)—点集B到点集A单向的Hausdorff距离。
其数学表达式如下:
(17)
(18)
式中:‖·‖—点集A和点集B间的距离范数,一般是利用欧几里得空间下的L2范数。
因此,可以利用Hausdorff距离来提取模板和待检齿轮外轮廓间的最大误差,用该最大误差对后续次品进行检测。
3.4 次品判别
综合前文所述,笔者提出了一种基于机器视觉的水表齿轮缺陷检测算法[19]。
齿轮轮廓的缺陷主要是缺料和毛刺等原因所导致的齿廓形状误差,通过边缘提取、模板匹配、放射变换和Hausdorff距离等原理,计算出待检齿轮齿廓和模板之间的误差。笔者通过设置一个偏差极限值作为缺陷辨别标准,以实现缺陷检测与判别。
次品检测如图7所示。
图7 次品检测
算法中,针对缺陷辨别设置一个变量集,若是待检齿轮轮廓和模板对比计算出的Hausdorff距离值超过极限值,则超过的部分将写入该变量集中;若是没有超过,则该变量集为空集,即可利用该变量集是否为空集,对待检齿轮是否为次品进行判断。
图7中的断续线段就是检测齿廓和模板对比超过设定值的部分的集合,此时该齿轮为次品;若该集合为空,就判定为合格品。
4 实验及结果分析
为了评估上述基于机器视觉检测方法的效果,笔者对该系统进行测试实验。
实验装置设置如图8所示。
图8 实验装置设置
4.1 机械传送部分调试
机械传送部分的正常运行是视觉系统正常工作的基础,该部分主要需保证齿轮传送的速度,以保证视觉系统的检测速度。
传送部分中,转盘由步进电机控制转速到一个设定的理想值,但是从振动盘传送过来的齿轮速度和设定的电压有关。同时,笔者增加了吹气装置,以提高传动速度,吹气装置是利用送气的软管对着传送齿轮方向吹气协助传送,齿轮经过吹气装置时,由于受到气流的作用,从而加快了齿轮运动速度,并提高了齿轮的平稳性。
笔者通过调试电压和有无吹气辅助,确定一个最佳的电压值和是否增加吹气功能。
振动盘速度调试记录如表1所示。
表1 振动盘速度调试记录
根据调试结果,振动盘速度在电压120 V且有吹气辅助下的效果最佳。
4.2 视觉系统调试
相机采集的齿轮图像要占据视场的大小和配合光源光亮强度。为提高其精度,笔者希望齿轮图像的视场占据尽量大,但是由于齿轮图像是通过传感器触发拍摄的,所以为了保证每次都能拍到完整的齿轮图像,视场占据不能过大。通过实验后可知,齿轮大约占据视场2/3至3/4的范围。
在检测大齿轮时,光源的强度大,可以突出大齿轮的特征;而检测小齿轮时,需要光源调暗,使小齿轮的边缘对比度最大化[20]。
传感器位置布置示意图如图9所示。
图9 传感器位置布置示意图
调整传感器和相机的相对位置是最为关键的一步,影响着检测系统正常的运行。两者的相对位置应该满足在以传动系统带着齿轮传动的正常速度经过传感器时,触发相机能采集到完整的齿轮图像。但是无论是传感器还是相机,它们在接收到信号再发送信号都会有一定的延迟,因此,笔者通过计算得出相机的中心到传感器的最佳布置距离。
其计算公式如下:
(19)
式中:S—相机的中心到传感器的最佳布置距离;D—齿轮的大齿直径;V—转动传送装置的线速度;T1—传感器的延迟时间;T2—相机的延迟时间。
4.3 实验结果分析
在实验中,笔者一共采集300个齿轮测试样本,测试结果如表2所示。
表2 测试结果
其中,合格与不合格齿轮各有150个。检测系统依次采集了这300个齿轮的图像,原图像的大小为640×480像素,该插图由截取而来,其大小均为260×260个像素。
该实验在Window7系统、Visual Studio2010平台上进行,电脑配置Intel(R)Pentium(R)处理器,3.00 GHz主频,4 G内存。笔者的算法由C++语言环境编写实现,且单个图像检测时间低于40 ms,最短时间为29 ms,可以满足生产线实时检测要求。
5 结束语
目前,通过人工的方式检测齿轮缺陷过程中,存在检测效率低、人为因素影响大等诸多问题,为此,笔者提出了一种基于机器视觉技术的水表齿轮缺陷检测算法,通过利用广泛的Canny算子提取出了待检齿轮的轮廓,再通过模板匹配获取模板和待检齿轮间的位姿参数,同时利用放射变换将模板和所提取的齿轮轮廓变换到同一位置,最后通过计算两者的Hausdorff距离,根据所要求的极限值大小,对待检齿轮进行了次品判别。
研究结论如下:
(1)该方法检测速度快。与传统视觉检测算法相比,该算法响应时间短,单个齿轮的检测时间不超过40 ms,最短时间为29 ms,可以满足生产线实时检测要求;
(2)该方法准确性高。正确判别水表齿轮数量多,且误检率低于2%,漏检率低于1%,能极大地提高检测效率和检测准确性;
(3)该方法工程应用价值较高。不仅可以保证产品的质量,还可提高生产效率,降低成本。
在下一阶段,笔者计划将该方法应用于实际水表齿轮生产线的在线检测系统中,以对其在线检测功能进行验证,并对系统进行优化。