A fast algorithm for tracking human faces based on

A fast algorithm for tracking human
faces based on chromatic histograms
Pattern Recognition Letters, 1999
Speak: M. Q. Jing
4/23/2001
國立交通大學 自動化資訊處理lab
Outline


Introduction
Chromatic histogram operations



Face tracking algorithm



Creation of a chromatic histogram
Backprojection of a chromatic histogram
Localization of a face region
Tracking the face in the sequences
Experimental results
Introduction

The solutions on motion

Motion Estimate (Haralick, Horn, Desilva)



Precise approximation of the motion
[DrawBack] heavy computation
Color histogram approach


Insensitive to rotation,scaling,deformation
Immune to the noises and cammera’s small
changing.
Chromatic histogram operations

Color Model: HSI Color Model
RGB  HSI
1
I  ( r  g  b)
3
3
S  1
[min( r , g , b)]
( r  g  b)
1


[(
r

g
)

(
r

b
)]

1 
2
H  cos 
2
1/ 2 
[(
r

g
)

(
r

b
)(
g

b
)]




Why do we use HSI

The chromaticity and intensity is separated


Reduce the effect of illumination
Reduce the dimension of histogram from 3 to
2

Speedup the process
Creation of a chromatic histogram

Each of the H and S axes are quantized
into 32 levels.
sample(x,y)=(R,G,B)-> map to (h,s)->Quantized->Histogram
Create the histogram

Create the face model to get the skin
color histogram
Backprojection
1.which bin
2.get value
of a chromatic histogram
Test
1
2
Model
Backprojection
of a chromatic histogram
Algorithm:
Step 1: bx,y=M h(Cxy) ,
Step 2: Convolving bx,y with a blurring mask
Where h(Cxy)= the bin corresponding to Cxy,
M I= the histogram of the Model with ith bin.
More example
Face tracking algorithm

How to find a face in the initial frame

Face region lies within a color range
Face region
Historgram for
each region
Face tracking algorithm

Compute an average of the face
historgrams
Face model histogram F (100 faces histogram)
Face tracking algorithm
Steps
1
3
1. Backproject
2. Binarized & CC
3. Search a ellipse
Finding an Ellipse

An Ellipse which best fits the connected
component is computed.
i j
monent : m ij   x y f ( x, y )
( x , y )CC
center (x, y) : x  m10 / m00 , y  m01 / m00
orientatio n   arctan[(2 1,1 ) /(  2, 0   0, 2 )] / 2
 i, j  central moment 
 (x - x) ( y  y )
i
(x, y)CC
j
Least-Squares Curve Fitting

Length of major (a) and minor (b) axis:
1/ 8
3

 
2
   [( x  x ) sin   ( y  y ) cos  ]  
 ( x , y )CC
 
a  ( 4 /  )1/ 4  

2
[(
x

x
)
cos


(
y

y
)
sin

]



( x , y )CC






   [( x  x ) cos   ( y  y ) sin  ]2 
 ( x , y )CC

b  ( 4 /  )1/ 4  
2
[(
x

x
)
sin


(
y

y
)
cos

]


 ( x , y )CC

Proof: computer and robot vision I, page 623
3
1/ 8







Finding an Ellipse

The golden ratio of ellipse is picked up.
Golden ratio for a ideal face  (1  5 / 2)
(Farkas, 1987)
Tracking the face region

Step 1: a new face model
from the detected face.
why

histogram F is constructed
More precise face model, because tracking the
same face.

Step 2: Backprojected

Step 3: An elliptical mask is used for searching
why

onto the next frame.
No ellipse finding,saving the computation cost
Tracking the face region


Step 4: compute the sum of the values
of all pixels within the elliptical mask.
Step 5: return maximum response
location
Tracking the face region

Prevent the searching cost for
(left->right) & ( top -> down)

Using motion information :
 (Xi+1,Yi+1)=(2Xi - Xi-1 , 2Yi - Yi-1)
(Xi+1,Yi+1)
Xi-1 ,Yi-1
Xi,Yi
Experements


UperSPARC RISC with 60MHz, 64 MB
Real-time processing


7 frames/sec (160x120)
3.5 frames/sec (240x180)
Face tracking (small face)
Face tracking (large face)
error
Face tracking results using skip factor 5
change
error
change
error
Conclusion


A histogram backprojection only needs
a simple replacement operation
Insensitive to small deformation and
occlusion


Because we use color information
Two feature are used

Face shape & chromatic
Conclusion

It cannot handle non-forward faces


Because we use a ellipse model to find a
face.
Zoom-in and Zoom-out

We fixed the ellipse size due to reducing
the computing cost.
Analysis


因為Tracking algorithm在第一張人臉抓
取後,即update face model histogram,
=> 所以第一張的人臉一定要抓的準確,
否則將造成一系列的錯誤
Face color histogram 是假設大家的膚色
類似,但是若是testing 有黑人,白人,則會
造成histogram 分佈加大,使得
backprojected 圖形更難處理.