Issues for density estimation
- how to represent density
- how to extract the important information
- local maxima, minima
- gradient
- mode
Multivariant kernel density estimation
Kernels
- Gaussian
- Epanechnikov
- Uniform
Basic idea
- based on kernel density estimation
- finding local optimum (mode)
- density gradient estimation
- iterative hill climbing algorithm
- computational complexity
- less density function evaluation
- only local computation
Always converges to the local maximum
Variable Bandwidth Mean-Shift
- Abramson's rule
- : fixed bandwidth for initial estimation
- : geometric mean
- : fixed bandwidth for initial estimation
Mean Shift Mode Detection
- what happens if we reach a saddle point?
- perturb the mode position and check if we return back
Original mean shift
- find mode of
- using
Extended mean shift
- find mode of
- using
Mean Shift Properties
- automatic convergence speed - the mean shift vecotr size depends on the gradient itself
- near maxima, the steps are small and refined
- convergence is guaranteed
- for Uniform Kernel, convergence is achieved in a finite number of steps
- Norm Kernel exhibits a smooth trajectory, but is slower than Uniform Kernel
- application independent tool
- suitable for real data analysis
- does not assume any prior shape (e.g. elliptical) on data clusters
- can handle arbitrary feature spaces
- only ONE parameter to choose
- h (window size) has a physical meaning, unlike k-means
Mean Shift weaknesses
- the window size (bandwidth selection) is not trival
- inappropriate window size can cause modes to be merged, or generate additional "shallow" modes, so it should use adaptive window size
Applications
- pattern recognition
- clustering
- image processing
- filtering
- segmentation
- run filtering (discontinuity preserving smoothing)
- cluster the clusters which are closer than window size
- discontinuity preserving smoothing
- density estimation
- particle filter
- mid-level application
- tracking
- background subtraction
- target representation (start from the position of the model in the current frame)
- candidate representation (search in the model's neighborhood in next frame)
- bhattacharyya distance - it is the angle between the two vectors (find best candidate by maximizing a similarity function)
- adaptive scale
- solution: run localization 3 times with different h, chooseh that achieves maximum similarity
2D LOG filter with scale sigma
- tracking through scale space - use interleaved spatial/scale mean-shift