[Mean Shift Library]

Mean Shift Library

Tom S. F. Haines

University College London


Mean shift is usually associated, in computer vision at least, with the segmentation of an image. Whilst this library supports that scenario, it is far more general. Mean shift is a gradient ascent method for finding the modes of a kernel density estimate, so this library is as much a kernel density estimation library as it is a mode finder. It includes the usual kernel bandwidth estimation methods and also supports subspace constrained mean shift, which finds edges/manifolds in noisy data. Support goes far beyond the typical Gaussian and Uniform kernels: It has ten kernel types, as well as the ability to combine them, with different kernels on different parts of a feature vector. The kernels include directional distributions, so it supports density estimation over the position and orientation of an object, for instance. It also supports the multiplication of density estimates, which allows you to perform non-parametric belief propagation using mean shift objects as the messages between random variables. Also has methods to approximate values such as the entropy of a density estimate, and the KL divergence between two estimates.

Papers that are implemented, in all or in part, by this library include:

This library was originally implemented for the paper “My Text in Your Handwriting”, by Haines et al., 2016, and is available under the Apache License V2.0.

Citation Style:    Publication

Mean Shift Library.
Tom S. F. Haines.
GitHub repository https://github.com/thaines/helit/tree/master/ms, Feburary 2016.
Tom S. F. Haines. Mean shift library. GitHub repository https://github.com/thaines/helit/tree/master/ms, February 2016.Haines, T. S. F., 2016. Mean shift library. GitHub repository https://github.com/thaines/helit/tree/master/ms, Feb.T. S. F. Haines, “Mean shift library,” GitHub repository https://github.com/thaines/helit/tree/master/ms, Feb. 2016.


The author was partially supported by EPSRC grants EP/J021458/1 and EP/K023578/1.

Disclaimer: The documents contained in these pages are included to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.