点云更新的最佳数据结构是什么?

时间:2019-04-28 02:22:15

标签: computational-geometry

我正在使用新的jetson nano开发机器人。我已经从相机的深度图像中生成了点,并且正在努力随着机器人的移动来创建场景。我的问题是,每帧都将点扔进数据结构会使我很快耗尽内存。因此,我想进行一些启发,说如果某个点满足某些条件,则不要添加它。

为此,我想我需要一个加速结构,例如Octree,KDTree,BVH层次结构或其他某种结构。尽管我熟悉它们并找到了许多有关如何构建它们的信息,但我对它们中的哪一个最容易更新每个框架,或者与增量重建相比是否需要完全重建感到有些困惑。可以并行化吗?任何有关什么类型的数据结构的见解(可能带有链接)都将非常有帮助。

编辑: 我认为,最好的结构可能是稀疏Voxel Octree。您可以从Nvidia的博客中找到一些有关如何操作的一般想法。 https://devblogs.nvidia.com/thinking-parallel-part-iii-tree-construction-gpu/。 如果莫顿码映射到特定的体素,则该体素被“填充”。当体素填充或未填充时,多余的点会自动得到处理。对于删除,我想我可以在八叉树上进行光线追踪,如果在我期望也删除现有体素之前与填充的体素发生碰撞,则可以这样做。存在一些分辨率问题,但是我认为我可以使用混合方法来解决这个问题。

0 个答案:

没有答案