integral image

advertisement
HCI Final Project
Robust Real Time Face Detection
Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International
Journal of Computer Vision, 2004.
組別: 二
組員: 黃世明
簡維達
陳湘宜
Goals
1.
Real Time Computation
2.
High Detection Rate
Face Detector
Input Image
Output Image
Why Do We Care About Speed?
• Robotics need a real-time face detector.
• Thousands upon thousands of images in the album
• Animal vision systems are both fast and accurate
• Security system
Abstract
• A fast face detection framework in color image combining a
skin color detector and Viola-Jones Detector (VJD)
• Skin segmentation:
– Normalized Color Coordinates (NCC) color space
• Morphology operations remove the noises
• Viola-Jones Detector (VJD) performs face detection only in
the segmented skin color regions
• We built the proposed system using OpenCV
• Results showed that the detection time of proposed algorithm
can yield an improvement of more than 50 percent, compared
with that of Viola-Jones Detector (VJD), while resulting in
lower false alarm rate.
The Viola-Jones Detector (VJD)
• Haar-like features
• Integral image: a fast way to compute simple “features”
• In Adaboost the weak learner is nothing but a feature selector.
The advantage is that if there are N weak learners there are
merely N features to compute.
• Cascaded combination of classifiers. Most of true negatives
are rejected very fast at the at the first few stages. Can keep
high detection rate and low false positive rate.
Haar-like Features
• Four basic types.
– They are easy to calculate.
– The white areas are subtracted from the black ones.
– A special representation of the sample called the integral image makes
feature extraction faster.
• Features are extracted from sub windows of an sample image.
– The base size for a sub window is 24 by 24 pixels.
• In a 24 pixel by 24 pixel sub window there are 180,000 possible features to
be calculated.
Integral images
• Summed area tables
• A representation that means any rectangle’s area can be calculated in four
indexes to the integral image.
Cascade classifier
• Selects a small number of critical visual features
• Combines a collection of weak classification functions to
form a strong classifier
• Stages in the cascade are constructed by training classifiers
using Adaboost
• Training this detector takes weeks but it is done once and
for all. Then, it processes 15 frames per second
Advantages using OpenCV Haar object
detection
•
•
•
•
Face detector already implemented
Its only argument is a xml file
Detection at any scale
Face detection at 15 frames per second for
384*288 pixel images
• 90% objects detected
• 10-6 false positive rate (FAR)
Skin segmentation
• Face-like regions  skin-like regions
• A simple, efficient, and rapid method
• Normalized Color Coordinates (NCC)
F1 (r)  1.376  r 2  1.0743  r  0.2
F2 (r )  0.776  r 2  0.5601  r  0.18
W (r, g)  (r  0.33)2  ( g  0.33)2
 1 if (g  F1 (r) & g  F2 (r) & W  0.001
Skin  
otherwise
0
r
R
RG B
g
G
RG B
Color
Image
Proposed scheme
•
•
•
•
Skin segmentation
Binarization
Morphology operation
VJD using OpenCV
Skin
Segmentation
NonSkin
Skin
Binarization
Erode & Dilate
Viola-Jones Detector
Non-faces
Faces
Figure 8: Proposed detection procedure.
Results and Discussions
• Two systems, VJD and the proposed face detection system, were
implemented using Visual C++ 6.0 with OpenCV on a Pentium(R) Core 2
Dual @ 2.00 GHz PC with 2.00 GB RAM.
• For conducting experiments, some materials shown in Table 1 and Table 2
were searched on Google Image Search Website, and some captured by a
digital camera were from our lab. The experimental images are in size of
from 400x464 pixels image for web display to 2186x2112 pixels image
captured by a digital camera. Totally there are 26 images.
• For face detection time evaluation, the proposed system and VJD
performed 1000 times repeatedly on every image. Finally, pick the
minimum detection time as the fast detection time for experimental
comparison.
• The proposed system improved detection time for color image, and not
only kept the robust property, but also decreased false alarm rate and false
rejection rate.
Conclusions
• The proposed system is faster than VJD in
color image.
• This research demonstrated that a skin color
detection unit as preprocessing can improve
the detection time of VJD in a color image.
This idea can be extended to other problems,
e.g. hand detection. If we know the color
conditions in that problem in advance, color
information is helpful and useful to improve
the detection time.
Download