三维点云的近邻查找方法、装置、系统及存储介质与流程

文档序号:37154519发布日期:2024-02-26 17:13阅读:13来源:国知局
三维点云的近邻查找方法、装置、系统及存储介质与流程

本申请属于计算机信息,尤其涉及一种三维点云的近邻查找方法、装置、系统及存储介质。


背景技术:

1、传统三维点云的查找方法是从根节点开始,递归遍历八叉树,检查遍历过程中的每一个八叉树节点(ocatant)是否与查询球(search ball)相交,如果相交,则检查当前八叉树节点的每一个点是否在查询群内,即与查询点的距离小于查询半径。

2、传统方法对每个八叉树节点都要进行查找,但这样的方法存在一些缺陷如下所示:传统方法对每个八叉树节点都进行查找,对于节点密集的区域会频繁遍历,而在节点稀疏的区域则会浪费计算资源。递归遍历整个八叉树需要消耗大量的计算资源和时间,尤其是对于大规模的八叉树或者高维度数据。在高维空间中,八叉树的分割会变得不那么高效,而且搜索复杂度会急剧增加,这导致传统方法在高维空间中效率较低。由于需要对每个节点进行遍历和检查,查询效率可能随着树的深度增加而降低。


技术实现思路

1、本申请的目的,在于提供一种三维点云的近邻查找方法、装置、系统及存储介质,基于创建节点函数对原始八叉树进行处理,得到改进八叉树,通过改进八叉树进行查找,提高查找效率。

2、为了达成上述目的,本申请的解决方案是:

3、第一方面,本申请实施例提供一种三维点云的近邻查找方法,包括:

4、获取原始八叉树并基于创建节点函数对原始八叉树进行处理,得到改进八叉树。

5、基于改进八叉树进行三维点云的近邻查找,包括:

6、构建搜索球,对改进八叉树中的每个节点,判断节点是否包含在搜索球内,若节点包含在搜索球内,则将节点内的所有点加入查询结果。

7、若节点不包含在搜索球内,则根据节点的类型执行不同的操作,节点的类型包括叶子节点和非叶子节点。

8、若节点为叶子节点,则判断每个点是否在搜索球内。

9、若节点为非叶子节点,则判断每个子节点是否与搜索球相交,并继续查找相交的子节点,递归执行近邻查找,输出最终的查询结果。

10、根据本申请实施例的上述方法,还可以具有以下附加技术特征:

11、进一步的,获取原始八叉树并基于创建节点函数对原始八叉树进行处理,其中,创建节点函数包括:createoctant函数、splitoctant函数、assignpointstooctant函数、calculatebounds函数和buildoctree函数。

12、进一步的,获取原始八叉树并基于创建节点函数对原始八叉树进行处理,其中,原始八叉树的类型包括:自适应八叉树、增量式八叉树、哈希八叉树和面向对象八叉树。

13、进一步的,获取原始八叉树并基于创建节点函数对原始八叉树进行处理,得到改进八叉树,包括:

14、基于原始八叉树确定边界框,根据边界框调用创建节点函数,重新构建原始八叉树中的节点,得到改进节点,根据插入点和递归划分确定节点内部的数据和子节点关系,得到改进八叉树。

15、进一步的,基于原始八叉树确定边界框,根据边界框调用创建节点函数,重新构建原始八叉树中的节点,得到改进节点,根据插入点和递归划分确定节点内部的数据和子节点关系,得到改进八叉树,包括:

16、基于improvedoctreenod函数改进原始八叉树中节点的数据结构,基于createimprovedoctant函数创建改进八叉树中的节点,基于buildimprovedoctree函数构建改进八叉树。

17、进一步的,基于improvedoctreenod函数改进原始八叉树中节点的数据结构,基于createimprovedoctant函数创建改进八叉树中的节点,基于buildimprovedoctree函数构建改进八叉树,包括:

18、在基于buildimprovedoctree函数构建改进八叉树过程中,调用insertimprovedpoint函数,将插入点插入到相应的节点中,并通过递归调用recursiveimprovedsubdivide函数划分子节点。

19、第二方面,本申请实施例提供一种三维点云的近邻查找装置,包括:

20、数据获取模块,被配置为用于获取原始八叉树;

21、数据处理模块,被配置为用于基于创建节点函数对原始八叉树进行处理,得到改进八叉树;

22、近邻查找模块,被配置为用于基于改进八叉树进行三维点云的近邻查找。

23、进一步的,三维点云的近邻查找装置还包括:

24、函数构建模块,被配置为用于构建数据获取模块、数据处理模块和近邻查找模块中需要使用到的函数,包括createoctant函数、split octant函数、assignpointstooctant函数、calculatebounds函数、buildoctree函数、improvedoctreenod函数、createimprovedoctant函数、build improved octree函数、insertimprovedpoint函数和recursiveimprovedsubdivide函数。

25、第三方面,本申请实施例提供了一种三维点云的近邻查找系统,系统包括处理器和存储器,存储器中存储有计算机程序,计算机程序由处理器加载并执行,以实现如本申请实施例第一方面提供的三维点云的近邻查找方法。

26、第四方面,本申请实施例提供了一种计算机可读存储介质,存储介质中存储有计算机程序,计算机程序被处理器执行时,用于实现如本申请实施例第一方面的三维点云的近邻查找方法。

27、采用本申请实施例提供的三维点云的近邻查找方法,与现有技术相比,具有如下有益技术效果:

28、本申请实施例通过基于创建节点函数对原始八叉树进行处理,可以根据实际需求调整节点的划分方式,例如采用自适应划分来更好地适应数据的分布情况,提高八叉树的空间分割效果。在进行近邻查找时,通过判断节点是否包含在搜索球内,可以避免对无效的节点进行查找和处理,从而减少了计算开销,提高了查找效率。包含在搜索球内的节点,直接将节点内的所有点加入查询结果,从而更精细地获取了满足查询条件的点,而不是仅在节点的边界上判断。通过考虑节点的类型(叶子节点或非叶子节点)和相交情况,还可以灵活处理不同节点类型和不同分布的点云数据。对于叶子节点,可以直接判断每个点是否在搜索球内,而对于非叶子节点,可以递归地判断相交的子节点,这种策略在遍历树结构时能够更有效地定位满足查询条件的点。本申请实施例提供的三维点云近邻查找方法通过改进八叉树的构建和近邻查找过程,能够更好地适应不同的数据分布,提高查询效率,减少不必要的计算,以及更精细地获取满足查询条件的点云数据。



技术特征:

1.一种三维点云的近邻查找方法,其特征在于,所述方法包括:

2.如权利要求1所述的三维点云的近邻查找方法,其特征在于,所述获取原始八叉树并基于创建节点函数对所述原始八叉树进行处理,其中,所述创建节点函数包括:createoctant函数、splitoctant函数、assignpointstooctant函数、calculatebounds函数和buildoctree函数。

3.如权利要求1所述的三维点云的近邻查找方法,其特征在于,所述获取原始八叉树并基于创建节点函数对所述原始八叉树进行处理,其中,所述原始八叉树的类型包括:自适应八叉树、增量式八叉树、哈希八叉树和面向对象八叉树。

4.如权利要求1所述的三维点云的近邻查找方法,其特征在于,所述获取原始八叉树并基于创建节点函数对所述原始八叉树进行处理,得到改进八叉树,包括:

5.如权利要求4所述的三维点云的近邻查找方法,其特征在于,所述基于所述原始八叉树确定边界框,根据所述边界框调用所述创建节点函数,重新构建所述原始八叉树中的节点,得到改进节点,根据插入点和递归划分确定节点内部的数据和子节点关系,得到改进八叉树,包括:

6.如权利要求5所述的三维点云的近邻查找方法,其特征在于,所述基于improvedoctreenod函数改进所述原始八叉树中节点的数据结构,基于createimprovedoctant函数创建所述改进八叉树中的节点,基于buildimprovedoctree函数构建所述改进八叉树,包括:

7.一种三维点云的近邻查找装置,其特征在于,所述装置包括:

8.如权利要求7所述的三维点云的近邻查找装置,其特征在于,所述装置包括:

9.一种三维点云的近邻查找系统,所述系统包括处理器和存储器,所述存储器中存储有计算机程序,其特征在于,所述计算机程序由所述处理器加载并执行,以实现如权利要求1至6任一项所述的三维点云的近邻查找方法。

10.一种计算机可读存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,用于实现如权利要求1至6任一项所述的三维点云的近邻查找方法。


技术总结
本申请公开一种三维点云的近邻查找方法、装置、系统及存储介质,涉及计算机信息技术领域。该方法包括获取原始八叉树并处理得到改进八叉树,基于改进八叉树进行三维点云的近邻查找,包括:构建搜索球,判断改进八叉树中的每个节点是否包含在搜索球内,若包含,则加入查询结果,若不包含,则判断节点类型,若节点为叶子节点,则判断每个点是否在搜索球内,若节点为非叶子节点,则判断每个子节点是否与搜索球相交,并继续查找相交的子节点,递归执行近邻查找,输出最终的查询结果。该方法通过改进八叉树的构建和近邻查找过程,能够更好地适应不同的数据分布,提高查询效率,减少不必要的计算,以及更精细地获取满足查询条件的点云数据。

技术研发人员:余崇圣,李浏阳,杜渊洋,陈方圆
受保护的技术使用者:苏州知至科技有限公司
技术研发日:
技术公布日:2024/2/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1