meanShift clustering algorithm.


function [IDX,M] = meanShift(X, radius, rate, maxIter, minCsize, blur )


 meanShift clustering algorithm.

 Based on code from Sameer Agarwal <>.
 For a broad discussion see:
 Y. Cheng, Mean-shift, mode seeking, and clustering, IEEE Transactions on
 Pattern Analysis and Machine Intelligence, Vol.17, 1995, pp. 790-799

 The radius or bandwidth is tied to the 'width' of the distribution and is
 data dependent.  Note that the data should be normalized first so that
 all the dimensions have the same bandwidth.  The rate determines how
 large the gradient decent steps are.  The smaller the rate, the more
 iterations are needed for convergence, but the more likely minima are not
 overshot.  A reasonable value for the rate is .2.  Low value of the rate
 may require an increase in maxIter.  Increase maxIter until convergence
 occurs regularly for a given data set (versus the algorithm being cut off
 at maxIter).

 Note the cluster means M do not refer to the actual mean of the points
 that belong to the same cluster, but rather the values to which the
 meanShift algorithm converged for each given point (recall that cluster
 membership is based on the mean converging to the same value from
 different points).  Hence M is not the same as C, the centroid of the
 points [see kmeans2 for a definition of C].

  [IDX,M] = meanShift(X, radius, [rate], [maxIter], [minCsize], [blur] )

  X           - column vector of data - N vectors of dim p (X is Nxp)
  radius      - the bandwidth (radius of the window)
  rate        - [] gradient descent proportionality factor in (0,1]
  maxIter     - [] maximum number of iterations
  minCsize    - [] min cluster size (smaller clusters get eliminated)
  blur        - [] if blur then at each iter data is 'blurred', ie the
                original data points move (can cause 'incorrect' results)

  IDX         - cluster membership [see kmeans2.m]
  M           - cluster means [see above]



 Piotr's Computer Vision Matlab Toolbox      Version 2.0
 Copyright 2014 Piotr Dollar.  []
 Licensed under the Simplified BSD License [see external/bsd.txt]

Generated by m2html © 2003