一种基于Snake模型和迭代极性转换回归结合的圆弧拟合方法与流程

文档序号:15965413发布日期:2018-11-16 23:08阅读:188来源:国知局

本发明涉及一种机器视觉的测量技术及轴类工件测量系统,具体涉及一种基于snake模型和迭代极性转换回归结合的圆弧拟合方法,属于机器视觉精密测量技术研究领域。

背景技术

轴类工件是工业中极为常见也是非常重要的旋转类工件,其综合形状误差精度不仅直接影响机械的运动性能、使用寿命,而且对减少能源消耗和环境污染等有重要影响。r角是轴类工件误差检测项中的重点和难点,原因在于轴类工件的r角是一个曲面,即使在远心镜头和平行背光的配合下,也无法使曲面上的每一个点完全平行地投射到工业相机的ccd感光芯片上,再加上工件本身的附着物干扰,使r角定位的精确度和准确度受到极大的影响。

r角是指通过机器视觉获取的二维图像上的一段圆弧,工业中通常用接触式的测量方式检测其参数,如r规测量法,其原理是通过光隙法测量圆弧半径,测量时必须使r规的测量面与工件圆弧完全的紧密接触,当测量面与工件的圆弧中间没有间隙时,工件的圆弧尺寸则为此时r规上对应的数字。由于该方法是目测,故准确度不高。基于图像的非接触式无损测量方式,测量结果更为精确,也更易实现工业自动化。r角是圆的一部分,所以r角定位与圆定位的算法是一致,而圆定位的精确与否,主要由边缘提取的准确性和圆拟合的精确性两方面决定。边缘检测的算法主要分为差分边缘检测算法和基于微分算子的边缘检测算法,其中,基于微分算子的canny边缘检测算子在数字图像处理中得到广泛应用。传统的圆拟合算法主要有3类:基于hough变换的圆拟合算法、基于不变矩的方法和基于最小二乘法。其中,当随机误差为正态分布时,最小二乘法是由最大似然法推出的一个最优估计技术,可使测量误差的平方和最小,因此也被认为是从一组测量值中获得未知量的理想方法之一。



技术实现要素:

本发明的目的是针对轮廓附着物对视觉测量中r角点检测的干扰以及短圆弧拟合不稳定的问题,设计一种snake模型和迭代极性转换回归结合的圆弧拟合方法,具体是指一种通过工业线阵相机和平行背光同步运动采集轴类工件图像,经图像处理技术精确定位r角中心与求解r角半径的方法,能够可靠且精确提取感兴趣区域内的r角中心的方法,以此测量轴类工件的部分尺寸参数。

本发明的技术方案如下:

一种基于snake模型和迭代极性转换回归结合的圆弧拟合方法,其特征在于,包含以下步骤:

步骤1、对图像进行预处理;

步骤2、利用canny算子对该预处理区域进行边缘提取;

步骤3、利用snake模型对所述区域的边缘优化,去除伪边缘点,并插补邻近边缘点;

步骤4、利用zernike正交矩获取亚像素级边缘;

步骤5、通过迭代极性转换回归实现r角中心的精确定位。

其进一步的技术方案为,所述步骤3包括:

步骤3.1、通过对能量函数迭代,得到最优轮廓;具体的有:

利用snake模型滤除边缘上毛刺产生的伪边缘点;参数化为v(s)=(x(s),y(s))的轮廓的snake模型表示为下式:

在参数v(s)=(x(s),y(s))中,x(s)和y(s)分别表示每个控制点在图像中的坐标位置,s是以傅立叶变换形式描述边界的自变量;式(1)中,v′(s)为弹性能;v″(s)为弯曲能;eext为外部能;外部能的表达式为:

eext(v(s))=-|▽[gσ(x,y)*i(x,y)]|2(2)

式(2)中,i(x,y)为二维灰度图像,*表示卷积,gσ(x,y)为标准差为σ的二维高斯函数,▽为梯度算子;

选择参数α、β,使式(1)中能量e趋于最小,即e→min,则使得轮廓全局最优地逼近真实边缘点;式(1)的连续曲线能量函数写为下面的离散化表示形式:

迭代计算边缘点邻域点的能量值,并将选择能量值最小的邻域点作为真实点,由此获得snake模型下的最优轮廓;

步骤3.2、以最优轮廓为基础,消除原始边缘上的伪边缘点;分别计算原始边缘点到所有轮廓点的距离平方n表示边缘点个数,i表示轮廓点个数;求解距离平方的最小值设定阈值t,判断是否有dmin>t;如果是,则删除该边缘点,如果否,则保留该边缘点;

步骤3.3、对步骤3.2获得的边缘的稀疏区域进行最邻域插值;当相邻边缘点间距大于边缘点平均距离的2倍,在两边缘点间利用最邻近插值法进行补点。

其进一步的技术方案为,所述步骤5包括:

步骤5.1、首先将步骤4得到的边缘点转换至坐标系的第一象限:xi=xi-min(xi),yi=yi-min(yi);然后通过下式计算圆心坐标a,b和两个候选半径r和rpol:

式(12)(13)中有,

式(12)~式(20)中,公式中的x和y表示边缘点的坐标,n表示边缘点的个数;

然后通过式(12)~(18)计算圆心坐标a,b和两个候选半径r和rpol,并通过式(19)计算两个候选半径下圆拟合的均方根误差rmser和

步骤5.2、保留rmse值小的那组参数(a*,b*,r);然后利用迭代的思想降低圆弧拟合的均方差,提高定位精度;具体的:判断是否有rmsem-1<rmsem,如果是,则m=m+1;m表示迭代次数,其初始值为2;每次迭代通过改变ρ*的值;其中是经过验证的黄金数,取从而通过式(20)改变tanθ的值,进而通过式(12)~(15)再次计算圆心和两个候选半径,如此循环,直至rmsem-1≥rmsem,停止迭代;

步骤5.3、翻转变换得到圆心:a=a*+min(xi),b=b*+min(yi),并输出(a,b,r)。

本发明的有益技术效果是:

本发明针对轮廓附着物对视觉测量中圆弧拟合的干扰以及噪声干扰下短圆弧段拟合结果不稳定的问题,提出一种基于snake模型和迭代极性转换回归的圆弧拟合方法,首先通过snake模型对边缘优化,去除伪边缘点,并插补邻近边缘点,然后通过迭代极性转换回归精确定位圆弧的中心,并求解圆的半径。该方法不仅解决了附着物干扰问题,而且提高了短圆弧定位的可靠性和精确度。

具体的,本发明提供了一种精确、可靠的定位受附着物干扰的轴类工件检测图像中的r角中心的方法,并将其应用在轴类工件的尺寸测量上。对框选的多边形图像感兴趣区域进行图像预处理,消除原始图像的孤立噪声点,提高图像的对比度,便于之后的边缘提取;通过canny算子进行边缘提取,实现边缘的初定位;利用snake模型滤除边缘毛刺产生的伪边缘点,并在稀疏区域插值边缘点,即对原始边缘进行优化;采用zernike正交矩对边缘进行精定位,获取精确的亚像素级边缘;最后通过迭代极性转换回归方法对亚像素边缘点进行圆拟合,获得精确的r角的圆心位置和半径。该检测方法解决了由于附着物干扰降低轴类工件r角检测的精确度问题,以及短圆弧拟合的可靠性问题。

附图说明

图1是本发明整体流程图。

图2是snake模型优化边缘的流程图。

图3是迭代极性转换圆拟合算法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施例,并参照附图,对本发明作进一步详细说明。

本发明的目的是针对轮廓附着物对视觉测量中r角检测干扰的问题以及短圆弧拟合不稳定问题,设计一种能够可靠且精确定位感兴趣区域内r角中心的方法,流程分为五个部分:图像预处理、边缘粗定位、边缘优化、亚像素定位,圆弧中心定位,具体流程如图1所示。

具体步骤为:

步骤1、对感兴趣区域进行预处理。预处理的步骤具体为:

步骤1.1、用双边滤波器有效地保边去噪;

步骤1.2、然后用高斯滤波器,对感兴趣区域的边缘进行平滑,改善图像质量;

步骤1.3、最后利用灰度变换提高图像的对比度。

步骤2、边缘粗定位。

利用ganny算子进行边缘检测,获得一个二值边缘图。

步骤3、边缘优化。边缘优化的具体流程如图2所示。首先手动获取snake模型的控制点(xi,yi);

步骤3.1、通过对能量函数迭代求解方法得到最佳轮廓;具体的有:

利用snake模型滤除边缘上毛刺产生的伪边缘点。snake模型是能够使能量最小化的样条曲线,通过内外力的共同作用将轮廓点收缩到图像,提取图像轮廓。一条参数化为v(s)=(x(s),y(s))的轮廓的snake模型表示为下式:

在参数v(s)=(x(s),y(s))中,x(s)和y(s)分别表示每个控制点在图像中的坐标位置,s是以傅立叶变换形式描述边界的自变量。v′(s)为弹性能,能够抑制轮廓伸长,v″(s)为弯曲能,能够抑制轮廓弯曲,两者统称为内部能,两处内能的综合作用是使轮廓平滑地收缩。eext为外部能,外部能的作用是使轮廓收缩到一定的图像特征上,针对不同的特征,具有不同的表达形式,为了使轮廓能够收缩到图像边缘,外部能的表达式可写为:

eext(v(s))=-|▽[gσ(x,y)*i(x,y)]|2(2)

式(2)中,i(x,y)为二维灰度图像,*表示卷积,gσ(x,y)为标准差为σ的二维高斯函数,▽为梯度算子。

选择合适的参数α、β,可使得e→min,就可以使轮廓全局最优地逼近真实边缘点。式(1)的连续曲线能量函数重写为下面的离散化表示形式:

迭代计算边缘点邻域点的能量值,并将选择能量值最小的邻域点作为真实点,由此获得snake模型下的最优轮廓。

步骤3.2、以最优轮廓为基础,消除原始边缘上的伪边缘点。分别计算原始边缘点到所有轮廓点的距离平方n表示边缘点个数,i表示轮廓点个数,求解距离平方的最小值设定阈值t为0.5,判断是否有如果是,则删除该边缘点,如果否,则保留该边缘点

步骤3.3、对步骤3.2获得的边缘的稀疏区域进行最邻域插值。当相邻边缘点间距大于边缘点平均距离的2倍,那么在两边缘点间利用最邻近插值法进行补点。

步骤4、亚像素定位。

首先图像中某一点的m阶n次的zernike矩的定义为:

式(4)中,f(x,y)为离散的二维数字图像,x、y为图像中点的坐标位置,n为正整数或0,m为正负整数,且满足n-|m|为偶数和|m|≤n的条件限制,ρ表示原点到象素(x,y)的向量的距离;θ表示按照逆时针方向向量ρ跟x轴之间的夹角,x2+y2≤1,*表示共轭,复数多项式vnm(ρ,θ)表示为:

当图像旋转角度后,zernike矩和旋转前关系:

利用此方法进行边缘定位时需要用到z00,z11,z20三个zernike矩,根据旋转前后的关系可以得出以下三个关系:

z′00=z00(7)

z′20=z20(9)

当图像旋转角度后,图像关于x轴上下对称,此时的z11虚部为零,即

采用zernike矩对边缘点进行细分。算法的具体流程如下:

根据模板大小为n*n,计算每一点的zernike矩z11和z20,im[z11]为z11的虚部,re[z11]为z11的实部。

计算旋转角度

计算

计算l=z20/z′11;

根据亚像素坐标(x′,y′)与像素坐标(x,y)关系:

计算亚像素坐标。

步骤5、圆弧中心定位。输入n个坐标点(xi,yi);

步骤5.1、利用极性转换回归定位圆弧中心。首先将步骤4得到的边缘点转换至坐标系的第一象限,xi=xi-min(xi),yi=yi-min(yi);

式(18)中有,

式(12)~式(20)中,公式中的x和y表示边缘点的坐标,n表示边缘点的个数。

然后通过式(12)~(18)计算圆心坐标a,b和两个候选半径r和rpol,并通过式(19)计算两个候选半径下圆拟合的均方根误差rmser和

步骤5.2、保留rmse值小的那组参数(a*,b*,r);然后利用迭代的思想降低圆弧拟合的均方差,提高定位精度。主要思想是将数据点转换为到原点的距离,然后搜索一个rmse减小量一直迭代,直至当前rmse值小于前一次rmse值,停止迭代。

具体的,判断是否有rmsem-1<rmsem,如果是,则m=m+1,m表示迭代次数,随着迭代次数的增加,会在每次迭代中通过改变ρ*的值,从而每次都刷新圆心坐标,因此每次迭代会改变rmse值。在中参数是经过验证的黄金数,取从而通过式(20)改变tanθ的值。进一步的,通过式(12)~(15)再次计算圆心和两个候选半径,如此循环,直至rmsem-1≥rmsem,停止迭代。

步骤5.3、翻转变换得到圆心:a=a*+min(xi),b=b*+min(yi),并输出(a,b,r)。

以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1