一种孔的视觉测量方法与流程

文档序号:11770940阅读:514来源:国知局
一种孔的视觉测量方法与流程

本发明属于视觉测量方法技术领域,涉及一种孔的视觉测量方法。



背景技术:

孔测量广泛存在于工业领应。现有对孔测量,多是对孔位置、孔径和孔轴线分散测量,难以适应自动化装配,尤其是机器人自主装配。

机器视觉的应用,使得完全自主装配成为可能。孔视觉测量主要集中在孔位置、孔径测量或间接孔轴线测量,缺乏一种集成测量孔的方法,且少有同时能适应斜孔测量的方法。



技术实现要素:

本发明的目的是提供一种孔的视觉测量方法,本发明的方法测量操作方便、测量精度高。

本发明所采用的技术方案是,一种孔的视觉测量方法,具体按照以下步骤实施:

步骤1,采用自然光或者结构光投射孔,使孔内柱面产生一条投影曲线,使用相机在不同位置采集同一孔的两幅图像,分别记为image1和image2;

步骤2,对步骤1采集的两幅图像进行图像处理,并提取每幅孔图像中孔端面边缘曲线及孔内柱面投影曲线;

步骤3,采用极线匹配的方法,立体视觉计算孔端面边缘曲线上点的三维坐标和孔内柱面投影曲线上点的三维坐标;

步骤4,根据步骤3计算的孔端面边缘曲线上点的三维坐标,计算孔轴线方程,然后计算孔端面边缘上各点和孔内柱面投影曲线上各点到孔轴线的距离,然后求得平均值,即为孔径大小。

本发明的特点还在于,

步骤3具体按照以下步骤实施:

步骤3.1,计算孔端面边缘曲线上点的三维坐标,具体为:

在image1中,任意取孔端面边缘曲线上n个点,n≥5,然后再在image2中,分别作前面点所对应的极线,每条极线均与image2中孔端面边缘曲线相交于2点,通过在孔端面边缘曲线上所取的点在曲线上的相对位置和结合拍摄两幅图像时相机两处位姿关系选出1点,即为极线匹配对应点,根据立体视觉计算孔端面边缘曲线上n个点的三维坐标;

步骤3.2,计算孔内柱面投影曲线上点的三维坐标,具体为:

在image1中,取孔内柱面投影曲线上任意m个点,m≥3,在image2中分别作前面点所对应的极线,每条极线均与image2中孔内柱面投影曲线相交于1点,即为极线匹配对应点,根据立体视觉计算孔内柱面投影曲线上m个点的三维坐标。

步骤4具体按照以下步骤实施:

步骤4.1,根据孔端面边缘曲线上的点的三维坐标,拟合孔端面平面,得到孔端面的法向,计算对孔端面的坐标变换矩阵,使得孔端面法向与z轴平行,得到变换后的孔端面平面方程z=z0;

根据孔内柱面投影曲线上m个点的三维坐标,采用对孔端面相同的坐标变换矩阵进行坐标变换,得到变换后孔内柱面投影曲线上m个点的三维坐标;

步骤4.2,根据步骤4.1中变换后孔端面边缘点的数据,采用直接最小二乘法拟合变换后的孔端面边缘曲线方程,计算出孔端面的中心坐标(xc,yc,z0);

步骤4.3,设定孔轴线方向为t(m,n,1)t,根据步骤4.2中获取的孔端面边缘曲线方程,分别过经步骤4.1中变换后的孔内柱面投影曲线上的点pi(xi,yi,zi),i为点个数,以设定的孔轴线方向矢量l″(0,0,1)t作母线,母线交变换后孔端面平面于点qi(x′i,y′i,z0),优化各点qi(x′i,y′i,z0)到变换后孔端面边缘曲线的距离平方和,使得各点qi(x′i,y′i,z0)到变换后孔端面边缘曲线的距离平方和越来越小,此时,各母线不断接近真实母线,真实母线的方向即为孔轴线方向;

步骤4.4,由步骤4.2、步骤4.3得到孔端面的中心坐标(xc,yc,z0)和孔轴线方向,根据步骤4.1中对孔端面的坐标变换矩阵逆变换,得到实际孔端面中心点坐标和孔轴线方向,从而得到到实际孔轴线方程;

步骤4.5,根据步骤4.4得到的孔轴线方程和步骤3得到的孔端面边缘曲线上的点和孔内柱面投影曲线上的点,计算各点到孔轴线的距离,求得平均距离值,即为孔径。

步骤4.3中分别过经步骤4.1中变换后的孔内柱面投影曲线上的i个点pi(xi,yi,zi),其中i≥2。

步骤2中的图像处理过程为灰度化、中值滤波去噪、canny边缘检测、二值图像孔洞填充、剔除小面积块,然后得到处理后的孔图像。

本发明的有益效果是:(1)本发明在孔端面边缘点匹配过程先找对应曲线再通过极线约束来匹配,避免了常规特征点误匹配;(2)对寻找孔内柱面上点通过孔内柱面投影曲线上的点来替代,该曲线可由光在孔内形成明暗分界线或线结构光产生,简便经济有效;(3)本发明,同时可测量出孔位置、孔径和孔轴线,精度高,在孔检测和自动化装配具有广泛前景;(5)本发明,不仅适用于直孔,还适用于斜孔及其他封闭准线的柱面孔测量,通用性强。

附图说明

图1是本发明一种孔的视觉测量方法的整体流程图;

图2是本发明一种孔的视觉测量方法的孔端面边缘曲线和孔内柱面投影曲线成像示意图;

图3是本发明一种孔的视觉测量方法中极线约束示意图;

图4是本发明一种孔的视觉测量方法的孔边缘点和孔内柱面上点匹配原理图;

图5是本发明一种孔的视觉测量方法的孔轴线计算原理图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明的一种孔的视觉测量方法,其测量流程如图1所示,具体按照以下步骤实施:

步骤1,采用自然光或者结构光投射孔,使孔内柱面产生一条投影曲线,使用相机在不同位置采集同一孔的两幅图像,分别记为image1和image2;

步骤2,对步骤1采集的两幅图像进行图像处理,并提取每幅孔图像中孔端面边缘曲线及孔内柱面投影曲线;

步骤3,采用极线匹配的方法,立体视觉计算孔端面边缘曲线上点的三维坐标和孔内柱面投影曲线上点的三维坐标;具体按照以下步骤实施:

步骤3.1,计算孔端面边缘曲线上点的三维坐标,具体为:

在image1中,任意取孔端面边缘曲线上n个点,n≥5,然后再在image2中,分别作前面点所对应的极线,每条极线均与image2中孔端面边缘曲线相交于2点,通过在孔端面边缘曲线上所取的点在曲线上的相对位置和结合拍摄两幅图像时相机两处位姿关系选出1点,即为极线匹配对应点,根据立体视觉计算孔端面边缘曲线上n个点的三维坐标;

步骤3.2,计算孔内柱面投影曲线上点的三维坐标,具体为:

在image1中,取孔内柱面投影曲线上任意m个点,m≥3,在image2中分别作前面点所对应的极线,每条极线均与image2中孔内柱面投影曲线相交于1点,即为极线匹配对应点,根据立体视觉计算孔内柱面投影曲线上m个点的三维坐标。

步骤4,根据步骤3计算的孔端面边缘曲线上点的三维坐标,计算孔轴线方程,然后计算孔端面边缘上各点和孔内柱面投影曲线上各点到孔轴线的距离,然后求得平均值,即为孔径大小;具体按照以下步骤实施:

步骤4.1,根据孔端面边缘曲线上的点的三维坐标,拟合孔端面平面,得到孔端面的法向,计算对孔端面的坐标变换矩阵,使得孔端面法向与z轴平行,得到变换后的孔端面平面方程z=z0;

根据孔内柱面投影曲线上m个点的三维坐标,采用对孔端面相同的坐标变换矩阵进行坐标变换,得到变换后孔内柱面投影曲线上m个点的三维坐标;

步骤4.2,采集经步骤4.1中变换后孔端面边缘点的数据,采用直接最小二乘法拟合变换后的孔端面边缘曲线方程,计算出孔端面的中心坐标(xc,yc,z0);

步骤4.3,设定孔轴线方向为t(m,n,1)t,根据步骤4.2中获取的孔端面边缘曲线方程,分别过经步骤4.1中变换后的孔内柱面投影曲线上的点pi(xi,yi,zi),i为点个数,i≥2,以设定的孔轴线方向矢量l″(0,0,1)t作母线,母线交孔端面平面于点qi(x′i,y′i,z0),优化各点qi(x′i,y′i,z0)到变换后孔端面边缘曲线的距离平方和,使得各点qi(x′i,y′i,z0)到变换后孔端面边缘曲线的距离平方和越来越小,此时,各母线不断接近真实母线,真实母线的方向即为孔轴线方向;

步骤4.4,由步骤4.2、步骤4.3得到孔端面的中心坐标(xc,yc,z0)和孔轴线方向,根据步骤4.1中对孔端面的坐标变换矩阵逆变换,得到实际孔端面中心点坐标和孔轴线方向,从而得到到实际孔轴线方程;

步骤4.5,根据步骤4.4得到的孔轴线方程和步骤3得到的孔端面边缘曲线上的点和孔内柱面投影曲线上的点,计算各点到孔轴线的距离,求得平均距离值,即为孔半径。

步骤2中的图像处理过程为灰度化、中值滤波去噪、canny边缘检测、二值图像孔洞填充、剔除小面积块,然后得到处理后的孔图像。

实施例

步骤1,采用自然光或者结构光投射孔,使孔内柱面产生一条投影曲线,使用相机在不同位置采集同一孔的两幅图像,分别记为image1和image2;

孔图像可由同一相机不同位置或两相机采集,并要求相机已标定过,本实施例中采用两相机,如图2所示,即已知两相机内参数k、k′和两处拍摄位置相机的相对位姿已知[r|t]3×4,对应的基础矩阵可表示为f=k′trkt[krtt]×,[·]×为矢量反对称矩阵形式;孔内柱面产生的投影曲线,即为明暗交界线。

步骤2,对步骤1采集的两幅图像进行灰度化、中值滤波去噪、canny边缘检测、二值图像孔洞填充、剔除小面积块,然后得到处理后的孔图像,并提取每幅幅处理后的孔图像中孔端面边缘曲线及孔内柱面投影曲线;通过处理后的孔图像和canny边缘检测图像操作,获取canny边缘检测后的孔图像中各边缘,删除拥有较少点的边缘弧线,再对各边缘弧线上点数量阈值分割,可分别得到孔端面边缘曲线的点和孔内柱面投影曲线上的点;最后对孔端面边缘曲线点进行拟合得到孔端面边缘曲线,而对孔内柱面投影曲线上的点二次拟合得到对应曲线;

步骤3,采用极线匹配的方法,立体视觉计算孔端面边缘曲线上点的三维坐标和孔内柱面投影曲线上点的三维坐标;极限极线匹配的方法,如图3所示,图中,p、p′分别为空间点p在图像中成像点,e、e′为图像极点,l′为p点在另一图像中对应的极线,极线约束匹配为image1中点p对应于image2中一条极线l′=fp,f为步骤1中对应的基础矩阵,image2中与p对应点p′在极线l′上;

具体过程如下:

步骤3.1,计算孔端面边缘曲线上点的三维坐标,具体为:

在image1中,过孔端面中心作0°、90°、45°和-45°方向直线,各交孔端面边缘曲线于2点,在image2中,分别作前面各点对应的极线,每条极线交image2中孔端面边缘曲线于2点,通过在孔端面边缘曲线上所取的点在曲线上的相对位置和结合拍摄两幅图像时相机两处位姿关系可选出1点,即为极线匹配对应点;根据立体视觉计算孔端面边缘曲线8点三维坐标;如图4所示,图4只给出了-45°一条直线交曲线p1、p2两点,即在孔端面边缘曲线上取了p1、p2两点,在另一幅图中分别对应的极线为两极线分别交image2中孔端面边缘曲线于2点,通过p1、p2在曲线上的位置以及结合拍摄两幅图像时相机两处位姿可找到p1和p2的匹配点p′1、p′2;

步骤3.2,计算孔内柱面投影曲线上点的三维坐标,具体为:

在image1中取孔内柱面投影曲线上3点,分别在image2中作对应极线,每条极限与image2中孔内柱面投影曲线交点即为匹配对应点,根据立体视觉计算孔内柱面上曲线3点三维坐标。如图4所示,图4中对孔内柱面投影曲线上点极线匹配给出了一个示意图,q1为image1中孔内柱面投影曲线上1点,为对应极线,交image2中孔内柱面投影曲线上的1点即为q1匹配点;

步骤4,据步骤3计算的孔端面边缘曲线上点的三维坐标,计算孔轴线方程,然后计算孔端面边缘上各点和孔内柱面投影曲线上各点到孔轴线的距离,然后求得平均值,即为孔径大小;具体按照以下步骤实施:如图5所示,图中p1、p2和p3分别为孔内柱面上点,s1、s2和s3分别为过p1、p2和p3的孔母线,q1、q2和q3分别为s1、s2和s3与孔端面交点;

步骤4.1,根据孔端面边缘曲线上的点的三维坐标,拟合孔端面平面,得到孔端面的法向,计算对孔端面的坐标变换矩阵,使得孔端面法向与z轴平行,得到变换后的孔端面平面方程z=z0;

根据孔内柱面投影曲线上3个点的三维坐标,采用对孔端面相同的变换矩阵进行坐标变换,得到变换后孔内柱面投影曲线上3点的三维坐标;

步骤4.1中坐标变换使得孔端面法向与z轴平行在变换时,将孔端面法向与其他坐标轴平行亦可。

步骤4.2,采集经步骤4.1中变换后孔端面边缘点的数据,采用直接最小二乘法拟合变换后的孔端面边缘曲线方程,孔端面边缘曲线为椭圆,其方程为f(a,u)=a·u=a1x2+a2xy+a3y2+a4x+a5y+a6=0,计算出孔端面的中心坐标(xc,yc,z0),

步骤4.3,设定孔轴线方向为t(m,n,1)t,根据步骤4.2中获取的孔端面边缘曲线方程,分别过经步骤4.1中变换后的孔内柱面投影曲线上2个或3个点pi(xi,yi,zi),以设定的孔轴线方向矢量l″(0,0,1)t作母线,母线交孔端面平面于点qi(x′i,y′i,z0),优化各点qi(x′i,y′i,z0)到变换后孔端面边缘曲线的距离平方和,使得各点qi(x′i,y′i,z0)到变换后孔端面边缘曲线的代数距离平方和越来越小,此时,母线不断接近真实母线,真实母线的方向即为孔轴线方向;

x′i=xi+m(z0-zi),y′i=yi+n(z0-zi);

代数距离:

目标函数:

目标函数优化采用levenberg-marquardt法即可;

步骤4.4,由步骤4.2、步骤4.3得到孔端面的中心坐标(xc,yc,z0)和孔轴线方向,根据步骤4.1中对孔端面的坐标变换矩阵逆变换,得到实际孔端面中心点坐标和孔轴线方向,从而得到到实际孔轴线方程;

步骤4.5,根据步骤4.4得到的孔轴线方程和步骤3得到的孔端面边缘曲线上的点和孔内柱面投影曲线上的点,计算各点到孔轴线的距离,求得平均距离值,即为孔径。

本发明步骤4.3中,分别过经步骤4.1中变换后的孔内柱面投影曲线上i个点pi(xi,yi,zi),其中i个点pi(xi,yi,zi)为变换后的孔内柱面投影曲线上m个点中的i个,因此m≥i。

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