曹丽芳 , 黄志辉 , 张 元 , 邹 杰 , 彭辰晨 , 焦 祥
(无锡职业技术学院,江苏 无锡 214121)
机械零件是机械系统的重要组成部分,零件的好坏关系到整个机械系统的质量。在零件的生产过程中,零件尺寸的传统人工测量技术往往是利用游标卡尺、螺旋测微器等传统测量工具和机械装置、光学仪器等对零件进行接触式测量[1-2]。传统的尺寸测量技术虽然能够满足一定精度的尺寸测量需求,但是随着我国制造业的高速发展,传统测量技术存在着测量精度不足、生产效率较低、加工系统柔性较差、零件生产成本较高且易导致零件受损等缺点,已经难以满足现代化机械制造业的生产需求。在这样的背景下,基于机器视觉的零件尺寸测量技术越发引起人们的兴趣和重视,因其非接触式、低损伤、高效清洁、精密智能等优点逐渐成为零件尺寸测量界的热门研究对象[3-6]。
课题组以尼龙材质注塑成型、后期经铣床加工制成的某连接块作为研究对象,选用MATLAB软件作为开发软件,设计了一个基于机器视觉技术的测量该零件上表面面积、外轮廓周长及加工孔半径的尺寸测量系统。
课题组选择JAI GO-5000C-PGE工业相机、KOWA LM8HC工业镜头与JD15三脚架作为本实验采集图像的硬件工具,以尼龙材质注塑成型、后期经铣床加工制成的某连接块作为研究对象;将AUTO CAD做出的10 mm×10 mm蓝色方块以PDF文件格式导出,并用300 g铜版纸1∶1彩色打印出来的蓝色纸板作为本次实验用的标板;以黑色不反光幕布作为拍摄背景,并通过垫片将蓝色标板放置于与被拍摄目标表面同一平面的位置;以LED白色光源对目标连接块零件与蓝色标板进行低角度照射,尽可能消除外界光线的干扰。做好以上图像采集系统的准备工作,方可采集到图像质量较好的实验图像,如图1所示。
图1 采集的连接块与标板图像
课题组选用美国M a t h Wo r k s公司出品的MATLAB软件作为机器视觉测量系统的图像处理及算法设计软件。该软件自研发成功至今已有近50年的历史,多年来,经过MATLAB软件研发人员不断的完善和升级,该软件早已成为国际知名的标准计算软件且在全世界有着非常广泛的应用。之所以选用MATLAB作为本课题的图像处理及算法设计软件,更是因为MATLAB拥有相当精致便捷的用户界面,能够完成对图像的大部分处理分析工作,且具有非常成熟的算法函数库供用户调用。
基于机器视觉的零件尺寸测量系统对图像进行了诸多图像处理分析以及尺寸算法的设计,例如利用最大类间方差法(OTSU)分割图像、Roberts算子边界提取确定测量边界、自适应滤波法消除噪声、图像腐蚀与膨胀进行边界锐化。还可以利用不同颜色填充目标区域,求取区域内面积像素值大小以及其边界周长像素值大小,确定目标区域的质心位置并标记,利用标板进行比例换算将图像中的像素尺寸转换成物理空间尺寸,利用交互式分割法提取部分区域等等[6-8]。
课题组选用直方图阈值法分割连接块区域与其他区域,首先将原图像进行灰度化处理(运用rgb2gray函数),然后得出灰度图像并输出对应的灰度直方图,直方图显示只有两个波峰,一处代表着拍摄背景,另一处代表着连接块区域。当将灰度图转化为二值图像(运用im2bw函数)时,算法将标板区域默认为拍摄背景,从而达到了将连接块零件从原图中以二值图的形式分割出来的目的。以上算法输出的图像如图2所示。
图2 连接块从原图中分割出来
观察从原图中分割出的连接块二值图可以发现,可能由于图像噪声的干扰导致连接块外侧边缘与孔的边缘都呈微小锯齿状,不光滑的边缘对后期的像素值计算精度有不良的影响。课题组利用Roberts算子对连接块区域的边缘进行提取,接着利用5×5平滑滤波器(运用fspecial函数)消除提取的边缘图像的噪声。然而平滑滤波处理在消除噪声的同时也将一部分边缘特征模糊了,因此,对连接块边缘继续开运算(运用imopen函数)锐化处理,使得边缘更加明显。以上算法输出的图像如图3所示。得到清晰的连接块边缘图像后,参考计算标板相关尺寸像素值的方法,可以求得连接块的周长与面积对应的像素值大小,也能成功标定连接块质心的位置。然而,课题组设计机器视觉测量系统的目的是测量出目标对象的实际物理空间尺寸,因此需对像素值进行换算,将其转变成所需要的物理空间尺寸。此时,标板的作用就显得至关重要[9-10]。由于拍摄的标板与连接块待测表面在同一水平面上,所以二者之间的标定系数是一致的。可用公式(1)表示:
图3 对连接块区域进一步处理
式中,k、D、d分别指机器视觉测量系统的标定系数、标板的实际尺寸大小(单位:mm)以及标板尺寸的像素值大小,k1、D1、d1则分别表示连接块的标定系数、连接块的实际尺寸大小(单位:mm)以及连接块尺寸的像素值大小。由公式(1)可以推算出连接块的实际尺寸以上算法输出的图像与测量结果如图4所示,图a与图b的上一行数值分别表示的是连接块表面面积的像素值与实际面积尺寸值,下一行分别表示的是连接块表面的周长(不包括孔的边缘周长)像素值与实际周长尺寸值。
图4 计算连接块尺寸大小
测量加工孔半径的算法是先通过机器视觉计算圆孔的实际面积尺寸,再根据圆面积计算函数S圆=r2·π反推得计算圆的半径r:
首先,计算圆孔区域面积的像素值大小,将圆孔区域从原图中分割出来。以黑色圆孔部分为分割目标,以连接块白色表面为背景,利用交互式分割法截取圆孔所在的区域,如图5所示。
图5 交互式分割法截取孔
其次,利用直方图阈值法对分割出孔区域的图像进行分割,单独提取出圆孔区域,圆孔区域为黑色,别处为白色。对分割出的圆孔进行Roberts边缘检测,并对其进行5×5平滑滤波处理以及数学形态学的开启运算,得到清晰的圆孔轮廓图。根据得到的圆孔轮廓图,将其内部以白色填充,得到的结果如图6所示。
图6 对圆孔图像的处理
再次,将圆孔的轮廓标记为白色,内部区域标记为浅蓝色,从而计算内部浅蓝色区域即圆孔面积的像素值大小。根据上文所述标板的作用,将圆孔面积的像素值大小转换成圆孔的实际面积尺寸。
最后,根据公式(2)可以将计算的圆孔面积的像素值大小转换为圆孔半径的实际值大小。得到的结果如图7所示,上一行数值表示的是圆孔的面积尺寸测量值,下一行数值表示的是圆孔的半径尺寸测量值。
图7 计算圆孔的面积及半径
本文详细介绍了基于机器视觉的零件尺寸测量系统需要运用的图像处理方法及原理、测量算法设计及实际操作。通过计算机图像处理,仅能识别计算出图像的像素值大小,因此需要利用标板给予标定系数,将图像尺寸的像素值大小转换成物理空间的实际测量尺寸。