8得票1回答
Kd树:数据仅存储在叶子节点还是存储在叶子节点和中间节点?

我正在尝试在C ++中实现Kd树来执行最近邻和近似最近邻搜索。到目前为止,我已经遇到了两个版本的最基本的Kd树。 其中数据存储在节点和叶子中,例如这里 只有叶子中存储数据,例如这里 它们似乎从根本上相同,具有相同的渐近特性。 我的问题是: 为什么要选择一个而不是另一个? 我找到了两...

8得票2回答
在Python中从k-d树中删除根节点

对于一个新手来说,我不明白如何在递归函数内部删除类的实例。 考虑这段 k-d Tree 的代码: def remove(self, bin, targetAxis=0, parent=None): if not self: return None elif self.dat...

7得票2回答
在Haskell中通过整数参数化类型

我正在尝试创建一些Haskell类型,它们不是由类型参数化,而是由类型的元素参数化,具体来说,是整数。例如,R ^ 2中的线性代数向量和R ^ 3中的向量是不同的类型对象。具体来说,我正在用Haskell编写一个K-D树,我想通过正整数对我的数据结构进行参数化,因此3-D树和4-D树具有不同的...

7得票2回答
如何使用Python加速最近邻搜索?

我有一段代码,可以计算距离(未被分配的)最近的体素到一个已赋值的体素的距离。我有一个体素数组,其中一些体素已经被标量(1、2、3、4等)赋值,而一些体素为空(假设值为“0”)。下面的代码会找到距离未分配的体素最近的已分配的体素,并将该体素分配相同的标量。因此,标量为'0'的体素将根据最近的体素...

7得票1回答
表面积启发式(SAH)kd树三角形-扁平单元。

我已经根据Wald和Havran的论文On building fast kd-Trees for Ray Tracing, and on doing that in O(N log N)实现了基于SAH的kd-tree。请注意,我没有按照他们在最后提出的建议进行剪接和合并,只是使用了SAH部分...

7得票1回答
PCL kd-tree 实现极其缓慢。

我正在使用基于点云库(PCL)的C ++实现的kd-tree最近邻搜索。数据集包含约220万个点。我正在为每个其他点搜索NN点。搜索半径设置为2.0。完全计算需要大约12小时!我使用的是装有4GB RAM的Windows 64位机器。这种情况在kd-tree搜索中很常见吗?我想知道是否有任何其...

7得票3回答
SIFT描述子匹配的高效方法

有两张图片A和B,我从中提取了关键点(a[i]和b[i])。 我想知道如何高效地确定a[i]和b[j]之间的匹配?显而易见的方法是将A中的每个点与B中的每个点进行比较。但对于大型图像数据库来说,这样做太耗时了。我应该如何仅将点a[i]与范围较小的b[k]进行比较? 我听说kd-tree可能...