一种基于机器视觉的零件尺寸高精度测量方法

文档序号:31622287发布日期:2022-09-23 23:38阅读:37来源:国知局
一种基于机器视觉的零件尺寸高精度测量方法

1.本发明属于机器视觉技术领域,具体涉及一种零件尺寸高精度测量方法。


背景技术:

2.在机械制造过程中,对零件的尺寸进行测量是组织互换性生产必不可少的一步,即对零件几何参数(长度、角度、表面粗糙度、几何形状和相互位置等)进行测量和检验。在传统行业中,零件尺寸的检测仍处于人工检测的阶段,受工人个人因素的影响,效率和质量难以保证,传统的人工检查方法已不能满足行业需求。基于机器视觉的检测方法得到广泛应用,硬件系统的精度不断提高,各种新的检测算法层出不穷,并被广泛应用于视觉测量等领域,且取得了巨大的成功。
3.近年来,视觉测量技术已取得了较大的发展,但其仍是一个挑战性问题,其难点主要在于如何高精度、高效率且实时的完成尺寸的测量。目前,研究人员主要从硬件系统和软件系统两个方面进行研究与改进。对于硬件系统,研究者们研发了各种高精密的运动平台,选用高分辨率相机和畸变小的镜头以及超精细传感器,但其研发成本相对较高。对于软件系统,目前国内外学者致力于研究尺寸测量算法,但大多数先进的算法都是被运用到检测复杂的自然场景下图像的边缘检测,对于工业背景下的零件尺寸检测仍处于试验性阶段。应用在零件尺寸测量的算法仍具有一定的局限性,对于一些边缘缺陷的处理效果尚不理想,难以满足高精度测量的要求。
4.对于一个高精度机器视觉系统来说,若它可精确定位边缘,则意味着对于任何已知尺寸的被测物,都可以根据其影像和标定的结果,得到精确的实际尺寸。因此,零件视觉测量算法研究的难点主要体现在边缘检测算法方面,改进图像边缘检测算法是提高零件视觉测量精度与效率的关键。


技术实现要素:

5.为了克服现有技术的不足,本发明提供了一种基于机器视觉的零件尺寸高精度测量方法,通过改进canny像素级算法提取零件的几何要素特征来满足亚像素级别的高精度边缘检测的需求,经过数字图像处理、轮廓特征提取和区域特征提取后,通过编写的边缘链接算法对边缘进行处理,再对轮廓进行准确拟合。随后,通过绘制最小外接矩形对零件的整体尺寸进行测量,基于harris角点检测算法找到特征点位置并获得坐标,可以实现零件指定位置的测量。最终根据模型库里已经标定的标准将零件的像素尺寸转换为实际尺寸,从而实现对零件尺寸的高精度测量任务。本发明可以有效提高后期测量精度,可以实现自由度较高的测量任务。
6.本发明解决其技术问题所采用的技术方案包括如下步骤:
7.步骤1:采集待检测的零件原始图像;
8.步骤2:亚像素级边缘检测;
9.步骤2-1:对零件原始图像进行灰度化处理;
10.步骤2-2:再用高斯滤波器平滑图像;
11.步骤2-3:计算梯度幅值和方向;
12.使用sobel算子计算平滑后的图像中每个像素点的梯度;
13.所述sobel算子是一个3x3的矩阵,称为卷积核,通过计算图像中每个像素及其周围8个像素与卷积核的卷积,得到该像素的新值,对一个像素完成一次滤波;重复上述卷积过程,完成图像中所有像素的滤波,具体表示如下:
14.sobel算子计算x方向的梯度:
[0015][0016]
sobel算子计算y方向的梯度:
[0017][0018]
梯度幅值的计算公式为:
[0019][0020]
梯度方向的计算公式为:
[0021]
θ=atan2(gy,g
x
)
ꢀꢀ
(4)
[0022]
其中,i表示图像;
[0023]
步骤2-4:确定梯度极大值;
[0024]
对于每个像素点,进行如下操作:
[0025]
a)将像素点梯度方向近似为以下值中最接近的一个(0,45,90,135,180,225,270, 315);
[0026]
b)用二次曲线拟合梯度方向上相邻三点处的梯度幅值;
[0027]
c)将边缘点定义为二次曲线拟合结果的最大值,保留该像素点位置,删除该梯度方向上的其他像素点;
[0028]
得到亚像素级精度的边缘提取;
[0029]
步骤2-5:双阈值处理;
[0030]
设定阈值上界和阈值下界,根据图像中像素点的梯度值进行判断,如果大于等于阈值上界则判定为边界,称为强边界;若小于等于阈值下界则判定为非边界;像素点介于阈值上界和阈值下界之间则判定为是候选项,称为弱边界;
[0031]
步骤2-6:滞后跟踪边缘;
[0032]
和强边界相连的弱边界判定为边界;不与强边界相连的弱边界判定为非边界;
[0033]
将最终得到的边界作为零件的边缘轮廓;
[0034]
步骤3:尺寸测量;
[0035]
步骤3-1:整体尺寸定位及测量;
[0036]
根据步骤2获取的零件边缘轮廓通过minarearect算子获取零件边缘最小外接矩形;
[0037]
步骤3-2:特征点定位;
[0038]
基于harris角点检测算法获取零件边缘轮廓特征点坐标;
[0039]
步骤3-3:局部尺寸测量;
[0040]
选择要测量位置相关的特征点,计算特征点坐标之间的差值得到对应像素尺寸;
[0041]
步骤3-4:实际尺寸;
[0042]
根据事先标定的结果即比例因子k将所有的像素尺寸转换为相应的实际尺寸;计算公式如下:
[0043]
实际尺寸=k*像素尺寸
ꢀꢀ
(6)
[0044]
优选地,所述高斯滤波器使用的高斯函数如下:
[0045][0046]
其中,(x,y)表示像素点坐标,σ表示方差。
[0047]
本发明的有益效果如下:
[0048]
1、本发明对图像进行亚像素级边缘检测,提取到更加细致的边缘轮廓线,有效提高后期测量精度。
[0049]
2、本发明利用二次曲线拟合梯度方向上相邻三点处的梯度幅值,将边缘点定义为二次曲线拟合结果的最大值,有利于准确预测梯度最大的像素点,有效提高了检测精度。
[0050]
3、本发明在提取到的精度较高的边缘轮廓上利用最小外接矩形对零件整体尺寸进行测量,随后定位多个特征点,计算机通过对用户选择的特征点坐标的计算,可以实现自由度较高的测量任务。
附图说明
[0051]
图1为本发明方法中的灰度化处理示意图。
[0052]
图2为本发明方法中的高斯滤波处理示意图。
[0053]
图3为本发明方法中的梯度值示意图。
[0054]
图4为本发明方法中的确定梯度极大值原理示意图。
[0055]
图5为本发明方法中的梯度极大值示意图。
[0056]
图6为本发明方法中的双阈值处理示意图。
[0057]
图7为本发明方法中的滞后跟踪边缘处理示意图。
[0058]
图8为本发明方法中的最小外接矩形示意图。
[0059]
图9为本发明方法中的特征点定位示意图。
具体实施方式
[0060]
下面结合附图和实施例对本发明进一步说明。
[0061]
由于工业背景下零件边缘检测与其他的边缘检测任务之间存在一定的差异性,在将其他先进的运用于自然场景图像上的算法应用到零件尺寸检测任务上存在计算量大、实时性差的问题,不利于在实际工业中的部署和应用,且普通的算法对于多种微小边缘的检测能力较差,无法满足尺寸高精度测量。为解决上述问题,本发明基于canny 像素级边缘检测算法,采用二次曲线拟合梯度方向上相邻三点处的梯度幅值,将边缘点定义为二次函数
插补结果的最大值,有利于找到梯度最大的像素点,对图像进行亚像素级边缘检测,提取到更加细致的边缘轮廓线,有效提高后期测量精度;在提取到的精度较高的边缘轮廓上利用最小外接矩形对零件整体尺寸进行测量,随后定位多个特征点,计算机通过对用户选择的特征点坐标的计算,可以实现精度较高的测量任务。
[0062]
一种基于机器视觉的零件尺寸高精度测量方法,通过改进canny像素级算法提取零件的几何要素特征来满足亚像素级别的高精度边缘检测的需求,经过数字图像处理、轮廓特征提取和区域特征提取后,通过编写的边缘链接算法对边缘进行处理,再对轮廓进行准确拟合。随后,通过绘制最小外接矩形对零件的整体尺寸进行测量,基于 harris角点检测算法找到特征点位置并获得坐标,可以实现零件指定位置的测量。最终根据模型库里已经标定的标准将零件的像素尺寸转换为实际尺寸,从而实现对零件尺寸的高精度测量任务。本发明有效提高后期测量精度,可以实现自由度较高的测量任务。
[0063]
本发明解决其技术问题所采用的技术方案包括如下步骤:
[0064]
步骤1:采集待检测的零件原始图像;
[0065]
步骤2:亚像素级边缘检测;
[0066]
步骤2-1:如图1所示,首先对零件原始图像进行灰度化处理;
[0067]
步骤2-2:再用高斯滤波器平滑图像;
[0068]
滤波过程中使用的高斯函数如下:
[0069][0070]
对原始数据与高斯mask作卷积,通过高斯滤波对图像进行平滑处理,可以保证特征点和边缘的特性,不会改变原图像的边缘走向。这一步的处理结果如图2所示;
[0071]
步骤2-3:计算梯度幅值和方向;
[0072]
如图3所示,为使用sobel算子计算平滑后图像中每个像素点的梯度的结果;
[0073]
所述sobel算子是一个3x3的矩阵,称为卷积核,通过计算图像中每个像素及其周围8个像素与卷积核的卷积,得到该像素的新值,对一个像素完成一次滤波;重复上述卷积过程,完成图像中所有像素的滤波,具体表示如下:
[0074]
sobel算子计算x方向的梯度:
[0075][0076]
sobel算子计算y方向的梯度:
[0077][0078]
梯度幅值的计算公式为:
[0079][0080]
梯度方向的计算公式为:
[0081]
θ=atan2(gy,g
x
)
ꢀꢀ
(5)
[0082]
其中,i表示图像;
[0083]
步骤2-4:确定梯度极大值;这一步的目的是将模糊的边界变得清晰,并且尽可能得到精度较高的边缘线;通俗的讲,就是保留了每个像素点上梯度强度的极大值,而删掉其他的值。
[0084]
如图4所示,为确定梯度极大值的原理图,即对于每个像素点,进行如下操作:
[0085]
a)将像素点梯度方向近似为以下值中最接近的一个(0,45,90,135,180,225,270,315)(即上下左右和45度方向);
[0086]
b)用二次曲线拟合梯度方向上相邻三点处的梯度幅值;
[0087]
c)将边缘点定义为二次曲线拟合结果的最大值,保留该像素点位置,删除该梯度方向上的其他像素点;
[0088]
这一步的处理结果如图5所示,得到亚像素级精度的边缘提取,有效提高去噪能力和检测精度;
[0089]
步骤2-5:双阈值处理;
[0090]
设定阈值上界和阈值下界,图像中的像素点如果大于等于阈值上界则判定为边界 (称为强边界,strong edge);像素点小于等于阈值下界则判定为非边界;像素点介于阈值上界和阈值下界之间则判定为是候选项(称为弱边界,weak edge),需要进行下一步处理;以此完成对边界的筛选分类,结果如图6所示。
[0091]
步骤2-6:滞后跟踪边缘;
[0092]
如图7所示,继续对上一步判定为弱边界的点进行处理,将与强边界相连的弱边界判定为边界;不与强边界相连的弱边界判定为非边界;这样就得到了比较精确且连续的亚像素级别的边缘轮廓线,为接下来的尺寸测量提供很好的基础。
[0093]
将最终得到的边界作为零件的边缘轮廓;
[0094]
步骤3:尺寸测量;
[0095]
步骤3-1:整体尺寸定位及测量;
[0096]
如图8所示,根据步骤2获取的零件边缘轮廓,运用opencv中的minarearect 算子获取零件边缘最小外接矩形,并将矩形的长、宽等像素尺寸进行保存,需进行下一步处理;
[0097]
步骤3-2:特征点定位;
[0098]
如图9所示,基于harris角点检测算法获取零件边缘轮廓特征点坐标;
[0099]
步骤3-3:局部尺寸测量;
[0100]
手动选择要测量位置相关的特征点,计算机自动计算特征点坐标之间的差值得到对应像素尺寸;
[0101]
步骤3-4:实际尺寸;
[0102]
根据事先标定的结果(比例因子k)将所有的像素尺寸转换为相应的实际尺寸;计算公式如下:
[0103]
实际尺寸=k*像素尺寸
ꢀꢀ
(6) 。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1