一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于机器视觉的直刃刀尺寸检测方法及系统与流程

2021-11-05 22:59:00 来源:中国专利 TAG:


1.本发明属于智能检测技术领域,涉及直刃刀具智能检测技术,具体为一种基于机器视觉的直刃刀尺寸检测方法及系统。


背景技术:

2.随着现代工业加工技术的不断发展,加工不同零件会用到各种各样的刀具。刀具作为加工设备中的重要组成部分,磨制出来的刀具是否符合尺寸要求,对刀具自身的寿命和加工过程的稳定性及零件表面加工质量有着重要影响。刀具的尺寸精度高,在加工过程中可以减少切削力,提高加工效率和加工零件的表面质量。因此,检测它的尺寸参数对于提升加工过程的稳定性和零件加工质量具有重要的工程价值。
3.传统的尺寸测量的方法,是通过刻度尺、游标卡尺、千分表、螺旋测微器等工具对工件进行尺寸测量。这种测量方法存在很多不足之处,如工作效率低、测量速度慢、测量工具与工件接触由于不当的操作还会造成测量工具和工件的磨损的现象,并且测量极易受到工件形状的限制。
4.机器视觉是利用光学原理的一种测量方法,用机器代替人眼进行测量和判断。近几年随着相机、镜头等硬件设备的不断升级以及图像处理技术的快速发展,机器视觉已在多个行业中得到了实际应用。采用机器视觉的测量方法可以避免传统测量中接触时磨损的问题,工作稳定可靠,检测速度快,提高了检测的效率。
5.现有的机器视觉尺寸测量中,对采集到的图片边缘提取后,使用最小二乘法进行直线拟合,找到已知的所有点距离之和最小的直线。最小二乘法会用到所有的点,所以对噪声很敏感,它拟合出来的直线并不会穿过所有的点,改变其中一个点的位置,会对结果造成影响。这种方法无法同时处理多根直线,对噪声的鲁棒性不好,受噪声影响大,并且无法拟合垂直线。


技术实现要素:

6.针对现有技术存在的问题,本发明提供了一种基于机器视觉的直刃刀尺寸测量方法及系统。本发明在对图像边缘提取后,使用hough变换检测直线,与采用最小二乘法拟合直线相比,hough变换是找一条直线使已知所有点中有最多点在这条直线上,检测出来的直线必定会穿过相关的点,几乎不受噪声或干扰点的影响,鲁棒性强,并且可以同时检测出多条直线。此技术方案具有检测速度快、精度高,可以长时间工作等优势,可以获得直刃刀的单侧厚度、总厚度、刃宽,实现直刃刀尺寸的非接触测量。
7.本发明采取如下技术方案:
8.一种基于机器视觉的直刃刀尺寸测量方法,具体过程包括以下步骤:
9.(1)安装好相机,采集多张相机标定板图像,标定相机的内部参数和外部参数,建立相机成像的几何模型。
10.(2)将待检测工件装夹好,置于相机检测的视野范围内,采集工件不同位置的图
像。
11.(3)对采集到的图像确定感兴趣区域。
12.(4)对图像进行预处理,将图像转化为二值图,并对二值图添加中值滤波。
13.(5)使用canny算子进行边缘检测。
14.(6)使用hough变换对边缘进行直线检测。
15.(7)计算直刃刀的尺寸。
16.优选的,步骤(1)安装好相机后,使用matlab,拍摄多张不同方向的标定板图片,标定好相机的内部参数和外部参数,将世界坐标系转化为像素坐标系,得到世界坐标系(x
w
,y
w
)和像素坐标系(u,v)的比例系数k,(x
w
,y
w
)=k(u,v)。
17.优选的,步骤(6),使用hough变换对边缘进行直线检测具体包括以下步骤:
18.设图像中检测出来的直线段为y1,y2,y3,
……
,y
n
,直线段的起点坐标和终点坐标分别为(x1,y1),(x2,y2),(x3,y3),
……
,(x
2n
,y
2n
);y1的起点坐标和终点坐标分别为(x1,y1),(x2,y2),y2的起点坐标和终点坐标分别为(x3,y3),(x4,y4),
……
,y
n
的起点坐标和终点坐标分别分(x
2n
‑1,y
2n
‑1),(x
2n
,y
2n
);
19.计算y1,y2,y3,
……
,y
n
的直线方程:y
n
=k
n
x b
n
(n=1,2,3,
……
)
20.其中,斜率截距
21.优选的,步骤(7),根据直线段y1,y2,y3,
……
,y
n
计算直刃刀的单侧厚度、总厚度、刃宽;计算过程如下:
22.设检测出的直线段为y1=k1x b1,y2=k2x b2,y3=k3x b3;
23.厚度计算时分别取y1,y2,y3直线上的三个点x1,x2,x3,求出在这三个点上直线的距离d,计算直线距离的平均值m,m1,m2,再乘上比例系数k,即为直刃刀的总厚度、上侧厚度、下侧厚度;
24.d1=|y
31

y
11
|,d2=|y
32

y
12
|,d3=|y
33

y
13
|,d4=|y
31

y
21
|,d5=|y
32

y
22
|,d6=|y
33

y
23
|,d7=|y
21

y
11
|,d8=|y
22

y
12
|,d9=|y
23

y
13
|
[0025][0026]
总厚度=k*m,上侧厚度=k*m1,下侧厚度=k*m2;
[0027]
设检测出的图像的直线为y4,y5,y6,y7;取三点分别计算y4,y5和y6,y7的平面距离d1、d2;
[0028]
图像坐标中下侧刃宽n1,上侧刃宽n2的计算公式为:的计算公式为:
[0029]
下侧刃宽=k*n1,上侧刃宽=k*n2。
[0030]
本发明还公开了一种基于机器视觉的直刃刀尺寸测量系统,其包括以下模块:
[0031]
相机标定模块:采集多张相机标定板图像,标定相机的内部参数和外部参数,建立相机成像的几何模型;
[0032]
图像采集模块:采集工件不同位置的图像;
[0033]
确定感兴趣区域模块:对采集到的图像确定感兴趣区域;
[0034]
图像预处理模块:对图像进行预处理,将图像转化为二值图,并对二值图添加中值滤波;
[0035]
canny算子边缘提取模块:使用canny算子进行边缘检测;
[0036]
hough变换直线检测模块:使用hough变换对边缘进行直线检测;
[0037]
计算直刃刀尺寸模块:计算直刃刀的尺寸。
[0038]
优选的,相机标定模块:使用matlab,拍摄多张不同方向的标定板图片,标定好相机的内部参数和外部参数,将世界坐标系转化为像素坐标系,得到世界坐标系(x
w
,y
w
)和像素坐标系(u,v)的比例系数k,(x
w
,y
w
)=k(u,v)。
[0039]
优选的,hough变换直线检测模块具体如下:
[0040]
设图像中检测出来的直线段为y1,y2,y3,
……
,y
n
,直线段的起点坐标和终点坐标分别为(x1,y1),(x2,y2),(x3,y3),
……
,(x
2n
,y
2n
);y1的起点坐标和终点坐标分别为(x1,y1),(x2,y2),y2的起点坐标和终点坐标分别为(x3,y3),(x4,y4),
……
,y
n
的起点坐标和终点坐标分别分(x
2n
‑1,y
2n
‑1),(x
2n
,y
2n
);
[0041]
计算y1,y2,y3,
……
,y
n
的直线方程:y
n
=k
n
x b
n
(n=1,2,3,
……
)
[0042]
其中
[0043]
优选的,计算直刃刀尺寸模块具体如下:根据直线段y1,y2,y3,
……
,y
n
计算直刃刀的单侧厚度、总厚度、刃宽;计算过程如下:
[0044]
设检测出的直线段为y1=k1x b1,y2=k2x b2,y3=k3x b3;
[0045]
厚度计算时分别取y1,y2,y3直线上的三个点x1,x2,x3,求出在这三个点上直线的距离d,计算直线距离的平均值m,m1,m2,再乘上比例系数k,即为直刃刀的总厚度、上侧厚度、下侧厚度;
[0046]
d1=|y
31

y
11
|,d2=|y
32

y
12
|,d3=|y
33

y
13
|,d4=|y
31

y
21
|,d5=|y
32

y
22
|,d6=|y
33

y
23
|,d7=|y
21

y
11
|,d8=|y
22

y
12
|,d9=|y
23

y
13
|
[0047][0048]
总厚度=k*m,上侧厚度=k*m1,下侧厚度=k*m2;
[0049]
设检测出的图像的直线为y4,y5,y6,y7;取三点分别计算y4,y5和y6,y7的平面距离d1、d2;
[0050]
图像坐标中下侧刃宽n1,上侧刃宽n2的计算公式为:的计算公式为:
[0051]
下侧刃宽=k*n1,上侧刃宽=k*n2。
[0052]
本发明提供了一种基于机器视觉的直刃刀尺寸的非接触测量方法及系统,具备如下有益效果:
[0053]
(1)安全可靠,机器视觉为非接触式测量,避免了接触测量时易对工件造成刮擦损伤的问题。
[0054]
(2)可以代替人工检测,避免了人员对工件尺寸测量时的偶然误差。
[0055]
(3)稳定性高,相机可以长时间工作,解决了人员长时间测量的疲劳问题。
[0056]
(4)精度高,机器视觉尺寸测量的精度可达到微米级。
附图说明
[0057]
图1为本发明基于机器视觉的直刃刀尺寸检测方法的一种优选实施例的流程图。
[0058]
图2为直刃刀侧面边缘提取图。
[0059]
图3为直刃刀侧面直线检测结果图。
[0060]
图4为直刃刀正面边缘提取图。
[0061]
图5为直刃刀正面直线检测结果图。
[0062]
图6是本发明基于机器视觉的直刃刀尺寸检测系统的功能框图。
具体实施方式
[0063]
下面结合附图进一步说明本发明的详细内容及具体实施方式。
[0064]
参见图1,本实施例一种基于机器视觉的直刃刀尺寸检测方法,包括以下步骤:
[0065]
(1)安装好相机,使用matlab,拍摄15张不同方向的标定板图片,标定好相机的内外参数,将世界坐标系转化为像素坐标系,得到世界坐标系(x
w
,y
w
)和像素坐标系(u,v)的比例系数k,(x
w
,y
w
)=k(u,v)。标定好的相机在没有移动和装拆的情况下,之后检测中无需再次进行相机标定。
[0066]
(2)将需要待检测的直刃刀置于相机视野范围内,装夹好工件,相机采集工件不同位置的图像。
[0067]
(3)采集到的工件图像包含有不需要的信息,确定图片的感兴趣区域,减少图像处理时间。
[0068]
(4)将采集到的图像转化为二值图像,为了降低噪声对图像的影响,提高图像质量,还需对图像添加中值滤波,具体做法就是将像素点所在邻域各点的灰度值均值作为该点的灰度值。
[0069]
(5)对预处理后的图像使用canny算子进行边缘检测。具体步骤为:首先对图像进行高斯滤波去除噪声,之后计算梯度值和方向,x方向和y方向梯度计算公式分别为:梯度方向计算公式为:之后寻找像素点局部最大值,梯度方向上邻域的梯度值最大则保留,否则抑制。最后设置双阈值,像素点大于阈值上界则认为是边界,小于阈值下界则认为不是边界。检测结果如图2和图4所示。
[0070]
(6)使用hough变换对图2和图4进行直线检测,检测结果如图3和图5所示。之后得到直线方程。
[0071]
设图3和图5中检测出来的直线段为y1,y2,y3,y4,y5,y6,y7,直线段的起点坐标和终点坐标分别为(x1,y1),(x2,y2),(x3,y3),
……
,(x
14
,y
14
)。y1的起点坐标和终点坐标分别为(x1,y1),(x2,y2),y2的起点坐标和终点坐标分别为(x3,y3),(x4,y4),
……
,y7的起点坐标和
终点坐标分别分(x
13
,y
13
),(x
14
,y
14
)。
[0072]
计算y1,y2,y3,
……
,y7的直线方程:y
n
=k
n
x b
n
(n=1,2,3,
……
)
[0073]
其中,斜率
[0074]
截距
[0075]
(7)通过计算直线的距离,得到直刃刀的上侧厚度、下侧厚度、总厚度、刃宽。
[0076]
设图3检测出的直线段为y1=k1x b1,y2=k2x b2,y3=k3x b3。
[0077]
厚度计算时分别取y1,y2,y3直线上的三个点x1,x2,x3,求出在这三个点上直线的距离d,计算直线距离的平均值m,m1,m2,再乘上比例系数k,即为直刃刀的总厚度、上侧厚度、下侧厚度。
[0078]
直线y1,y3在三个点的距离d1=|y
31

y
11
|,d2=|y
32

y
12
|,d3=|y
33

y
13
|
[0079]
直线y2,y3在三个点的距离d4=|y
31

y
21
|,d5=|y
32

y
22
|,d6=|y
33

y
23
|
[0080]
直线y1,y2在三个点的距离d7=|y
21

y
11
|,d8=|y
22

y
12
|,d9=|y
23

y
13
|
[0081]
直线y1,y3的平均距离
[0082]
直线y2,y3的平均距离
[0083]
直线y1,y2的平均距离
[0084]
总厚度=k*m,上侧厚度=k*m1,下侧厚度=k*m2。
[0085]
设图5检测出的图像的直线为y4,y5,y6,y7。取三点x4,x5,x6,分别计算y4,y5和y6,y7的距离d1、d2。
[0086]
直线y4,y5在三个点的距离d
10
=|y
54

y
44
|,d
11
=|y
55

y
45
|,d
12
=|y
56

y
46
|
[0087]
直线y6,y7在三个点的距离d
13
=|y
74

y
64
|,d
14
=|y
75

y
65
|,d
15
=|y
76

y
66
|
[0088]
直线y4,y5的平均距离
[0089]
直线y6,y7的平均距离
[0090]
图像坐标中下侧刃宽n1,上侧刃宽n2的计算公式为:的计算公式为:
[0091]
下侧刃宽=k*n1,上侧刃宽=k*n2。
[0092]
参见图6,本实施例公开了一种基于机器视觉的直刃刀尺寸检测系统,包括以下模块:
[0093]
相机标定模块:安装好相机,相机标定模块使用matlab,拍摄15张不同方向的标定板图片,标定好相机的内外参数,将世界坐标系转化为像素坐标系,得到世界坐标系(x
w
,y
w
)和像素坐标系(u,v)的比例系数k,(x
w
,y
w
)=k(u,v)。标定好的相机在没有移动和装拆的情况下,之后检测中无需再次进行相机标定。
[0094]
图像采集模块:将需要待检测的直刃刀置于相机视野范围内,装夹好工件,图像采集模块通过相机采集工件不同位置的图像。
[0095]
确定感兴趣区域模块:采集到的工件图像包含有不需要的信息,确定图片的感兴趣区域,以减少图像处理时间。
[0096]
图像预处理模块:将采集到的图像转化为二值图像,为了降低噪声对图像的影响,提高图像质量,还需对图像添加中值滤波,具体做法就是将像素点所在邻域各点的灰度值均值作为该点的灰度值。
[0097]
canny算子边缘提取模块:对预处理后的图像使用canny算子进行边缘检测。具体步骤为:首先对图像进行高斯滤波去除噪声,之后计算梯度值和方向,x方向和y方向梯度计算公式分别为:梯度方向计算公式为:之后寻找像素点局部最大值,梯度方向上邻域的梯度值最大则保留,否则抑制。最后设置双阈值,像素点大于阈值上界则认为是边界,小于阈值下界则认为不是边界。检测结果如图2和图4所示。
[0098]
hough变换直线检测模块:使用hough变换对图2和图4进行直线检测,检测结果如图3和图5所示。之后得到直线方程。
[0099]
设图3和图5中检测出来的直线段为y1,y2,y3,y4,y5,y6,y7,直线段的起点坐标和终点坐标分别为(x1,y1),(x2,y2),(x3,y3),
……
,(x
14
,y
14
)。y1的起点坐标和终点坐标分别为(x1,y1),(x2,y2),y2的起点坐标和终点坐标分别为(x3,y3),(x4,y4),
……
,y7的起点坐标和终点坐标分别分(x
13
,y
13
),(x
14
,y
14
)。
[0100]
计算y1,y2,y3,
……
,y7的直线方程:y
n
=k
n
x b
n
(n=1,2,3,
……
)
[0101]
其中,斜率
[0102]
截距
[0103]
计算直刃刀尺寸模块:通过计算直线的距离,得到直刃刀的上侧厚度、下侧厚度、总厚度、刃宽。
[0104]
设图3检测出的直线段为y1=k1x b1,y2=k2x b2,y3=k3x b3。
[0105]
厚度计算时分别取y1,y2,y3直线上的三个点x1,x2,x3,求出在这三个点上直线的距离d,计算直线距离的平均值m,m1,m2,再乘上比例系数k,即为直刃刀的总厚度、上侧厚度、下侧厚度。
[0106]
直线y1,y3在三个点的距离d1=|y
31

y
11
|,d2=|y
32

y
12
|,d3=|y
33

y
13
|
[0107]
直线y2,y3在三个点的距离d4=|y
31

y
21
|,d5=|y
32

y
22
|,d6=|y
33

y
23
|
[0108]
直线y1,y2在三个点的距离d7=|y
21

y
11
|,d8=|y
22

y
12
|,d9=|y
23

y
13
|
[0109]
直线y1,y3的平均距离
[0110]
直线y2,y3的平均距离
[0111]
直线y1,y2的平均距离
[0112]
总厚度=k*m,上侧厚度=k*m1,下侧厚度=k*m2。
[0113]
设图5检测出的图像的直线为y4,y5,y6,y7。取三点x4,x5,x6,分别计算y4,y5和y6,y7的平面距离d1、d2。
[0114]
直线y4,y5在三个点的距离d
10
=|y
54

y
44
|,d
11
=|y
55

y
45
|,d
12
=|y
56

y
46
|
[0115]
直线y6,y7在三个点的距离d
13
=|y
74

y
64
|,d
14
=|y
75

y
65
|,d
15
=|y
76

y
66
|
[0116]
直线y4,y5的平均距离
[0117]
直线y6,y7的平均距离
[0118]
图像坐标中下侧刃宽n1,上侧刃宽n2的计算公式为:的计算公式为:
[0119]
下侧刃宽=k*n1,上侧刃宽=k*n2。
[0120]
本发明基于机器视觉技术的直刃刀尺寸测量方法,首先利用相机标定板,标定好cmos相机的内部参数和外部参数,之后将待检测工件置于相机的视野范围内,采集待检测工件的图像。对采集到的图像确定感兴趣区域(roi),之后对图像进行预处理。再利用canny算子提取直刃刀的边缘信息,将提取到的边缘信息利用hough变换,对直刃刀进行直线检测。最后通过计算得到直刃刀单侧厚度、总厚度、刃宽,实现直刃刀尺寸的非接触式测量。本发明具有精度高、鲁棒性高、检测速度快等优势。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献