Software available on-line

Optical Flow software (C and Matlab):

The optical flow software here has been used by a number of graphics companies to make special effects for movies.  This software is provided for research purposes only; any sale or use for commercial purposes is strictly prohibited.

Please contact me if you wish to use this code for commercial purpose.

If you are a commercial enterprise and would like assistance in using optical flow in your application, please contact me at my consulting address black@opticalflow.com.

This is EXPERIMENTAL software. It is provided to illustrate some ideas in the robust estimation of optical flow. Use at your own risk. No warranty is implied by this distribution.

Copyright notice.

There are two versions available. First, the original C code implementing the robust flow methods described in Black and Anandan '96:

oArea-based optical flow: robust affine regression.
oDense optical flow: robust regularization.

Second, a new Matlab implmentation of the Black and Anandan dense optical flow method curtesy of Deqing Sun. The Matlab flow code is easier to use and more accurate than the original C code. The objective function being optimized is the same but the Matlab version uses more modern optimization methods:

oMatlab implementation of Black and Anandan robust dense optical flow algorithm

Reference:

The robust estimation of multiple motions: Parametric and piecewise-smooth flow fields,
Black, M. J. and Anandan, P.,
Computer Vision and Image Understanding, CVIU, 63(1), pp. 75-104, Jan. 1996.
(pdf), (pdf from publisher)

 

Robust Principal Component Analysis (PCA)

Software is from the ICCV'2001 paper with Fernando De la Torre.

De la Torre, F. and Black, M. J., Robust principal component analysis for computer vision, to appear: Int. Conf. on Computer Vision, ICCV-2001, Vancouver, BC. (postscript, 1.0MB)(pdf, 0.36MB), (abstract)
Software, demos, and data.

Human motion tracking

The code below provides a simple Matlab implementation of the Bayesian 3D person tracking system described in ECCV'00 and ICCV'01. It is too slow to be used to track the entire body but can be used to track various limbs and provides a basis for people who want to understand the methods better and extend them.

Learning image statistics for Bayesian tracking,
Sidenbladh, H. and Black, M. J.,
Int. Conf. on Computer Vision, ICCV-2001, Vancouver, BC, Vol. II, pp. 709-716.
(postscript, 2.8MB)(pdf, 0.38MB), (abstract)

Stochastic tracking of 3D human figures using 2D image motion,
Sidenbladh, H., Black, M. J., and Fleet, D.J.,
European Conference on Computer Vision, D. Vernon (Ed.), Springer Verlag, LNCS 1843, Dublin, Ireland, pp. 702-718 June 2000.
(postscript)(pdf), (abstract)

Software. (Note: if you uncompress and untar this on a PC using Winzip, the path names may be lost which will cause Matlab to fail when you load the .mat files.  Instead uncompress/untar using gunzip and tar.)