Image and Video Analysis

Medial Feature Detector

The medial feature detector (MFD) is a generic detector of regions of arbitrary scale and shape in still images. It has been tested successfully in image matching and retrieval applications, with state of the art performance and savings in computational and space requirements. The strongest regions are mostly blob-like and well enclosed by boundaries. Unlike most feature detectors, the boundaries need not be complete. Examples are shown below.

Detection is based on a weighted distance transform of image gradient, a decomposition of the corresponding medial axis, a bottom-up merging process and what we call the shape fragmentation factor. The underlying theory is presented in Medial Features, and in our ICCV paper cited below. Here we provide its binary code and documentation.

medial axis color stands for distance (height)
input (270 x 270px) distance transform (30ms)
+ medial axis (15ms)
partition (15ms)
over medial axis
features (3ms)
over partition

The code has been developed in C++, using OpenCV to load, save and display images. It is highly optimized, with running times in the order of 0.5-2 seconds for an average complexity image of up to 1Mpixel. The most time-consuming task is distance propagation, which is linear in the number of pixels. In the tiny example above, times refer to individual stages as measured on an Intel 3GHz Core i7-950 processor, for a total of about 63 milliseconds. MFD provides access to all intermediate results and detailed statistics through several commands and options, including interactive visualization and debugging. It can operate in batch mode, optionally recursing subfolders. It has a special mode for binary images providing faster implementation, useful e.g. for binary distance transform and medial axis. In this case it also offers sub-pixel accuracy:

medial axis color stands for residue function
input (954 x 954px) medial axis (290ms)
sub-pixel accurate
partition (260ms)
over distance and medial

The binary code is available for Linux 64-bit and Windows 32-bit platforms. No installation is needed. The Windows version has all required library files included, and the Linux version only needs installation of OpenCV first. The documentation provides a guide to the most important commands and options through examples, but no complete reference is available.

Licence / Citation

The software may be used freely for research purposes only. Please cite our ICCV paper below if you use it.


Version 0.6, documentation only (pdf, 4.70 MB)
Version 0.6, Linux 64-bit and Windows 32-bit binary, documentation and examples (tar.gz, 8.27 MB)


Yannis Avrithis



Y. Avrithis, K. Rapantzikos. The Medial Feature Detector: Stable Regions from Image Boundaries. In Proceedings of International Conference on Computer Vision (ICCV 2011), Barcelona, Spain, November 2011.
[ Abstract ]
[ Bibtex ] [ PDF ]