Face Processing System Presented by: Harvest Jang Group meeting Fall 2002 Outline Introduction System Architecture Pre-processing Face detection Face tracking Problems Future work Introduction An automatic system is needed to provide more human-computer interactive services to improve the life style Security System Interactive application/game Robot visualization This is a challenging task for integrating different techniques face detection face tracking face recognition System Architecture Three main components Pre-processing Face detection Face tracking Fig 1: System architecture Pre-processing Transform to YCrCb color space 2. Use ellipse color model to locate the fresh color 1. Fig 2: 2D projection in the CrCb subspace (gray dots represent skin color samples and black dots represent non-skin tone color) Pre-processing Perform morphological operation to reduce noise 4. Skin segmentation to find face candidates 3. Fig 3: Pre-processing step (a) binary skin mask, (b) original images (c) binary skin mask after morphological operation and (d) Face candidates Comparison on three face detection approach Motivation for the comparison Using different infrastructure systems for detecting faces in a large image Only shows one result pair of detection rate and false alarm rate Using experimental result to compare Sparse Network of Winnows (SNoW) Support Vector Machines (SVM) Neural Network Comparison on three face detection approach Sparse Network of Winnows (SNoW) Primitive features architecture 256 ( y w x) I ( x, y ) Winnow update rule learner’s prediction correct response update action update name 1 0 wi: wi/ if xi1 wi unchanged if xi0 demotion step 0 1 wi: wi if xi1 wi unchanged if xi0 >1 fixed parameter promotion step Table 1: Winnow update rule Comparison on three face detection approach Support Vector Machines (SVM) Find a hyperplane that leaves the maximum margin between two classes which will have the smallest generalization error The margin is defined as the sum of the distances of the hyperplane from the closest point of the two classes Neural Network Back-propagation method x1 x2 w1 w2 xn wn x0 = 1 w0 i 0 n 1 if wi xi 0 o x 1 , x 2 , x n i 0 - 1 otherwise n w Fig 4: SVM i xi 1 if w x 0 Vector notation : o x sgn x, w - 1 otherwise Fig 5: Neural Network Comparison on three face detection approaches CBCL face database from MIT Training set (2429 face pattern, 4548 non-face pattern with 19x19 pixel) Testing set (472 face pattern, 23573 non-face pattern with 19x19 pixel) To better represent the detectability of each model, ROC curve is used to replace single point of criterion response Comparison on three face detection approaches Similar signal for SNoW Neural Network SVM model with linear kernel SVM model with polynomial kernel much stronger signal the classification between face and nonface patterns is much better Fig: 6: ROC curves of different face detection method Comparison on three face detection approaches In our system, success to detect face is more important than processing more windows Face tracking method to help for tracking the detected face SVM model with polynomial kernel of second degree is chosen. (in sec) NN SNoW SVM with linear SVM with polynomial Mean 35.57 63.60 65.22 61.13 S.T.D. 0.029 1.378 0.306 0.410 Table 2: The average processing time of each model for testing 24045 images ten times Face detection To detect different size of faces, the region is resized to various scales A 19x19 search window is searching around the resized regions Histogram equalization is performed to the search window After the first presence of a face at the larger scale, face recognition using SVM classifier will be performed to retrieve the information of that person. Face detection - Example Transform to various scale Histogram equalization Apply a 19x19 search window Face tracking Why using face tracking Face detection method has missing rate and false alarm rate The missing rate and false alarm rate for losing an object will be reduced The performance speed is much better than face detection method Conditional Density Propagation – Condensation algorithm Sampling-based tracking method Face tracking The posterior probability density at timestep t p ( xt | Z t ) using a set of N random samples, denoted as {S t( n ) , n 1,, N } with weights t(n ) There are three phases to compute the density iteratively at each time step t for the set of random samples to track the movement Face tracking Selection phase: (n ) S The element with high weights in the set t has a higher probability to be chosen to the predictive steps Predictive phase: (n) The sample set S t 1 for the new time-step is generated by independent Brownian motion (n) The weights t 1 are approximately from the effective prior density p( xt 1 | Z t ) for time-step t+1 p( xt 1 | Z t ) p ( xt 1 | xt , t ) p ( xt | Z t )dxt Face tracking Measurement (Update) phase Given in terms of likelihood p( zt 1 | xt 1 ) The model is expressed as a histogram for face color HUE (HSV color space) Calculate the measurement p( xt 1 | Z t 1 ) ct 1 p( zt 1 | xt 1 ) p( xt 1 | Z t ) where ct 1 is a normalization factor Face tracking Fig 7: One time step in the Condensation algorithm Face tracking The color input image is being masked by the binary skin mask reduce the localization period converge less sensitive from the background noise converge to the face boundary much faster. Problems The face detection rate is still low The condensation algorithm doesn’t provide verification for the tracking object Two adjacent object with similar color will cause problem Future work Improve the accuracy of face detection Implement the face tracking verification step using face recognition Thank you!