一种基于深度图的平面零件三维位置和法向量计算方法

文档序号:9302955阅读:2307来源:国知局
一种基于深度图的平面零件三维位置和法向量计算方法
【技术领域】
[0001] 本发明涉及视觉工业机器人零件三维定位领域,特别涉及一种基于深度图的平面 零件三维位置和法向量计算方法。
【背景技术】
[0002] 视觉工业机器人常用于焊接、码垛、装配、加工、检测、物流搬运和喷涂等领域,应 用过程中都需要对零件进行识别和三维定位。零件三维定位是视觉工业机器人准确进行抓 取和装配等作业的一个重要前提,三维定位精度直接影响到生产制造质量。在工业非结构 化环境中,零件位姿各不相同,并且零件常受到非线性光照变化、杂乱背景和遮挡等因素干 扰,使传统的基于稀疏特征点的三维定位方法不能得到稳定、精确的定位结果。另外,国内 外在相关方面进行了大量的研究,现有视觉三维定位系统主要是根据具体零件的形状和大 小进行针对性开发,通用性和鲁棒性不强,使得视觉三维定位软件的推广受到限制。基于 此,在不提高硬件成本的前提下,使用鲁棒和精确的零件三维定位方法非常重要。

【发明内容】

[0003] 本发明的目的在于克服现有技术中存在的缺点,提供一种通用性强、定位精度高、 稳定性好、适用于平面类零件的基于深度图的平面零件三维位置和法向量计算方法。
[0004] 双目立体视觉系统是通过对左右图像进行立体匹配以获得稠密深度图,并根据三 角测量原理将深度图转换为三维数据,因此,利用稠密深度图可以精确计算零件的三维位 置和法向量。因为许多零件具有平面特征,其三维位姿可以用三维位置和法向量表示,所以 本发明针对平面类零件,使用双目立体视觉系统获得零件稠密深度图,并提出一种鲁棒的 零件三维位置和法向量计算方法。
[0005] 本发明的目的通过下述技术方案实现:
[0006] -种基于深度图的平面零件三维位置和法向量计算方法,包括下述步骤:
[0007] (1)识别和获得深度图:使用双目立体视觉系统获取工业场景中的图像,包括左 图像和右图像,然后使用形状匹配算法来识别左图像中的零件;再使用双目立体视觉系统 计算零件所在感兴趣区域的稠密深度图;
[0008] (2)移除离群点:将稠密深度图转换为三维点云,对点云进行非均匀采样以移除 杂乱背景,再进行鲁棒的统计分析以移除点云中的反光离群点;
[0009] (3)平面拟合:利用移除离群点后的点云,使用随机样本一致性算法拟合平面,得 到平面方程;
[0010] (4)计算三维位置和法向量:利用上述平面方程,计算零件的三维位置和法向量; 再采用坐标转换方法,将三维位置和法向量从摄像机坐标系转换到世界坐标系上,完成零 件的三维定位。
[0011] 步骤(1)中,所述使用形状匹配算法来识别左图像中的零件,其识别步骤是:首 先,创建零件的模板图像,同时假定左图像中存在位姿各异的零件;其次,在左图像中移动 模板,计算模板图像与左图像的匹配区域的相似度,如果零件的方向与模板不同,还需要创 建多个角度的模板;第三,如果相似度大于给定阈值,则意味着找到该模板的一个实例;最 后,使用双目视觉系统来计算该实例的稠密深度图。
[0012] 所述相似度是指模板图像与左图像的匹配区域的方向向量的夹角的余弦值的和 的平均值,具体表示为:假定模板图像表示为T,其中任意点(x,y)灰度值表示为t(x,y),使 用有限差分算子求模板图像的偏导数(tx (x,y),ty (x,y)),它构成了模板图像的方向向量, 方向向量的角度0t(x,y)itanYtyUjhtJxj));同样地,将左图像表示为I,其中任 意点(X,y)灰度值表示为i(X,y),求左图像的偏导数(ix(x,y),iy(x,y)),它构成了左图像 的方向向量,方向向量的角度0i(x,y)itaniQyUjhiJxj));形状匹配的相似度表示 为:
[0013]
C1)
[0014] 式⑴中:n是模板图像像素点的数量,s(r,c)是左图像I上任一点(r,c)的得 分。
[0015] 步骤(2)中,因金属零件表面反光、杂乱背景、遮挡和立体视觉系统算法误差等因 素影响,稠密深度图中存在大量离群点,为抑制这些离群点,采用以下方法依次移除:
[0016] (2-1)假定零件的稠密深度图大小为Mt*Nt,令z(i,j)为稠密深度图在第i 行和第j列处的深度值(〇彡i〈Mt-l,0彡j〈Nt-l),将深度图像转化为三维点云Q= {(i,j,z(i,j)) |i= 0. . .Mt,j= 0. . .Nj;
[0017] (2-2)移除杂乱离群点:确定点云最优的外接球体半径R,将球体以外的深度数据 视为杂乱离群点而移除;
[0018] 所述点云最优的外接球体半径R用下述鲁棒的方法来估计:
[0019] (2_2_1)计算点75:中心点:
1其中Z是点75:所有深度值的 集合z={ZiGp; (Xi,y;,Zi)IPiGQ};
[0020] (2-2-2)计算所有点云数据到中心点的距离的集合:d= {| |Pl-p|I|PlG;
[0021] (2-2-3)球体半径R= 1. 5median{d},其中常数1. 5是为了使R称为球体半径的 无偏估计。
[0022] (2-3)移除反光离群点:由反光干扰带来的离群点是偏离大部分数据的大离群 点,体现为它们的深度值与平面深度值不连续,所以,可以采用点云的均值和标准偏差来分 析数据是否超出了正态分布的某个区间值来移除离群点;但是,大离群点会使传统方法计 算的均值和标准偏差不能够反映数据真实的分布,导致正常数据被误检测为离群点,因此 也可以采用中值代替均值,由中值绝对偏差的中值代替标准偏差:
[0023]
[0024] (2):
[0025] 式中:m指中值,s指中值绝对偏差的中值;
[0026] 如果点云数据满足下式关系,它将被视为离群点:
[0027]
(3)
[0028] 式⑶中:k可取值为2. 5或3.0。
[0029] 步骤(3)中,由于步骤(2)得到的点云数据中不仅存在一个显著的平面,还存在少 量离群点(例如遮挡离群点),这些离群点会影响传统的最小二乘法或者特征值法的平面 拟合精度,因此使用随机样本一致性方法拟合平面;具体步骤如下:
[0030] (3-1)利用式⑷将点云数据转换到摄像机坐标系上:
[0031]
(4)
[0032] 式⑷中:(X。,Y。,ZJ是点云在摄像机坐标系上的三维坐标,(x。,y。)是零件中心点 在左图像中的像素位置,f?是摄像机焦距,Tx是左右摄像机的基线距离,这三个参数可通过 对立体视觉系统进行立体标定来确定;
[0033] (3-2)然后使用随机样本一致性算法拟合点云数据中的平面:
[0034] (3-2-1)从点云中随机选择3个样本点以构成子集S,使用该子集直接解算平面方 程z=ax+by+c,得到方程的解p;
[0035] (3-2-2)使用该平面方程对点云进行划分,将平面误差山=|zi-aXi-byrcl小于 某个阈值的点并入子集S,表示为S*,集合S*被称为集合S的一致集;
[0036] (3-2-3)如果集合num(S*)>t(t是内点的最小数量),那么利用它重新估计平面模 型参数P*,并计算平面误差;
[0037] (3-2-4)重复以上过程k次,记下平面误差最小的参数作为平面模型参数p*。
[0038] 迭代次数k可用以下方法计算:
[0039]
0}
[0040] 式中:z是算法得到正确的平面的概率,w是点云中包含离群点的比例。例如假设 z= 95%,w= 40%,那么可算出k= 12。也就是说重复迭代12次后,得到正确的平面的 概率为95%。
[0041] (3-3)输出平面方程的参数p*。
[0042] 步骤⑷中,根据步骤⑶的平面方程,得到零件的三维位置和法向量,具体方法 如下:
[0043] (4-1)计算平面上三个不共线的点PcO、Pci和Pc2,其中:规定PcO是零件的三维 位置,也就是平面中心点位置;
[0044] (4-2)将世界坐标系固定于平面标定板上,使用摄像机单目标定来计算平面标定 板与左摄像机坐标系的旋转矩阵R和平移矩阵T;
[0045] (4-3)使用式(6)计算这三个点在世界坐标系上的三维坐标PwO、Pwl和Pw2 :
[0046] Pw=R1 (Pc-T) (6)
[0047] (4-4)零件的三维位置是PwO,零件的法向量可用式(7)计算:
[0048] v= (Pw0-Pwl)X(Pw0-Pw2) (7)
[0049] 本发明与现有技术相比具有如下优点和效果:
[0050] (1)采用计算效率高的形状匹配算法来识别零件,在非线性光照、杂乱和遮挡等因 素影响下具备鲁棒性和实时性;
[0051] (2)采用零件的稠密深度图来计算零件的三维位置和法向量,算法有很好的稳定 性和精度。
[0052] (3)通过对稠密深度图进行非均匀采样和标准差分析,抑制深度图中的离群点; 进而使用鲁棒的随即样本一致性算法拟合点云数据,得到正确的平面方程;最后,根据平面 方程提出了一种新颖的三维位置和法向量计算方法啊,并且给出了简易的坐标转换方法。
【附图说明】
[0053] 图
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1