本申请涉及点云数据处理,尤其涉及一种点云最近邻数据结构构建方法及其系统。
背景技术:
1、点云配准的基本问题是计算给定点与历史点云的最近邻,通常需要依赖一些最近邻的数据结构。这些数据结构又大体分为树类的(tree like)和体素类(voxel like)的。
2、kd树类结构的优势在于,可以严格地查询k近邻,不会多也不会少;也可以以范围或盒子形式来查询最近邻(range search/box search)。查询过程中也以设置附加条件比如最大距离,实现快速的近似最近邻查找(aproximate nearest neighbor, ann)。然而传统的kd树是不带增量结构的。像ikd-tree这种带增量加点的结构,虽然不用完全重新构建,但也需要花额外的时间去维护这个树的结构。
3、稀疏体素的近邻结构ivox(incremental voxels)的优势在于,天然具有k近邻时的范围限制;增量构建的时候不需要额外的操作;删除的时候也很方便。
4、实际上点云配准往往不需要严格的k近邻。如果k近邻找到了一个很远的点,拿这个点过来做点面残差也是不合理的,这部分计算就是无效的。我们不妨让近邻结构本身就具有这种查找范围限制,而kd树即使带了范围限制,也需要一个节点一个节点地来遍历,这种遍历显然也是会耗时的。
5、ivox(incremental voxels)虽然具有天然的k近邻时的范围限制,具有更快的查找效率,但是更多的是适合稀疏的点云。对于比较密集的点云往往需要配合降采样,然后在构建ivox。然而对于比较大的点云降采样是比较耗时的。
技术实现思路
1、本发明要解决的技术问题是针对以上不足,提供点云最近邻数据结构构建方法及其系统,针对ivox 应对稠密点云的不足,本申请融合八叉树和降采样功能,使得在构建近邻结构时可以自动进行降采样,进而在面对稠密点云的时候,依然具有较高的效率。
2、为解决以上技术问题,本发明采用以下技术方案:
3、一种点云最近邻数据结构构建系统,包括:
4、体素构建模块,对每个体素空间进行等份划分成若干子空间,以形成内部被划分成预设份额的体素;
5、点云获取模块,获取需配准的点云区域以及点数据,并利用体素构建模块对点云区域进行划分;
6、近邻结构构建模块,基于每个体素的子空间内只存放一个点为原则将点云获取模块中的点占据体素子空间中,多余的点进行删除以达到降采样目的。
7、一种点云最近邻数据结构构建方法,包括以下步骤:
8、步骤s1:基于体素构建模块构建体素空间,对每个体素空间进行等份划分成若干子空间,以形成内部被划分成预设份额的体素;
9、步骤s2:划定构建区域,基于点云获取模块获取该区域中的点云;
10、步骤s3:基于点云构建步骤s1中的体素,在近邻结构构建模块基础上,基于每个体素的子空间内只存放一个点为原则进行点云降采样处理。
11、进一步的,所述步骤s1中每个体素空间的子空间数量为2的n次方。
12、进一步的,所述步骤s1中每个体素融合八叉树,将空间划分成8个等份子空间,形成2*2*2的块体结构。
13、进一步的,所述步骤s3中点基于先到先占的原则占据每个体素的子空间。
14、进一步的,所述先到先占的原则具体如下:
15、每个体素的子空间初始状态均为空闲,在进行点云降采样处理时,对于落在某个体素内的点,基于其所属子空间内是否已存在其他点来进行操作,对于没有其他点的情况将该点占据该子空间,对于存在其他点的情况将该点进行删除。
16、本发明采用以上技术方案,与现有技术相比,具有如下技术效果:
17、针对ivox 应对稠密点云的不足,本申请融合八叉树和降采样功能,使得在构建近邻结构时可以自动进行降采样,进而在面对稠密点云的时候,依然具有较高的效率。
1.一种点云最近邻数据结构构建系统,其特征在于:包括:
2.一种点云最近邻数据结构构建方法,其特征在于:所述构建方法应用于如权利要求1所述的点云最近邻数据结构构建系统中,包括以下步骤:
3.如权利要求2所述的一种点云最近邻数据结构构建方法,其特征在于:所述步骤s1中每个体素空间的子空间数量为2的n次方。
4.如权利要求3所述的一种点云最近邻数据结构构建方法,其特征在于:所述步骤s1中每个体素融合八叉树,将空间划分成8个等份子空间,形成2*2*2的块体结构。
5.如权利要求2所述的一种点云最近邻数据结构构建方法,其特征在于:所述步骤s3中点基于先到先占的原则占据每个体素的子空间。
6.如权利要求5所述的一种点云最近邻数据结构构建方法,其特征在于:所述先到先占的原则具体如下: