一种圆形物体定位算法及在齿轮测量中的应用

2017-10-17 11:00雷思鸣
陕西科技大学学报 2017年5期
关键词:齿根齿轮边缘

卢 军, 雷思鸣

(陕西科技大学 机电工程学院, 陕西 西安 710021)

一种圆形物体定位算法及在齿轮测量中的应用

卢 军, 雷思鸣

(陕西科技大学 机电工程学院, 陕西 西安 710021)

考虑到实际的工业环境,需要对工件上的简单几何形状区域进行高精度定位,因此提出一种基于物体几何特征的定位算法,并以圆形定位为例对算法进行验证。首先在边缘提取的过程中根据待定位物体边缘法向提出了新的边缘检测算法,并关联模板匹配初定位结果动态的进行圆弧边缘检测,然后采用改进的随机抽样一致性算法进行圆拟合,使用该算法对PCB板上MARK进行了定位实验验证.最后针对传统齿轮测量的不足,采用所提出的定位算法对齿轮的齿顶圆和齿根圆进行拟合,得到一系列齿轮参数.实验表明,该算法能够准确测量圆的轮廓,对齿轮的测量也达到一定的测量精度,验证了算法的准确性与通用性.

边缘检测; 圆拟合; 动态测量; 齿轮参数测量

Abstract:According to the actual industrial environment,high precision positioning of the workpiece with a simple geometry is required.A localization algorithm based on geometric features of objects was proposed ,and verified by the example of circular positioning.First,in the process of edge extraction according to the location of object edge direction put forward a new algorithm of edge detection,and connect with the initial results of template matching to finish the arc edge detection dynamic.Second,the improved random sampling consensus algorithm was used to fit the circle,and to locate the MARK on the PCB board.Finally,using the proposed algorithm to fit the top circle and the root circle of the gear tooth to get a series of gear parameters aiming at the shortage of traditional gear measurement.The experimental results show that the algorithm can accurately measure the contour of the circle and reach a certain accuracy in measuring the gear,which verified the accuracy and versatility of the algorithm.

Keywords:edge detection; circle fitting; dynamic measurement; gear parameter measurement

0 引言

在手机制造业、激光精密焊等行业中,工业现场常常需要对直线、圆等一些简单的几何形状进行高精度定位,模板匹配已经难以胜任其高精度要求,且由于工业环境复杂,都是大批量生产,同一物料的反光特性并不能保持一致,导致相机采集的同一物体图像的灰度值差异大,并且一般的检测定位算法没有考虑实际的工业现场环境,稳定性差,常常把不感兴趣的边缘信息检测出来,并不能满足工业现场的要求.

齿轮作为广泛应用于各个领域的一种机械传动零件,在工业发展的历程中发挥了重要的作用,齿轮本身的制造精度对整台机器的使用寿命与工作性能有着最直接的影响,因此对齿轮的参数测量非常重要[1,2].因此,本文就目前传统定位算法存在的不足,提出一种基于物体几何信息定位算法,并以齿轮为实例对该算法进行了验证.

1 几何特征信息定位算法

现以圆形物体检测定位为例进行介绍,算法在已知物体大致范围下进行,即事先进行了初定位,预知了其粗略位置.

1.1 边缘检测

在灰度图中,边缘是图像灰度值跳跃大的像素点的集合,是物体与背景的界限[3,4].物体与背景的边缘具有高对比度.图像中的边缘主要有三种基本类型:阶跃型边缘、屋脊型边缘、脉冲型边缘,边缘处的灰度值跳跃大,通常使用数学中的微分思想对图像的边缘进行检测[5].常见的检测算法有: Roberts算法、 Prewitt算法、 Sobel算法、 LoG边缘检测和Canny边缘检测,以上算法都为通用的边缘检测算法,在实际工业现场中环境复杂,传统的边缘检测算法就显得“力不从心”了,在检测特定物体的边缘时就显得过于笨拙[6,7].以下阐述根据物体特定的几何特征信息进行边缘提取步骤,以圆形物体的边缘提取为例.

(1)首先将辅助圆N等分,沿辅助圆半径方向的等分点处创建测量矩形,矩形的高度为len1,宽度为len2,共有N个测量矩形,如图1所示.

图1 圆形物体测量矩形生成示意图

(2)在每一测量矩形内沿着测量矩形方向计算矩形内每一像数点的导数,计算公式如式(1)所示.对于圆检测,沿测量辅助圆半径且远离圆心的方向为测量矩形的方向,如图2所示.根据求出的像数点的导数将检测出的边缘分为两类,当f<0的边缘为“黑到白”类;当f>0的边缘为“白到黑”类,其判别公式如式(2)所示.再根据边缘的梯度阈值去除“白到黑”类或“黑到白”类边缘中的干扰边缘,提取出感兴趣边缘,计算公式如式(3)所示.

(1)

(2)

(3)

图2 圆形物体边缘检测示意图

1.2 圆弧边缘拟合

最小二乘法是最常用的拟合算法,此方法对误差符合正态分布的数据点很有效[8].但是在实际工业现场中经常会碰到一些干扰点,这些干扰点大多是偏向某一个方向的.从一个噪音较大的数据集中提取模型(比如只有20%的数据是符合模型的)时,这时采用最小二乘法拟合圆会存在很大误差,得不到一个精准的结果.本文在随机抽样一致算法(RANSAC算法)的基础上对其进行改进,可以有效的剔除噪声点,准确检测出圆,其算法具体描述如下.

(1)随机从圆边缘点集edges{P1,P2,P3,…,PN}中选择三个点,记P1(x1,y1)、P2(x2,y2)、P3(x3,y3),得到通过这三个点的圆方程Ax2+Cy2+Dx+Ey+F=0,其系数如式(4)、(5)、(6)、(7)所示进行计算.

(4)

(5)

(6)

(7)

(2)用(1)中的方程去测试其余观测点others_p{P1,P2,P3,…,PN-2},由点P(x1,y1) 到圆心O(xc,yc)的距离di与圆半径r之差的绝对值是否小于等于设定的距离阈值distance_thr,判别出观测点Pi是局内点inliers还是局外点outliers,di的计算公式如式(8)所示、Pi的判别公式如式(9)所示.

(8)

(9)

(3)如果局内点数与总点数的比值score大于等于算法预先设定的分数阈值score_thr时,并且局内点多于原有“最佳”圆的局内点,那么将这次迭代的圆设为“最佳”圆[9,10].

(4)重复(1)~(3)步n次,且n≤max_iter_count,直到找到最佳圆,并记下找到“最佳圆”时的局内点line_inliers{P1,P2,P3,…,Plm} ,max_iter_count为预先设定的最大迭代次数.

(5)使用最小二乘法对(4)中获取到的“最佳”局内点集数据circle_inliers{P1,P2,…,Pm}进行圆拟合,求出最佳圆(x-xc)2+(y-yc)2=r2,计算公式如式(10)、(11)、(12)所示.

(10)

(11)

(12)

式(10)~(12)中:

1.3 动态测量定位

经过第一步和第二步后,可以准确的测量定位到测量矩形区域内的圆,但其测量范围有限,有且仅当待测量定位物体在测量卡尺区域内,才有可能精准的测量定位到圆,因此,本文提出了基于模板匹配粗定位的圆测量定位,其与不使用模板匹配的初定位相比,增加了测量检测范围,更能适应工业自动化生产环境,其算法具体描述如下.

(1)首先使用灰度模板匹配对待测量定位圆进行初定位,并保存目标坐标Pref(xref、yref) 和角度angleref,并将其作为初定位参考信息.

(2)在目标坐标Pref(xref、yref)附近的点center(x0,y0)处创建半径为r的测量辅助圆

ref_measure_circle{rect1,rect2,…,rectn},

设置辅助圆上矩形卡尺数量num、卡尺高度len1、卡尺宽度len2,梯度阈值amp_thr、局内点判定阈值distance_thr和局内点分数阈值score_thr,并保存辅助测量圆位置、半径信息、测量参数及拟合参数信息,记为测量模板.

(3)将(1)、(2)中的目标坐标、角度和测量参数信息作为动态测量定位算法的模板初始化信息,并假设初定位结果与测量辅助圆的相对位置在测量定位中始终不变.若P(x,y)、angle为t时刻初定位结果,则t时刻辅助测量圆measure_circle(rect1,rect2,…,rectn),如公式(13)所示进行计算,关联初定位动态测量示意图如图3所示.

(a)创建模板时 (b)动态测量时图3 关联初定位动态测量示意图

measure_circle=

refer_measure_circle

(13)

式(13)中:Δx=x-xref;Δy=y-yref;θ=angle-angleref.

(4)根据(3)中获取到的测量矩形卡尺位置信息和(2)中保存的测量参数及拟合参数信息完成t时刻的测量定位.

1.4 算法实验

在本实验中,将PCB板上圆形环作为测量定位目标,如图4所示.首先使用图4上的圆环区域创建初定位模板,如图5所示,并保存初定位模板的初始坐标,图6中的红色“十字”中心为初定位模板的参考点.然后创建测量辅助圆,矩形卡尺数量30个,卡尺高度30像数,卡尺宽度5像数,梯度阈值50,局内点判定阈值3.5像数,局内点分数阈值0.7.最后将初定位模板参考点与辅助测量圆位置关联,整个动态测量定位模板创建完毕.创建测量辅助圆及测量效果如图7所示,部分测量定位结果显示效果图如图8所示.

图4 PCB板

图5 初定位模板

图6 初定位模板位置

(a)创建辅助圆效果 (b)矩形卡尺分布效果图

(c)测量定位效果图图7 创建测量辅助圆及测量效果

图8 部分测量定位结果显示效果图

在图6中,红色“十字”表示初定位结果,绿色圆表示测量定位到的圆,绿色圆上灰色“十字”表示使用改进的随机采样一致算法从检测矩形中检测出边缘中提取出的局内点.从图中测量定位效果显示来看,当被定位目标发生较大的移动或旋转时,该算法仍然能精准的定位到目标物体.相比模板匹配,能够获得更高的定位精度和稳定性,相比不使用模板匹配时,扩大了测量定位范围,在自动化生产线上更能满足现场要求.

2 齿轮测量

2.1 齿轮测量系统相机标定

齿轮图象上每个点对应空间中齿轮表面上的每一点,像数点在图象平面上的位置与齿轮上对应点的空间位置存在着几何影射关系.这种关系由齿轮测量系统中摄象机成像的几何模型所决定.这些参数必须由实验与计算来确定[11],如果实验测得的摄像机内外参数不准确将会影响整个系统的测量精度.本实验采用张正友标定算法进行标定.

2.2 齿轮图像预处理

在对由相机获得的图像进行标定后,由于受到各种条件的限制和随机噪点的干扰,标定后的图像还不能直接进行齿轮参数测量,必须对图像进行适当的预处理才能获取到更精准的齿轮信息[12].

2.2.1 齿轮图像滤波去噪

滤波的作用是最大限度的消除齿轮图像中的噪声而不破坏细节,对其检测结果的准确性有非常大的影响.在齿轮图像的获取中,图像的噪声主要来自相机的噪声[13],对存在脉冲噪声和椒盐噪声的图像采用中值滤波去噪算法可以达到去除噪声的目的而且还能够保留图像的边缘细节,处理效果如图9所示.

2.2.2 齿轮图像二值化

齿轮图像分割的目的是把齿轮区域与背景区域分离,以便对齿轮区域做进一步的分析,比如对齿轮轮廓的提取,对齿轮齿数的计数,因此齿轮图像的分割对整个系统算法至关重要.

为了得到这些信息,需要将齿轮灰度图像转换为二值图像,虽然灰度图变为二值图后丢失了很多信息,但二值图像与灰度图相比保留了更少的数据量,可以更方便有效地进行后续的处理,由于图像中含有孔洞,在二值化基础上根据漫水填充特性对图片进一步处理,得到二值化图像如图10所示.

图9 中值滤波处理效果图 图10 二值化图像

2.3 齿轮参数的确定

在经过齿轮图像采集、图像处理之后,得到了比较理想的齿轮图像,就可以进行参数测量了.在本实验中,采用基于OpenCV 2.4.9+MFC对齿轮参数进行测量,如齿轮的齿顶圆、齿根圆、分度圆、模数、齿数、齿厚等.

2.3.1 齿顶圆和齿根圆的测量

齿顶圆直径和齿根圆直径的测量是后续参数测量的基准,需要准确的测量出齿轮的齿顶圆和齿根圆,才能对齿轮参数实现正确的测量.对所拍摄的齿轮图片进行预处理后,利用上述所提出的物体几何信息特征的测量方法对齿顶圆和齿根圆进行测量,得到齿轮的齿顶圆直径da、齿根圆直径df和齿轮的中心点.

2.3.2 齿轮齿数的确定

以齿轮的中心点为圆心,创建一个大于齿根圆直径而小于齿顶圆直径的圆形区域,如图11所示.将图11和图10求取差集,如式(14)所示进行计算,差集效果如图12所示.最后通过连通域标记算法对这些区域进行计数,即得到齿轮的齿数z.

diffent_image[i][j]=

(14)

式(14)中:diffent_image[i][j]是所求图中某一点像素;ima_1[i][j]是第一幅图中某一点的像素;ima_2[i][j]是第二幅图中某一点像素.

图11 求齿数辅助图 图12 求取齿数

2.3.3 齿轮模数的确定

齿轮模数的确定需要根据已经测得的齿顶圆直径和齿数来计算,根据已有公式(15)得到一个估计的模数,将计算得到的模数与标准模数进行比较,圆整后得到齿轮的模数m.

(15)

2.3.4 齿轮分度圆的确定

由以上计算得到齿轮模数、齿数,根据公式(16)得到齿轮的分度圆直径d.

d=m×z

(16)

2.3.5 齿轮齿顶高、齿根高、齿厚的确定

由以上计算得到模数,对于本实验中的标准齿轮来说,齿顶高系数ha*=1,顶隙系数c*=0.25,根据公式(17)和公式(18)得到齿轮的齿顶高ha和齿根高hf.

ha=m×ha*

(17)

hf=(ha*+c*)×m

(18)

对标准齿轮来说,分度圆上的齿槽宽和齿厚相等,由以上确定的模数,根据公式(19)得到.

(19)

2.4 实验测量时间

对于检测效率进行多次测试,测试结果如表1所示.结果表明,该算法不仅测量速度快、而且精度高,满足了齿轮常规参数测量的效率和功能要求.实验在Intel(R) Core(TM) i5-4210U处理器,8 G内存,Windows 7 、64位操作系统的笔记本上进行,测试图像为1 500万像数(4 608 × 3 288)的彩色

齿轮图像,被测试的算法版本为Release版.

表1 算法测量时间

2.5 实验测量结果与误差分析

为了验证算法的可行性,对采集到的齿轮图像进行标定后,应用本系统进行测量,图像采集与测量界面如图13所示,齿轮标准值与本系统测量值如表2所示.

图13 图像采集与测量界面

参数齿顶圆直径/mm齿根圆直径/mm分度圆直径/mm模数/mm齿数/个齿顶高/mm齿根高/mm齿厚/mm标准值34253021522.53.141592测量值33.9824.973021522.53.141587

从表2的测量结果可以看出,本测量系统对齿轮参数的测量与标准值还存在一定的差距,由于过程复杂,产生误差的原因可能是多种的,具体分析如下:

(1)图像采集设备误差

由于实验室摄像机分辨率较低,图像采集质量不高,并且在成像过程中会产生一定的畸变,虽然已经通过标定有一定的改进,却不能完全消除畸变,因此存在一定误差.

(2)光源误差

在实际的图像采集过程中,光源的不均匀以及外界光源的干扰,从而影响到图像成像质量,使得对齿轮轮廓的采集存在一定误差.

(3)算法误差

对同一张齿轮图像采用不同的测量参数(矩形卡尺数量、卡尺高度、卡尺宽度、梯度阈值)和拟合参数(局内点判定阈值、局内点分数阈值)时,获取到的采样点数据不完全相同,最终导致拟合出的圆心坐标和半径有误差,实验数据如表3所示.在表中使用了5组不同的测量参数和拟合参数定位测量同一张齿轮图像的齿根圆,得到圆心X坐标的最大偏差(最大值-最小值)为0.011 6毫米,Y坐标的最大偏差为0.009 7毫米,半径的最大偏差为0.008 2毫米.

(4)齿轮本身的制造误差

在齿轮制造过程中,由于工艺误差造成的齿轮误差,使得真实齿轮并不是如同标准值那样精确,因而在采用本系统进行测量时与标准值存在一定误差.

表3 不同测量参数测量齿轮中心坐标与齿根圆半径

3 结论

本文针对传统的检测定位算法存在的局限性,提出一种基于物体几何特征的定位算法,此方法是沿物体边缘法向的一种新的边缘检测方法,并对随机抽样一致性算法进行改进实现圆拟合.由于算法在测量前,需要进行初定位,因此,本文提出基于模板匹配的初定位算法,该算法增加了物体测量检测范围,更能适应自动化生产要求,其对特定几何形状的物体具有更好的检测定位效果,以PCB板上圆形环作为测量定位目标进行验证.最后将此算法应用到齿轮测量中,实现对齿顶圆和齿根圆的拟合,从而得到一系列的齿轮参数,不仅测量速度快、而且精度高,满足了齿轮常规参数测量的功能要求,提高测量效率和准确率.

[1] 张景辉.基于机器视觉的直齿圆柱齿轮测量系统的设计与实现[D].天津:天津大学,2007.

[2] 景 敏,陈曼龙,杨 帆,等.基于机器视觉的螺纹参数综合测量系统的设计[J].测控技术,2013,32(11):35-38.

[3] Deriche R.Using canny′s criteria to derive a recursively implemented optimal edge detector[J].International Journal of Computer Vision,1987,1(2):167-187.

[4] Mikolajczyk K,Schmid C.Scale & affine invariant interest point detectors[J].International Journal of Computer Vision,2004,60(1):63-86.

[5] 张传凯.基于机器视觉的LED芯片定位与检测技术研究[D].西安:陕西科技大学,2016.

[6] Mangin J F,Rivière D,Coulon O,et al.Coordinate-based versus structural approaches to brain image analysis[J].Artificial Intelligence in Medicine,2004,30(2):177-197.

[7] Kimmel R,Bruckstein A M.Regularized laplacian zero crossings as optimal edge integrators[J].International Journal of Computer Vision,2003,53(3):225-243.

[8] Hast A,Nysjö J,Marchetti A.Optimal ransac-towards a repeatable algorithm for finding the optimal set[J].Journal of Wscg,2013,21(1):21-30.

[9] Fischler M A.Random sample consensus:A paradigm for model fitting with applications to image analysis and automated cartography[J].Readings in Computer Vision,1987,24(6):726-740.

[10] Isack H,Boykov Y.Energy-based geometric multi-model fitting[J].International Journal of Computer Vision,2012,97(2):123-147.

[11] 于 泓.摄像机标定算法研究[D].济南:山东大学,2006.

[12] 王文成.基于机器视觉的齿轮参数测量系统设计[J].机械传动,2011,35(2):41-43.

[13] 杜红茹.基于机器视觉的齿轮尺寸测量问题研究[D].兰州:兰州理工大学,2011.

【责任编辑:蒋亚儒】

Aalgorithmforlocatingcircularobjectsanditsapplicationingearmeasurement

LU Jun, LEI Si-ming

(College of Mechanical and Electrical Engineering, Shaanxi University of Science & Technology, Xi′ an 710021, China)

2017-08-09

陕西省科技厅科技计划项目(2016GY-049)

卢 军(1961-),男,陕西咸阳人,教授,硕士生导师,研究方向:智能机器人技术

2096-398X(2017)05-0156-06

TP24; TP27

A

猜你喜欢
齿根齿轮边缘
下期要目
滚齿加工平齿根倒锥齿的程序调试分析
东升齿轮
你找到齿轮了吗?
异性齿轮大赏
基于ANSYS齿根裂纹对斜齿轮接触应力影响分析
齿轮传动
一张图看懂边缘计算
基于图解法的压力机变位齿轮齿根过渡圆弧分析
在边缘寻找自我