Abstract:
A system for learning a mapping between time-varying signals is used to drive facial animation directly from speech, without laborious voice track analysis. The system learns dynamical models of facial and vocal action from observations of a face and the facial gestures made while speaking. Instead of depending on heuristic intermediate representations such as phonemes or visemes, the system trains hidden Markov models to obtain its own optimal representation of vocal and facial action. An entropy-minimizing training technique using an entropic prior ensures that these models contain sufficient dynamical information to synthesize realistic facial motion to accompany new vocal performances. In addition, they can make optimal use of context to handle ambiguity and relatively long-lasting facial co-articulation effects. The output of the system is a sequence of facial control parameters suitable for driving a variety of different kinds of animation ranging from warped photorealistic images to 3D cartoon characters.

Description:
FIELD OF THE INVENTION 
     This invention relates to animation and more particularly to a system for giving an animated figure lifelike voice-controlled facial animation without time consuming production. 
     BACKGROUND OF THE INVENTION 
     From lip-synching to animation, psychologists and storytellers alike have observed that there is a good deal of mutual information between vocal and facial gestures. As discussed in an article by C. Benoit, C. Abry, M.-A. Cathiard, T. Guiard-Marigny, and T. Lallouache, Read my lips: Where? How? When? And so . . . What? In 8th Int. Congress on Event Perception and Action, Marseille, France, July 1995, Springer-Verlag, facial information can add significantly to the observer&#39;s comprehension of the formal and emotional content of speech, and is considered by some a necessary ingredient of successful speech-based interfaces. Conversely, the difficulty of synthesizing believable faces is a widely-noted obstacle to producing acceptable digital avatars, agents, and animation. The human visual system is highly specialized for interpreting facial action. As a result, a poorly animated face can be disturbing and even can interfere with the comprehension of speech as discussed by H. McGurk and J. MacDonald. Hearing lips and seeing voices, Nature, 264:746-748, 1976. 
     Lip-synching, a large part of facial animation, is a laborious process in which the voice track is dissected, usually by hand, features such as stops and vowels are identified, and matching face poses are scheduled in the animation track at 2-10 per second. The overwhelming majority of lip-synching research and all such commercial offerings are based on an intermediate phonemic representation, whether obtained by hand as discussed by F. Parke, A parametric model for human faces, Technical Report UTEC-CSc-75-047, University of Utah, 1974; F. Parke, A model for human faces that allows speech synchronized animation, Journal of Computers and Graphics, 1(1):1-4, 1975; Cohen and D. Massaro, Modeling co-articulation in synthetic visual speech, N. M. Thalmann and D. Thalmann, editors, Models and Techniques in Computer Animation, Springer-Verlag, 1993; T. Ezzat and T. Poggio, Miketalk: A talking facial display based on morphing visernes, Proc. of The Computer Animation Conference, June 1998; J. E. Ball and D. T. Ling, Spoken language processing in the persona conversational assistant, ESCA Workshop on Spoken Dialogue Systems, 1995; and I. Katunobu and O. Hasegawa, An active multimodel interaction system, ESCA Workshop on Spoken Dialogue Systems, 1995, other commercial offerings are based on speech recognition as discussed by J. Lewis, Automated lip-sync: Background and techniques, The Journal of Visualization and Computer Animation, 2:118-122, 1991; K. Waters and T. Levergood, Decface: A system for synthetic face applications. Multimedia Tools and Applications, 1:349-366, 1995; and C. Bregler, M. Covell, and M. Slaney, Video rewrite: Driving visual speech with audio, Proc. ACM SIGGRAPH 97, 1997. Visernes are mouth poses thought to occur commonly in speech. 
     Typically, phonemic or visemic tokens are mapped directly to lip poses, ignoring dynamical factors. In Video Rewrite, as discussed by the above-mentioned Bregler et al. article, vocal, but not facial, co-articulation is partially modeled via triphones, while Baldy as discussed by the above-mentioned Cohen et al. article, uses an explicit, but heuristic co-articulatory model derived from the psychological literature. Co-articulation is interaction between nearby speech segments that have observable effects on the acoustic signal and facial action. For example, one might shape a vowel differently in anticipation of the next vowel one plans to produce. 
     Phonemic and visemic representations are arguably a suboptimal representation of the information common to voice and face, since they obliterate the relationships between vocal prosody and upper facial gesture, and between vocal and gesture energy. Moreover, there is inherent information loss in the discretization to phonemes. 
     Attempts to generate lip poses directly from the audio signal have been limited to predicting vowel shapes and ignoring temporal effects such as co-articulation. 
     None of these methods address the actual dynamics of the face. For example, there is co-articulation at multiple time-scales, 300 ms or less in the vocal apparatus and longer on the face. Furthermore, as noted in the above-mentioned Benoit et al. article, there is evidence found that lips alone convey less than half of the visual information that human subjects can use to disambiguate noisy speech. It has been found that much of the expressive and emotional content of facial gesture happens in the upper half of the face and this is not at all addressed by speech-oriented facial animation. 
     SUMMARY OF THE INVENTION 
     In order to provide a more realistic voice driven animation without animation voice track dissection, in the subject invention a more direct mapping from voice to face is used which involves learning a model of the face&#39;s natural dynamics during speech, then learning a mapping from vocal patterns to facial motion trajectories. An entropy-minimization technique permits learning without having to prespecify what one is to look for, with entropy being a measure of ambiguity. Note that, the hidden Markov models are used to analyze facial and vocal action and to predict how an animated version of the speaker&#39;s head should behave. Because of the use of hidden Markov models, the subject process takes minutes, not months to produce realistic lifelike animation sequences. 
     This method has several important properties. First, voice is analyzed with regard to learned categories of facial gesture, rather than with regard to hypothesized categories of speech perception. Secondly, long-term dependencies such as facial co-articulations are implicitly modeled. Thirdly, a probabilistic framework allows one to find the most probable face trajectory through a sequence of facial images used in producing the animation for a whole utterance, not just for a small window of time. Finally, the output of the system is at sequence of facial control parameters that can be used to drive model-based or image-based face animations. 
     In one embodiment, a database of synchronized speech and video is used as the starting point. The system then models facial dynamics with a hidden Markov model. The hidden Markov model is then split into two parts: a finite state machine which models the face&#39;s qualitative dynamics, e.g., expression to expression transition probabilities; and a set of Gaussian distributions that associate regions of facial configuration space to those states. The system then learns a second set of distributions from regions of vocal configuration space to the states occupied by the face at the same time. This combines with the facial dynamical model to become a newer hidden Markov model that is used to analyze new voice-tracks. The result is similar to a speech recognition engine, but instead of giving a most probable sequence of phonemes, the system provides a most probable sequence of facial states, using context from the full utterance for disambiguation when necessary. Using this sequence of facial states and the original set of facial output distributions, the system solves for a maximally probable trajectory through the facial states of the facial configuration space. Every possible facial expression is a point in facial configuration space. The maximally probable trajectory through this space is a sequence of expressions that best matches the target vocal track. The trajectory is then used to drive the animation. 
     Two features of the subject invention make this workable. First, given a state sequence, one has a closed solution for the maximally probable trajectory that mimics both the natural poses and velocities of the face. Secondly, through the use of an entropy-minimizing learning algorithm, one can estimate probabilistic models which give unique, unambiguous state sequences. 
     The second point is slightly subtle. It is always possible to extract a most probable state sequence from a hidden Markov model Viterbi analysis, but typically there may be thousands of other sequences that are only slightly less probable, so that the most probable sequence has only a tiny fraction of the total probability mass. In the subject system, there is a method for estimating sparse hidden Markov models that explicitly minimizes this kind of ambiguity, such that the most probable sequence has most of the probability mass. 
     In summary, a system for learning a mapping between time-varying signals is used to drive facial animation directly from speech, without laborious voice track analysis. The system learns dynamical models of facial and vocal action from observations of a face and the facial gestures made while speaking. Instead of depending on heuristic intermediate representations such as phonemes or visemes, the system trains hidden Markov models to obtain its own optimal representation of vocal and facial action. An entropy-minimizing training technique using an entropic prior ensures that these models contain sufficient dynamical information to synthesize realistic facial motion to accompany new vocal performances. In addition, they can make optimal use of context to handle ambiguity and relatively long-lasting facial co-articulation effects. The output of the system is a sequence of facial control parameters suitable for driving a variety of different kinds of animation ranging from warped photorealistic images to 3D cartoon characters. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other features of the Subject Invention will be better understood in connection with the Detailed Description taken in conjunction with the Drawing of which: 
     FIG. 1 is a diagrammatic representation of the operation of the facial animation system including both video and audio training, the generation of a facial hidden Markov model which is combined with mappings to audio features to form a vocal hidden Markov model with which new audio is analyzed so as to provide an optimal facial state sequence, and from which is calculated an optimal facial configuration sequence in terms of a trajectory through facial configuration space, thereby providing control parameters for animation, 
     FIG. 2 is a diagrammatic illustration showing in schematic form how the state machine inside the facial hidden Markov model is reused in the vocal hidden Markov model; and, 
     FIG. 3 is a flow chart illustrating both learning through the utilization of entropic hidden Markov model training and the production of a synthetic face trajectory through the utilization of the vocal/facial hidden Markov model. 
    
    
     DETAILED DESCRIPTION 
     Referring now to FIG. 1, a system for providing control parameters for animation using hidden Markov models or HMMs, first starts with video frames  10  and a synchronized audio file  12 , both used for training. Features in the video such as the corners of the mouth are tracked and this information is used to entropically train a facial hidden Markov model  14  consisting of a facial state machine  16  and mappings to facial configuration  18 . 
     Having learned a facial hidden Markov model, mappings are estimated from facial states to audio features as illustrated at  20  which provides a vocal hidden Markov model  22  having facial dynamics  16 , but driven by audio-to-audio configurations  20 . 
     This model is then utilized to predict facial states from new audio  28  to provide an optimal facial state sequence  30  which in communication with facial mappings  18  provide an optimal trajectory  36  through facial configuration space  34  such that, trajectory  36  defines a sequence of control parameters for animation as illustrated at  38 . 
     Referring now to FIG. 2, a highly schematic drawing is shown illustrating how the state machine  40  inside the facial hidden Markov model is reused in the vocal hidden Markov model. Here, the mappings from states to facial configuration space are schematized by showing the average facial expression of each mapping  42 . To control the vocal hidden Markov model, the internal state machine  40  is retained, thus preserving facial dynamics. However, new mappings are made to vocal configuration space  44 . 
     Referring now to FIG. 3, a flow chart is illustrated as to how the synthetic face trajectory is generated. As can be seen, a training video  60  is fed to a visual feature tracker  62  which generates facial motion data  64  that is utilized as an input to an entropic hidden Markov model training algorithm  66 . The entropic hidden Markov model training unit produces a facial hidden Markov model which is composed of mappings to facial configuration space  70  and a state machine describing facial dynamics  72 . 
     The facial configurations and facial dynamics which most closely correspond to the animation required are married with the audio style of the individual by utilizing a similar training scenario in which audio  74  goes through acoustic analysis  76  that outputs vocal data  78  which is utilized in an output modeling module  80 . The link between the video and the audio is provided by a facial state sequence  82  which is a series of facial images in a facial space. Combining the facial state sequence  82  with the vocal data  78  produces a set of vocal mappings  86 , one for each facial state. The facial mappings, the facial dynamics, and the vocal mappings constitute the learned model from which a vocal/facial hidden Markov model  84  is produced. 
     During run time, new audio  90  is put through acoustic analysis  92  which then provides new vocal data  94 . The vocal/facial hidden Markov model, in combination with the new vocal data, produces via dynamic programming  96  a new optimal facial state sequence  98 . Geodesic analysis  100  combines the new facial state sequence  98  and the facial mappings  70  to provide a synthetic face trajectory  102  which is then utilized in the animation. 
     The utilization of the entropically trained hidden Markov models permits lifelike animation to be achieved through a simple training session which does not require lengthy voice segmentation or dissection. The subject system, can be trained in near-realtime on a midrange computer. Once trained, it can generate novel animators in realtime or faster. 
     To obtain facial articulation data, a computer vision system is used to simultaneously track several individual features on the face, such as the corners of the mouth. Taking Hager&#39;s SSD texture-based tracker, as described by G. Hager and K. Toyama, The Xvision system: A general-purpose substrate for portable real-time vision applications, Computer Vision arid Image Under-standing, 1997, as a starting point, a mesh of such trackers covers the face. Spring tensions are assigned to each edge connecting a pair of trackers, and the entire system is made to relax by simultaneously minimizing the spring energies and the residuals of the individual trackers. If a tracker falls off its landmark feature, spring forces from its neighbors tend to push it back into place. To estimate spring lengths and stiffnesses, video is run through the system and the mean and variance of the distance between pairs of trackers is recorded arid used to revise the spring properties. A few repetitions suffice to obtain stable and accurate tracking. 
     To obtain a useful vocal representation, a mix of LPC and RASTA-PLP features are calculated as discussed by H. Hermansky and N. Morgan, Rasta processing of speech, IEEE Transactions on Speech and Audio Processing, 2(4):578-589, October 1994. These are known to be useful to speech recognition and somewhat robust to variations between speakers and recording conditions. 
     The ultimate goal is to learn a mapping from the vocal features in a given time frame to simultaneous facial features. The mapping is many-to-many. Many sounds are compatible with one facial pose; many facial poses are compatible with one sound. Were it not for this ambiguity, one could use a simple regression method such as a perceptron, neural network, or radial basis function network. The only remedy for this ambiguity is to use context from before and after the frame of interest. The fact that the disambiguating context has no fixed length or proximity to the current frame strongly recommends that one use a hidden Markov model, which, if properly trained, can make optimal use of context across a whole utterance, regardless of its length. A hidden Markov model uses its hidden states to carry contextual information forward and backward in time. Training will naturally assign some states to that task. 
     Since the hidden state changes in each frame under the influence of the observed data, it is important for the matrix governing state transitions in the hidden Markov model to be sparse, else a context-carrying state will easily transition to a data-driven state. and the contextual information will be lost. A framework has been developed for training probabilistic models that minimizes their internal entropy. In hidden Markov models, this translates to maximizing compactness, sparsity, capacity to carry contextual information, and specificity of the states. The last property is particularly important because conventionally trained hidden Markov models typically express the content of a frame as a mixture of states, making it impossible to say that the system was in any one state. 
     In one embodiment, the entropic training framework here is as follows and is outlined in U.S. application Ser. No. 08/994,533, filed Dec. 19, 1997 and incorporated herein by reference. The system begins with a dataset X and a model whose parameters arid structure are specified by the sparse matrix θ. In conventional training, one assumes that the sparsity structure of θ is set in advance and one estimates non-zero parameters to maximize the likelihood P(X|θ) of the data X given the model θ. In entropic training, one learns the size of θ, its sparsity structure, and its parameter values simultaneously by maximizing the posterior given by Bayes&#39; rule, P(θ|X)=P(X|θ)P(θ)/P(X) where the entropic prior P(θ)=e −(θ)  and H(θ) is an entropy measure defined on the model&#39;s parameters. Entropy measures uncertainty. Thus one is seeking the least ambiguous model that can explain the data. The entropic prior can also be understood as a mathematization of Occam&#39;s razor: Smaller models are less ambiguous because they contain fewer alternatives. 
     Given a factorizable model such as a hidden Markov model, the Maximum A Posteriori (MAP) problem decomposes into a separate equation for each independent parameter in Q, each having its own entropic prior. Exact solutions have been found for a wide variety of such equations, yielding very fast learning algorithms. A related set of trimming equations tells one when one can zero a parameter without loss of posterior probability. This allows one to learn the proper size and sparsity structure of a model. Having an entropy term in the posterior also makes it easy to fold deterministic annealing, a powerful quasi-global optimization technique, into learning at no additional computational cost. Frequently, entropic training of hidden Markov models recovers a finite-state machine that is very close to the mechanism that generated the data. 
     Using entropic training, one estimates a facial dynamical model from the poses and velocities output by the vision system. One then uses a dynamic programming analysis to find the most probable sequence of hidden states given the training video. Using this state sequence, one estimates output probabilities, given each state, of the synchronized audio track. This associates audio features to each facial state. Then one splits the facial model in two. One sets aside the output probabilities that associate each state to its plausible range of facial configurations and velocities. The internal state machine, which represents facial dynamics in terms of transitions between qualitative, sub-viseme, states, is joined to the audio output probabilities. This results in a new vocal hidden Markov model which preserves the dynamics of the face, but allows them to be controlled by vocal features. 
     To synthesize facial movements to accompany a new vocal track, one uses the vocal hidden Markov model to find a maximally probable sequence of predicted facial states. This sequence will follow the natural dynamics of the face, but is steered by information in the new vocal track. One then uses the facial output probabilities to make a mapping from predicted states to actual facial configurations. Were one to simply pick the most probable configuration for each state, the animation would jerk from pose to pose. The timing would be natural, but the jerkiness would not. Most phoneme- and viseme-based lip-sync systems solve this problem by interpolating or splining between poses. This might solve the jerkiness, but it is an ad hoc solution that degrades or destroys the natural timing. 
     What is required is a short, smooth trajectory that passes through regions of high probability density in configuration space at the right time. Prior approaches to trajectory estimation typically involve maximizing an equation having a probability term and penalty terms for excess length and/or kinkiness and/or point clumpiness. The user must choose a parameterization and weight-ing for each term. Computing a solution is often approximate, iterative, and computationally expensive. Moreover, the equation may have many local maxima and one may not be able to tell whether the found maxima is near-optimal or mediocre. 
     In the subject system, the problem is simplified so significantly that a closed-form solution is available. The facial mappings by themselves containing enough information to completely specify the smooth trajectory that is most consistent with the facial dynamics. Because both pose and velocity are modeled, one has constraints on the position, heading, and length of each trajectory segment. This suffices to guarantee that the trajectory is geometrically and temporally well-behaved. It also leads to a very clean formulation. 
     One assumes that each state has Gaussian outputs that model positions and velocities. For simplicity of exposition, one assumes a single Gaussian per state, but the subject system trivially generalizes to Gaussian mixtures. From hidden Markov model training, one has the mean position and velocity for each state, as well as a full-rank inverse covariance matrix relating positions and velocities in all dimensions. From Viterbi analysis of the new voice data, one has a sequence of states governing each frame. One wants a facial trajectory that, passes through or near the appropriate mean in each frame  1 , 2 , 3 , . . . This can be written as a product of Gaussians, one for each frame as determined by the governing state. Taking the log yields a quadratic sum, which one seeks to maximize. Let μ, {dot over (μ)} i  be the mean position and velocity for state i, and K i  be a full-rank covariance matrix relating positions and velocities in all dimensions. Furthermore, let s(t) be the state governing frame t and let Y={y 1 , y 2 , y 3 , . . . } be the variable of interest, namely, the points the trajectory passes through at frame  1 , 2 , 3 , . . . Then we want the maximum of                      Y   *     =                    arg                 max     Y        log          ∏   t                                     (             y   ~     t     ;          [       μ     s        (   t   )         ,       μ   .       s        (   t   )           ]       ,     K     s        (   t   )           )                       =                      arg                 min     Y            ∑   t                                 y   ~     t          K     s        (   t   )         -   1                y   ~     t   T     /   2           +   c                   (   1   )                                
     where {tilde over (y)} t =[y t −μ s(t) ; (y t −y −1 )−{dot over (μ)} s(t) ] is a row vector of instantaneous facial position and velocity. These equations yield a quadratic form having a single global maximum. Setting their derivative to zero yields a block-banded system of linear equations in which each control point in the facial trajectory depends only on its neighbors. For T frames and D dimensions, the system can be LU-decomposed and solved in time O(TD 2 ) as discussed by G. H. Golub and C. F. van Loan. Matrix Computations. Johns Hopkins, 1996. 3rd edition, section [4.3.1]. 
     As to animation, the system synthesizes would-be facial tracking data, e.g., what most probably would have been seen had the training subject produced the input vocalization. Such a trajectory of control points is used to drive a 3D animated head model or a 2D face image warped to give the appearance of motion. In a solution that provides a surprisingly good illusion of realism, a 2D image of a face is texture-mapped onto a crude 3D head model count. Simple deformations of the head model give a naturalistic illusion of facial motion while the shading of the image gives the illusion of smooth surfaces. 
     The deformations can be applied directly by mapping control points in the synthesized trajectory to vertices in the model, or indirectly by mapping synthetic facial configurations to Facial Action Units as discussed by P. Ekman and W. Friesen, Manual for the Facial Action Coding System, Consulting Psychologists Press, Inc., Palo Alto, Calif., 1978 that are defined on the model. 
     Even with grossly insufficient training data, one is able to obtain correct behavior for all the vowels and most consonants. In addition, one is able to predict the motions of the upper face, including eyebrows, quite accurately. With a slightly larger data set, only 16 states were found sufficient to produce a quite natural looking facial animation. This means that, for normal speech, facial motion can be coded and reconstructed using at most 4 bits per frame. 
     Program listings in MatLab which describe the subject process are now presented.                                                                                                                                                                                                                                                                                                                                            
     Having now described a few embodiments of the invention, and some modifications and variations thereto, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by the way of example only. Numerous modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the invention as limited only by the appended claims and equivalents thereto.