Viola-jones

Version 6 (Anthony Rowe, 05/19/2007 09:45 am)

1 1 Anthony Rowe
2 1 Anthony Rowe
== Violoa Jones ==
3 1 Anthony Rowe
4 1 Anthony Rowe
The Viola-Jones sample project that comes with the CMUcam3, is an example of a lightweight
5 1 Anthony Rowe
face detector. The algorithm is based on the wellknown
6 4 Anthony Rowe
paper “Robust Real-Time Face Detection” by P. Viola and M. Jones from 2004 [attachment:viola-ijcv04.pdf "[1]"]. 
7 1 Anthony Rowe
8 1 Anthony Rowe
The paper introduces a novel technique to detect faces in real-time and with very high
9 1 Anthony Rowe
detection rate. It is essentially a feature-based approach in which a classifier is trained for
10 4 Anthony Rowe
Haar-like rectangular features [http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/&toc=comp/proceedings/iccv/1998/8295/00/8295toc.xml&DOI=10.1109/ICCV.1998.710772 "[6]"] selected by [http://en.wikipedia.org/wiki/Adaboost "[AdaBoost]"]. The test image is scanned at
11 1 Anthony Rowe
different scales and positions using a rectangular window, and the regions which pass the
12 1 Anthony Rowe
classifier are declared as faces. One of the major contributions of this paper is the
13 1 Anthony Rowe
extremely rapid computation of these features using the concept of Integral Image, which
14 1 Anthony Rowe
enables the detection in real-time. Additionally, instead of learning a single classifier and
15 1 Anthony Rowe
computing all the features for all the scanning windows in the image, a number of
16 1 Anthony Rowe
classifiers are learnt which are put together in a series to form a cascade. The classifiers
17 1 Anthony Rowe
in the beginning of the cascade are simpler and consist of smaller numbers of features.
18 1 Anthony Rowe
However, as one proceeds in the cascade, the classifiers become more complex. A region
19 1 Anthony Rowe
is reported as detection only if it passes all the classifier stages in the cascade. If it is
20 1 Anthony Rowe
rejected at any stage, it is discarded and not processed further. This way, the easier
21 1 Anthony Rowe
patches in the image which the “cascade of classifiers” is sure of not being a face, are
22 1 Anthony Rowe
rejected very early while the difficult regions are operated on by more complex
23 1 Anthony Rowe
classifiers. This greatly speeds up the detection process without compromising on the
24 1 Anthony Rowe
accuracy and provides high detection rate. This overall system provides performance
25 4 Anthony Rowe
comparable to the existing best face detector systems (Rowley et al., 1998 [attachment:CVPR00.pdf "[2]"];
26 4 Anthony Rowe
Schneiderman and Kanade, 2000 [attachment:nips00.pdf "[3]"]; Roth at al., 2000 [attachment:rowley-ieee.pdf "[4]"]) but with orders of magnitudes
27 1 Anthony Rowe
faster than any of these systems. On a conventional desktop, it can detect faces at 15
28 1 Anthony Rowe
frames per second.
29 5 Anthony Rowe
30 6 Anthony Rowe
More information on the Viola-Jones face detector and its CMUcam3 implementation can be found in our [http://www.cmucam.org/attachment/wiki/Documentation/cc3_face_detector.pdf CC3 Face Detector] document.
31 5 Anthony Rowe
32 5 Anthony Rowe
'''Extra Utilities'''
33 5 Anthony Rowe
 * [attachment:generate_feat_in_struct_for_C.m] 
34 5 Anthony Rowe
  * This Matlab file prints the learned adaboost model in a text file so that it can be easily imported in vj.h