基于网格特征描述的堆叠工件遮挡点云配准方法及装置
未命名
08-25
阅读:171
评论:0
1.本发明属于三维配准技术领域,尤其涉及基于网格特征描述的堆叠工件遮挡点云配准方法及装置。
背景技术:
2.为使机械臂能够以正确的姿态抓取随机摆放且堆叠在深筐当中的工件,需要对目标工件进行位姿估计。近年来,激光传感器、毫米波雷达、结构光等三维数据获取设备越来越廉价,研究人员使用三维扫描设备获得目标工件的3d点云数据,并将三维目标点云和位姿已知的模板点云进行刚性点云配准,从而实现目标工件的识别和定位,成为三维配准技术领域的研究重点。
3.传统的工件无序抓取的场景往往是较为理想的,既工件有序摆放在同一水平工作台上,工件与相邻工件之间不存在明显的遮挡关系,位姿估计过程较易实现。然而在实际工业生产过程中,工件往往是散乱堆叠在深筐当中,工件与工件之间存在遮挡与堆叠,获取的三维点云数据存在明显的信息缺失,使得现有的点云配准方法配准精度降低,鲁棒性弱。例如现有的采用2d图像的方法无法很好解决工件遮挡问题,以及近年来直接使用点云作为输入的深度学习方法无法很好解决点云信息缺失的问题。
4.在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
5.工业上现有的点云配准方法在面向深筐中堆叠工件造成的遮挡以及点云信息缺失等复杂环境下存在点云配准精度降低,配准速度慢的问题。
技术实现要素:
6.针对现有技术存在的问题,本技术实施例的目的是提供一种基于网格特征描述的堆叠工件遮挡点云配准方法及装置,相较于现有方法,在面向零部件堆叠造成的点云信息缺失,遮挡等复杂环境下也有较强的鲁棒性和配准精度。
7.根据本技术实施例的第一方面,提供一种基于网格特征描述的堆叠工件遮挡点云配准方法,包括:
8.(1)获取工件的位姿点云和工件目标点云,对所述位姿点云和工作目标点云进行数据预处理,得到合成的工件模板点云候选点集pc和工件目标点云候选点集qc;
9.(2)计算所述工件模板点云候选点集pc和工件目标点云候选点集qc中每一个点的高斯曲率以及其中m和n分别为候选点集pc和qc的点数量,筛选所述高斯曲率大于预定阈值ε的点作为关键点,得到模板点云关键点集s和工件目标点云关键点集t;
10.(3)利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,获得特征描述矩阵;
11.(4)对所述特征描述矩阵计算卡方相似度,确定初始对应点对集合e={(mi,hj),mi∈t,hj∈s},其中t为所述工件目标点云关键点集,s为所述模板点云关键点集;
12.(5)对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,得到正确的点对关系;
13.(6)从所述正确的点对关系中随机选择n组对应点对,n≥3,通过svd奇异值分解求解刚性变化矩阵,将所述工件模板点云候选点集pc通过刚性变换矩阵变换到工件目标点云相同坐标系下完成粗配准,经过若干次随机选择数量相同的n组对应点对进行粗配准,选择误差最小的刚性变换矩阵作为粗配准结果,并结合icp算法获得最终配准结果。
14.进一步地,在步骤(1)中,对所述位姿点云和工作目标点云进行数据预处理,包括:
15.步骤1.1:对所述工件位姿点云和工件目标点云,采用三维体素滤波的方法得到降采样后的工件位姿点云p和工件目标点云q;
16.步骤1.2:将所述工件位姿点云p合并成完整的工件模板点云ps,将所述工件目标点云q分割成多个目标点云qs;
17.步骤1.3:对所述工件模板点云ps和目标点云qs,采用贪婪投影三角化方法进行网格三角化,其中没有形成三角网格的点视为离散的噪点;
18.步骤1.4:在建立的三角化网格中提取非边缘网格顶点作为候选点集,得到工件模板点云候选点集pc和工件目标点云候选点集qc,其中所述非边缘网格顶点是指该点的状态为网格顶点的同时,其完整的一阶邻域拓扑点均为网格顶点。
19.进一步地,在步骤(2)中,计算所述工件模板点云候选点集pc和工件目标点云候选点集qc中每一个点的高斯曲率以及包括:
20.步骤2.1:对所述工件模板点云候选点集pc和工件目标点云候选点集qc中的每一个点,提取该点的一阶邻域多边形;
21.步骤2.2:计算每一个点的高斯曲率ki,公式如下:
[0022][0023]
其中,ai为邻域面积,即所述一阶邻域多边形中三角面片的相邻边的中垂线形成的多边形区域面积,θj为相邻边的夹角,n为所述一阶邻域多边形包含的三角面片个数,i表示第i个点,1≤m+n。
[0024]
进一步地,在步骤(3)中,利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,包括:
[0025]
步骤3.1:遍历所述模板点云关键点集s和工件目标点云关键点集t中的每一个关键点点pi,并提取该点的一阶邻域多边形;
[0026]
步骤3.2:计算每个所述一阶邻域多边形的网格四元素,所述网格四元素为步骤3.2:计算每个所述一阶邻域多边形的网格四元素,所述网格四元素为其中
[0027][0028][0029][0030]
[0031]
其中点pi为所述模板点云关键点集s或工件目标点云关键点集t的关键点,点和为所述关键点pi的两个相邻的一阶邻域拓扑点,点和和所述关键点pi共同组成邻域三角面片,f1、f2、f3为三角面片的三个夹角,f4为三角面片相邻边和的中垂线和点pi共同组成的多边形面积;
[0032]
步骤3.3:对所述网格四元素进行直方图统计,其中f1、f2、f3、f4分别设置f1、f2、f3、f4个区间,从而生成关键点pi的f1+f2+f3+f4维的局部特征描述向量msph(pi);
[0033]
步骤3.4:采用加权的方式形成每一个关键点的最终局部特征描述向量mpph:
[0034][0035]
其中pi为关键点,j为关键点pi的一阶邻域拓扑点中的关键点数量,w
l
为关键点pi和关键点之间的欧式距离,为pi的一个一阶邻域拓扑点且是关键点。
[0036]
进一步地,在步骤(4)中,对所述特征描述矩阵计算卡方相似度来确定初始对应点对集,包括:
[0037]
步骤4.1:计算工件目标点云关键点集t中的任一关键点mi与模板点云关键点集s中的任一关键点hj的卡方相似度d(mi,hj),其中mi的局部特征描述向量为mpph={a1,a2,
…
,an},hj的局部特征描述向量为mpph(hj)={b1,b2,
…
,bn}:
[0038][0039]
其中为mpph(mi)局部特征描述向量的均值,为mpph(hj)局部特征描述向量的均值,n为局部特征描述向量的维度;
[0040]
步骤4.2:将所述工件目标点云关键点集t中的关键点与所述模板点云关键点集s中对应的卡方相似度最高的关键点组合为一对初始对应点对,从而得到初始对应点对集合e={(mi,hj),mi∈t,hj∈s}。
[0041]
进一步地,在步骤(5)中,对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,包括:
[0042]
步骤5.1:在所述初始对应点对集合e={(mi,hj),mi∈t,hj∈s}中随机选择3组元素,组成样本子集e={(p
1i
,h
1j
),(p
2i
,h
2j
),(p
3i
,h
3j
),pi∈t,hj∈s};
[0043]
步骤5.2:将样本子集中的点p
1i
,p
2i
,p
3i
组成向量并按照如下公式计算余弦相似度:
[0044][0045]
步骤5.3:计算样本子集中的点h
1j
,h
2j
,h
3j
组成的向量的
余弦相似度sim2,并计算|sim1-sim2|,设置合适阈值ω>0,当满足|sim1-sim2|<ω时,则该3组对应点对为正确对应点对样本子集并做保留,反之当|sim1-sim2|≥ω时为错误对应点对并做剔除;
[0046]
步骤5.4:重复步骤5.1—5.3,将正确的对应点对样本子集e纳入正确点对集合l,直到集合l中的点对数量达到阈值或者迭代次数达到上限时则停止。
[0047]
根据本技术实施例的第二方面,提供一种基于网格特征描述的堆叠工件遮挡点云配准装置,包括:
[0048]
获取模块,用于获取工件的位姿点云和工件目标点云,对所述位姿点云和工作目标点云进行数据预处理,得到合成的工件模板点云候选点集pc和工件目标点云候选点集qc;
[0049]
筛选模块,用于计算所述工件模板点云候选点集pc和工件目标点云候选点集qc中每一个点的高斯曲率以及其中m和n分别为候选点集pc和qc的点数量,筛选所述高斯曲率大于预定阈值ε的点作为关键点,得到模板点云关键点集s和工件目标点云关键点集t;
[0050]
特征描述模块,用于利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,获得特征描述矩阵;
[0051]
计算模块,用于对所述特征描述矩阵计算卡方相似度,确定初始对应点对集合e={(mi,hj),mi∈t,hj∈s},其中t为所述工件目标点云关键点集,s为所述模板点云关键点集;
[0052]
去除模块,用于对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,得到正确的点对关系;
[0053]
配准模块,用于从所述正确的点对关系中随机选择n组对应点对,n≥3,通过svd奇异值分解求解刚性变化矩阵,将所述工件模板点云候选点集pc通过刚性变换矩阵变换到工件目标点云相同坐标系下完成粗配准,经过若干次随机选择数量相同的n组对应点对进行粗配准,选择误差最小的刚性变换矩阵作为粗配准结果,并结合icp算法获得最终配准结果。
[0054]
根据本技术实施例的第三方面,提供一种电子设备,包括:
[0055]
一个或多个处理器;
[0056]
存储器,用于存储一个或多个程序;
[0057]
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
[0058]
根据本技术实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如第一方面所述方法的步骤。
[0059]
本技术的实施例提供的技术方案可以包括以下有益效果:
[0060]
由上述实施例可知,本技术针对深筐中堆叠工件的位姿估计问题,提出了基于网格特征描述的堆叠工件遮挡点云配准方法,解决了工业上现有的点云配准方法在面向深筐中堆叠工件造成的遮挡以及点云信息缺失等复杂环境下存在点云配准精度降低,配准速度慢的问题。
[0061]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
[0062]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
[0063]
图1是根据一示例性实施例示出的一种基于网格特征描述的堆叠工件遮挡点云配准方法的流程图。
[0064]
图2是根据一示例性实施例示出的万向节工件点云候选点提取的示意图。
[0065]
图3是根据一示例性实施例示出的一阶邻域多边形的示意图。
[0066]
图4是根据一示例性实施例示出的网格顶点曲率估计方法的示意图。
[0067]
图5是根据一示例性实施例示出的网格四元素的示意图。
[0068]
图6是根据一示例性实施例示出的余弦相似度差异剔除方法的示意图,其中的(a)为点p
1i
,p
2i
,p
3i
组成的向量之间的夹角示意图,其中的(b)为一种情况下点h
1j
,h
2j
,h
3j
组成的向量之间的夹角示意图,其中的(c)为另一种情况下点h
1j
,h
2j
,h
3j
组成的向量之间的夹角示意图。
[0069]
图7是根据一示例性实施例示出的两层堆叠万向节工件遮挡点云配准结果的示意图。
[0070]
图8是根据一示例性实施例示出的三层堆叠万向节工件遮挡点云配准结果的示意图。
[0071]
图9是根据一示例性实施例示出的一种基于网格特征描述的堆叠工件遮挡点云配准装置的框图。
[0072]
图10是根据一示例性实施例示出的电子设备的示意图。
具体实施方式
[0073]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。
[0074]
在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0075]
应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0076]
图1是根据一示例性实施例示出的一种基于网格特征描述的堆叠工件遮挡点云配准方法的流程图,如图1所示,该方法应用于终端中,可以包括以下步骤:
[0077]
(1)获取工件的位姿点云和工件目标点云,对所述位姿点云和工作目标点云进行数据预处理,得到合成的工件模板点云候选点集pc和工件目标点云候选点集qc;
[0078]
(2)计算所述工件模板点云候选点集pc和工件目标点云候选点集qc中每一个点的高斯曲率以及其中m和n分别为候选点集pc和qc的点数量,筛选所述高斯曲率大于预定阈值ε的点作为关键点,得到模板点云关键点集s和工件目标点云关键点集t;
[0079]
(3)利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,获得特征描述矩阵;
[0080]
(4)对所述特征描述矩阵计算卡方相似度,确定初始对应点对集合e={(mi,hj),mi∈t,hj∈s},其中t为所述工件目标点云关键点集,s为所述模板点云关键点集;
[0081]
(5)对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,得到正确的点对关系;
[0082]
(6)从所述正确的点对关系中随机选择n组对应点对,n≥3,通过svd奇异值分解求解刚性变化矩阵,将所述工件模板点云候选点集pc通过刚性变换矩阵变换到工件目标点云相同坐标系下完成粗配准,经过若干次随机选择数量相同的n组对应点对进行粗配准,选择误差最小的刚性变换矩阵作为粗配准结果,并结合icp算法获得最终配准结果。
[0083]
由上述实施例可知,本技术针对深筐中堆叠工件的位姿估计问题,提出了基于网格特征描述的堆叠工件遮挡点云配准方法,解决了工业上现有的点云配准方法在面向深筐中堆叠工件造成的遮挡以及点云信息缺失等复杂环境下存在点云配准精度降低,配准速度慢的问题。
[0084]
在步骤(1)的具体实施中,获取工件的位姿点云和工件目标点云,对所述位姿点云和工作目标点云进行数据预处理,得到合成的工件模板点云候选点集pc和工件目标点云候选点集qc;
[0085]
具体地,对所述位姿点云和工作目标点云进行数据预处理,包括:
[0086]
步骤1.1:对所述工件位姿点云和工件目标点云,采用三维体素滤波的方法得到降采样后的工件位姿点云p和工件目标点云q;
[0087]
具体地,首先离线阶段输入工件位姿点云,在线阶段输入工件目标点云,并采用三维体素滤波的方法得到降采样后的工件位姿点云p和工件目标点云q;在一实施例中,离线阶段输入四个万向节工件位姿点云,位姿1、2、3、4的点云数量分别为4967、4875、5545和4651,四个位姿点云总数相加为20038。在线阶段输入两层堆叠的万向节工件目标点云,点云总数为24966。创建点云的三维体素栅格,设置栅格分辨率为2,则在输入的点云数据上首先创建一个正好能包围点云的立方体,然后按照设置的栅格分辨率,将该大立方体分割成不同的小立方体,计算每一个小立方体中所包含的点的重心,将重心点近似表示小立方体中的其它点。经过体素滤波降采样后,工件位姿点云总数从20038降为6368,堆叠的万向节工件目标点云数量从24966降为12741。在具体实施中还可以采用均值滤波、均匀采样等降采样方法,本实施例中采用三维体素滤波的方法不仅能够有效减少点云数据量,还能够最大程度上保留点云的基础几何特征。
[0088]
步骤1.2:将所述工件位姿点云p合并成完整的工件模板点云ps,将所述工件目标点云q分割成多个目标点云qs;
[0089]
具体地,经过降采样后,点云数据量显著降低。离线阶段将工件位姿点云p合并成完整的工件模板点云ps,在线阶段将工件目标点云q分割成多个目标点云qs。本步骤中进行
分割的原因是深框中堆叠的工件导致获取的点云黏连在了一起。
[0090]
步骤1.3:对所述工件模板点云ps和目标点云qs,采用贪婪投影三角化方法进行网格三角化,其中没有形成三角网格的点视为离散的噪点;
[0091]
具体地,然后将所述点云ps和所述点云qs采用贪婪投影三角化方法进行网格三角化,没有形成三角网格的点可视为离散的噪点;参考图2,图2是根据一示例性实施例示出的万向节工件点云候选点提取的示意图,在该实施例中,万向节工件点云在经过贪婪投影三角网格化后基本实现了点云的网格化,但是部分点云网格化失败。网格化后的点云包含三类点,矩形框所示的点云离群点,圆形框所示的点云边缘网格顶点和三角形框所示的点云非边缘网格顶点。采用贪婪投影三角化方法适合于处理有多个连接处的散乱点云,适应性好。
[0092]
步骤1.4:在建立的三角化网格中提取非边缘网格顶点作为候选点集,得到工件模板点云候选点集pc和工件目标点云候选点集qc,其中所述非边缘网格顶点是指该点的状态为网格顶点的同时,其完整的一阶邻域拓扑点均为网格顶点。
[0093]
具体地,在所述建立的点云网格中提取点云非边缘网格顶点作为候选点集,得到工件模板点云候选点集pc和工件目标点云候选点集qc;具体如图2中三角形框所示的点云。
[0094]
在该实施例中,在经过体素滤波降采样后的万向节工件位姿点云数量为6368,堆叠的万向节工件目标点云数量为12741。经过提取其非边缘网格顶点作为候选点集,则提取的工件位姿点云候选点集总数为3313,目标点云候选点数量为6331。
[0095]
在步骤(2)的具体实施中,计算所述工件模板点云候选点集pc和工件目标点云候选点集qc中每一个点的高斯曲率以及其中m和n分别为候选点集pc和qc的点数量,筛选所述高斯曲率大于预定阈值ε的点作为关键点,得到模板点云关键点集s和工件目标点云关键点集t;
[0096]
具体地,计算所述工件模板点云候选点集pc和工件目标点云候选点集qc中每一个点的高斯曲率以及包括:
[0097]
步骤2.1:对所述工件模板点云候选点集pc和工件目标点云候选点集qc中的每一个点,提取该点的一阶邻域多边形;
[0098]
具体地,参考图3和图4,在该实施例中,首先对所述候选点集pc和qc中的每一个点,提取该点的一阶邻域多边形。例如,图3所示,圆形框选点为万向节工件点云候选点集中的某个非边缘网格顶点,该点与其周围的网格顶点之间的连线组成多个三角面片,所有相邻的三角面片之间共同形成完整的一阶邻域多边形。
[0099]
步骤2.2:计算每一个点的高斯曲率ki,公式如下:
[0100][0101]
其中,ai为邻域面积,即所述一阶邻域多边形中三角面片的相邻边的中垂线形成的多边形区域面积,θj为相邻边的夹角,n为所述一阶邻域多边形包含的三角面片个数,i表示第i个点,1≤m+n。
[0102]
例如,图4所示,点pi为候选点,和为一阶邻域多边形中的两个相邻的拓扑点,邻域面积ai为和的中垂线和点pi共同组成的多边形面积,而θj为相邻边
和的夹角。
[0103]
在该实施例中,经过提取点云非边缘网格顶点作为候选点集之后,万向节工件位姿点云候选点集总数为3313,目标点云候选点数量为6331。计算候选点集中每一个点的高斯曲率后,按照经验值设置阈值0.02(保留曲率值较大的点1000个左右),筛选高斯曲率大于0.02的点作为关键点,则提取的万向节工件位姿点云关键点数量为670,目标点云关键点数量为1043。
[0104]
在步骤(3)的具体实施中,利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,获得特征描述矩阵;
[0105]
具体地,利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,包括:
[0106]
步骤3.1:遍历所述模板点云关键点集s和工件目标点云关键点集t中的每一个关键点点pi,并提取该点的一阶邻域多边形;
[0107]
具体地,参考图5,在该实施例中,按照索引值大小,遍历所述模板点云关键点集s和工件目标点云关键点集t中的每一个点,提取该点的一阶邻域多边形,提取一阶邻域多边形的过程如步骤2.1所述,此处不再赘述。
[0108]
步骤3.2:计算所述一阶邻域多边形的网格四元素,所述网格四元素具体如下:
[0109]
点pi为所述模板点云关键点集s或工件目标点云关键点集t的关键点,为所述模板点云关键点集s或工件目标点云关键点集t的关键点,为点pi的一阶邻域拓扑点,定义网格四元素为其中
[0110][0111][0112][0113][0114]
其中点和为所述关键点pi的两个相邻的一阶邻域拓扑点,点和和所述关键点pi共同组成邻域三角面片,f1、f2、f3为三角面片的三个夹角,f4为三角面片相邻边和的中垂线和点pi共同组成的多边形面积;
[0115]
在图5中,点pi为所述工件目标点云关键点集t中的关键点,为点pi的一阶邻域拓扑点,计算相邻两个拓扑点和和关键点pi共同组成邻域三角面片的三个夹角f1、f2、f3以及三角面片相邻边和的中垂线和点pi共同组成的多边形面积f4,从而依据上式得到网格四元素。
[0116]
步骤3.3:对所述网格四元素进行直方图统计,其中f1、f2、f3、f4分别设置f1、f2、f3、f4个区间,从而生成关键点pi的f1+f2+f3+f4维的局部特征描
述向量msph(pi);
[0117]
在具体实施中,区间的大小可根据实际情况和需求设置,合理即可,设置太小特征不明显,设置太大造成计算量增大。
[0118]
步骤3.4:采用加权的方式形成每一个关键点的最终局部特征描述向量mpph;加权公式如下:
[0119][0120]
其中pi为关键点,k为关键点pi的一阶邻域拓扑点中的关键点数量,w
l
为关键点pi和关键点之间的欧式距离,为pi的一个一阶邻域拓扑点且是关键点。
[0121]
在步骤(4)的具体实施中,对所述特征描述矩阵计算卡方相似度,确定初始对应点对集合e={(pi,hj),pi∈t,hj∈s},其中t为所述工件目标点云关键点集,s为所述模板点云关键点集;
[0122]
具体地,对所述特征描述矩阵计算卡方相似度来确定初始对应点对集,包括:
[0123]
步骤4.1:计算工件目标点云关键点集t中的任一关键点mi与模板点云关键点集s中的任一关键点hj的卡方相似度d(mi,hj),其中mi的局部特征描述向量为mpph(mi)={a1,a2,
…
,an},hj的局部特征描述向量为mpph(hj)={b1,b2,
…
,bn}:
[0124][0125]
其中为mpph(mi)局部特征描述向量的均值,为mpph(hj)局部特征描述向量的均值,n=f1+f2+f3+f4为局部特征描述向量的维度;d(pi,hj)∈(-1,1),值越接近1,表示两个局部特征描述向量mpph(pi)和mpph(hj)相似性越强;
[0126]
在一实施例中,定义万向节工件目标点云关键点集t中的一个关键点mi的局部特征描述向量mpph(mi)={a1,a2,
…
,a
39
},其中依据经验值设置f1=f2=f3=11,f4=6,如下:
[0127][0128]
同理定义万向节工件模板点云关键点集s中的一个关键点hj的局部特征描述向量为mpph(hj)={b1,b2,
…
,b
39
}为:
[0129][0130]
通过如上公式,计算得到两点的相关性为d(mi,hj)≈0.95,则表明关键点mi和关键点hj之间存在强的相关性。
[0131]
步骤4.2:将所述工件目标点云关键点集t中的关键点与所述模板点云关键点集s中对应的卡方相似度最高的关键点组合为一对初始对应点对,从而得到初始对应点对集合
e={(mi,hj),mi∈t,hj∈s}。
[0132]
在步骤(5)的具体实施中,对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,得到正确的点对关系;
[0133]
具体地,对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,包括:
[0134]
步骤5.1:在所述初始对应点对集合e={(mi,hj),mi∈t,hj∈s}中随机选择3组元素,组成样本子集e={(p
1i
,h
1j
),(p
2i
,h
2j
),(p
3i
,h
3j
),pi∈t,hj∈s};
[0135]
步骤5.2:将样本子集中的点p
1i
,p
2i
,p
3i
组成向量并按照如下公式计算余弦相似度:
[0136][0137]
步骤5.3:计算样本子集中的点h
1j
,h
2j
,h
3j
组成的向量的余弦相似度sim2,并计算|sim1-sim2|,设置合适阈值ω>0,当满足|sim1-sim2|<ω时,则该3组对应点对为正确对应点对样本子集并做保留,反之当|sim1-sim2|≥ω时为错误对应点对并做剔除;
[0138]
例如,图6中的(a)为点p
1i
,p
2i
,p
3i
组成的向量之间的夹角示意图,计算其余弦值为sim1,图6中的(b)为点h
1j
,h
2j
,h
3j
组成的向量之间的夹角示意图,计算其余弦值为sim2,然后计算|sim1-sim2|,通过经验设置合适阈值ω>0,筛选余弦相似度差异性|sim1-sim2|<ω的样本子集纳入有效对应点对集合。若以图6中的(a)和(b)之间的余弦相似度差异作为ω的取值标准,显然图6中的(a)和(c)之间的余弦相似度差异|sim1-sim2|>ω,则该三组对应点对不符合筛选条件,应该剔除。
[0139]
步骤5.4:重复步骤5.1—5.3,将正确的对应点对样本子集e纳入正确点对集合l,直到集合l中的点对数量达到阈值或者迭代次数达到上限时则停止。
[0140]
具体地,按照经验设置正确点对数量的阈值在150以内,迭代次数可设置在1000~1500的合理范围内,目的在于有效提高点云配准的效率,充分将符合条件的样本子集纳入有效点对集合。
[0141]
在步骤(6)的具体实施中,从所述正确的点对关系中随机选择n组对应点对,n≥3,通过svd奇异值分解求解刚性变化矩阵,将所述工件模板点云候选点集pc通过刚性变换矩阵变换到工件目标点云相同坐标系下完成粗配准,经过若干次随机选择数量相同的n组对应点对进行粗配准,选择误差最小的刚性变换矩阵作为粗配准结果,并结合icp算法获得最终配准结果;
[0142]
具体地,从有效的点对关系中随机选择n组对应点对,n≥3。例如n=3时,取3组有效点对,{(x1,y1),(x2,y2),(x3,y3),xi∈t,yj∈s},(i=1,2,3),通过svd奇异值分解,求解三组点对之间的刚性变换矩阵,并通过所述刚性变换矩阵将工件模板点云候选点集pc变换到工件目标点云相同坐标系下完成粗配准。然后按照索引值大小遍历点集pc中的每一个点,计算该点在工件目标点云中的最近点之间的距离并求和,作为这次刚性变换的误差。依据
经验值,合理设置迭代次数在200-250次的范围内,每一次迭代都选择同样的n组对应点对,并统计对应的刚性变换误差,选择误差最小的刚性变换矩阵作为粗配准结果,并结合icp算法进行优化,完成最终的配准。
[0143]
其中。svd奇异值分解的目的在于求解点对之间的坐标系变化,该点对数量必须大于等于3。我们假设n取3,则3组对应点对是指模板点云中的三个点对应目标点云中的三个点,则通过svd奇异值分解能够求解模板点云到目标点云之间的坐标系变换,达到粗配准的作用。icp算法的目的在于优化作用,我们整个配准过程是一种粗配准,为icp算法提供良好的精配准位姿。
[0144]
本技术还对实际获取的堆叠散乱的工件场景点云进行配准实验,获取的万向节工件目标点云存在明显的堆叠、遮挡、缺失等情况。图7和图8分别展示了两层堆叠万向节工件遮挡点云和三层堆叠万向节工件遮挡点云的实际配准效果,可以看到基于网格特征描述的堆叠工件遮挡点云配准方法在面对零部件堆叠、遮挡、点云信息缺失等复杂情况下也具有强的鲁棒性和配准精度。
[0145]
与前述的基于网格特征描述的堆叠工件遮挡点云配准方法的实施例相对应,本技术还提供了基于网格特征描述的堆叠工件遮挡点云配准装置的实施例。
[0146]
图9是根据一示例性实施例示出的一种基于网格特征描述的堆叠工件遮挡点云配准装置框图。参照图9,该装置可以包括:
[0147]
获取模块21,用于获取工件的位姿点云和工件目标点云,对所述位姿点云和工作目标点云进行数据预处理,得到合成的工件模板点云候选点集pc和工件目标点云候选点集qc;
[0148]
筛选模块22,用于计算所述工件模板点云候选点集pc和工件目标点云候选点集qc中每一个点的高斯曲率以及其中m和n分别为候选点集pc和qc的点数量,筛选所述高斯曲率大于预定阈值ε的点作为关键点,得到模板点云关键点集s和工件目标点云关键点集t;
[0149]
特征描述模块23,用于利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,获得特征描述矩阵;
[0150]
计算模块24,用于对所述特征描述矩阵计算卡方相似度,确定初始对应点对集合e={(mi,hj),mi∈t,hj∈s},其中t为所述工件目标点云关键点集,s为所述模板点云关键点集;
[0151]
去除模块25,用于对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,得到正确的点对关系;
[0152]
配准模块26,用于从所述正确的点对关系中随机选择n组对应点对,n≥3,通过svd奇异值分解求解刚性变化矩阵,将所述工件模板点云候选点集pc通过刚性变换矩阵变换到工件目标点云相同坐标系下完成粗配准,经过若干次随机选择数量相同的n组对应点对进行粗配准,选择误差最小的刚性变换矩阵作为粗配准结果,并结合icp算法获得最终配准结果。
[0153]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0154]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实
施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0155]
相应的,本技术还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于网格特征描述的堆叠工件遮挡点云配准方法。如图10所示,为本发明实施例提供的一种基于网格特征描述的堆叠工件遮挡点云配准方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图10所示的处理器、内存以及网络接口之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0156]
相应的,本技术还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的基于网格特征描述的堆叠工件遮挡点云配准方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、sd卡、闪存卡(flash card)等。进一步的,所述计算机可读存储介还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
[0157]
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
[0158]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
技术特征:
1.一种基于网格特征描述的堆叠工件遮挡点云配准方法,其特征在于,包括:(1)获取工件的位姿点云和工件目标点云,对所述位姿点云和工作目标点云进行数据预处理,得到合成的工件模板点云候选点集p
c
和工件目标点云候选点集q
c
;(2)计算所述工件模板点云候选点集p
c
和工件目标点云候选点集q
c
中每一个点的高斯曲率以及其中m和n分别为候选点集p
c
和q
c
的点数量,筛选所述高斯曲率大于预定阈值ε的点作为关键点,得到模板点云关键点集s和工件目标点云关键点集t;(3)利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,获得特征描述矩阵;(4)对所述特征描述矩阵计算卡方相似度,确定初始对应点对集合e={(m
i
,h
j
),m
i
∈t,h
j
∈s},其中t为所述工件目标点云关键点集,s为所述模板点云关键点集;(5)对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,得到正确的点对关系;(6)从所述正确的点对关系中随机选择n组对应点对,n≥3,通过svd奇异值分解求解刚性变化矩阵,将所述工件模板点云候选点集p
c
通过刚性变换矩阵变换到工件目标点云相同坐标系下完成粗配准,经过若干次随机选择数量相同的n组对应点对进行粗配准,选择误差最小的刚性变换矩阵作为粗配准结果,并结合icp算法获得最终配准结果。2.根据权利要求1所述的方法,其特征在于,在步骤(1)中,对所述位姿点云和工作目标点云进行数据预处理,包括:步骤1.1:对所述工件位姿点云和工件目标点云,采用三维体素滤波的方法得到降采样后的工件位姿点云p和工件目标点云q;步骤1.2:将所述工件位姿点云p合并成完整的工件模板点云p
s
,将所述工件目标点云q分割成多个目标点云q
s
;步骤1.3:对所述工件模板点云p
s
和目标点云q
s
,采用贪婪投影三角化方法进行网格三角化,其中没有形成三角网格的点视为离散的噪点;步骤1.4:在建立的三角化网格中提取非边缘网格顶点作为候选点集,得到工件模板点云候选点集p
c
和工件目标点云候选点集q
c
,其中所述非边缘网格顶点是指该点的状态为网格顶点的同时,其完整的一阶邻域拓扑点均为网格顶点。3.根据权利要求1所述的方法,其特征在于,在步骤(2)中,计算所述工件模板点云候选点集p
c
和工件目标点云候选点集q
c
中每一个点的高斯曲率以及包括:步骤2.1:对所述工件模板点云候选点集p
c
和工件目标点云候选点集q
c
中的每一个点,提取该点的一阶邻域多边形;步骤2.2:计算每一个点的高斯曲率k
i
,公式如下:其中,a
i
为邻域面积,即所述一阶邻域多边形中三角面片的相邻边的中垂线形成的多边形区域面积,θ
j
为相邻边的夹角,n为所述一阶邻域多边形包含的三角面片个数,i表示第i个点,1≤i≤m+n。
4.根据权利要求1所述的方法,其特征在于,在步骤(3)中,利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,包括:步骤3.1:遍历所述模板点云关键点集s和工件目标点云关键点集t中的每一个关键点点p
i
,并提取该点的一阶邻域多边形;步骤3.2:计算每个所述一阶邻域多边形的网格四元素,所述网格四元素为步骤3.2:计算每个所述一阶邻域多边形的网格四元素,所述网格四元素为其中其中其中其中其中点p
i
为所述模板点云关键点集s或工件目标点云关键点集t的关键点,点和为所述关键点p
i
的两个相邻的一阶邻域拓扑点,点和和所述关键点p
i
共同组成邻域三角面片,f1、f2、f3为三角面片的三个夹角,f4为三角面片相邻边和的中垂线和点p
i
共同组成的多边形面积;步骤3.3:对所述网格四元素进行直方图统计,其中f1、f2、f3、f4分别设置f1、f2、f3、f4个区间,从而生成关键点p
i
的f1+f2+f3+f4维的局部特征描述向量msph(p
i
);步骤3.4:采用加权的方式形成每一个关键点的最终局部特征描述向量mpph:其中p
i
为关键点,k为关键点p
i
的一阶邻域拓扑点中的关键点数量,w
l
为关键点p
i
和关键点之间的欧式距离,为p
i
的一个一阶邻域拓扑点且是关键点。5.根据权利要求1所述的方法,其特征在于,在步骤(4)中,对所述特征描述矩阵计算卡方相似度来确定初始对应点对集,包括:步骤4.1:计算工件目标点云关键点集t中的任一关键点m
i
与模板点云关键点集s中的任一关键点h
j
的卡方相似度d(m
i
,h
j
),其中m
i
的局部特征描述向量为mpph(m
i
)={a1,a2,...,a
n
},h
j
的局部特征描述向量为mpph(h
j
)={b1,b2,...,b
n
}:其中为mpph(m
i
)局部特征描述向量的均值,为mpph(h
j
)局部特征描述向量的均值,n为局部特征描述向量的维度;步骤4.2:将所述工件目标点云关键点集t中的关键点与所述模板点云关键点集s中对应的卡方相似度最高的关键点组合为一对初始对应点对,从而得到初始对应点对集合e=
{(m
i
,h
j
),m
i
∈t,h
j
∈s}。6.根据权利要求1所述的方法,其特征在于,在步骤(5)中,对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,包括:步骤5.1:在所述初始对应点对集合e={(m
i
,h
j
),m
i
∈t,h
j
∈s}中随机选择3组元素,组成样本子集e={(p
1i
,h
1j
),(p
2i
,h
2j
),(p
3i
,h
3j
),p
i
∈t,h
j
∈s};步骤5.2:将样本子集中的点p
1i
,p
2i
,p
3i
组成向量并按照如下公式计算余弦相似度:步骤5.3:计算样本子集中的点h
1j
,h
2j
,h
3j
组成的向量的余弦相似度sim2,并计算|sim1-sim2|,设置合适阈值ω>0,当满足|sim1-sim2|<ω时,则该3组对应点对为正确对应点对样本子集并做保留,反之当|sim1-sim2|≥ω时为错误对应点对并做剔除;步骤5.4:重复步骤5.1-5.3,将正确的对应点对样本子集e纳入正确点对集合l,直到集合l中的点对数量达到阈值或者迭代次数达到上限时则停止。7.一种基于网格特征描述的堆叠工件遮挡点云配准装置,其特征在于,包括:获取模块,用于获取工件的位姿点云和工件目标点云,对所述位姿点云和工作目标点云进行数据预处理,得到合成的工件模板点云候选点集p
c
和工件目标点云候选点集q
c
;筛选模块,用于计算所述工件模板点云候选点集p
c
和工件目标点云候选点集q
c
中每一个点的高斯曲率以及其中m和n分别为候选点集p
c
和q
c
的点数量,筛选所述高斯曲率大于预定阈值ε的点作为关键点,得到模板点云关键点集s和工件目标点云关键点集t;特征描述模块,用于利用邻域三角面片几何特征对所述模板点云关键点集s和工件目标点云关键点集t进行特征描述,获得特征描述矩阵;计算模块,用于对所述特征描述矩阵计算卡方相似度,确定初始对应点对集合e={(m
i
,h
j
),m
i
∈t,h
j
∈s},其中t为所述工件目标点云关键点集,s为所述模板点云关键点集;去除模块,用于对所述初始对应点对集合e,采用余弦相似度差异性方法来去除错误点对,得到正确的点对关系;配准模块,用于从所述正确的点对关系中随机选择n组对应点对,n≥3,通过svd奇异值分解求解刚性变化矩阵,将所述工件模板点云候选点集p
c
通过刚性变换矩阵变换到工件目标点云相同坐标系下完成粗配准,经过若干次随机选择数量相同的n组对应点对进行粗配准,选择误差最小的刚性变换矩阵作为粗配准结果,并结合icp算法获得最终配准结果。8.一种电子设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6任一项所述的方法。9.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执
行时实现如权利要求1-6中任一项所述方法的步骤。
技术总结
本发明公开了基于网格特征描述的堆叠工件遮挡点云配准方法及装置,该方法包括:获取工件的位姿点云和工件目标点云并进行预处理,得到合成的工件模板点云候选点集和工件目标点云候选点集;计算两个候选点集中每一个点的高斯曲率,筛选高斯曲率大于阈值的点作为关键点,得到模板点云关键点集和工件目标点云关键点集;利用邻域三角面片几何特征对两个关键点集进行特征描述并计算卡方相似度,确定初始对应点对集合,采用余弦相似度差异性方法来去除错误点对,得到正确的点对关系;从其中随机选择n组对应点对,通过SVD奇异值分解求解刚性变化矩阵以完成粗配准,选择若干次粗配准中误差最小的刚性变换矩阵作为粗配准结果,结合ICP算法获得最终配准结果。算法获得最终配准结果。算法获得最终配准结果。
技术研发人员:孙毅 管文轩 付洪标
受保护的技术使用者:浙江工业大学
技术研发日:2023.03.24
技术公布日:2023/8/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
