基于机器视觉的齿轮尺寸在线测量系统
2021-05-07王德祥张周强管声启
王德祥, 张周强, 管声启
(西安工程大学 机电工程学院, 陕西 西安 710048)
齿轮是机械设备中最常用的重要传动部件之一,齿轮的精度直接影响机器的工作性能和使用寿命。齿轮的精度不仅与齿轮设计加工有关,还与尺寸的测量有关。伴随着整个机械加工行业的技术升级,对机械制成品的检验和测试提出了更高的要求[1-2]。例如Di Leo等[3]研制的用于工业制造的在线质量监控视觉系统,该系统利用2个方向的相机对电机部件进行检测,实验结果表明该系统达到了0.02 mm的测量精度;韩向可等[4]使用最小二乘法对零件进行处理,得到的测量误差小于0.03 mm;李雪娇等[5]使用机器视觉对大型零件尺寸进行测量,基于Canny算子提出了一种改进的单像素边缘检测方法,测量误差为0.536 mm,测量结果在误差范围内。然而,大多数的研究仅限于方法研究,并没有相应的物理系统。因此,针对这种情况,课题组设计了齿轮的高精度测量系统,提高了测量精度。
机器视觉是一种现代检测技术,它使用工业相机CCD代替人眼;工业相机CCD处理待检测物体的图像,将图像信息转化为数字信号,并从中提取所需的特征,从而实现对被检测物体状态的检测[6]。随着数字处理技术及人工智能的发展,人们对产品质量和效益有了更高的要求,找到提高产品质量和加快检测速度的方法也是非常重要。
1 系统设计
机器视觉系统由CCD相机、照明系统、旋转平台、图像处理模块、控制模块和分离模块组成,总体系统配置如图1所示。
图1 基于机器视觉的齿轮尺寸检测系统Figure 1 Gear size measurement system based on machine vision
1.1 相机的选择
使用奈奎斯特准则,所需的图像分辨率为
(1)
1.2 镜头的选择
根据图2的视场和物距关系,使用式(2)计算出所需要的焦距,以此来进行镜头的选择。
(2)
图2 光学原理Figure 2 Optics principle
CCD相机选用大恒的MER-500-14U3M-L型号,镜头选用computar的MACRO 10X型号,如图3所示。旋转装置是由220 V的直流电机、调速器、载物台和黑色背景衍生而来,如图4所示。旋转装置的用途是使放在载物台上的齿轮进行多角度的拍照,避免光照或者其他不利因素影响图像的采集。
图3 CCD相机Figure 3 CCD camera
图4 旋转平台和分离装置Figure 4 Rotating platform and separation device
控制模块采用单片机,如图5所示。单片机控制系统选用89C51单片机,并利用CH340G芯片实现USB转串口;目的是通过接收MATLAB发送的串口指令,并给电机发送正反转指令。分离装置是由直流齿轮电机和排异板组成,如图6所示。电机的电压为220 V,功率为15 W;排异板的用途是从载物台上剔除有缺陷的物体。
图5 单片机Figure 5 Single chip microcomputer
图6 分离装置Figure 6 Separation device
2 系统运行
系统功能框图如图7所示。当物体放在旋转平台上时,摄相机捕捉并获取齿轮图像,并将这些数据保存在MATLAB工作空间内存中,图像的每个像素值存储的信息量为8 bit。然后将采集的图像传输给计算机进行图像处理,生成各参数的像素数据;通过尺寸标定获得标定系数来标定像素数据,得到其实际尺寸;将系统测量的数据与标准尺寸数据进行比较,如果结果不在范围内,则发送给单片机反转指令,分离该物体到废品区;如果结果在范围内,发送给单片机正转指令,分离该物体到正品区。在这2种情况下,软件参数,如最后的结果、传输的对象数、废品的对象数等,将予以更新。
图7 系统功能框图Figure 7 Functional block diagram of system
3 界面设计
如图8所示,本界面软件是在MATLAB上开发的。在appdesigner的基础上,它提供了用户和机器之间的人性化交互,图形用户界面提供了控制机器参数的综合方法;预览区域用于实时图像显示。若图像处理过程中发生变化,则更新预览窗口。自动检测按钮用于对齿轮一键检测,并将正品和废品在计数状态栏进行显示,尺寸结果在检测结果栏中显示。检查模式栏用于手动对检查类型进行分别选择和处理,检测结果将在结果栏显示,并判断每个参数是否合格。对象计数状态显示已传递对象数和废品对象数。
图8 MATLAB软件图像处理界面Figure 8 MATLAB software image processing interface
4 图像处理
4.1 图像采集模块
在补光灯补光均匀的条件下,CCD相机可以清晰有效地拍摄放置在旋转平台上的齿轮;利用MATLAB图像采集工具对图像进行捕捉,并将图像数据保存在一个变量中。图像处理包括灰度化、滤波、阈值分割、特征提取、尺寸标定和测量过程。量块和齿轮的捕获图像如图9所示。
图9 图像采集Figure 9 Image acquisition
4.2 灰度化
为了减小图像原始数据量,减少处理时的计算量,需要把3通道的彩色图像变成单通道的灰度图像,如图10所示。
图10 灰度化后的图像Figure 10 Grayed image
4.3 中值滤波
为了测量物体的长度,我们要求物体有均匀的边缘。在图像获取和传输的过程中,由于相机本身的振动及传输介质等因素造成的噪声干扰会使图像质量有些许下降。中值滤波是一种非线性平滑技术,其思想是采用3×3的二维滑动模板,根据像素值的大小对面板中的像素进行排序,并生成单调上升的二维数据序列;将中间值放在模板的中心,然后恢复到原始图像,通过类推扫描整个图像以获得图像。3×3方格内核如图11所示,滤波后的图像如图12(a)、(b)所示。
图11 3×3方格内核Figure 11 3×3 checker kernel
图12 中值滤波后的图像Figure 12 Median filtered image
4.4 阈值分割
图像的阈值分割是将图像上各点的灰度设置为0或255,这意味着整个图像呈现出明显的黑白效果。也就是说,通过选择具有256个亮度级的灰度图像的适当阈值,可以获得能够反映图像的整体和局部特征的二值图像,并且灰度级大于或等于阈值的所有像素被判断为特定对象,其灰度值为255;否则,这些像素点被排除在物体区域之外,灰度值为0,表示背景或者例外的物体区域。假设图像f(X,Y)的大小为M×N;假设图像的灰度阈值为T,平均灰度为η,类间方差为δ。零件轮廓像素的图像占比为ω0,零件轮廓像素的平均灰度为η0;零件轮廓外图像像素占比为ω1,零件轮廓外图像的平均灰度为η1。如果采集图像中灰度低于阈值T的像素数量为P0,大于阈值T的像素数量为P1,那么就有如下关系:
(3)
η=ω0×η0+ω1×η1;
(4)
δ=ω0(η0-η)2+ω1(η1-η)2。
(5)
联立式(4)和式(5),可得出:
δ=ω0ω1(η0-η1)2。
(6)
当类间方差δ取得最大值时,零件图像和零件轮廓外图像之间的灰度差异最大,此时灰度阈值T获得最优取值。设黑白化的采集图像为δ(x,y),则图像的灰度分布满足下式:
(7)
阈值分割后的图像如图13所示
图13 阈值分割后的图像Figure 13 Image after threshold segmentation
4.5 边缘检测
边缘检测是最常用的图像分割方法,通常在图像上,灰度、纹理、颜色和其他特征等语义信息在边界划分的每个区域中不会改变,但是这些特征在图像的边界处会发生改变。因此只需要找到这些特征变化的位置就可以得到图像的边界。Canny算子是一种不易受噪声干扰的方法,它可以直接检测到真正的弱边缘,在噪声和边缘之间取得良好的效果,它是最优的阶梯型边缘检测算子。在检测前把图像旋转30°以提升检测精度,边界检测后的图像如图14所示[14]。从图中可以看出,图像边缘清晰、明显,效果良好。
图14 边缘检测后的图像Figure 14 Image after edge detection
4.6 尺寸标定
采用9 mm宽的量块进行尺寸标定,将得到的像素尺寸和量块的真实尺寸作比,获取量块的真实值和像素值之间的比例关系,得到标定系数K1;同理,对被测零件进行标定,得到标定系数K2。标定系数公式如下:
(8)
式中:L为量块的实际长度,mm;l为量块的像素尺寸,像素个数。
(9)
式中:L1为零件的实际长度,mm;p为零件的像素尺寸,像素个数。
当图像采集时相机镜头的参数(如视距、焦距与放大倍率)以及外界条件(照明、相机与目标的相对位置)不变时,量块的标定系数K1等于零件长度的标定系数K2。则由式(8)和式(9)可以得出:
(10)
其中L为已知尺寸9 mm,而P和l通过软件系统获取,从而得出零件长度L1的真实值,达到标定目的。
量块的宽度像素尺寸可以通过找到图像的2个相对边缘之间的像素数量并累加来获得,因此,文中采用了霍夫线变换和最小二乘法相结合的直线拟合方法。假设直线方程为y=kx+b,首先把Canny边缘提取后的图像从x-y图像空间映射到k-b参数空间;然后在k-b空间中为边缘图像中的每一点画出一直线;对直线上的点,采取“投票”的方法,即累加:有直线经过这一点,这一点的值加1;遍历k-b空间,找出局部极大值点,这些点的坐标(k,b)就是原图像中可能的直线的斜率和截距;设定阈值,过滤干扰直线,绘制直线、标定角点;遍历霍夫直线变换后的直线,提取直线的像素坐标;利用最小二乘法进行直线拟合,求出2条直线间的最短距离,得到量块的长度结果,图像如图15所示。
4.7 齿轮的参数测量
4.7.1齿轮中心孔直径、齿顶圆直径和齿根圆直径的确定
先给定一个内圆的面积Q,使用removebwareaopen函数删除二值图像中面积大于Q的对象,从而得到只包含内圆轮廓的图像;然后遍历图像,得到灰度值为255的像素点,把得到的像素点用最小二乘法进行拟合,求出拟合圆的直径dx;如图16所示为中心孔直径处理结果。
图15 霍夫直线变换后的图像Figure 15 Image after Hough line transformation
图16 中心孔直径处理结果Figure 16 Center hole diameter processing results
首先将Canny边缘检测后的图像用imfill函数做中心孔填充,以中心点为圆心,以8个方向0°,45°,90°,135°,180°,225°,270°,315°搜索离圆心最近的8个点和离圆心最远的8个像素点;8个最近的点组成齿根圆点列,拟合成齿根圆求出齿根圆直径df;8个最远的像素点组成齿顶圆点列,拟合成齿顶圆求出齿顶圆直径dz;然后通过最小二乘法检测出亚像素边缘,从而求出亚像素尺寸[7-11]。
设待拟合圆的像素点列为Gi(xi,yi),i=1,2,…,n,式(11)为最小二乘法的圆拟合公式:
(11)
其中:
4.7.2齿数的确定
在齿数计数时,采用中心画圆法。与通常方法不同,笔者引入一个以圆心(xb,yb)和半径Rx(Rx的大小在齿顶圆半径和齿根圆半径之间)的辅助圆,并用辅助圆中像素的灰度值来划分齿根数。首先将Canny算子提取后的图像进行填充,然后搜索辅助圆内灰度值为0的像素;接着创建一张背景为白色的图像,将这些像素点在此图像中显示;最后通过bwlabel函数进行连通域提取,然后从上到下,从左到右搜索并进行标号,从而计算出齿数Z。齿数处理过程如图17所示。
图17 齿数处理过程Figure 17 Tooth number processing process
4.7.4齿轮模数的计算
考虑到齿轮加工过程中齿顶圆的加工精度较高,故采用齿顶圆半径来估算齿轮的模数。另外,经计算可知,齿轮的变位系数对齿顶圆半径的影响很小,可以忽略,因此齿轮的模数采用式(12)计算:
m=2ra/(Z+2ha*)。
(12)
式中:ra为齿顶圆半径,m为模数,Z为齿数,ha*为齿顶高系数。
5 结果分析
首先,我们对量块进行12次的实际尺寸和像素尺寸的测量,求出每组的比例系数,最后得到平均值为0.020 9 mm/像素。详见表1所示。
表1 量块的像素尺寸
将游标卡尺对齿轮多次测量的值作为齿轮的参考尺寸,然后再利用基于机器视觉的齿轮尺寸测量系统对齿轮进行测量,通过对比二者之间的差值可以得到本系统的测量精度,如表2所示。
表2 系统测量值与卡尺测量值比较
图18~20分别为中心孔直径、齿顶圆直径和齿根圆直径。从图18~20可以看出,测量尺寸数值波动幅度不大,满足测量要求。由表2可知,游标卡尺测量齿轮中心圆的平均值为1.924 mm,系统测量值为1.918 mm,二者之间相差0.006 mm,误差比1个像素0.020 9 mm还小,满足工业测量精度;其他测量参数皆如此,所以满足测量要求,论证了测量系统的可行性。
图18 中心孔直径Figure 18 Diameter of center hole
图19 齿顶圆直径Figure 19 Diameter of tooth tip circle
图20 齿根圆直径Figure 20 Diameter of tooth root circle
6 系统测试
系统检测响应时间是从齿轮放在旋转平台上到分离装置对齿轮进行分离所用的时间。为了测试方便,我们分别选择1个正品齿轮和4个有缺陷的废品齿轮进行系统响应时间测试,结果如表3所示。
表3 系统响应时间测试
由表3可知,经过20次的测试,正品和废品的平均响应时间约为2.8 s和3.10 s。其中,正品的最短响应时间为2.6 s,废品的最短响应时间为2.80 s;系统响应时间满足工业检测要求。
7 结语
课题组利用改进的中心画圆法和齿顶圆测量的新方法设计了齿轮尺寸测量系统,实现了齿轮尺寸的在线检测。正品和废品的响应时间约为2.8 s和3.10 s,检测精度高于0.01 mm,绝对误差为0.006 mm。但该系统仍然存在一些不足,今后的改进工作应着眼于提高计算机性能,以缩短系统检测响应时间,采用深度学习方面的知识以提高检测精度。