CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application is a continuation of pending International patent application PCT/AU2006/001824 filed on Nov. 30, 2006 which designates the United States and claims priority from Australian patent application 2005906710 filed on Nov. 30, 2005, the content of which is incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates to the field of face tracking and, in particular, discloses a system of utilizing eye glass information in face tracking to produce enhanced results. 
       BACKGROUND OF THE INVENTION 
       [0003]    As the complexity of technical systems increases, the interaction of operators with these systems increasingly comes into focus. One important aspect is the measurement of facial parameters such as the head pose, the eye gaze direction, eyelid closure and facial expressions. Improvements in computer vision and the availability of cheap computing power allow for consumer grade systems to measure these facial parameters. 
         [0004]    An example eye gaze detection system is that proposed in Patent Cooperation Treaty Application Number PCT/AUO1/00249 entitled “Facial Image Processing System” and PCT/AU2004/000413 entitled “Eye tracking system and method” assigned to the assignee of the present application the content of which are hereby incorporated by cross reference. 
         [0005]    Typically, in such facial parameter measurement systems, an image sensor is utilised, focused on the operator and deriving the required information from the image sequence in real time. The ability to measure these facial parameters has numerous applications, with many new applications continuously being created. 
         [0006]    In some areas such as human-machine interface (HMI) design, it is highly desirable to measure the interaction of operators with the system in order to optimise the design of the system itself. One example is the design of car cockpits and auxiliary devices such as navigation systems. Here it is of utmost importance that the increasing amount of information provided to the driver by the systems does not distract the driver from the primary tracking task. Developers often measure how often and for how long users glance at the control panels in order to obtain a certain piece of information or perform a certain task. This data is then used to optimise the layout of the HMI. 
         [0007]    In other systems, the measurement of the facial parameters of the user can be part of the operation of the system itself. For example, in automotive driver assistance systems that derive fatigue and distraction information from facial parameters. Other domains where fatigue is of interest include the operation of technical systems such as flight controllers, military mission control, plant control, heavy equipment control in mining or oil exploration and in other modes of transport such as marine and aviation. 
         [0008]    Head and gaze tracking systems are also employed today as personal computer input devices for disabled people. As interfaces to personal computers evolve, head and gaze tracking may become as ubiquitous as computer keyboards and mice. Already systems are available that let users control the face of computer avatars in computer games and chat rooms using a head and eye tracking system. 
         [0009]    Head and face tracking also has strong applications in biometric face recognition systems. The localisation and identification of a camera view suitable for recognition are basic capabilities of face recognition systems and are particularly important when the person to be recognised is not cooperating with the system as is the case in typical “face in the crowd” applications. 
         [0010]    Systems for accurate face tracking often face particular difficulties where the user is wearing glasses and can fail to operate properly. 
       SUMMARY OF THE INVENTION 
       [0011]    It is an object of the present invention to provide an improved form of face tracking in the presence of glasses or the like. 
         [0012]    In accordance with a first aspect of the present invention, there is provided in a face tracking system, a method of tracking facial features, the method including the step of: (a) determining if glass rims, frames or arms form part of the face being tracked; and (b) where the rims, frames or arms form part of the structure, utilizing the rims, frames or arms to track facial features. 
         [0013]    The method utilizes the appearance of the frames, rim or arms of the glasses to track a 2D image position or. 3D pose of the glasses frame or the head/face. Preferably, the method utilizes the 2D image position or 3D pose measurements derived from the appearance of frames, rim or arms of the glasses to track the 2D image position or 3D pose of other facial features or the head as a whole. The 2D image position or 3D pose of the glasses are preferably utilized to remove, exclude or weight the image regions covered by the frame, rim, arms or lenses of the glasses for further processing of the facial image. The edges in the image generated by the rim or frame of the glasses or the arms of the frame are preferably used to track the position of the 2D image position or 3D pose of the glasses. A 2D or 3D shape model of the rim or frame of the glasses can be utilized to track the 2D image position or 3D pose of the glasses. 
         [0014]    In accordance with a further aspect of the present invention, there is provided a face or facial feature tracking system wherein the appearance of frames, rims or arms of glasses are used as part of a face or facial feature tracking system. 
         [0015]    In accordance with a further aspect of the present invention, there is provided a face or facial feature tracking system which utilizes the appearance of the frames, rim or arms of the glasses to track the 2D image position or 3D pose of the glasses frame or the head/face. 
         [0016]    In accordance with a further aspect of the present invention, there is provided a method of facial image processing including: (a) tracking the 2D image position or 3D pose of the glasses to remove, exclude or weight the image regions covered by the frame, rim, arms or lenses of the glasses for further processing of the facial image. 
         [0017]    In accordance with a further aspect of the present invention, there is provided a method of tracking a glasses frame on a face in a current input image sequence, the method comprising the steps of: utilising a training database of images to derive first example structural information of glasses on a subject; utilising principle component analysis of said first example structural information to derive a generative model of the structural information, said generative model including a series of parameter values; and for the current input image sequence, deriving an initial set of parameter values and a corresponding initial model generated thereby, comparing the initial model with the current input image to derive a difference measure thereof, and altering the parameter values so as to minimise the difference measure. 
         [0018]    In one embodiment, the first example structural information includes 3-Dimensional contour information of the glasses. The structural information can include a series of control points for said contour information and the principle component analysis can be done on said control points. The comparison can be done between a projection of the initial model on a 2-dimensional space and a edge detection filtered version of the input image. The minimisation can be done utilising the Levenberg-Marquardt minimisation method. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]    Preferred forms of the present invention will now be described with reference to the accompanying drawings in which: 
           [0020]      FIG. 1  illustrates the steps of the method of the preferred embodiment; and 
           [0021]      FIG. 2  illustrates an environment for the operation of the preferred-embodiment. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0022]    Systems of visual face and facial feature tracking typically identify a number of features in the face, such as eyes, eye corners, the mouth or nostrils and track these or other facial features in order to identify the location of the head, the eyes or the eyelids. 
         [0023]    The frames of eye glasses typically pose a problem to these systems, as the appearance of glasses differs to other facial features. While the natural features of the face are roughly planar and can be modeled by their local appearance in the vicinity of the central point of the feature, the frames of glasses are generated by a relatively thin rim which is located anywhere between a couple of millimeters to 2 centimeters in front of the face. As the face rotates, the part of the face seen directly behind a point on the frames of the glasses changes, and in the highly structured eye area, the local appearance of features on or around the frame changes considerably. Features close to the frame can become partially occluded by the rim of the frame, rendering them difficult to identify and track. Also, due to the reflectivity of the frames, highlights on the frame itself make tracking of points on the frame difficult. 
         [0024]    In the preferred embodiment, the image features that the rim of the glasses generate are utilized to support the facial tracking rather than interfering with it. This is achieved by modeling the appearance of the glasses. This offers two major advantages: Firstly, by tracking the location of the glasses, the tracking of the location of other facial features can be augmented, and secondly by localizing the image locations where the rim of the glasses are present these locations can be discounted for the extraction of information of features behind the rim, foremost features of the eye itself such as iris and pupil locations, reflections on the surface of the eye or the retina, and the coverage of the eyelid over the eye. 
         [0025]    By “pose” in the following we refer to a 3D Euclidean transformation. 
         [0026]    The steps of the preferred embodiment can be implemented on a suitably programmed computer and are illustrated in  FIG. 1 . 
         [0027]    The preferred embodiment can proceed by using development of a generative model. In this model, a training set of examples is initially provided  1 . The training set can consist of numerous examples of users using different types of glasses frames. For each model, a 3-D contour map of actual glasses can be extracted  2  and includes the rims and the arms of the glasses. 
         [0028]    Assuming that the camera projection model is known, the complete model of the appearance of glasses in a frame of video is then given by the parameters of the generative shape model and the pose of the glasses. 
         [0029]    A generative model can be created  3  using principal component analysis (PCA). The contour of each glasses frame in the training database is discretised into N 3D control points g p =(x p ,y p ,z p ),p=1 . . . N. PCA is applied to the discretised collection of frame contours in the database. In accordance with the PCA process, the first K eigenvectors are selected to form a lower dimensional parametric model representing the shape of glasses frames. N and K can be selected by a trial and error process to optimise tracking performance. In one example, N=40 and K=16. The mean shape is represented by g m , and the selected eigenvectors, g e , comprise the main modes of variation. 
         [0030]    Also derived from the training set are the standard deviations δ e  for each Eigenvector to model the shapes in the training set. These standard deviations are used to limit the variation scale parameters λ e  to three standard deviations −3δ e ≦λ e ≦3δ e . The scale parameter set Λ=(λ 1  . . . λ 16 ) thereby gives a model the shape of a given glasses frame. 
         [0031]    The selected eigenvectors, g e , constitute the basis of the proposed generative model for all reasonable glasses shapes by selecting appropriate shape parameters, λ e . 
         [0032]    The PCA results provide a mean shape g m  and the main modes of variation g e . The shape of the frames of newly encountered glasses can then be modeled as a linear combination of the mean shape and the modes of variation. 
         [0000]    
       
         
           
             G 
             = 
             
               
                 g 
                 m 
               
               + 
               
                 
                   ∑ 
                   
                     e 
                      
                     
                         
                     
                     ∈ 
                     
                         
                     
                      
                     E 
                   
                 
                  
                 
                     
                 
                  
                 
                   
                     λ 
                     e 
                   
                    
                   
                     g 
                     e 
                   
                 
               
             
           
         
       
     
         [0033]    The mean shape and the main modes of variation effectively constitute a model of all reasonable glasses shapes. In our implementation, we use the first 16 Eigenvectors g e , so E=[1.16]. 
         [0034]    Now the 3D model of the glasses frame is used for tracking. In the preferred embodiment, the glasses tracker is integrated with a feature based head tracker as disclosed in the prior art. However, the glasses tracker could be integrated with any other tracker or could be used by itself. 
         [0035]    The shape parameters, λ e , may be suitably constrained though stochastic or arbitrary measures. A skilled addressee would identify other modeling techniques are also suitable in establishing estimated control points, such as physical models. 
         [0036]    A modeled approximation for the glasses frames is determined by the shape parameters and the 3D pose parameters, 
         [0000]    
       
         
           
             
               h 
               = 
               
                 [ 
                 
                   
                     
                       
                         R 
                         
                           3 
                           × 
                           3 
                         
                       
                     
                     
                       
                         T 
                         
                           3 
                           × 
                           1 
                         
                       
                     
                   
                   
                     
                       0 
                     
                     
                       1 
                     
                   
                 
                 ] 
               
             
             , 
           
         
       
     
         [0000]    comprising a rotation matrix, R 3×3  and translation vector, T 3×1  combined in the form of a homogenous transformation matrix. The glasses tracker uses a measure of how well the contour of a generated shape model fits the edges, i.e. points of high spatial gradient, seen in the image. Given a set of shape parameters λ e  and pose parameters h, the difference in location of predicted and actual image edges allows the tracker to adjust the parameters for a better fit. 
         [0037]    For a given input image, assuming that the pose of the glasses relative to the face is constant or possibly varying around some mean value, the glasses tracker can be bootstrapped by initially allowing the shape parameters as well as the pose parameters to vary. As soon as a reliable estimate of the glasses shape and the pose of the glasses relative to the face has been determined, the corresponding shape parameters can be held fixed and only the combined pose parameters of glasses and face are allowed to vary. 
         [0038]    To determine the shape and pose parameters from video images, the glasses tracker can use a measure of how well the contour of a generated shape model fits the edges, i.e. points of high spatial intensity gradient, seen in the image. Given a set of shape and pose parameters, the difference in location of predicted and actual image edges allows the tracker to adjust the parameters for a better fit. To elaborate, tracking proceeds by minimising a cost function in each video image. 
         [0039]    Minimisation is done over the pose and shape parameters and is performed using a nonlinear least squares gradient descent method, e.g. using the well known Levenberg-Marquardt method. The cost function to be minimised can be the sum of squared distances from glasses model contour points to the point of highest image intensity gradient. To compute the cost function, the glasses model is projected into the image  4  using the current estimate of the pose and shape parameters. For each point along the contour of the projected model, image intensity edges are detected along a line perpendicular to the model contour. The strongest edge within a fixed radius is selected and the distance to it is measured. The cost function is then the sum of squared such distances. The minimiser is allowed to run until it converges to a local minimum in each video image  5 . Tracking  5  in a video sequence is accomplished by using the optimised parameters from the previous image as a starting point in the current image. 
         [0040]    In an exemplary embodiment, the following process is used to derive a metric for the fit of the model with an image. First, a binarised edge image E of the source image is calculated. In the preferred embodiment the edges are found using the well known Canny edge detector. In the second step, the control points G of the glasses model are projected into the binary image by the steps of choosing a shape parameterisation Λ of the PCA model, choosing a 3D pose h and then projecting the resulting 3D control points into the image, resulting in the 2D vectors g e   i =(x e   i , y e   i ). For each control point g e   i , the Euclidian distance Δ e   i  between the control point and the closes edge pixel in the edge image E is calculated. 
         [0041]    A metric for the glasses only tracking for the fit then is calculated as 
         [0000]    
       
         
           
             
               m 
                
               
                 ( 
                 
                   h 
                   , 
                   Λ 
                 
                 ) 
               
             
             = 
             
               
                 ∑ 
                 E 
               
                
               
                   
               
                
               
                 Δ 
                 e 
                 i 
               
             
           
         
       
     
         [0000]    The Levenberg-Marquardt minimization method can be employed to calculate the optimal combination of h and Λ as the solution to the combined pose and shape problem. 
         [0042]    In an exemplary embodiment of the present invention the solution to the glasses tracker can be integrated into a face or facial feature tracker. To integrate the glasses tracker with a feature based head tracker, such as that disclosed in the prior art, the preferred embodiment adds the distance of the set of facial feature points f m ,mεM of a set M of facial feature points to the metric. Each of the facial features is located in each frame by template correlation, resulting in measured image locations f m   i . In addition to the distances of the glasses control points, the distances Δ m   i  are calculated for an assumed head pose h as the Euclidian distance between the measured points f m   i  and the projected points f m   i (h). In addition to the head pose h, the pose h g  of the glasses relative to the head must be estimated. 
         [0043]    The Levenberg-Marquardt method then calculates the overall best head pose as: 
         [0000]    
       
         
           
             
               
                 arg 
                  
                 
                     
                 
                  
                 min 
               
               
                 h 
                 , 
                 
                   h 
                   g 
                 
                 , 
                 Λ 
               
             
              
             
               ( 
               
                 
                   
                     ∑ 
                     E 
                   
                    
                   
                       
                   
                    
                   
                     Δ 
                     e 
                     i 
                   
                 
                 + 
                 
                   
                     ∑ 
                     M 
                   
                    
                   
                       
                   
                    
                   
                     Δ 
                     m 
                     i 
                   
                 
               
               ) 
             
           
         
       
     
         [0044]    Assuming that the pose h g  of the glasses relative to the face is constant or possibly slowly varying around some mean value, the glasses tracker can be bootstrapped by initially allowing the shape parameters Λ as well as the pose parameters h, h g  to vary. As soon as a reliable estimate of the glasses shape Λ and the pose h g  of the glasses relative to the face has been determined, the corresponding parameters are held fixed and only the combined pose parameters h of glasses and face are allowed to vary. 
         [0045]    Upon development of the model, the system is ideally implemented on a computer system having video input capabilities. An example system is illustrated schematically in  FIG. 2 . A video input  10  is input to the computer system  11  which uses the aforementioned method to continuously track a face with the results being output on display  12 . 
         [0046]    The forgoing describes preferred forms of the present invention. Modifications, obvious to those skilled in the art can be made thereto without departing from the scope of the invention.
The invention relates to the application area of camera-based head and eye tracking systems. The performance of such systems typically suffers when eye glasses are worn, as the frames of the glasses interfere with the tracking of the facial features utilized by the system. This invention describes how the appearance of the glasses can be utilized by such a tracking system, not only eliminating the interference of the glasses with the tracking but also aiding the tracking of the facial features. The invention utilizes a shape model of the glasses which can be tracked by a specialized tracker to derive 3D pose information.