kd-tree是k的替代方法意味着聚类?

时间:2012-06-18 21:44:47

标签: computer-vision k-means kdtree

我正在使用BOW对象检测,我正在编码阶段。我已经看到一些在编码阶段使用kd-tree的实现,但大多数写作都表明kmeans聚类是要走的路。两者有什么区别?

3 个答案:

答案 0 :(得分:5)

在物体检测中,k-means用于量化描述符。可以使用kd树来搜索具有或不具有量化的描述符。每种方法都有其优点和缺点。具体来说,当描述符维度的数量超过20时,kd-tree并不比强力搜索好得多。

答案 1 :(得分:4)

kd-tree AFAIK用于标记阶段,它更快,当聚集在大量群体上时,数百甚至数千,然后简单地将所有距离的argmin带到每个群体的简单方法,k-means http://en.wikipedia.org/wiki/K-means_clustering是实际的聚类算法,它的快速但并不总是非常精确,一些实现返回组,而其他实现了训练数据集的组和标签,这就是我通常使用的{{ 3}}与http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.cKDTree.html

结合使用

答案 2 :(得分:0)

kd-TreeK-means算法是两种不同类型的聚类方法。

以下是几种类型的聚类方法:

  • kd-Tree是一种方法(基于中位数)。
  • K-means是基于均值的聚类方法。
  • GMM(高斯混合模型)是一种基于概率的聚类方法(软聚类)。

[更新]:

通常,有两种类型的聚类方法:软聚类和硬聚类。像GMM这样的概率聚类是将对象分配给具有概率的聚类的软聚类类型,而其他聚类是将对象绝对分配给聚类的硬聚类。