Tuesday, February 06, 2007

Intel OpenCV face detection license

Intel OpenCV is a great free image processing library.(take a look at its license)

but regards face detection, it might be not that free.
looking into $OpenCV\data\ which contains the HAAR cascades, you may find a readme.txt file which goes like this:

This folder contains various data that is used by cv libraries and/or demo applications.
haarcascades - the folder contains trained classifiers for detecting objects
of a particular type, e.g. faces (frontal, profile), pedestrians etc.
Some of the classifiers have a special license - please,
look into the files for details.

Now lets have some background
(thanks to S├ębastien Marcel at idiap)

The face detection method implemented in OpenCV by Rainer Lienhart is very similar to the one published and patented by Paul Viola and Michael Jones (patent 1 and patent 2), namely called Viola-Jones face detection method.

More precisely, Rainer Lienhart proposed an extension of Viola and Jones work which consists essentially in additional haar-like features (center, tilted) and the use of a tree-based classifiers instead of stump-classifiers in the cascade. Indeed, even if the excellent implementation of Lienhart is available in OpenCV, it seems that the classifiers (check carefully the face detection XML models) in the cascade are not trees but stumps and that they don't contain any "tilted" haar-like features. As a consequence, those "default" models implement a solution very close from Viola and Jones.

Therefore, to differ really from the Viola-Jones patent, you will need to re-train yourself a cascade with tree-based classifiers, and possibly with tilted features.

No comments: