[发明专利]一种基于模糊熵迭代的点云精简方法有效
申请号: | 201310188105.X | 申请日: | 2013-05-20 |
公开(公告)号: | CN103310481A | 公开(公告)日: | 2013-09-18 |
发明(设计)人: | 达飞鹏;陈璋雯 | 申请(专利权)人: | 东南大学 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T5/00 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 211103 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模糊 熵迭代 精简 方法 | ||
1.一种基于模糊熵迭代的点云精简方法,其特征在于,包括如下步骤:
步骤1:快速直接提取三维点云模型的边界,处理过程为:
步骤1.1:利用快速排序法将所有点云数据按X坐标升序排列,将升序排列后的点云数据按顺序分组,每组个数为64,获取并保留每组中Y坐标最大和最小的数据点;
步骤1.2:利用快速排序法将所有点云数据按Y坐标升序排列,将升序排列后的点云按数据顺序分组,每组个数为64,获取并保留每组中X坐标最大和最小的数据点;
步骤2:计算所有数据点的曲率:
步骤2.1:计算所有点云模型包含数据点的总个数,记为Number;
步骤2.2:设三维点云模型中一点为点P,点P的k个邻近点组成集合为K(P),点P的k个邻近点最小二乘拟合平面为L(P);令点Q为点P的k个邻近点集合K(P)的形心,称为点P的中心点,该中心点为:
其中,k个近邻点是指与点P欧氏距离最近的k个点,k=27;
设di为点P的第i个邻近点到最小二乘拟合平面L(P)的距离,λi为点P的第i个邻近点到点Q的距离,对点P的第i个邻近点存在函数fi(P):
其中,i为1≤i≤k的自然数;
根据所述函数fi(P),点P的曲率函数可以表示为:
所述曲率函数f(P)即为点P的曲率c;
步骤2.3:根据所述步骤2.2求取点P的曲率c的步骤,遍历三维点云模型中除去边界以外所有数据点,得到数据点的曲率集合C=[Cur(x,y,z)],其中Cur(x,y,z)是坐标(x,y,z)处数据点的曲率;
步骤3:按照曲率将点云数据进行分组,处理过程为:
步骤3.1:设模糊熵迭代计算的次数iter=0;
步骤3.2:对C=[Cur(x,y,z)]中数据点按曲率值从小到大排序,得到曲率最大值Max、最小值Min以及最大最小值的差值delta;设dt为曲率最大最小值的差值delta的1%,以dt为曲率分组的阈值,曲率最小值Min为起始,曲率最大值Max为终止,将曲率分组,得到N个分组;计算第j个分组中数据点个数Num[j]以及曲率平均值其中,j为1≤j≤N的自然数;迭代次数iter=iter+1;
步骤4:将每个分组作为一个整体计算每组数据点的模糊熵,处理过程为:
步骤4.1:将点云以模糊集的形式表示:
设为除去边界以外的三维点云模型数据点分组后每组平均曲率的集合,其中表示最小曲率分组的曲率平均值,表示最大曲率分组的曲率平均值;设μC(Cur(x,y,z))表示(x,y,z)处数据点在三维点云模型C中具有一种特性的隶属函数;三维点云模型C采用模糊集合表示方法为C={Cur(x,y,z),μC(Cur(x,y,z))};其中,0≤μC(Cur(x,y,z))≤1;
步骤4.2:根据所述步骤3.2得到的N个分组,采用Cauchy型模糊集,得到三维点云模型C的模糊熵:
步骤4.2.1:计算目标均值μ0和背景均值μ1:
令t为当前需要计算模糊熵的分组的平均曲率,h(g)表示g∈G所对应分组中数据点的个数,则目标均值μ0和背景均值μ1分别为:
其中,g为除去边界以外的三维点云模型数据点分组后每组平均曲率;Min和Max分别为曲率集合C=[Cur(x,y,z)]中曲率最小值和曲率最大值;
步骤4.2.2:根据所述步骤4.2.1得到的目标均值μ0和背景均值μ1,Cauchy隶属函数可表示为:
其中,根据0.5<Cauchy(Cur(x,y,z);t,μ0,μ1)<1确定c的值;
步骤4.2.3:根据所述步骤4.2.2得到的Cauchy隶属函数值,则三维点云模型C的模糊熵表示为:
其中,
步骤4.2.4:循环步骤4.2.1至步骤4.2.3,计算每个t的取值对应的模糊熵e(C)记为e[j],并依次存入模糊熵集合E中,得到E={e[1],...,e[N]};其中,t∈G,,j=1,...,N;
步骤5:简化C=[Cur(x,y,z)]中点云数据点,处理过程为:
步骤5.1:求取模糊熵集合E中最小模糊熵e(m),则曲率划分的最佳阈值T为最小模糊熵e(m)对应分组的平均曲率即其中1≤m≤N;
步骤5.2:如果C=[Cur(x,y,z)]中某数据点的曲率Cur(x,y,z)<T,则定义其为小曲率点,存入小曲率点集合Small;如果Cur(x,y,z)>T,则定义该点为大曲率点,存入大曲率点集合Big;
步骤5.3:对于小曲率点集合Small中的数据点,按比例a%=iter线性稀释,处理方法为:从小曲率点集合Small的起始点开始,每隔Pa=1/a%个数据点保留一个数据点,直至集合结尾;
步骤5.4:对于大曲率点集合Big中的数据点,计算集合中包含数据点数目Bnum,如果Bnum<(Number*1%),则保留大曲率点集合Big中的所有数据点,至此完成点云精简;如果Bnum>(Number*1%),则转至步骤3.2继续执行;则步骤5.3保留的小曲率数据点和步骤5.4保留的大曲率点构成精简后的点云数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310188105.X/1.html,转载请声明来源钻瓜专利网。