Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

Object Detection Using Haar-like Features

The object detector described in [ Viola01] and [ Lein02] is based on Haar classifiers. Each classifier uses
k
rectangular areas (Haar features) to make decision if the region of the image looks like the predefined image or not. Figure
“Types of Haar Features”
shows different types of Haar features.
Types of Haar Features
In the Intel IPP Haar features are represented using
IppRect
structure. Figure
“Representing Haar Features”
shows how it can be done for common and tilted features.
Representing Haar Features
When the classifier
K
t
is applied to the pixel (
i
,
j
) of the image
A
, it yields the value
val1(t)
if
and
val2(t)
otherwise.
Here
w
l
is a feature weight,
norm(i, j)
is the norm factor (generally the standard deviation on the rectangle containing all features),
threshold(t)
,
val1(t)
and
val2(t)
are parameters of the classifier. For fast computation the integral representation of an image is used. Haar classifiers are organized in sequences called
stages
(
classification stages
). The stage value is the sum of its classifier values. During feature detecting stages are consequently applied to the region of the image until the stage value becomes less than the threshold value or all stages are passed.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804