Intel® Integrated Performance Primitives
Face Detection Sample for Windows* with the Microsoft* Foundation Classes (MFC)

Disclaimer
License Definitions
Overview
System Requirements
Package Contents
Installation
How to Build Source Code
Running the Software
Technical Support and Feedback
 

Disclaimer

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications. Intel may make changes to specifications and product descriptions at any time, without notice.

License Definitions

By downloading and installing this sample, you hereby agree that the accompanying Materials are being provided to you under the terms and conditions of the End User License Agreement for the Intel® Integrated Performance Primitives product previously accepted by you. Please refer to the file ipplic.htm for more information.

Overview

This 32-bit sample demonstrates how to use the Intel® Integrated Performance Primitives (Intel® IPP) to apply a classifier using Haar-like features in face detection algorithm in an Microsoft* Foundation Classes (MFC) application.

Additional information on this software as well as other Intel® Software Development Products is available at http://developer.intel.com/software/products/.

System Requirements

Recommended hardware:  

Hardware requirements: Software requirements:

Package Contents

The Intel® IPP Computer Vision Samples for Windows* package contains the following:
./ipp_sample/computer-vision/
ipplic.htm End User License Agreement
support.txt Contains information for technical support
./ipp_sample/computer-vision/Face_Detection/
readme.htm This file
Makefile Makefile
build.bat Batch file to build the sample's executable files
./ipp_sample/computer-vision/Face_Detection/data
haar.txt File with Haar face models
test.bmp Test picture file
./ipp_sample/computer-vision/Face_Detection/doc
Face_Detection.txt Detailed description of the Face Detection of the sample
./ipp_sample/computer-vision/Face_Detection/samples
facedetection.cpp Main program
ippiimage.cpp Image processing function
ippiimage.h Image processing header
ippiimagestore.cpp Advanced Image processing function
ippiimagestore.h Advanced Image processing header
stdafx.cpp Source file that includes just the standard includes
stdafx.h Header file for standard system include files
eqrect.h Header file for clustering faces

Installation

Extract all files in w_ipp-sample-computer-vision_*.zip to a desired folder. Please make sure to preserve the directory structure. The files for the Face Detection  Sample will be found in the ipp_sample\computer-vision\ folder.
 

How to Build Source Code

Note, with default settings it will build sample with Intel C++ compiler, with HT Technology support . To change defaults see Makefile for brief description of the available variables and additional options.

Running the Software

In order to run each executable created by this sample, the Intel® IPP DLLs must be on the system's path. DLLs are located in bin subdirectory of the root directory of the Intel® IPP installation (IPPROOT). This can be done by setting the PATH environment variable manually or invoking the batch file: "%IPPROOT%\tools\env\ippenv.bat" from the Intel® IPP installation.  

Face detection demo uses input haar face models file haar.txt from ..\data directory.

All of the face detection demo parameters are optional. If any parameter is not set its value sets by default. Default values see below.

The full command line has a following view:

Face_Detection.exe -cascade=<fname> -input=<fname> -output=<fname> -log=<fname> -minwidth=<int> -maxwidth=<int> -scale=<float> -minneighbors=<int> -distance=<int> -ratio=<float>  -pruningType=<int> -pruningParam=<int>,

where (default):  
    -cascade=haar.txt             – file with Haar classifier cascade for frontal faces
    -input=test.bmp                – input 1- or 3-channel bmp file
    -output=result.bmp           – output 3-channel bmp file
    -log=result.txt                   – output text file containing face sizes and coordinates of face centers
    -minwidth=37                   – minimal width of face to be found
    -maxwidth=0                    – maximal width of face to be found, if 0 - the input image size
    -scale=1.12                      – multiplier value, faces of sizes minwidth, minwidth*scale, minwidth*scale*scale, … maxwidth are searched parameters of the clustering algorithm
    -minneighbors=2              – minimal cluster size (clusters with less elements are treated as noise)
    -distance=5                       – maximal distance in pixels between centers of two equivalent faces
    -ratio=1.3                          – maximal ratio of sizes of two equivalent faces

    -pruningType=3                – pruning type being used to speed up application performance
    -pruningParam=1             – pruning quality
 

Technical Support and Feedback

Your feedback on the Intel IPP samples is very important to us and your input will be considered for future releases. The Intel IPP sample code is intended only as an example of how to use the APIs to implement algorithms in different development environments. Please submit problems with installation, compiling, linking, runtime errors or incorrect output to Intel® Premier Support.

You can also share and discuss the experience of IPP sample usage with other developers at Intel Software Developer Forum.

Intel, the Intel logo, Intel SpeedStep, Intel NetBurst, Intel NetStructure, MMX, i386, i486, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2,Celeron, Intel Centrino, Intel Xeon, Intel XScale, Itanium, Pentium, Pentium II Xeon, Pentium III Xeon, Pentium M, and VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.
 
Copyright © 2002-2005 Intel Corporation.