Is kd-Tree an alternative to K-means clustering?

algorithm, cluster-analysis, computer-vision, k-means, kdtree

Solution

`kd-tree` AFAIK is used for the labeling phase, its much faster, when clustering over a large number of groups, hundreds if not thousands, then the naive approach of simply taking the argmin of all the distances to each group, k-means `http://en.wikipedia.org/wiki/K-means_clustering` is the actual clustering algorithm, its fast though not always very precise, some implementations return the groups, while others the groups and the labels of the training data set, this is what I ussually use http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.cKDTree.html in conjunction with http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.vq.kmeans2.html

Problem

I'm working with BOW object detection and I'm working on the encoding stage. I have seen some implementations that use `kd-Tree` in the encoding stage, but most writings suggest that `K-means` clustering is the way to go. What is the difference between the two?

Original source