一种CAD模型与三角网格全自动配准方法和装置与流程

文档序号:23988797发布日期:2021-02-20 12:47阅读:118来源:国知局
一种CAD模型与三角网格全自动配准方法和装置与流程
一种cad模型与三角网格全自动配准方法和装置
技术领域
[0001]
本发明涉及工业数字化检测技术领域,具体涉及一种cad模型与三角网格全自动配准方法和装置。


背景技术:

[0002]
近年来,随着三坐标测量机、三维扫描系统、ct测量仪等数字化检测设备在工业领域的广泛应用,数字化检测技术在大型、复杂零件的尺寸测量和保证制造精度方面发挥着至关重要的作用。
[0003]
在实际检测过程中,数字化检测设备获得的三角网格,其本身的测量精度一般都能够满足实际测量要求,然而由于扫描得到的三角网格与cad模型在空间坐标系中的原点不同,所以这对后续的尺寸偏差分析会造成影响,甚至可能导致零件合格性的误判,使得数字化测量设备的测量精度失去意义。因此,为提高零件制造精度和合格率,实现网格模型与cad模型的配准就成为数字化检测技术应用的一个关键。
[0004]
目前关于网格模型与cad模型的配准主要有基于点集迭代的配准方法和基于几何特征的配准方法。其中,基于点集迭代的配准方法不考虑被测零件的几何特征,直接利用点云集合查找cad模型上的对应点并通过对应点对的反复迭代实现点云模型与cad模型的配准,其中最具代表性的是迭代最近点算法(iterative closest point,简称icp算法)。此类算法的时间复杂度随点云数目和迭代次数的增加而显著增大,因此配准效率较低。同时,这类算法的配准控制点集为点云模型的子集,配准准确性严重依赖于点云模型,当初始的源点云和目标点云相对位置偏差较大时,容易出现误匹配,从而导致算法失效,无法实现配准。
[0005]
基于几何特征的配准方法通过对点云数据中可以反映局部几何特征的点集进行采样分析,再将所采样的点集作为配准控制点,从而减少配准点集的数量,因而计算速度快。但由于复杂的点云模型的几何特征识别难度极大,而且不同零件的点云模型一致性差,因此这种配准方法会丢失反映零件制造质量的关键特征,造成配准结果的准确性不高、不稳定,实用性不强。


技术实现要素:

[0006]
鉴于上述分析,现有的配准方法未能对cad模型做有效处理,并且受限于实际测量获得的模型通常含有极大的点云数据量,现有的配准方法在配准精度和配准速度方面存在明显不足。
[0007]
本发明的主要目的在于提出一种面向工业检测的cad模型与三角网格全自动配准方法和装置,以克服现有的配准方法所存在的上述问题。
[0008]
为达上述目的,本发明采用以下技术方案:
[0009]
一种cad模型与三角网格全自动配准方法,包括如下步骤:
[0010]
s1、读取标称cad模型和用三维扫描系统扫描得到初始扫描三角网格模型;提取初
始扫描三角网格模型的顶点作为待配准的源点云;利用cad三角剖分算法对所述标称cad模型进行三角剖分,得到cad三角网格,再对该cad三角网格进行细分以提高点云均匀度和稠密度,并提取细分后的cad三角网格的顶点作为目标点云;
[0011]
s2、分别对所述源点云和所述目标点云进行采样,采样比例根据所述源点云和所述目标点云的平均点距r0自适应确定;计算采样后的源点云和目标点云中的每一采样点的法向量;
[0012]
s3、将源点云和目标点云中的每一采样点作为特征点,根据各采样点的法向量分别计算各采样点的点快速特征直方图,利用所述点快速特征直方图描述对应的所述特征点;
[0013]
s4、对于目标点云中的特征点,在点快速特征直方图特征空间构建kd-tree;从源点云中的特征点中随机选择四个特征点,根据建立好的kd-tree,在目标点云中查找并记录所述四个特征点中每个特征点的最近邻点,以作为所述四个特征点在目标点云中的对应点,从而得到四个对应点对;
[0014]
s5、对于所述四个对应点对,利用修剪算法剔除误匹配点对;
[0015]
s6、利用所述四个对应点对估计基本矩阵作为迭代初始值,重复步骤s4和s5进行ransac迭代,在后面的重复迭代过程中仅将满足修剪算法的匹配点对用于计算更新基本矩阵,并在整个源点云上进行验证以筛选正确匹配点对;最后选取具有最多正确匹配点对的数据集的基本矩阵作为最终基本矩阵,并将该数据集作为有效点对集;
[0016]
s7、针对步骤s6得到的有效点对集,进行奇异值分解,求解出旋转平移矩阵;
[0017]
s8、利用所述旋转平移矩阵对步骤s1中待配准的源点云进行旋转平移,完成所述标称cad模型与所述初始扫描三角网格的全自动配准。
[0018]
更进一步地,步骤s1中对所述cad三角网格进行细分时采用loop细分算法;步骤s2中对所述源点云和所述目标点云进行采样的方法是体素采样。
[0019]
更进一步地,步骤s2在求取每一采样点法向量的过程中,均需要搜索被求点的第一邻域半径r1内的邻域点来拟合平面,并以平面的法向量作为被求点的法向量;其中,所述第一邻域半径r1根据所述平均点距r0来设置。
[0020]
更进一步地,步骤s3中点快速特征直方图的计算过程包括:
[0021]
s31、根据平均点距r0确定第二邻域半径r2,对于采样后的源点云和目标点云中的任意采样点p:都以该采样点p为原点选择所述第二邻域半径r2内的所有近邻点,并分别计算该采样点p与采样点p的每个近邻点之间的三个特征元素值,然后将所有特征元素值统计成采样点p的简化点特征直方图;
[0022]
s32、分别对所述第二邻域半径r2中的每个所述近邻点再确定邻域,并对所述第二邻域半径r2中的每个点按照步骤s31形成各自的简化点特征直方图;
[0023]
s33、对采样点p的所述第二邻域半径r2中每个所述近邻点的简化点特征直方图进行加权统计:其中,fpfh(p)表示采样点p的点快速特征直方图,spfh(p)表示采样点p的简化点特征直方图,权重w
i
表示采样点p与所述第二邻域半径r2中第i个近邻点p
i
之间的距离,k表示采
样点p的k邻域,spfh(p
i
)表示所述第i个近邻点p
i
的简化点特征直方图。
[0024]
更进一步地,所述第一邻域半径r1为1.5r0≤r1≤2.5r0,所述第二邻域半径r2为4r0≤r2≤6r0。
[0025]
更进一步地,步骤s31中所述三个特征元素值的计算过程包括:对于两个点p
s
及p
t
(s≠t),在其中一个点处定义一个固定的坐标系p
s-uvw,该坐标系的三坐标轴定义如下:其中点p
s
为源点云和目标点云中当前正在求解点快速特征直方图的采样点,称为查询点;点p
t
表示点p
s
的第二邻域半径r2内的任意一个近邻点,n
s
为点p
s
的法向量,||p
t-p
s
||2为点p
s
与点p
t
之间的距离,为点p
s
到点p
t
的单位向量;点p
s
的表面法线的角度变换由下式确定,式中α、φ、θ即为采样点p
s
与近邻点p
t
之间的三个特征元素:其中,n
t
为点p
t
的法向量。
[0026]
更进一步地,步骤s31中采样点p
s
的简化点特征直方图的建立包括:将采样点p
s
及第二邻域半径r2内各个近邻点之间的三个特征元素值合并到直方图中,其中,合并过程是将每个特征元素的取值范围划分为5个子区间,然后统计每个子区间上的特征元素值个数,得到一个区间分为53=125份的简化点特征直方图。
[0027]
更进一步地,步骤s5中利用修剪算法剔除错误点对包括:
[0028]
判断每个对应点对是否同时满足如下三个条件:

该点对内的两个点之间的间距小于预设阈值;

该点对内的两个点的法向量点积小于预设弧度值;

l
source
<0.85*l
target
或l
target
<0.85*l
source
;其中,l
source
为所述四个特征点中任意两个特征点p
a
、p
b
之间连线的长度;l
target
为p
a
、p
b
在目标点云中的两个对应点q
a
、q
b
之间连线的长度;若所述三个条件均满足,则不进行剔除;若不满足所述三个条件的其中任一条件,则判断为错误点对予以剔除。从而达到快速剔除错误点对的目的,提高迭代算法的效率。
[0029]
更进一步地,步骤s6中所述验证包括:利用当前最新的基本矩阵将整个源点云进行旋转平移,判断旋转平移后的源点云中的各个点距离目标点云中最近的点的距离是否小于阈值,若小于所述阈值则判断为正确匹配点对,反之则为误匹配点对。
[0030]
本发明另还提出了一种cad模型与三角网格全自动配准装置,包括:
[0031]
源点云生成程序,用于读取由三维扫描系统扫描得到的初始扫描三角网格模型,
并提取该初始扫描三角网格模型的顶点作为待配准的源点云;
[0032]
目标点云生成程序,用于读取标称cad模型,并利用cad三角剖分算法对所述标称cad模型进行三角剖分,得到cad三角网格,再对该cad三角网格进行细分以提高点云均匀度和稠密度,并提取细分后的cad三角网格的顶点作为目标点云;
[0033]
采样程序,用于分别对所述源点云和所述目标点云进行采样;
[0034]
法向量计算程序,用于计算采样后的源点云和目标点云中的每一采样点的法向量;
[0035]
点快速特征直方图计算程序,用于根据各采样点的法向量分别计算各采样点的点快速特征直方图,并将所述采样点作为特征点,用所述点快速特征直方图描述对应的所述特征点;
[0036]
对应点对构建程序,用于:对于目标点云中的特征点,在点快速特征直方图特征空间构建kd-tree;并从源点云中的特征点中随机选择四个特征点,根据建立好的kd-tree,在目标点云中查找并记录所述四个特征点中每个特征点的最近邻点,以作为所述四个特征点在目标点云中的对应点,从而得到四个对应点对;
[0037]
修剪算法程序,用于对所述四个对应点对,利用修剪算法剔除错误点对;
[0038]
ransac迭代程序,用于:利用所述四个对应点对估计基本矩阵作为迭代初始值,重复执行所述对应点对构建程序和所述修剪算法程序进行ransac迭代,其中,在后面的重复迭代过程中仅将满足修剪算法的匹配点对用于计算更新基本矩阵,并在整个源点云上进行验证以筛选正确匹配点对;最后选取具有最多正确匹配点对的数据集的基本矩阵作为最终基本矩阵,并将该数据集作为有效点对集;
[0039]
奇异值分解算法程序,用于针对所述有效点对集,进行奇异值分解,求解出旋转平移矩阵;
[0040]
配准程序,用于利用所述旋转平移矩阵对所述待配准的源点云进行旋转平移,完成所述标称cad模型与所述初始扫描三角网格的全自动配准。
[0041]
本发明的有益效果在于:通过对由标称cad模型直接转化的cad三角网格进行细分,使由网格顶点组成的点云更加均匀,可在一定程度上改善配准的精度;根据平均点距的大小自适应决定采样比例,在精简点云的同时还促使采样后的源点云和目标点云的平均点距相近,不仅可以减少计算量提高该方法的配准速度,而且可以提高配准精度;在ransac迭代过程中,增加修剪算法快速剔除错误点对,仅将满足修剪算法的匹配项用于计算转换,并对修剪算法剔除后的点对在整个点云上进行进一步验证,以进一步过滤误匹配点对,在兼顾匹配精度的情况下,显著提高了匹配速度。
附图说明
[0042]
图1为本发明整体步骤流程示意图;
[0043]
图2-1和图2-2分别为盖子的标称cad模型和初始扫描三角网格得到的点云模型;
[0044]
图3-1和图3-2为采样后的目标点云和源点云;
[0045]
图4为坐标系的坐标轴定义示意图;
[0046]
图5为配准后的源点云和目标点云(重叠区域混合越均匀表示配准效果越好)。
具体实施方式
[0047]
下面结合附图和具体的实施方式对本发明作进一步说明。
[0048]
本发明的具体实施方式提出一种面向工业检测的cad模型与三角网格全自动配准方法,参考图1,该配准方法包括如下步骤s1-s8:
[0049]
s1、分别提取待配准的源点云以及目标点云。具体而言,对于目标物体模型,分别读取标称cad模型和用三维扫描系统扫描得到初始扫描三角网格模型。其中,提取初始扫描三角网格模型的顶点作为待配准的源点云;另外,利用cad三角剖分算法对标称cad模型进行三角剖分,得到cad三角网格,由于直接得到的cad三角网格往往比较细长,因此再对该cad三角网格进行诸如loop算法的细分操作,以使点云分布更加均匀,点云更加稠密,然后提取细分后的cad三角网格的顶点作为目标点云。
[0050]
s2、因源点云和目标点云的平均点距r0差别比较大,因此需要分别对所述源点云和所述目标点云进行采样,以使平均点距相近,同时采样还可避免点云过于密集的问题,采样的方法可使用体素采样,采样比例可根据源点云和目标点云的平均点距r0自适应确定。进一步地,还需对于采样后的源点云和目标点云中的每一采样点,计算各点的法向量。在求取每一采样点的法向量时,均需要搜索被求点的邻域点来拟合平面,并以平面的法向量作为被求点的法向量;其中,搜索邻域点时的邻域半径r1根据所述平均点距r0来设置,例如可设为1.5r0≤r1≤2.5r0,优选为r1=2*r0。应当理解的是,此处邻域半径r1的设置仅是示例性的,本领域技术人员可根据具体需求进行适应性的调整。
[0051]
s3、将源点云和目标点云中的每一采样点作为特征点,根据各采样点的法向量分别计算各采样点的点快速特征直方图,利用所述点快速特征直方图描述对应的所述特征点。对于某个点而言,其fpfh的计算过程如下,包括s31-s33:
[0052]
s31、根据平均点距r0确定第二邻域半径r2,例如确定为4r0≤r2≤6r0,优选地可以将第二邻域半径r2设为r2=5*r0,同样这也只是示例,不应构成对本发明的限制。对于采样后的源点云和目标点云中的任意采样点p,都以该采样点p为原点选择第二邻域半径r2内的所有近邻点,并分别计算该采样点p与它的第二邻域半径r2内的每个近邻点之间的三个特征元素值,然后将所有特征元素值统计成采样点p的简化点特征直方图(simplified point feature histogram,spfh)。
[0053]
具体而言,三个特征元素的求解过程包括:
[0054]
对于两个点p
s
及p
t
(s≠t),在其中一个点例如点p
s
处定义一个如图4所示的固定的坐标系p
s-uvw,该坐标系的三坐标轴定义如下:其中点p
s
为源点云和目标点云中当前正在求解点快速特征直方图的采样点,由于求解时需要查询其近邻点,因此我们也将其称为查询点;点p
t
表示点p
s
的第二邻域半径r2内的任意一个近邻点,n
s
为点p
s
的法向量,||p
t-p
s
||2为点p
s
与点p
t
之间的距离,为点p
s

点p
t
的单位向量。
[0055]
点p
s
的表面法线的角度变换可由下式(2)确定,式中α、φ、θ即为采样点p
s
与近邻点p
t
之间的三个特征元素:其中,n
t
为点p
t
的法向量。
[0056]
在得到了点p
s
与它的第二邻域半径r2内各个近邻点之间的三个特征元素值之后,将这些特征元素值合并到直方图中,其中,合并过程是将每个特征元素的取值范围划分为5个子区间,然后统计每个子区间上的特征元素值个数,从而可以得到一个区间分为53=125份的简化点特征直方图,这样就得到了点p
s
的简化点特征直方图。简化点特征直方图是一种姿态不变的局部特征,在这个简化点特征直方图里面有一个区间的值不为0就代表着这个特征元素有一定的值。
[0057]
s32、分别对第二邻域半径r2中的每个点再确定邻域,并对第二邻域半径r2中的每个点按照步骤s31的方法形成各自的简化点特征直方图。具体而言,对于点p
s
的第二邻域半径r2中的任意一个点p
s_j
,再去确定它邻域,然后利用步骤s31的方法得到点p
s_j
的简化点特征直方图;
[0058]
s33、进行到步骤s32之后,相当于每个采样点,不但得到了它的简化点特征直方图,还得到了它的第二邻域半径r2中的每个近邻点的简化点特征直方图。在此基础上,对任意采样点p而言,它的点快速特征直方图可以通过下式(3)进行加权统计求出:其中,fpfh(p)即表示采样点p的点快速特征直方图,spfh(p)表示采样点p的简化点特征直方图,权重w
i
表示采样点p与第二邻域半径r2中第i个近邻点p
i
之间的距离,k表示采样点p的k邻域,即采样点p的邻域r2内有k个邻域点,spfh(p
i
)表示所述第i个近邻点p
i
的简化点特征直方图。
[0059]
s4、在步骤s3计算得到每个采样点的fpfh特征之后,分别进行步骤s41和s42。s41:对于目标点云中的fpfh特征点,在点快速特征直方图特征空间构建kd-tree;s42:对于源点云中的fpfh特征点,选择随机四个特征点,根据建立好的kd-tree,在目标点云中查找并记录所述四个特征点中每个特征点的最近邻点,以作为所述四个特征点在目标点云中的对应点,从而得到四个对应点对,进行ransac迭代。
[0060]
s5、在进行ransac迭代时,可以利用修剪算法快速剔除上述对应点对中的错误点对。具体而言,可以判断每个对应点对是否满足以下三个条件:

该点对内的两个点之间的间距小于预设阈值;

该点对内的两个点的法向量点积小于预设弧度值;

l
source
<0.85*l
target
或l
target
<0.85*l
source
;其中,l
source
为所述四个特征点中任意两个特征点p
a
、p
b
之间连线的长度;l
target
为p
a
、p
b
在目标点云中的两个对应点q
a
、q
b
之间连线的
长度;
[0061]
若某个对应点对同时满足上述三个条件,则不进行剔除;若不满足上述三个条件其中任一条件,则判断为错误点对并剔除。这样可以达到快速剔除错误点对的效果。
[0062]
s6、在进行ransac迭代时,利用上述四个对应点对估计基本矩阵作为迭代初始值,重复步骤s4和步骤s5进行ransac迭代。在后面的重复迭代过程中仅将满足修剪算法的匹配点对用于计算更新基本矩阵,并在整个源点云上进行验证以筛选正确匹配点对;最后选取具有最多正确匹配点对的数据集的基本矩阵作为最终基本矩阵,并将该数据集作为有效点对集。也就是说,初始时,用四个对应点对估计基本矩阵作为迭代初始值,而此后的每一次迭代在重复了步骤s5之后,都是用满足修剪算法的点对来估计基本矩阵,并在每一次迭代时用最新得到的基本矩阵在整个源点云上进行验证以筛选正确匹配点对,比如利用基本矩阵将整个源点云进行旋转平移,判断旋转平移后的源点云中的各个点距离目标点云中最近的点的距离是否小于阈值,若小于阈值则认为源点云中的该点与目标点云中该最近的点为正确匹配点对,反之为误匹配点对。这样一来,每一次迭代,每个基本矩阵下,都能得到对应的正确匹配点对的数量和误匹配点对的数量。当正确匹点对越多、误差(点对之间的距离)越小,表示该基本矩阵越有可能是正确的基本矩阵。在完成若干次迭代之后,选择具有最多正确匹配点对的数据集的基本矩阵作为最终基本矩阵(即认为是正确的基本矩阵),并将该数据集作为有效点对集。
[0063]
s7、针对步骤s6得到的所述有效点对集,进行奇异值分解(singular value decomposition,svd),求解出旋转平移矩阵。
[0064]
s8、利用所述旋转平移矩阵对步骤s1中待配准的源点云进行旋转平移,完成标称cad模型与初始扫描三角网格的全自动配准。
[0065]
在一种实施例中,如图2-1和图2-2所示分别为一盖子的标称cad模型和初始扫描三角网格模型得到的点云模型,图3-1和图3-2分别为该盖子模型采样后的目标点云和源点云,利用本发明前述配准方法完成全自动配准之后的配准结果如图5所示,从效果图中可以看出配准后两种颜色的源点云和目标点云的重叠区域混合很均匀,配准效果很好。
[0066]
在另一种实施例中,提出一种cad模型与三角网格全自动配准装置,该装置包括源点云生成程序、目标点云生成程序、采样程序、法向量计算程序、点快速特征直方图计算程序、对应点对构建程序、修剪算法程序、ransac迭代程序、奇异值分解算法程序以及配准程序。
[0067]
其中,所述源点云生成程序用于读取由三维扫描系统扫描得到的初始扫描三角网格模型,并提取该初始扫描三角网格模型的顶点作为待配准的源点云。所述目标点云生成程序用于读取标称cad模型,并利用cad三角剖分算法对所述标称cad模型进行三角剖分,得到cad三角网格,再对该cad三角网格进行细分以提高点云均匀度和稠密度,并提取细分后的cad三角网格的顶点作为目标点云。所述目标点云生成程序中还包含loop细分算法的程序,用于对所述cad三角网格进行所述细分。
[0068]
所述采样程序用于分别对所述源点云和所述目标点云进行采样,采样的方式可选择体素采样。所述法向量计算程序用于计算采样后的源点云和目标点云中的每一采样点的法向量。在一种实施例中,所述法向量计算程序在求取每一采样点法向量的过程中,均需要搜索被求点的第一邻域半径r1内的邻域点来拟合平面,并以平面的法向量作为被求点的法
向量;其中,所述第一邻域半径r1根据所述平均点距r0来设置。
[0069]
所述点快速特征直方图计算程序用于将所述采样点作为特征点,根据各采样点的法向量分别计算各采样点的点快速特征直方图。在一种实施例中,所述点快速特征直方图计算程序被处理器执行时可实现前述步骤s31~s33。
[0070]
所述对应点对构建程序用于:对于目标点云中的特征点,在点快速特征直方图特征空间构建kd-tree;并从源点云中的特征点中随机选择四个特征点,根据建立好的kd-tree,在目标点云中查找并记录所述四个特征点中每个特征点的最近邻点,以作为所述四个特征点在目标点云中的对应点,从而得到四个对应点对。
[0071]
所述修剪算法程序用于对所述四个对应点对,利用修剪算法快速剔除错误点对。在一种实施例中,所述修剪算法程序被处理器执行时,可实现如下步骤:
[0072]
判断每个对应点对是否同时满足如下三个条件:

该点对内的两个点之间的间距小于预设阈值;

该点对内的两个点的法向量点积小于预设弧度值;

l
source
<0.85*l
target
或l
target
<0.85*l
source
;其中,l
source
为所述四个特征点中任意两个特征点p
a
、p
b
之间连线的长度;l
target
为p
a
、p
b
在目标点云中的两个对应点q
a
、q
b
之间连线的长度;
[0073]
若所述三个条件均满足,则不进行剔除;若不满足所述三个条件中的任一条件,则判断为错误点对予以剔除。
[0074]
所述ransac迭代程序用于:利用所述四个对应点对估计基本矩阵作为迭代初始值,重复执行所述对应点对构建程序和所述修剪算法程序进行ransac迭代,其中,在后面的重复迭代过程中仅将满足修剪算法的匹配点对用于计算更新基本矩阵,并在整个源点云上进行验证以筛选正确匹配点对;最后选取具有最多正确匹配点对的数据集的基本矩阵作为最终基本矩阵,并将该数据集作为有效点对集。
[0075]
所述奇异值分解算法程序,用于针对所述有效点对集,进行奇异值分解,求解出旋转平移矩阵。
[0076]
所述配准程序,用于利用所述旋转平移矩阵对所述待配准的源点云进行旋转平移,完成所述标称cad模型与所述初始扫描三角网格的全自动配准。
[0077]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1