一种基于八叉树的散乱点云压缩方法与流程

文档序号:12675533阅读:来源:国知局

技术特征:

1.一种基于八叉树的散乱点云压缩方法,基于离散无序点云,其特征在于:具体步骤如下:

步骤1:八叉树分割:根据读入点云数据划分包围盒,依照划分停止公式进行八叉树划分;

步骤2:离群点移除:在步骤1分割的基础上建立k邻域,在八叉树最深处叶子节点分配位掩码,根据点的邻域的统计分析和位操作移除离群点,其中,该稀疏离群点移除方法基于在输入数据中对点到邻近点的距离分布的计算;

步骤3:点位置细节编码;对于每个体素所占有的点做处理;在执行序列化的同时,利用广度优先遍历查询和编码点的局部细节,对含有超过一个点的体素,计算点和体素中心间的拓扑关系,产生与各自体素中心相关的位置细节参数流并存储,在解码时还原拓扑关系;

步骤4:区间编码,将处理后的点云压缩数据写至一个文件中或者直接由数据流进行传输。

2.根据权利要求1所述的一种基于八叉树的散乱点云压缩方法,其特征在于:步骤1具体步骤如下:

1.1:在读入点云数据之时,记录X,Y,Z三个维度的最值xmin,xmax,ymin,ymax,zmin,zmax

1.2:根据步骤1.1中得到的最值坐标,根据式(1)构造出包围盒Cube;

其中(x=(xmax-xmin),y=(ymax-ymin),z=(zmax-zmin));Vcube为包围盒体积,edge为包围盒的边长;

1.3:以构造的包围盒Cube为划分对象,根据分割停止标准划分最小包围盒Cubemin,其中分割停止标准建立基于叶子节点/点云比率、八叉树分辨率λ、层数之间的关系,计算点云总数和非空节点之间的差值与点云总数的比值,即为在划分过程中所产生的一定精度损失率t;

P表示在当前层次深度中最小包围盒的数量,M为点云中点的数量,λ为八叉树分辨率,λ1为扫描仪精度,t为精度损失率,n为层数,当调节分辨率λ的时候,确保t在(0,0.1]之间;

1.4:判断步骤1.3中得到最小包围盒Cubemin的个数是否均满足精度损失率t要求,如果满足,则卦限不需要继续细分并跳至步骤1.5;否则继续将该卦限进行八等分,直到所有卦限内最小包围盒Cubemin个数均满足精度损失率t的要求;

1.5:对步骤1.4中获取的所有细分卦限,判断每个卦限内点云数量是否均不小于1;如果是,则点云模型空间划分结束。

3.根据权利要求1或2所述的一种基于八叉树的散乱点云压缩方法,其特征在于:步骤2具体包括以下步骤:

2.1:在完成逐层划分之后,对数据编码,通过八叉树对每个数据搜索其邻域点,找到最近的k个点作为k邻域;2.2:在步骤2.1的基础上,对每个点的k邻域进行一个统计分析;稀疏离群点移除方法基于在输入数据中对点到邻近点的距离分布的计算;对每个点,计算它到域中所有邻近点的均值μ和标准差σ,去除超出u±a·σ的点,a的值取决于被分析k邻域的尺寸;

2.3:设节点N的位掩码表示为SN,遍历查询的离群点K的位掩码表示为SK,SN的长度为8,设给定节点SN=1表示节点包围盒至少有一个点,SN=0表示包围盒为空,设Nn为新八叉树Sn的根部,当判断Sn没有遍历至底端时,Nn赋值为有遍历顺序Sn的非空节点,如果Sn的节点Nn满足NK一样的离群点条件则SK=bitewiseAND(SK,0),否则初始化一个Sn的新的节点N并把其当作当前区域新的根部位掩码其中bitewiseAND为按位与操作。

4.根据权利要求3所述的一种基于八叉树的散乱点云压缩方法,其特征在于:步骤4具体包括以下步骤:

4.1:形成频率表:区间长度为s,设有一整数区间i∈[L,H),其中:L为区间下沿,H为区间上沿,区间范围R=H-L+1;T为符号S的总计频率,fs为符号S的频率,令Fs为符号S的累计频率,该累计频率是符号小于S的其他符号的频率总和

4.2:设Ai是信息中的第i个想要编码的字母,1≤i≤k,根据步骤4.1的频率表选择s大小的区间长度编码A1,留下R1的区间长度编码A2,留下R2的区间长度编码A3,依次类推。

5.根据权利要求3所述的一种基于八叉树的散乱点云压缩方法,其特征在于:所述步骤2.1中,对于非空叶子节点查询其立方体的数据点和周围26个叶子节点立方体中的数据点并找到最近的k个点作为k邻域,如果邻域内点的个数不足k个,则扩大搜索范围至124个叶子节点立方体中的数据点查找,最终完成k邻域的建立。

6.根据权利要求2或4所述的一种基于八叉树的散乱点云压缩方法,其特征在于:所述步骤2还包括根据八叉树的编码特点,点云坐标P(x,y,z)和树中节点(a,b,c)相对应且树中任一个节点都与一个最小包围盒Cubemin一一对应;节点的编码为M=mn-1…m2m1m0,mn-1为结点在n层的节点序号;

利用空间坐标计算出节点索引值,其中,λ为八叉树分辨率,

其编码可用二进制表示:

节点序号mi和ai,bi,ci之间的关系可表示为:

mi=ai+bi·2+ci·4 (5)

ai=(mi mod 2),bi=[(mi/2)mod2],ci=[(mi/4)mod 2] (6)

其中:mod为取模运算符,利用公式5、6可以由点包围盒邻接的立方体得出节点在树中的编码,即可从根节点沿路径检测出节点,按此规则,在A搜索出距离最近的k个点,得到点A的k邻域N|A|。

7.根据权利要求4所述的一种基于八叉树的散乱点云压缩方法,其特征在于:所述步骤4.1中区间长度的计算公式为,

其中:T为符号S的总计频率,fs为符号S的频率,Fs为符号S的累计频率;

如果在区间长度s上的完整范围是[Bk,Bk+Rk),当Rk小于一定阈值的时候,从[Bk,Bk+Rk)中提取一个数值来表示整个压缩数据,其中,Bj是区间下沿的计算公式,Ri是区间长度的计算公式,Bk,Rk表示当满足一定阈值时的区间下沿和区间长度。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1