The software is provided "as is" without express or implied warranties of any kind. For commercial applications please contact the author.

Recent software:

Mixture of binary translation invariant PCAs(2006) - Matlab code(11KB) - implementation from our 2006 IEEE CVPR paper. Implements mixture of binary (logistic) PCAs where pixels are modeled using Bernoulli distributions instead of Gaussian. The images do not need to be aligned. The implementation calculates also the posterior distribution of unknown discrete translations per image. For efficient calculation in N log(N) time Fast Fourier Transform is used. Logistic PCA is appropriate for binary images, probability maps but also high contrast images.

Background subtraction library (2002-2005) - Source C++ code - Windows/Linux Matlab interface code (30KB) - fast pixel based background subtraction from the 2006 Pattern Recognition Letters paper. It includes a non-parametric model and a Gaussian mixture model which is an extension of the standard method (Stauffer and Grimson 2001). The new mixture model is faster since it also automatically selects the number of components per pixel as in our 2004 IEEE PAMI paper.
(Last updated March 2007! Part of OpenCV - as BackgroundModelMOG2! )

Virtual mirror games (2002-2005) - link to Windows executables (2.5MB) - interactive webcam games. Various algorithms I've used, implemented, improved or developed during my research are applied in making these simple and hopefully entertaining interactive games. If you want to try them you will need a camera connected to your computer. The ICEC2004 paper is describing some of the games .
(Last updated Dec 2005!)

Extended mean-shift color histogram tracking(2004-2005) - Matlab code(6KB) - the shape of the tracked object is approximated by an ellipse and its appearance by histogram based features derived from local image properties such as color. We use Jensen's inequality to derive an efficient local search scheme (extension of mean-shift) to find the image region with a histogram most similar to the histogram of the tracked object. See 2004 CVPR paper and CVIU 2009 paper.
(Last updated Dec 2010! - added mixture Kalman filter and particle filter)

Recursive EM with number of component selection(2003-2004) - Matlab code(5KB) - a simple and fast implementation of a recursive Expectation Maximization (EM) algorithm for fitting a Gaussian mixture. The algorithm starts with a large number of randomly initialized mixture components. A complexity reduction prior, an approximation of the Minimum Message Length model selection principle, is used to automatically select the appropriate number of components. See 2004 IEEE PAMI paper.

MATLAB face detector (OpenCV haar cascade object detection)(2007) - Matlab + C code(157KB) - Matlab interface for running haar-cascade object detectors from the Intel Open Computer Vision Library. For example the face detector. Used in 2007 IEEE IROS paper.


Gaussian derivatives image convolution (1999) - Matlab (Windows/Linux) code (16KB) - appropriate for scale space representation of images. Implements standard convolution and convolution in Fourier domain. Symbolic Matlab toolbox is needed for derivatives with order higher than 2.


Some old stuff:

Real-time 3D head tracking(2000-2001) - Windows executable(900KB) - very old code that still might work. Related to this paper.pdf (1.7MB). Here is a movie.mpeg (3.4MB) generated using this demo software.

Last update: 12 March, 2007. Zoran Zivkovic