Sign up ×

I've been reading about similarity measures and image feature extraction; most of the papers refer to k-means as a good uniform clustering technique and my question is, is there any alternative to k-means clustering that performs better for an specific set?

share|improve this question
Plenty. K-means is actually one of the most naive algorithms. Only hierarchical clustering is usually performing worse. The big beenfit of k-means is that is so simple to implement it, that everybody can use it everywhere. – Anony-Mousse Jan 4 '12 at 13:18

2 Answers 2

up vote 4 down vote accepted

You may want to look at MeanShift clustering which has several advantages over K-Means:

  1. Doesn't require a preset number of clusters
  2. K-Means clusters converge to n-dimensional voronoi grid, MeanShift allows other cluster shapes

MeanShift is implemented in OpenCV in the form of CAMShift which is a MeanShift adaptation for tracking objects in a video sequence.

If you need more info, you can read this excellent paper about MeanShift and Computer Vision: Mean shift: A robust approach toward feature space analysis

share|improve this answer
Thanks for the info and the paper, one thing to say about clustering is that I almost burned my old laptop running a k-means with 200k features. Maybe it will be a time when we could describe an image as our brains do in the visual cortex and we'll work with less but more complex features. – betolink Oct 16 '11 at 23:25

A simple first step, you could generalize k-means to EM. But there are tons of clustering methods available and the kind of clustering you need depends on your data (features) and the applications. In some cases, even your distances you use matters and so might have to do some sort of distance transformation, if it is not in the kind of space you want it to be in.

share|improve this answer

Your Answer


