[发明专利]基于重心Voronoi剖分的点云均一化方法有效
申请号: | 201710195477.3 | 申请日: | 2017-03-29 |
公开(公告)号: | CN106952342B | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 陈中贵;张铁译;曹娟 | 申请(专利权)人: | 厦门大学 |
主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T5/00 |
代理公司: | 厦门南强之路专利事务所(普通合伙) 35200 | 代理人: | 马应森 |
地址: | 361005 *** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 重心 voronoi 均一 方法 | ||
1.基于重心Voronoi剖分的点云均一化方法,其特征在于包括以下步骤:
1)对所有的输入点建立kd-tree,再查找k近邻,所述查找k近邻是给定一个坐标,查找与该坐标最接近的k个点的坐标;
2)对点云数据进行权值的赋值工作,具体方法如下:
首先进行5次拉普拉斯光顺,每一次普拉斯光顺的具体办法是:对每一个输入点,由步骤1)中提前建立的kd-tree求出距离kd-tree最近的10个输入点,然后将该点的曲率与这10个输入点的曲率求平均值,将该平均值作为该输入点的新权重;其次进行幂处理,即把每个输入点的权重再做一个实数的幂运算;
3)用户指定一个所需要的输出点的数量n,然后根据权重在输入点集上进行点的采样,得到n个采样点;
4)对采样点中的每一个点利用步骤1)中建立的kd-tree,查找该采样点在输入点中的k近邻,利用k近邻和该采样点计算最小二乘平面S,将该采样点投影到平面S上得到一个投影q*,以这个投影q*为中心,在平面S上生成一个正六边形的三角网格M,中心q*到正六边形的6个顶点的距离称为半径r,所述半径r的计算公式为:
r=2(VB-Box/n)1/3
其中,VB-Box为输入点云的包围盒体积,n为采样点个数,该正六边形网格被称作估计平面,那么每一个采样点对应一个正六边形的三角网格,记一个点-网格对为<q*,M>;
5)如果点云模型没有边界,那么跳过此步骤;如果点云模型有边界,那么利用PointCloudLibrary这个开源的代码库将边界提取出来,该边界称为外边界;
6)利用步骤4)中求出的所有点-网格对<q*,M>及步骤5)中提取的外边界计算Voronoi图,对于每一个点q*都将拥有一个Voronoi单元,Voronoi单元中含有其它点的网格,在计算Voronoi图时不需要考虑其它点的网格,仅需要考虑自己的网格,外边界只用于Voronoi单元的计算,其Voronoi单元中不需要计算多边形网格;
7)计算出Voronoi图后,对于每一个Voronoi单元中的多边形网格进行三角化操作,三角化操作是将网格中的多边形分解成多个三角形,三角化的目的在于计算不规则多边形的重心;
8)对每一个Voronoi单元,计算Voronoi单元的重心P,然后以该重心P作为采样点的新位置,重心P的计算公式如下:
其中,T表示一个Voronoi单元V中的三角形,i为该三角形的顶点,ci表示点的权重,pi表示点的坐标,AT表示三角形T的面积;
9)将每一个点q*移动到新的Voronoi单元V的重心P后,计算的所有点-网格对及Voronoi图即失效,需要重新计算估计平面,即回到步骤4)估计平面,反复执行步骤4)~8),即Lloyd迭代操作;
10)如果对有边界的模型使用到步骤6),那么在结束步骤9)时需要将外边界上面的部分点加入到最终的输出点中,具体方法是对步骤9)中得到的输出点再求一次边界,称为内边界,求出距离每一个内边界最近的外边界集合,将该外边界集合加入到最终的输出点中。
2.如权利要求1所述基于重心Voronoi剖分的点云均一化方法,其特征在于在步骤2)中,所述对点云数据进行权值的赋值工作,每一个点的权重被设置为其主曲率中较大的一个,使得输出点在物体表面尖锐处分布密集,在平滑处分布稀疏,权值设置完成后进行曲率的光顺。
3.如权利要求1所述基于重心Voronoi剖分的点云均一化方法,其特征在于在步骤2)中,所述实数的幂运算,取2.5次幂。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门大学,未经厦门大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710195477.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钻头存放架
- 下一篇:一种符合人机工程学的组装工序材料架