点云最优对齐方法

文档序号:6615208阅读:349来源:国知局
专利名称:点云最优对齐方法
技术领域
本发明涉及一种点云最优对齐方法。

背景技术
近年来,随着计算机硬件性能的提高及价格的降低,其在扫描系统(请参考图1)中被大量的引入。做法一般是使用点云获取装置分别获取标准物体和待测物体的点云(即由多个三维离散点组成的点的集合),而后将点云数据输入计算机,执行相应软件对点云数据进行各种处理,比如计算机辅助验证(Computer Aided Verification,CAV)、逆向工程(Reverse Engineering,RE)、有限元网格自动生成、计算机图形处理及模式识别(如人脸的识别)等。
其中,将标准物体的点云和待测物体的点云进行最优对齐是上述各种处理所需要使用的重要技术之一,也是上述各种处理所需要解决的一个关键问题。所述最优对齐是指通过移动、旋转等操作,使上述两块点云特征相似的地方尽量贴近。
在现有的对齐技术中,以PTC公司的Geomagic Qualify软件最为著名。虽然使用Geomagic Qualify软件可以实现上述两块点云的对齐,但对齐精度较低,计算量较大,速度缓慢。


发明内容
鉴于以上内容,因此有必要提供一种点云最优对齐方法,其可快速方便地将点云和点云进行最优对齐。
一种点云最优对齐方法,该方法包括以下步骤(a)通过点云获取装置获取标准物体和待测物体的点云数据;(b)根据所述的标准物体和待测物体的点云数据,确定初始时待测物体的点云位置;(c)根据待测物体的点云数据及初始时待测物体的点云位置,利用迭代法在每一次迭代时取待测物体的点云数据中的部分点云,计算该次迭代时待测物体的虚拟点云位置;(d)根据步骤c计算得到的最后一次迭代时待测物体的虚拟点云位置,取待测物体点云数据中的所有点云,计算待测物体的点云到标准物体的点云的最小距离,及对应该最小距离的待测物体的点云中的点的坐标;(e)将该待测物体的点云中的点移动到步骤d计算得到的待测物体的点云中的点的坐标所表示的位置。
利用本发明,可以快速方便地完成点云和点云的最优对齐,极大地提高了对齐精度,提高了运行速度,并减少了误差的产生。



图1是扫描系统的组成图。
图2是本发明点云最优对齐方法较佳实施例的作业流程图。
图3是图2中步骤S302确定初始时待测物体的点云位置的具体流程图。
图4是图2中步骤S303利用迭代法在每一次迭代时计算待测物体的虚拟点云位置的具体流程图。
图5是图4中步骤S503计算得到待测物体的点云到标准物体的点云的最小距离的详细流程图。
图6是图2中步骤S304计算待测物体的点云到标准物体的点云的最小距离及对应该最小距离的待测物体的点云中的点的坐标的具体流程图。

具体实施例方式 本具体实施例以点云和点云的最优对齐为例进行说明。
参阅图2所示,是本发明点云最优对齐方法较佳实施例的作业流程图。
步骤S301,输入点云获取装置所获取的标准物体和待测物体的点云数据;而后输入用户自定义的对齐精度FunX和对齐步长D。其中,所述标准物体的点云数据包括标准物体的点云中点的坐标及标准物体的点云总数,所述待测物体的点云数据包括待测物体的点云中点的坐标及待测物体的点云总数;所述对齐精度指对齐标准物体的点云和待测物体的点云要达到的程度;所述对齐步长指以标准物体的点云为基准,为对齐待测物体的点云和标准物体的点云,每次移动该待测物体的点云的距离。
步骤S302,根据输入的标准物体和待测物体的点云数据,确定初始时待测物体的点云位置,所述待测物体的点云位置指以标准物体的点云为基准,待测物体的点云相对标准物体的点云的位置(具体步骤将在图3中详细描述)。
步骤S303,根据待测物体的点云数据及初始时待测物体的点云位置,利用迭代法在每一次迭代时取待测物体的点云数据中的部分点云,计算该次迭代时待测物体的虚拟点云位置(具体步骤将在图4中详细描述)。
步骤S304,根据步骤S303计算得到的最后一次迭代时待测物体的虚拟点云位置,取待测物体点云数据中的所有点云,计算待测物体的点云到标准物体的点云的最小距离,及对应该最小距离的待测物体的点云中的点的坐标(具体步骤将在图6中详细描述)。
步骤S305,将该待测物体的点云中的点移动到步骤S304计算得到的待测物体的点云中的点的坐标所表示的位置,从而实现该待测物体的点云和标准物体点云的最优对齐。
步骤S306,输出最优对齐后该待测物体的点云与该标准物体的点云之间的距离。
参阅图3所示,是图2中步骤S302确定初始时待测物体的点云位置的具体流程图。
步骤S401,根据输入的标准物体的点云数据中所有点的坐标,求得该标准物体的点云中的最小区域点pt1Min的坐标(pt1Min[x],pt1Min[y],pt1Min[z])及最大区域点pt1Max的坐标(pt1Max[x],pt1Max[y],pt1Max[z]),进而可以得到由(pt1Min[x],pt1Min[y],pt1Min[z])、(pt1Min[x],pt1Min[y],pt1Max1[z])、(pt1Min[x],pt1Max[y],pt1Min1[z])、(pt1Min[x],pt1Max[y],pt1Max[z])、(pt1Max[x],pt1Max[y],pt1Max[z])、(pt1Max[x],pt1Max[y],pt1Min[z])、(pt1Max[x],pt1Min[y],pt1Max[z])、(pt1Max[x],pt1Min[y],pt1Min[z])组成的该标准物体的点云包围盒boxR。
步骤S402,根据输入的待测物体的点云数据中所有点的坐标,求得该待测物体的点云中的最小区域点pt2Min的坐标(pt2Min[x],pt2Min[y],pt2Min[z])及最大区域点pt2Max的坐标(pt2Max[x],pt2Max[y],pt2Max[z]),进而可以得到由(pt2Min[x],pt2Min[y],pt2Min[z])、(pt2Min[x],pt2Min[y],pt2Max1[z])、(pt2Min[x],pt2Max[y],pt2Min1[z])、(pt2Min[x],pt2Max[y],pt2Max[z])、(pt2Max[x],pt2Max[y],pt2Max[z])、(pt2Max[x],pt2Max[y],pt2Min[z])、(pt2Max[x],pt2Min[y],pt2Max[z])、(pt2Max[x],pt2Min[y],pt2Min[z])组成的该待测物体的点云包围盒boxM。
步骤S403,判断所述标准物体的点云包围盒boxR与所述待测物体的点云包围盒boxM是否相交。具体步骤如下首先得到pt1Min[x]与pt2Min[x]中的较大值(用fMinB[x]表示)、pt1Max[x]与pt2Max[x]中的较小值(用fMaxB[x]表示),而后比较fMinB[x]与fMaxB[x],若fMinB[x]大于等于fMaxB[x],则判定boxR与boxM不相交;同理可得到fMinB[y]和fMaxB[y]、fMinB[z]和fMaxB[z],通过比较fMinB[y]和fMaxB[y]、fMinB[z]和fMaxB[z]的方式即可判断boxR与boxM是否相交。
若所述标准物体的点云包围盒boxR与所述待测物体的点云包围盒boxM相交,则进入步骤S404,设定初始时该待测物体的点云位置p(p
,p[1],p[2],p[3],p[4],p[5])p
=0,p[1]=0,p[2]=0,p[3]=0,p[4]=0,p[5]二0。
若所述标准物体的点云包围盒boxR与所述待测物体的点云包围盒boxM不相交,则进入步骤S405,根据标准物体的点云数据中点的坐标及标准物体的点云总数,求得标准物体的点云中心cenR(cenR[x],cenR[y],cenR[z])。具体步骤如下获取该标准物体的点云数据中所有点的X轴坐标;将所有点的X轴坐标相加后除以标准物体的点云总数,从而得到标准物体的点云中心的X轴坐标cenR[x];同理求得该标准物体的点云中心的Y轴坐标cenR[y]及该标准物体的点云中心的Z轴坐标cenR[z]。
步骤S406,根据待测物体的点云数据中点的坐标及待测物体的点云总数,求得待测物体的点云中心cenM(cenM[x],cenM[y],cenM[z])。具体步骤如下获取该待测物体的点云数据中所有点的X轴坐标;将所有点的X轴坐标相加后除以待测物体的点云总数,从而得到待测物体的点云中心的X轴坐标cenM[x];同理求得该待测物体的点云中心的Y轴坐标cenM[y]及该待测物体的点云中心的Z轴坐标cenM[z]。
步骤S407,根据标准物体的点云中心cenR及待测物体的点云中心cenM,求得初始时该待测物体的点云位置pp
=cenM[x]-cenR[x],p[1]=cenM[y]-cenR[y],p[2]=cenM[z]-cenR[z],p[3]=angleX,p[4]=angleY,p[5]=angleZ。其中,angleX表示点cenM和点cenR的连线与X轴正方向的夹角,angleY表示点cenM和点cenR的连线与Y轴正方向的夹角,angleZ表示点cenM和点cenR的连线与Z轴正方向的夹角。
参阅图4所示,是图2中步骤S303利用迭代法在每一次迭代时计算待测物体的虚拟点云位置的具体流程图。
步骤S501,输入迭代总次数,该迭代总次数由用户指定。在本较佳实施例中,用m表示迭代总次数,用i表示迭代次数即第几次迭代,假设m=4。
步骤S502,根据迭代次数和待测物体的点云总数得到该次迭代中待测物体的点云数目n。在本较佳实施例中,当i=1即第1次迭代时,从该待测物体的点云中按1001的比例等间距均匀取点,即此时n=待测物体的点云总数*1/100,其中从该待测物体的点云中按1001的比例等间距均匀取点的具体步骤为首先沿X轴、Y轴、Z轴方向对所述待测物体的点云包围盒boxM进行等间距分割,使该boxM被均匀分成100个小包围盒,而后分别求得所述100个小包围盒的中心,最后分别取出离所述100个小包围盒的中心最近的点;当i=2即第2次迭代时,从该待测物体的点云中按1005的比例等间距均匀取点,即此时n=待测物体的点云总数*5/100;当i=3即第3次迭代时,从该待测物体的点云中按101的比例等间距均匀取点,即此时n=待测物体的点云总数*1/10;当i=4即第4次迭代时,从该待测物体的点云中按103的比例等间距均匀取点,即此时n=待测物体的点云总数*3/10。
步骤S503,利用该次迭代中待测物体的点云数目及该次迭代时待测物体的虚拟点云位置,计算得到该次迭代中该待测物体的点云到标准物体的点云的最小距离。该虚拟点云位置在第1次迭代时为初始时待测物体的点云位置(具体步骤将在图5中详细描述)。
步骤S504,得到对应上述最小距离的该待测物体的点云中的点的坐标,及根据该待测物体的点云中的点的坐标,得到该待测物体的虚拟点云位置,作为下一次迭代时待测物体的虚拟点云位置。
步骤S505,判断迭代次数是否达到迭代总次数。若迭代次数尚未达到迭代总次数,即i小于m时,将i赋值为i+1,而后返回步骤S502;若迭代次数已经达到迭代总次数,即i等于m时,流程结束。
参阅图5所示,是图4中步骤S503计算得到该待测物体的点云到标准物体的点云的最小距离的详细流程图。
步骤S606,利用待测物体的点云数据中点的坐标,计算得到该待测物体的点云到标准物体的点云的距离f(x)。
其中,n为步骤S502中得到的待测物体的点云数目; (pt1’[x],pt1’[y],pt1’[z])是根据步骤S502取出的待测物体的点云中点的坐标计算得到的坐标,(pt1’[x],pt1’[y],pt1’[z])=move*(move2*(mat*movex1)),mat=move1*matx*maty*matz,具体计算过程如下 (pt1’[x],pt1’[y],pt1’[z])即为 即movex1表示步骤S502取出的待测物体的点云中的点的原始坐标; (pt2[x],pt2[y],pt2[z])为标准物体的点云数据中到点(pt1’[x],pt1’[y],pt1’[z])距离最近的点的坐标,具体而言,先计算该标准物体的点云数据中每一点到该点(pt1’[x],pt1’[y],pt1’[z])距离,而后从中得到最小距离及对应该最小距离的标准物体的点云数据中点的坐标(pt2[x],pt2[y],pt2[z])。
步骤S607,判断上述计算得到的f(x)是否小于对齐精度FunX。
若f(x)不小于FunX,则进入步骤S608,利用数学法则如拟牛顿迭代法计算f(x)的下降方向。所述下降方向指使f(x)的值变小的方向,即使待测物体的点云到标准物体的点云的距离变小的方向。
步骤S609,判断是否存在所述下降方向。
若存在所述下降方向,则进入步骤S610,计算待测物体的点云沿下降方向移动对齐步长D后到标准物体的点云的距离f(x)’。具体而言,首先计算得到待测物体的点云沿下降方向移动D后的位置(p
,p[1],p[2],p[3],p[4],p[5]),而后利用该位置计算得到该待测物体的点云到标准物体的点云的距离f(x)’。其中,所述f(x)’与步骤S606中f(x)的计算方法完全相同,仅仅使用的参数不同,可参考步骤S606完成计算。
步骤S611,判断上述计算得到的f(x)’是否小于f(x)。若f(x)’小于f(x),则返回步骤S608;若f(x)’不小于f(x),则返回步骤S610。
在步骤S609中,若不存在所述下降方向,则流程结束。
在步骤S607中,若f(x)小于FunX,则流程结束。
参阅图6所示,是图2中步骤S304计算待测物体的点云到标准物体的点云的最小距离及对应上述最小距离的该待测物体的点云中的点的坐标的具体流程图。
步骤S701,利用待测物体的点云总数及步骤S504得到的最后一次迭代时待测物体的虚拟点云位置,计算得到该待测物体的点云到标准物体的点云的最小距离。本步骤中计算得到待测物体的点云到标准物体的点云的最小距离与步骤S503中计算得到待测物体的点云到标准物体的点云的最小距离的计算方法完全相同,仅仅使用的参数不同,可参考步骤S503完成计算。
步骤S702,得到对应上述最小距离的待测物体的点云中的点的坐标。
本发明所提供的点云最优对齐方法,不仅可以实现点云和点云的最优对齐,还可以实现点云和标准图档、点云和JPG图形的最优对齐,同时本发明采用了优化算法,极大地减少了计算量,速度极为快捷。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
权利要求1一种点云最优对齐方法,其特征在于,该方法包括如下步骤
a.通过点云获取装置获取标准物体和待测物体的点云数据,所述标准物体的点云数据包括标准物体的点云中的点的坐标及标准物体的点云总数,所述待测物体的点云数据包括待测物体的点云中的点的坐标及待测物体的点云总数;
b.根据所述的标准物体和待测物体的点云数据,确定初始时待测物体的点云位置;
c.根据待测物体的点云数据及初始时待测物体的点云位置,利用迭代法在每一次迭代时取待测物体的点云数据中的部分点云,计算该次迭代时待测物体的虚拟点云位置;
d.根据步骤c计算得到的最后一次迭代时待测物体的虚拟点云位置,取待测物体点云数据中的所有点云,计算待测物体的点云到标准物体的点云的最小距离,及对应该最小距离的待测物体的点云中的点的坐标;
e.将该待测物体的点云中的点移动到步骤d计算得到的待测物体的点云中的点的坐标所表示的位置。
权利要求2如权利要求1所述的点云最优对齐方法,其特征在于,该方法还包括步骤
f.输出经步骤e移动后的待测物体的点云与标准物体的点云之间的距离。
权利要求3如权利要求1所述的点云最优对齐方法,其特征在于,所述的待测物体的点云位置指以标准物体的点云为基准,待测物体的点云相对标准物体的点云的位置。
权利要求4如权利要求1所述的点云最优对齐方法,其特征在于,所述步骤b包括如下步骤
根据标准物体的点云数据中点云的点的坐标,得到标准物体的点云包围盒;
根据待测物体的点云数据中点云的点的坐标,得到待测物体的点云包围盒;
当所述标准物体的点云包围盒与所述待测物体的点云包围盒相交时,设定初始时待测物体的点云位置;
当所述标准物体的点云包围盒与所述待测物体的点云包围盒不相交时,根据标准物体的点云数据中点云的点的坐标及标准物体的点云总数求得标准物体的点云中心,根据待测物体的点云数据中点云的点的坐标及待测物体的点云总数求得待测物体的点云中心,进而根据标准物体的点云中心及待测物体的点云中心求得初始时待测物体的点云位置。
权利要求5如权利要求1所述的点云最优对齐方法,其特征在于,所述步骤c包括如下步骤
c1.预设迭代总次数;
c2.根据迭代次数和待测物体的点云总数得到该次迭代中待测物体的点云数目;
c3.利用该次迭代中待测物体的点云数目及该次迭代时待测物体的虚拟点云位置,计算得到该次迭代中待测物体的点云到标准物体的点云的最小距离,该待测物体的虚拟点云位置在第一次迭代时为初始时待测物体的点云位置;
c4.得到对应上述最小距离的该待测物体的虚拟点云位置,作为下一次迭代时待测物体的虚拟点云位置;及
c5.重复步骤c2到步骤c4,直至达到上述迭代总次数。
权利要求6如权利要求5所述的点云最优对齐方法,其特征在于,所述步骤c3包括如下步骤
利用待测物体的点云数据中点云的点的坐标,计算得到该待测物体的点云到标准物体的点云的距离f(x);
当f(x)小于预设的对齐精度时,流程结束;
当f(x)不小于所述对齐精度时,计算f(x)的下降方向,所述下降方向指使f(x)的值变小的方向;
当不存在所述下降方向时,流程结束;
当存在所述下降方向时,计算待测物体的点云沿下降方向移动对预设的齐步长后到标准物体的点云的距离f(x)’;
当f(x)’不小于f(x)时,返回步骤计算待测物体的点云沿下降方向移动所述对齐步长后到标准物体的点云的距离f(x)’;及
当f(x)’小于f(x)时,返回计算f(x)的下降方向的步骤。
权利要求7如权利要求1所述的点云最优对齐方法,其特征在于,所述步骤d包括如下步骤
根据步骤c计算得到的最后一次迭代时待测物体的虚拟点云位置,取待测物体点云数据中的所有点云,计算得到该待测物体的点云到标准物体的点云的最小距离;及
得到对应上述最小距离的该待测物体的点云中的点的坐标。
全文摘要
本发明提供一种点云最优对齐方法,该方法包括步骤获取标准物体和待测物体的点云数据;根据所述的标准物体和待测物体的点云数据,确定初始时待测物体的点云位置;根据初始时待测物体的点云位置,利用迭代法在每一次迭代时取待测物体的点云数据中的部分点云,计算该次迭代时待测物体的虚拟点云位置;根据最后一次迭代时待测物体的虚拟点云位置,取待测物体点云数据中的所有点云,计算待测物体的点云到标准物体的点云的最小距离,及对应该最小距离的待测物体的点云中的点的坐标;将该待测物体的点云中的点移动到计算得到的待测物体的点云中的点的坐标所表示的位置。利用本发明所提供的点云最优对齐方法,可快速方便地将点云和点云进行最优对齐。
文档编号G06T3/00GK101387506SQ20071020170
公开日2009年3月18日 申请日期2007年9月14日 优先权日2007年9月14日
发明者张旨光, 吴新元, 敏 王 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1