摘 要: 为实现快速非接触式的板件形位测量,提出了一种基于机器视觉的测量方法,将机器视觉技术应用到机械加工中。基于机器视觉的板件形位测量利用工业摄像机获取工件图像,经过图像滤波和图像分割后提取工件角点,匹配左右相机中的角点,从而得到角点的三维坐标,并且采用直线拟合的方法拟合工件边缘、计算直线斜率,得到工件的旋转角度。
关键词: 机器视觉; 图像滤波; 图像分割; 角点提取; 直线拟合
目前,数控加工中多采用人工手动对刀,其效率较低。若采用机器视觉技术代替人工操作,则可大大提高自动化水平[1]。运用机器视觉技术获取工件上特征点(如角点)在摄像机坐标系下的三维坐标,后续经过摄像机与刀头的“手—眼”标定[2],就能将其转换为机床坐标系下的三维坐标,从而达到自动对刀的效果。在板件切割时,由于摆放的原因,需要人工校正板件位置,即使板件一边与机床坐标轴对齐以免因板件旋转而发生加工错误,但这往往要耗费大量的时间。使用机器视觉技术测量板件的旋转角度,将数控加工代码依照该角度进行旋转变换,就省去了人工校正环节,节约了大量时间。
基于机器视觉的板件形位测量涉及摄像机标定、图像滤波、图像分割、角点提取和直线拟合。图像滤波有均值滤波[3]、中值滤波[4]、高斯滤波[5]和双边滤波[6]等。其中双边滤波能较好地保留边缘,有利于板件形位的测量。图像分割主要有基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等,其中基于阈值的分割方法[7]根据图像灰度的变化将图像分为计算简单和运算效率高两个部分。角点检测方法有Moravec角点检测[8]、Harris角点检测[9]和SUSAN角点检测[10]等。本文采用在Harris角点检测方法基础上改进的Shi-Tomasi角点测量[11]方法,其效果优于Harris方法。在很多情况下,检测出的板件角点并不是两边的交点,若使用两角点的连线计算板件的尺寸和旋转角度将带来较大的误差,因此本文提出一种基于最小二乘直线拟合板件边缘的方法对板件的尺寸及旋转角度进行测量。
1 摄像机标定
1.1 立体视觉模型
双目立体视觉系统是模拟人眼的立体成像技术,通过对左右摄像机拍摄到的图像进行匹配,使用三角形相似原理获取实际物体的景深信息。双目视觉系统模型如图1所示。
其中,点P是实际被测物表面上一点,其坐标为P(X,Y,Z)。两光心间的距离为基线长度T,其与点P在两像平面的交点为p1(x1、y1)、pr(xr、yr),由于该模型为经图像矫正后的理想模型,因此p1和pr在同一水平线上。根据三角形相似原理可得:
其中,d为像素的物理长度;(cx,cy)为光心在图像上的像素位置;f为摄像机的焦距。由式(1)~式(3)可得:
因此,需要对摄像机进行标定,得出摄像机的有关参数,才能对实际物体进行测量。
1.2 基于OpenCV的摄像机标定
摄像机标定的目的在于获取摄像机的内、外参数及其畸变量。在双目立体视觉中,除了摄像机的标定外,还应进行立体标定,获取两个摄像机的相对位置关系。使用OpenCV库函数的标定方法,实际上是采用张正友标定法[12]。张正友标定法是一种基于二维平面模板的标定方法,常用的有棋盘格标定法。用摄像机拍摄多个不同位置的模板,通过模板上的特征点与其图像的单应性来确定摄像机的内、外参数。
本文采用一块12×8的棋盘进行相机标定,使用VC++6.0和OpenCV函数库中的函数cvStereoCalibrate()编写标定程序。cvStereoCalibrate()函数可一次性标定出左右相机内参与畸变以及左右相机间的旋转矩阵R和平移矩阵T。经过多次试验,标定结果如表1所示。
两相机间旋转矩阵R和平移矩阵T为:
R= 0.971 32 0.003 7 0.237 75-0.002 44 0.999 98 -0.005 61-0.237 78 0.004 87 0.971 31
T=-337.933 88 0.771 76 38.346 99
2 板件形位测量系统
基于机器视觉的板件形位测量系统包含了图像预处理、角点提取和直线拟合等技术,其流程如图2所示。
2.1 图像预处理
在实际工业环境中,由摄像机拍摄获取的图像必然夹杂着许多干扰因素,如噪声点和背景环境等带来的影响,而所处理的是感兴趣的部位(即工件本身),所以要对图像进行预处理去除干扰因素。
2.1.1 双边滤波
在图像处理中的均值滤波和高斯滤波模糊了图像中的边界,而中值滤波和双边滤波能够较好地保存图像中的边界信息。由于本文处理的是板型工件的形位信息,必然要获取较为准确的边界信息,因此选择双边滤波进行处理。
双边滤波依据每个像素及其领域构造一个加权评价值,加权计算包括两个部分,第一部分加权方式与高斯滤波相同,第二部分是基于其他像素与中心像素的亮度差值的加权。这里的中心像素指的是滤波器模板窗口的中心,其他像素指的是模板窗口中非中心点的其他像素。
常用BF作为双边滤波的符号,其定义为:
其中,I表示处理的图像,p表示图像中一点,q表示以p为中心的领域中一点,S表示该领域,G是双边滤波器的空间邻近函数,G是灰度相似度函数。
其中, d(p,q)表示两像素点在欧式空间的距离; ?啄(I(p),
I(q))表示两像素的亮度差;?滓d、?滓r均是高斯函数的标准差,其数值决定了双边滤波的性能。
2.1.2 阈值分割
利用双目视觉对板件行位进行测量,图像背景是一个最大的干扰,因此必须对分割图像取出感兴趣的工件部分。本文采用基于阈值的分割方法中的最大类间方差法,又称大津法。
在使用大津法前,先拍摄记录一张背景图像,在图像预处理时,将每次拍摄的图像与背景图像相减(图像对应像素的灰度值相减),由于有光照,工件表面较亮,相减后图像中背景的灰度值将总体变暗。使用这样的方法能初步分割出工件与背景,如图3所示。
最大类间方差法是由日本学者OTSU N在1979年提出的一种全局阈值方法。其原理是根据图像的灰度直方图取某一阈值将图像分为两个部分,每个部分的灰度值为一组,计算这两组间灰度方差,将最大方差所对应的阈值设为最终阈值,从而将图像分为两个部分。
经过大津阈值分割后的效果如图4所示。
2.2 Shi-Tomasi角点提取
在板件形位测量中确定板件的角点不可缺少,有了各角点的坐标就能确定板件的形状及位置。在双目视觉中,匹配左右图像中的角点,就能获取实际物体角点坐标。Shi-Tomasi算法是Shi和Tomasi在Harris算法的基础上提出的。Harris算法的基本思想是利用高斯模板窗口观察图像特征,沿x和y方向移动该模板,若各个方向上灰度变化不大,则视为图像的平坦区域;若只有一个方向灰度变化明显,则视为边缘区域;若各个方向上的灰度变化都很明显, 则视为角点。
Harris算法定义图像灰度的二阶导数,模板窗口图像的二阶导数的自相关矩阵定义为:
计算式(8)矩阵的特征值?姿1和?姿2,Shi-Tomasi通过给定阈值?姿,根据min(?姿1,?姿2)>?姿来判断是否为角点。许多情况下,Shi-Tomasi算法比Harris算法的效果更好。
由于工件表面纹理等因素,直接在整幅图像中寻找角点比较耗时,而且存在大量伪角点,因此本文使用人工粗略选择角点存在区域,对小区域进行角点检测,效果如图5所示。
图5中,白色圆圈的中心即为检测出的角点位置,但是在右下角位置出现了两个角点,即有一个为伪角点,必须将其剔除。根据板件多为矩形的特点,选择各方向的极值点作为工件角点,剔除落在工件内部的伪角点。
2.3 基于直线拟合的工件尺寸及旋转角度测量
前面讨论了角点提取,求取工件实际角点坐标,但在测量工件实际尺寸或是用两个角点的连线的斜率测量工件旋转的角度时,往往会有较大的偏差。如图6所示,图中黑色代表背景像素,白色边缘代表工件的某个角点。根据经验,工件角点处在图像上反映出的往往不是一个直角,因此直接连接两个角点的直线距离往往比实际距离小。但如果使用边来测量,边上没有特征点能够匹配,因此本文采用直线拟合的方法拟合出工件各边,可用各边角点间的距离衡量工件尺寸,也可用拟合出的直线斜率表示工件的旋转。
在图像中采用二维平面的直线拟合即可,在工件的各边取若干点分别拟合。假设拟合直线f(x)=ax+b,采用最小二乘的方法,即计算每点与拟合直线的偏差M的最小值。
得出斜率a和截距b就确定了一条直线,将相邻边拟合出的直线求交,如图7所示。
图7中,线段为拟合出的板件边缘,可以看出采用直线拟合工件边缘的方法可以弥补工件边角在图像上不是直角的缺陷。
3 实验结果及分析
3.1 实验器材及步骤
本实验采用1台明基MP515投影仪、2个维视MV-1303UM工业摄像头和1台PC。测量对象为一块方形大理石,其尺寸如表2所示。
实验步骤:(1)打开摄像机;(2)拍摄图像并校正;(3)图像滤波及分割;(4)鼠标点选待处理区域;(5)计算大理石尺寸及旋转角度。
3.2 实验数据及分析
采用直线拟合测得各角点的三维坐标如表3所示。从表3可以发现,各个角点的Z坐标差别较大,这是由于大理石的各个角实际是个小圆弧,而由图7可知,拟合出的角点都在物体外,因此取XY平面的坐标计算大理石尺寸,如表4所示。
由于实验时没有绝对的平台作为参照,因此测量大理石底边和左边的斜率,间接得出左下角角度与实际测量角度对照的方法来衡量旋转测量的精度。实验测得底边斜率kb=0.017,左边斜率k1=-34.711,通过计算可以得到其夹角为90.7°,而实际测得大理石左下角为90.5°。由以上实验结果可得,板件边长尺寸的测量精度在0.5 mm以内,角度测量精度在0.5°以内。
本文提出一种基于机器视觉的板件形位测量方法,采用最小二乘直线拟合板件边缘的方法测量板件尺寸及旋转角度。该方法通过双边滤波和最大类间方差阈值法对图像进行预处理。使用Shi-Tomasi角点检测法提取板件角点可定位板件角点位置,获取若干边缘点拟合直线,通过各拟合直线交点间的距离计算板件尺寸,使用拟合直线的斜率计算板件旋转角度。实验结果表明,该方法简单可行。今后将着力于更高精度测量的研究。
参考文献
[1] 李明超. 基于OpenCV的机器人双目手眼标定系统的研究与实现[D]. 青岛:山东科技大学, 2012.
[2] 孟偲, 王田苗, 丑武胜. 基于手眼视觉的测量与定位方法的研究与实现[J]. 中国空间科学技术, 2002,12(6): 18-25.
[3] Wang Chunmei, Li Tianyi. An improved adaptive medianfilter for image denoising[C]. 2010 3rd International Con-ference on Computer and Electrical Engineering, Sichuan, China, 2012,53(2):64.
[4] HUANG H C, LEE T C M. Data adaptive median filters for signal and image denoising using a generalized SURE criterion[C].IEEE Transactions on Image Processing Letters.2006,13(9):561-564.
[5] 李慧芬, 蒋向前, 李柱. 高斯滤波稳健性能的研究与改进[J]. 仪器仪表学报, 2004,25(5):633-637.
[6] ELAD M. On the origin of the bilateral filter and ways to improve it[C]. IEEE Transactions on Image Processing,
2002,10(11):1141-1151.
[7] OTSU N. A threshold selection method from graylevel his- tograms[J]. IEEE Transactions on Systems, Man, andCybernetics,1979,9(1):62-66.
[8] MORAVEC H P. Towards automatic visual obstacle avoid-ance[C]. Proceedings of International Joint Conference On Artificial Intelligence, Cambridge, MA,USA,1977:584-590.
[9] 唐烁,缪源. 基于Harris角点的图像匹配算法[J]. 微机与应用,2013,32(2):41-43.
[10] 邵泽明, 朱剑英, 王化明. 基于SUSAN算法的分层快速角点检测[J].华南理工大学学报(自然科学版),2006, 34(7):65-68.
[11] Shi Jianbo, TOMASI C. Good features to track[C]. IEEEConference On Computer Vision and Pattern Recognition, 1994:593-600.
[12] Zhang Zhengyou. A flexible camera calibration by viewinga plane from unknown orientations[C]. IEEE InternationaConference on Computer Vision, 1999:666-673.