一种运动背景下螺纹关键尺寸参数的在线视觉方法与流程

文档序号:17732466发布日期:2019-05-22 02:56阅读:175来源:国知局
一种运动背景下螺纹关键尺寸参数的在线视觉方法与流程

本发明涉及一种视觉工件检测领域,尤其涉及一种运动背景下螺纹关键尺寸参数的在线视觉方法。



背景技术:

工件如螺纹,按其作用可以分为传动螺纹和连接螺纹,主要用于传递动力和连接机械零件。螺纹零件在制造业中具有结构可靠、稳定性高、传动平稳等诸多优点,使其在制造业中能够承担越来越多的角色,同时某些应用场合也对其精度提出个更高的要求。传统的检测方式主要为接触式测量,耗时耗力,检测精度也会随着人缘差异及设备的灵敏度发生变化,造成检测精度不高,无法实现快速的在线检测。随着技术的进步与更新,非接触测量在螺纹检测上也开始占有一席之地。基于机器视觉的螺纹检测技术可实现螺纹的快速检测,检测精度高,在工业检测方面具有广泛应用。将机器视觉技术引入到螺纹检测,是近几年的研究热点。

在实际的工业应用中,测量方法主要分为以下几种:

①图像预处理后,直接采用轮廓边缘算子对螺纹边缘轮廓进行提取,获得螺纹测量参数,此方法精度不高;

②通过分析外螺纹边缘线的形状大小来判断螺纹的质量,根据模板的匹配的相似度来判断螺纹是否合格,精度不高;

③图像预处理后,采用轮廓边缘算子对螺纹边缘轮廓进行提取,利用拟合算法对轮廓进一步处理,达到细化像素的目的,此方法不太适合微小的螺纹特征。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种运动背景下螺纹关键尺寸参数的在线视觉方法。可有效解决了传统螺纹参数检测技术速度慢、工序复杂、效率低、精度差以及抽检带来的弊端等缺陷。

为了解决上述技术问题,本发明实施例提供了一种运动背景下螺纹关键尺寸参数的在线视觉方法,包括以下步骤:

s1:采集螺纹照片;

s2:通过ncc归一化模板匹配的方法匹配目标,并获得目标中心;

s3:根据所述目标中心与目标形状,设置裁剪区域及裁剪形状;

s4:采用快速并行中值滤波算法进行滤波;

s5:设置阀值进行阀值分割;

s6:利用canny算法来实现对螺纹轮廓的提取,通过利用最小二乘法直线拟合算法,对提取的两条螺纹轮廓进行拟合,生成轮廓中线,通过角点检测算法,提取螺纹峰值点,并利用角点到螺纹中径线的距离来细化筛选角点;

s7:螺纹尺寸计算。

进一步地:所述步骤s2通过以下公式进行ncc归一化模板匹配:

其中m,n为被搜索图像的m行,n列;m,n为模板图像的m行,n列;sij(m,n)为在搜索图像中的搜索区域图像,i和j分别为搜索图像的第i行和第j列;t(m,n)为模板图像;

当模板和子图完全一样时,相关系数r(i,j)=1,当被搜索图完全被搜索后,找出r的最大值r_max,其相对应的子图即为匹配目标。

更进一步地,所述步骤s4具体包括:

将3×3窗口内的像素分别定义为pi;

对窗口内的每一列分别计算最大值、中值、最小值,并分为最大值组、中值组以及最小值组;

令最大值组中的最小值为maxmin,中值组中的中值为medmed,最小值组中的最大值为minmax,则滤波结果的输出的像素值winmed为maxmin、medmed、minmax中的中值。

更进一步地,所述角点检测算法,提取螺纹峰值点的步骤包括:

设原图像灰度为i(x,y),窗口函数为w(x,y),图像窗口平移[u,v],产生灰度变化e(u,v):

更进一步地,通过以下方法实现对螺纹角点的筛选:

①针对右侧角点,利用拟合中线,将拟合中线左侧与右侧的点列坐标分别进行存储,记为数组a与数组b;

②针对左侧角点,利用拟合中线,将拟合中线左侧与右侧的点列坐标分别进行存储,记为数组c与数组d;将拟合中线左侧与右侧的点行坐标分别进行存储,记为数组e与数组f;

③针对右侧角点计算中线左右角点到中线的距离,如果距离过小于设定值,判定为无效角点,达到筛选角点的目的;

④针对左侧角点也进行步骤③处理。

实施本发明实施例,具有如下有益效果:通过ncc归一化匹配算法,完成对零件螺纹的识别及追踪,并在此基础上设计了自适应的roi裁剪区域,依次经过中值滤波及图像的二值化等多种图像预处理步骤,有效降低了图像的处理难度。在螺纹特征的提取及测量上,首先通过canny算法提取边缘轮廓,提出了利用最小二乘法直线拟合技术对其轮廓进行直线拟合,生成螺纹中径线,完成螺纹中径测量。同时通过harris角点检测算法对轮廓波峰与波谷进行提取,提出了利用螺纹中径线与各角点之间的距离来完成对角点的细化,提高了螺栓螺纹波谷与波峰的提取精度。经过验证,螺纹检测速度为0.76s/个,检测精度为±0.01mm。有效解决了传统螺纹参数检测技术速度慢、工序复杂、效率低、精度差以及抽检带来的弊端等,能够更好的响应车间流水线是操作,提高生产厂家的生产效益。

附图说明

图1是模板匹配获得待测目标中心示意图;

图2是自适应roi裁剪示意图;

图3是canny算子检测螺纹轮廓示意图;

图4是最小二乘法拟合螺纹中径线示意图;

图5是harris角点检测螺纹峰值示意图;

图6是角点筛选示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。

本发明实施例的一种运动背景下螺纹关键尺寸参数的在线视觉方法,通过以下步骤进行实施。

(1)通过工业相机获取螺纹的正视图。

(2)通过ncc归一化模板匹配的方法实现螺纹特征的过程,具体使用公式:

其中m,n为被搜索图像的m行,n列;m,n为模板图像的m行,n列;sij(m,n)为在搜索图像中的搜索区域图像,i和j分别为搜索图像的第i行和第j列;t(m,n)为模板图像。

当模板和子图完全一样时,相关系数r(i,j)=1。当被搜索图完全被搜索后,找出r的最大值rmax,其相对应的子图即为匹配目标。如图1所示,方框区域为匹配模板,中心点为经过模板匹配后获得目标中心,已知目标中心后,可为下一步自适应roi裁剪好准备。

(3)在通过ncc归一化模板匹配后获得待测零件的中心,利用待测零件的中心点m(i,j),根据待测目标形状,可选择性设置裁剪区域及裁剪形状(矩形、圆形等)。如本系统中,通过将中心点分别移动两个位置即左上角和右下角两个点,就能获得roi矩形区域,公式如下:

rectangle(i-a,j-b,i+a,j-b)#(1.2)

其中,a,b为所裁剪矩形大小的二分之一,所形成矩形区域即为裁剪区域,如图2所示。

(4)为加快检测速度,在滤波上主要采用快速并行中值滤波算法,此算法比传统中值滤波算法在速度上要快大约2倍的速度,具体实现方法为:

将3×3窗口内的像素分别定义为pi。素排列如表1-1所示。首先对窗口内的每一列分别计算最大值、中值、最小值,这样就得到了3组数据,分别为最大值组、中值组以及最小值组。

表1-13×3窗口内像素排列

最大值组:

max0=max[p0,p3,p6],max1=max[p1,p4,p7],max2=max[p2,p5,p8]

中值组:

med0=max[p0,p3,p6],med1=max[p1,p4,p7],med2=max[p2,p5,p8]

最小值组

min0=max[p0,p3,p6],min1=max[p1,p4,p7],min2=max[p2,p5,p8]

公式中max表示取最大值操作,med表示取中值操作,min表示取最小操作。

令最大值组中的最小值为maxmin,中值组中的中值为medmed,最小值组中的最大值为minmax,则滤波结果的输出的像素值winmed应该为maxmin、medmed、minmax中的中值。

其中

maxmin=min[max0,max1,max2]

medmed=med[med0,med1,med2]

minmax=max[min0,min1,min2]

winmed=med[maxmin,medmed,minmax]

采用此方法中值的计算需要做17次比较,与传统算法相比,比较次数减少了近2倍。

(5)首先利用其中一张图片进行手动输入阈值,进行阈值分割。以待测量特征清晰,不跳动,少毛边为原则并记住此阈值大小。由于整个测量环境置于箱体内,光源环境较稳定,所以采用整体阈值法,并利用记住的阈值作为此测量特征通用的阈值。即测量不同零件的特征参数,都需要提前对此测量特征进行调整,并利用此阈值。

(6)通过自适应roi设计,裁剪并获得图一所示的裁剪区域,利用canny算法来实现对螺纹轮廓的提取;通过利用最小二乘法直线拟合算法,对提取的两条螺纹轮廓进行拟合,生成轮廓中线,即认为此中线即为螺纹中径所有点的集合;通过角点检测算法,提取螺纹峰值点,并利用角点到螺纹中径线的距离来细化筛选角点,筛选后的角点即认为螺纹小径和螺纹大径的所有点的集合。

1)边缘检测,为提高检测精度,本实施例采用canny算子,获取目标区域轮廓,存储目标区域像素点的坐标。canny边缘检测算子是高斯函数的一阶导数,是基于最优化算法的检测算子,具有良好的边缘检测精度和信噪比。canny边缘检测算子将边缘检测问题转化成为通过检测单位函数的极大值问题,从而实现边缘提取的目的。它利用高斯函数的一阶微分对图像进行滤波,得到每个像素梯度的大小|g|和方向θ为

式中f为滤波后的图像灰度值。该算法在检测中对梯度进行了非极大抑制(nms):滤波后确定的边缘点会导致梯度幅度图像中出现脊,算法追踪所有脊的顶部并将所有不在脊的顶部的像素设为零,以便在输出中给出一条细线,图3所示,为利用canny算子对螺纹进行检测的结果。

2)最小二乘法拟合螺纹中径线,在拟合方法中,基于最小二乘准则的函数拟合是一个有效、快速的数学工具;同时用最小二乘准则进行图像测量,可以保证测量的可靠性和高效性。通过分别对两条边缘轮廓进行直线拟合,获得其拟合中线即为螺纹中径所有点的集合。

①用最小二乘法估计参数时,要求观测值yi的偏差的加权平方和为最小,即

式中有两个待定参数,α0代表截距,α1代表斜率,为待求参数。对于等精度测量所得到的n组数据(xi,yi)且i=1,2,…,n,xi值被认为是准确的,所有的误差只与yi有关。

②要求yi的偏差的平方和最小,即

③解正规方程组便可求得参数α0、a1的最佳估计值

针对任何两个变量x,y的一组实验数据(xi,yi)(i=1,2,…,n)均可按上述计算公式拟合一条直线,需要指出的是只有当x和y之间存在线性关系式,拟合的直线才有意义。为此引入一个参量:相关系数r,定义为:

其中r表示两变量之间的函数关系与线性的符合程度,r∈[-1,1],r绝对值越接近于1,x和y的线性关系越好;如果r接近于0,可以认为x和y之间不存在线性关系。r的绝对值如过能达到0.999以上就表示实验数据线性良好。如图4所示两条竖直的直线即为拟合的两条螺纹中径线,通过计算获得两条直线的最大距离和最小距离取其平均值即为所求螺纹的中径。

3)角点(螺纹峰值点)检测及筛选细化,本实施例通过harris角点检测来获得图像的角点即螺纹的峰值,如图5所示。具体原理为:设原图像灰度为i(x,y),窗口函数为w(x,y),图像窗口平移[u,v],产生灰度变化e(u,v):

从图5中可以看出,通过角点检测所获得角点与边缘轮廓具有较好的契合度,同时可利用角点的坐标来实现螺栓螺纹的螺纹大径、小径及螺距的测量。同时螺纹角点在识别的过程中,不可避免的会出现误识别,如图6所示。为了获得更好、更准确三维螺纹角点,可通过以下方法实现对螺纹角点的筛选,具体实现步骤如下:

①针对右侧角点,利用拟合中线,将拟合中线左侧与右侧的点column坐标分别进行存储,记为数组a与数组b。

②针对左侧角点,利用拟合中线,将拟合中线左侧与右侧的点column坐标分别进行存储,记为数组c与数组d;将拟合中线左侧与右侧的点row坐标分别进行存储,记为数组e与数组f。

③针对右侧角点计算中线左右角点到中线的距离,如果距离(此距离根据螺纹上下峰值大小进行具体设定)过小,判定为无效角点,达到筛选角点的目的。如图所示,蓝色圈起来的角点即为无效点。

④针对左侧角点也进行步骤③处理。

⑤计算螺纹大径:

其中n为数组元素的数量

⑥计算螺纹小径:

其中m为数组元素的数量

⑦计算螺纹螺距:

其中m、n为数组元素的数量

完成以上几个步骤,即可获得螺纹大径、小径及螺纹螺距的测量。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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