我有2点云(3D空间中的一组点)和迭代算法。其中一个云(让我们称之为 A )在每次迭代时都是常量,另一个(称之为 B(i))在每次迭代时略有不同(这意味着 B(i + 1)仅在几个点上与 B(i)不同。对于来自 A 的每个点的每次迭代 i ,我的算法应该找到距 B(i)最近的点。
我的问题是:如何以最快的方式计算这些距离?
以下是我已经尝试过的内容:
似乎我应该利用 B(i)和 B(i + 1)彼此略有不同的事实,但我仍然可以&#39提出一个很好的解决方案。提前谢谢。
答案 0 :(得分:3)
对于A中的每个点,记录上一次迭代B(i)中哪一点最接近。
在迭代i + 1中,列出B中每个在i和i + 1之间删除或更改的点,以及B中的每个新点。
对于A中的每个点:
您可以使用KD树或您喜欢的任何空间数据结构来加快速度,但优化来自第一种情况。请注意,KD树允许删除,因此您不需要在每次迭代时从头开始重建整个事物。
答案 1 :(得分:0)
您还可以使用Wasserstein距离来测量两组点云之间的距离。在这种情况下,您认为每个点云都是从概率分布中得出的。