Global fitting of a facial model to facial features for model based video coding

Similar documents
Landmark Detection on 3D Face Scans by Facial Model Registration

Recognition of Non-symmetric Faces Using Principal Component Analysis

Haresh D. Chande #, Zankhana H. Shah *

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

Face Detection Using Color Based Segmentation and Morphological Processing A Case Study

Face Detection and Recognition in an Image Sequence using Eigenedginess

Region Segmentation for Facial Image Compression

Face Recognition using Eigenfaces SMAI Course Project

Statistical Approach to a Color-based Face Detection Algorithm

Principal Component Analysis and Neural Network Based Face Recognition

Face detection and recognition. Many slides adapted from K. Grauman and D. Lowe

A Study on Similarity Computations in Template Matching Technique for Identity Verification

Better than best: matching score based face registration

Feature Detection and Tracking with Constrained Local Models

Genetic Model Optimization for Hausdorff Distance-Based Face Localization

Face Recognition for Different Facial Expressions Using Principal Component analysis

An Automatic Face Identification System Using Flexible Appearance Models

IRIS SEGMENTATION OF NON-IDEAL IMAGES

Image-Based Face Recognition using Global Features

Face Detection for Skintone Images Using Wavelet and Texture Features

Illumination invariant face recognition and impostor rejection using different MINACE filter algorithms

AAM Based Facial Feature Tracking with Kinect

Color-based Face Detection using Combination of Modified Local Binary Patterns and embedded Hidden Markov Models

Image Based Feature Extraction Technique For Multiple Face Detection and Recognition in Color Images

Subject-Oriented Image Classification based on Face Detection and Recognition

Machine Learning for Signal Processing Detecting faces (& other objects) in images

Dynamic skin detection in color images for sign language recognition

Criminal Identification System Using Face Detection and Recognition

Selection of Location, Frequency and Orientation Parameters of 2D Gabor Wavelets for Face Recognition

Face Detection System Based on Feature-Based Chrominance Colour Information

Face Recognition System Using PCA

An Integration of Face detection and Tracking for Video As Well As Images

Threshold Based Face Detection

Face Detection on Similar Color Photographs

Skin colour based face detection

LOCAL APPEARANCE BASED FACE RECOGNITION USING DISCRETE COSINE TRANSFORM

A face recognition system based on local feature analysis

A Survey of Various Face Detection Methods

2013, IJARCSSE All Rights Reserved Page 718

On Modeling Variations for Face Authentication

Face Detection. Gary Chern, Paul Gurney, and Jared Starman

Multi-Pose Face Recognition And Tracking System

Applications Video Surveillance (On-line or off-line)

Hybrid Biometric Person Authentication Using Face and Voice Features

EE368 Project: Visual Code Marker Detection

Learning a Manifold as an Atlas Supplementary Material

Expression Detection in Video. Abstract Expression detection is useful as a non-invasive method of lie detection and

Tutorial 8. Jun Xu, Teaching Asistant March 30, COMP4134 Biometrics Authentication

Road-Sign Detection and Recognition Based on Support Vector Machines. Maldonado-Bascon et al. et al. Presented by Dara Nyknahad ECG 789

Mingle Face Detection using Adaptive Thresholding and Hybrid Median Filter

HUMAN FACE AND FACIAL FEATURE TRACKING BY USING GEOMETRIC AND TEXTURE MODELS

Mobile Face Recognization

Principal Component Analysis (PCA) is a most practicable. statistical technique. Its application plays a major role in many

Face Detection on OpenCV using Raspberry Pi

[Gaikwad *, 5(11): November 2018] ISSN DOI /zenodo Impact Factor

Face Detection by Means of Skin Detection

Mouse Pointer Tracking with Eyes

Face detection and recognition. Detection Recognition Sally

A REAL-TIME FACIAL FEATURE BASED HEAD TRACKER

MULTI-VIEW FACE DETECTION AND POSE ESTIMATION EMPLOYING EDGE-BASED FEATURE VECTORS

Digital Vision Face recognition

Face detection, validation and tracking. Océane Esposito, Grazina Laurinaviciute, Alexandre Majetniak

Component-based Face Recognition with 3D Morphable Models

A Two-stage Scheme for Dynamic Hand Gesture Recognition

Journal of Industrial Engineering Research

Categorization by Learning and Combining Object Parts

Probabilistic Facial Feature Extraction Using Joint Distribution of Location and Texture Information

ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall Midterm Examination

Stereo Image Rectification for Simple Panoramic Image Generation

Recognition, SVD, and PCA

CHAPTER 3 PRINCIPAL COMPONENT ANALYSIS AND FISHER LINEAR DISCRIMINANT ANALYSIS

ARE you? CS229 Final Project. Jim Hefner & Roddy Lindsay

Part 3: Image Processing

Facial Feature Extraction Based On FPD and GLCM Algorithms

Eye detection, face detection, face recognition, line edge map, primary line segment Hausdorff distance.

EDGE BASED REGION GROWING

Detection of Facial Landmarks of North Eastern Indian People

Digital Makeup Face Generation

The Detection of Faces in Color Images: EE368 Project Report

Advanced Image Processing, TNM034 Optical Music Recognition

Local Binary LDA for Face Recognition

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

Biometrics Technology: Multi-modal (Part 2)

Age Invariant Face Recognition Aman Jain & Nikhil Rasiwasia Under the Guidance of Prof R M K Sinha EE372 - Computer Vision and Document Processing

Human Detection. A state-of-the-art survey. Mohammad Dorgham. University of Hamburg

HUMAN TRACKING SYSTEM

Recognition of Unconstrained Malayalam Handwritten Numeral

A Person Identification Method Using a Top-view Head Image from an Overhead Camera

ELEC Dr Reji Mathew Electrical Engineering UNSW

Semi-Supervised PCA-based Face Recognition Using Self-Training

Human Face Recognition Using Image Processing PCA and Neural Network

Face Recognition using Tensor Analysis. Prahlad R. Enuganti

Segmentation of a Head into Face, Ears, Neck and Hair for Knowledge Based Analysis Synthesis Coding of Videophone Sequences

Detecting Faces in Images. Detecting Faces in Images. Finding faces in an image. Finding faces in an image. Finding faces in an image

Angle Based Facial Expression Recognition

Face Recognition for Mobile Devices

Disguised Face Identification Based Gabor Feature and SVM Classifier

FACE DETECTION BY HAAR CASCADE CLASSIFIER WITH SIMPLE AND COMPLEX BACKGROUNDS IMAGES USING OPENCV IMPLEMENTATION

An algorithm of lips secondary positioning and feature extraction based on YCbCr color space SHEN Xian-geng 1, WU Wei 2

Connected Component Analysis and Change Detection for Images

Transcription:

Global fitting of a facial model to facial features for model based video coding P M Hillman J M Hannah P M Grant University of Edinburgh School of Engineering and Electronics Sanderson Building, King s Buildings, Mayfield Road, Edinburgh EH9 3JL, UK John.Hannah@ed.ac.uk Abstract Finding faces, locating important facial features and model fitting are required in a range of applications including model based video coding. In this paper we present a technique for locating important facial features in head and shoulders colour images. A fast and effective method of detecting skin, while excluding eyes, using PCA transformed CIE-Lab colour space, is described. Candidate eye regions are then processed using region growing and eigenimages using the distance from feature space approach. False matches are eliminated using facial geometry constraints. Nose and mouth features are also located using eigen images in search regions derived from the eye positions. Further facial characteristics are identified and automated fitting of a global head model is achieved using a genetic algorithm based approach. Results from applying our technique to a large database of facial images (XM2VTS) are presented. 1 Introduction Detecting faces and locating their important facial features is a well researched field [1]. Our principal interest is to locate a face in a head and shoulders video sequence and subsequently fit a face model for use in a model based or hybrid video coder. In our application, largely frontal views of a single face are likely to be most common but idealised pose cannot be assumed. 2 Our Approach Our approach to model fitting is outlined in Fig. 1. We use important facial features (eyes, mouth, nose and jaw position) to approximately fit the model to the face. The first step is an analysis of the colour input image to produce a segmentation into probable skin regions based on pixel colour alone. This will produce a mask which has holes which correspond to most facial features, such as nostrils, eyes and eyebrows. These holes are all treated as eye region candidates. The next step is to analyse the skin segmentation to find these candidate regions using a modified max-tree algorithm. Principal Components Analysis is then used to search the candidate eye regions for eye matches. The final step performs geometrical analysis to find the best match for the eye positions based on the results of the PCA template matching and subject to geometrical constraints. Given the position of the eyes, the area likely to contain the nose and mouth is now searched using PCA template matching, again subject to geometrical constraints. The position of the mouth can be used to estimate the approximate position of the jaw. A Genetic Algorithm is then applied to find the optimal transform of the model in order to fit to the located facial features. 2.1 Skin colour segmentation Many approaches to detecting skin in colour images have been proposed [1], including thresholding in colour spaces such as normalised RGB or HSI or using Gaussian Mixture Models (GMMs). For example, Mensur and Müller [2] use a GMM to produce a skin tone probability map. Park et al [3] threshold the GMM probability to produce a crisp segmentation. Lee and Yoo [4] use an elliptical boundary as a threshold for segmentation. However, our experiments suggest that these techniques often classify eyes as being skin and can be computationally intensive. Our skin detector classifies pixels as being skin coloured if they lie within a bounding box in CIE-Lab colour space. We selected CIE-Lab space, after testing a number of alternative colour spaces (including normalised ones), as it achieved the best results. The limits of the bounding box were derived automatically by taking facial skin samples from a training set of 70 images with varied skin tones and lighting conditions. These images were taken from a wide range of sources. The distribution of the pixels sampled from these images is shown in Fig. 2. This distribution can be seen to be skewed with respect to the axes, thus the conventional rectangular bounding box does not fit the distribution well. Principal Components Analysis was therefore used to derive a new linear space, by finding the required transformation matrix. For our training set this was found to be: (1)

Colour face image b - ordinate Skin detection 60 50 40 30 Candidate Eye Regions 20 10 0 PCA template finding 40 50 60 L - ordinate 70 80 90 100-5 0 5 30 25 20 15 10 a - ordinate Geometrical analysis Figure 2. Skin points in CIE-Lab space sampled from 70 varied images Co ordinates of eyes PCA template finding Geometrical analysis Co ordinates of mouth and nose Jaw position estimation Genetic fitting algorithm fitted face model Figure 1. Overview of our system The limits of the training set in this transformed space are used as the bounding box for thresholding. The colour input image is segmented as follows: Each pixel is processed in turn, converted into CIE-Lab space, and then into PCA space to find. If the pixel falls within the limits, it is marked as skin (black), otherwise as non-skin (white). For our training set: 2.2 Candidate image finding The output of the skin detector is a binary skin image which is black where there is skin and white in all other places. The eyes as well as other features will appear as white holes within the black mask of the face. This image (2) (3) is now processed using region growing to produce a region image. All pixels in this region image are initially unset. Regions are grown from seed pixels iteratively. Initially, the top left pixel is used a seed. In subsequent passes, the region image is scanned for the first unset pixel. A region is grown from each seed, by adding all pixels in the skin image which are the same classification as the seed, and neighbour either the seed or a previously included pixel. Once all pixels in the region image have been assigned, the regions are resorted in order of size. Regions which may correspond to eyes are then found using a modified max tree approach, similar to that presented by Salembier et al [5]. A max tree is built using this region image and small regions are merged into their parent nodes to remove noise. Eye candidate regions are those which are children of the largest region of skin in the skin image, as this region is assumed to contain the face. All pixels belonging to such regions are output in an eye candidate image. Pixels in this image are either zero (indicating that the pixel is not an eye candidate) or else are assigned a value equal to their corresponding region number. 2.3 PCA eye template matching Candidate eye regions are examined for eye like images using Turk and Pentland s Distance From Feature Space approach [6]. The reference set was derived from 600 left and 600 right eye images, of size 60 30 pixels, extracted from the XM2VTS Database [7]. A separate mean eye and PCA transform is derived for each eye. Only the first 25 eigenimages are used to build the PCA space. The eye candidate image derived from the unknown input image is scanned for non zero pixels. For each pixel, a score for each eye is derived by subtracting the mean eye from the block centred around the pixel. The resultant image is transformed into PCA space and the absolute magnitude of the resultant vector is taken. The smaller this number, the more similar the area around pixel is to an eye.

Perpendicular bisector Right eye match Left eye match c (a) mean left eye image (b) mean right eye image Search area (c) left first eigenimage (d) right first eigenimage Figure 3. Mean and first eigenimages of eyes Figure 4. Area searched for nose and mouth position The PCA stage outputs for each eye the position of the best match and the corresponding value of for each region in the eye candidate image. 2.4 Geometrical Analysis The position of the left and right eyes could be taken to be the position for which the best PCA template match is achieved in each case. However, the probability of a false match, especially if there is significant orientation or scale difference with respect to the mean eye, is too high. Facial geometry information is therefore used to discard impossible eye pairs. The output lists from the template matching step are scanned and each left eye/right eye pair is examined in turn. Any pair which fails the following geometrical constraints is rejected: The magnitude of the angle of the line joining the left and right eyes must be less than. The distance between the regions must be between 10 and 20% of the image width. Both eyes must lie within the central 50% of the image The unrejected pair with the smallest combined taken as the position of the eyes. 3 Mouth and Nose template matching 3.1 Search area To speed up the template matching for the nose and mouth, only a small area area of the image is searched. The nose and mouth are assumed to lie near the perpendicular bisector of the line between the eye matches, as shown in Fig. 4. This assumption is only broken if the head is looking too far to the left or right. The region is wide and high, where is the width between the eyes. These factors were found by analysing the eye, nose and mouth positions in 80 images from the XM2VTSDB database. is 3.2 PCA template searching The search area is searched for nose and mouth matches in the same way as the eye candidate regions. Mean nose and mouth images were generated from 127 images, and 25 vector eigenspaces calculated. The output from this stage is a list of the position and match score ( ) of the best nose and mouth fit for each horizontal row of the search area. 3.3 Geometrical constraints As for the eyes, geometrical constraints are used to eliminate false matches. Let and be the distances between the eyes (marked in Fig. 4) and the position of the mouth and nose fits respectively. If the ratio is in the range the geometrical constraint is satisfied. All matches output by the PCA template searching that satisfy the constraint are scanned, and the pair with the lowest combined score is taken to be the position of the mouth and nose. 4 Jaw finding The final information required by the model fitting stage of our process is some indication of the width of the head. We have chosen to use the position of the jaws. The position of the jaw is taken as the position of the non-face pixels nearest to the mouth on each side of the face which lie on a line which is parallel to the axis of the eyes and passes through the mouth. 5 Model fitting We have used Candide-3 as our face model [8]. The model is fitted by finding model parameters that minimise the difference between the located feature points and the position of the corresponding points in the facial model. The following parameters are used:

Global scale rotation about x-axis rotation about y-axis rotation about z-axis displacement on x-axis displacement on y-axis eye separation distance (shape unit 5) nose vertical position (shape unit 8) (a) Input Image mouth vertical position (shape unit 10) Our automatic fitting also requires estimation of the position of the top of the head or the chin, which will allow the optimisation of the head height (shape unit 0). Currently this parameter is estimated and entered manually. Optimisation of these parameters is achieved with a Genetic Algorithm. The 8 parameters are encoded into a chromosome. Random mutation and crossover are employed to find a set of parameters which minimise the summed error between the position of each feature in the model when orthogonally projected onto the image, and the located position of the feature. Since not all features match perfectly, a weighting system is employed. For example, the horizontal position of the mouth is often less accurate, so the x coordinate is weighted less heavily than the more accurate y co-ordinate. The eyes are also weighted more heavily than the nose, as these are normally a more reliable match. (b) Skin detector 6 Results We have mainly tested our system on the XM2VTS database [7]. This is a database of head and shoulder colour images (720 576) of 295 subjects, containing several images of each, taken over a period of time. The range of subjects and their characteristics (89% white, 46% female, 35% with glasses, 13% with facial hair) provides a realistic test. (c) Eye candidates 6.1 Eye matching Fig. 5 shows the results for one of the test images used (Fig. 5(a)). Fig. 5(b) shows the output of the skin detector. Some parts of the hair have also been identified as skin, but most of the eyes have been detected as non-skin. Fig. 5(c) shows the eye candidate regions. Three pairs of matches passed the geometry test; the one with the lowest combined template match is marked in Fig. 5(d). The eye-finding system was tested on 1080 images from the database. None of the images used to form the PCA eye space or the mean eye template were used in testing. Also, the original colour training space for skin detection was not derived from this database. The testing set did include different images of some of the same subjects that were used (d) Best match for eyes Figure 5. Results for image 001 4 2 of the XM2VTS Database

in eigenimage template building but we do not believe that this significantly affects the results. Overall, there were 952 correct matches (mean error in this case was less than 10% of eye width), giving a success rate of 88%. There were 1009 matches to the eye region, giving a success rate of 94%. Most of the failures occurred where there were severe reflections in glasses, where the subject was looking away from the camera, or where hair was occluding the eyes. Skin colour and the presence of facial hair did not significantly affect performance. Since the XM2VTS database contains images with uniform backgrounds, the system was also tested on a variety of other images, with a success rate similar to that of the XM2VTS database. Only images which had extensive areas of skin-tones in the background, or which had very poor illumination, proved challenging. In order to test the scale sensitivity of the system, it was tested with scaled versions of the database. A variation in scale of up to 25% was found to have very little effect on the overall performance, which is more than sufficient for our intended application. (a) Image 229 1 1 6.2 Nose and mouth matching Fig. 6 shows a collection of matches to mouth and nose. We tested the performance of nose and mouth matching on 114 subjects which were not used in the formation of the nose and mouth mean images. The eye region was not correctly located in 5 of these images. Of the remaining 109 images, the nose was correctly located in every case, and both nose and mouth were located in 94% of the images. The seven failures were on subjects who had beards or moustaches. Employing an elliptical template allowed the correct location of five of the seven subjects, but decreased overall performance to 83%. In many cases the mouth fit is not in the centre of the mouth area, but this rarely affects the model fitting step. Fig. 6(b) shows a case where the mouth and nose are fitted well, even though an eyebrow has been matched instead of an eye. (b) Image 233 1 1 (c) Image 244 1 1 6.3 Model fitting Fig. 7 shows examples of results of automated model fitting. In most cases, the automatic model fit is reasonably close to a manual fit. Occasionally the mouth or nose fit is too far displaced to one side, causing the model to rotate significantly. The presence of hair or large ears can cause the jaw finding to fail, resulting in the head size of the model being too large. 7 Conclusions and future work This paper has presented a new system for automated fitting of models to facial images. Our CIE-Lab/PCA skin detector is capable of distinguishing between skin and eyes under normal lighting conditions and the template based (d) Image 248 1 1 Figure 6. Results of feature location on images in the XM2VTS database

feature finder is successful at locating the eyes, noses and mouths in most images in order to achieve model based coding. Future work will involve techniques for location of the head and chin to allow automatic finding of the head height. The location of further feature points (such as the corners of the eyes and the mouth) would allow more shape units to be fitted. An analysis by synthesis approach could then be used to fit the model more accurately to the face and to track it in subsequent frames. (a) Image 000 1 1 8 Acknowledgements This work is supported by EPSRC under grant number GR / M 57255. This research acknowledges the use of the Extended Multimodal Face Database and associated documentation [7]. References (b) Image 013 1 1 [1] Ming-Hsuan Yan, David J. Kreigman, and Narenda Ahuja, Detecting faces in images: A survey, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 1, pp. 34 58, 2002. [2] B. Menser and M. Müller, Face detection in color images using principal components analysis, in Proc. Image Processing and its Applications, 1999, pp. 620 624. [3] Jeonghee Park, Jungwon Seo, Dongun An, and Seongjong Chung, Detection of human faces using skin colour and eyes, in IEEE International Conference on Multimedia and Expo, 2000, pp. 133 136. (c) Image 023 1 1 [4] Jae Y Lee and Suk I. Yoo, An elliptical boundary model for skin color detection, in International Conference on Imaging, Science, Systems and Technology, 2002. [5] Philippe Salembier, Albert Oliveras, and Luis Garrido, Anti-extensive connected operators for image and sequence processing, IEEE Transactions on Image Processing, vol. 7, pp. 555 70, April 1998. [6] Matthew Turk and Alex Pentland, Eigenfaces for recognition, Journal of Cognitive Neuroscience, vol. 3, no. 1, pp. 71 86, 1991. (d) Image 025 1 1 Figure 7. Results of model fitting on images in the XM2VTS database [7] K. Messer, J. Matas, J. Kittler, and K. Jonsson, XM2VTSDB: The Extended M2VTS Database, in Audio- and Video-based Biometric Person Authentication, AVBPA 99, 1999, pp. 72 77. [8] J. Ahlberg, Candide-3 an updated parameterized face, Tech. Rep. LiTH-ISY-R-2326, Dept of Elect Engineering, Linköping University, Sweden, 2001.