Download as pdf or txt
Download as pdf or txt
You are on page 1of 49

BODY LANGUAGE ANIMATION

SYNTHESIS FROM PROSODY

AN HONORS THESIS
SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE
OF STANFORD UNIVERSITY

Sergey Levine
Principal Adviser: Vladlen Koltun
Secondary Adviser: Christian Theobalt
May 2009
Abstract

Human communication involves not only speech, but also a wide variety of gestures and
body motions. Interactions in virtual environments often lack this multi-modal aspect of
communication. This thesis presents a method for automatically synthesizing body lan-
guage animations directly from the participants’ speech signals, without the need for addi-
tional input. The proposed system generates appropriate body language animations in real
time from live speech by selecting segments from motion capture data of real people in
conversation. The selection is driven by a hidden Markov model and uses prosody-based
features extracted from speech. The training phase is fully automatic and does not require
hand-labeling of input data, and the synthesis phase is efficient enough to run in real time
on live microphone input. The results of a user study confirm that the proposed method is
able to produce realistic and compelling body language.

ii
Acknowledgements

First and foremost, I would like to thank Vladlen Koltun and Christian Theobalt for their
help and advice over the course of this project. Their help and support was invaluable at
the most critical moments, and this project would not have been possible without them. I
would also like to thank Jerry Talton for being there to lend a word of advice, and never
hesitating to point out the occasional glaring flaws that others were willing to pass over.
I would like to thank Stefano Corazza and Emiliano Gambaretto of Animotion Inc.,
Alison Sheets of the Stanford BioMotion Laboratory, and all of the staff at PhaseSpace
Motion Capture for the time and energy they spent helping me with motion capture pro-
cessing and acquisition at various stages in the project. I would also like to thank Sebastián
Calderón Bentin for his part as the main motion capture actor, and Chris Platz, for help with
setting up scenes for the figures and videos. I would also like to thank the many individuals
who reviewed my work and provided constructive feedback, including Sebastian Thrun,
Matthew Stone, Justine Cassell, and Michael Neff.
Finally, I would like to thank all of the participants in my evaluation surveys, as well as
all other individuals who were asked to evaluate the results of my work in some capacity.
The quality of body language can only be determined reliably by a human being, and the
human beings around me were often my first option for second opinions over the entire
course of this project. Therefore, I would like to especially thank all of my friends, who
remained supportive of me throughout this work despite being subjected to an unending
barrage of trial videos and sample questions.

iii
Contents

Abstract ii

Acknowledgements iii

1 Introduction 1
1.1 Background and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Gesture and Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Motion Capture Processing 9


2.1 Motion Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Motion Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Segment Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Audio Segmentation and Prosody 14


3.1 Gesture Synchrony and Prosody . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Audio Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Syllable Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Feature Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Probabilistic Gesture Model 17


4.1 Probabilistic Models for Body Language . . . . . . . . . . . . . . . . . . . 17
4.2 Gesture Model State Space . . . . . . . . . . . . . . . . . . . . . . . . . . 18

iv
4.3 Parameterizing the Gesture Model . . . . . . . . . . . . . . . . . . . . . . 19
4.4 Estimating Model Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Synthesis 22
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2 Forward Probabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3 Most Probable and Coherent State . . . . . . . . . . . . . . . . . . . . . . 25
5.4 Early and Late Termination . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.5 Constructing the Animation Stream . . . . . . . . . . . . . . . . . . . . . 27

6 Evaluation 29
6.1 Evaluation Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3 Video Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

7 Discussion and Future Work 33


7.1 Applicability of Prosody and the Synchrony Rule . . . . . . . . . . . . . . 33
7.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Bibliography 37

v
List of Tables

2.1 This table shows the number of segments and clusters identified for each
body section in each training set. Training set I consisted of 30 minutes
divided into four scenes. Training set II consisted of 15 minutes in eight
scenes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 This table presents a summary of the audio features used by the system.
For each continuous variable X, µX represents its mean value and σX rep-
resents its standard deviation. . . . . . . . . . . . . . . . . . . . . . . . . 16

vi
List of Figures

1.1 Training of the body language model from motion capture data with simul-
taneous audio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1 The body parts which constitute each section are shown in (a) and the mo-
tion summary is illustrated in (b). . . . . . . . . . . . . . . . . . . . . . . . 11

4.1 The hidden state space of the model consists of the index of the active
motion, At = si or ci , and the fraction of that motion which has elapsed up
to this point, τt . Observations Vt are paired with the active motion at the
end of the next syllable. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.1 Diagram of the synthesis algorithm for one observation. At is the tth ani-
mation state, Vt is the tth observation, α
~ t is the forward probability vector,
τ̄t is the vector of expected τ values, and ~γt is the direct probability vector. 23
5.2 The image shows the states selected over 40 observations with maxi γt (i)
(red) and maxi αt (i) × γt (i) (green), with dark cells corresponding to high
forward probability. The graph plots the exact probability of the selections,
as well as maxi αt (i). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6.1 An excerpt from a synthesized animation used in the evaluation study. . . . 30


6.2 Mean scores on a 5-point Likert scale for the four evaluation surveys. Error
bars indicate standard error. . . . . . . . . . . . . . . . . . . . . . . . . . . 31

7.1 An excerpt from a synthesized animation. . . . . . . . . . . . . . . . . . . 34


7.2 Synthesized body language helps create an engaging virtual interaction. . . 36

vii
Chapter 1

Introduction

1.1 Background and Motivation


Today, virtual worlds are a rapidly growing venue for entertainment, with socialization
and communication comprising some of their most important uses [54]. Communication
in virtual environments may be accomplished by means of text chat or voice. However,
human beings do not communicate exclusively with words, and virtual environments often
fail to recreate the full, multi-modal nature of human communication. Gestures and speech
coexist in time and are tightly intertwined [30], but current input devices are far too cum-
bersome to allow body language to be conveyed as intuitively and seamlessly as it would be
in person. Current virtual worlds frequently employ keyboard or mouse commands to allow
participants to utilize a small library of pre-recorded gestures, but this mode of communi-
cation is unnatural for extemporaneous body language. Given these limitations on direct
input, body language for human characters must be synthesized automatically in order to
produce consistent and believable results. Though significant progress has been made to-
wards automatic animation of conversational behavior, as discussed in the next section, to
the best knowledge of the author no current method exists which can animate characters in
real time without requiring specialized input in addition to speech.
In this thesis, I present a data-driven method that automatically generates body lan-
guage animations from the participant’s speech signal. The system is trained on motion
capture data of real people in conversation, with simultaneously recorded audio. The main

1
CHAPTER 1. INTRODUCTION 2

contribution is a method of modeling the gesture formation process that is appropriate for
real-time synthesis, as well as an efficient algorithm that uses this model to produce an
animation from a live speech signal, such as a microphone.
Prosody is known to correspond well to emotional state [1, 46] and emphasis [49].
Gesture has also been observed to reflect emotional state [50, 32] and highlight empha-
sized phrases [30]. Therefore, the system generates the animation by selecting appropriate
gesture subunits from the motion capture training data based on prosody cues in the speech
signal. The selection is performed by a specialized hidden Markov model (HMM), which
ensures that the gesture subunits transition smoothly and are appropriate for the tone of the
current utterance. In order to synthesize gestures in real time, the HMM predicts the next
gesture and corrects mispredictions. The use of coherent gesture subunits, with appropriate
transitions enforced by the HMM, ensures a smooth and realistic animation. The use of
prosody for driving the selection of motions also ensures that the synthesized animation
matches the timing and tone of the speech.
Four user studies were conducted to evaluate the effectiveness of the proposed method.
The user studies evaluated two different training sets and the ability of the system to gen-
eralize to novel speakers and utterances. Participants were shown synthesized animations
for novel utterances together with the original motion capture sequences corresponding to
each utterance and an additional sequence of gestures selected at random from the training
set. The results of the study, presented in Chapter 6, confirm that the method produces
compelling body language and generalizes to different speakers.
By animating human characters from live speech in real time with no additional input,
the proposed system can seamlessly produce plausible body language for human-controlled
characters, thus improving the immersiveness of interactive virtual environments and the
fluidity of virtual conversations.

1.2 Related Work


Although no system has been proposed which both synthesizes full-body gestures and oper-
ates in real time on live voice input, a number of methods have been devised that synthesize
either full-body or facial animations from a variety of inputs. Such methods often aim to
CHAPTER 1. INTRODUCTION 3

animate Embodied Conversational Agents (ECAs), which operate on a pre-defined script


or behavior tree [10], and therefore allow for concurrent planning of synthesized speech
and gesture to ensure co-occurrence. Often these methods rely on the content author to
specify gestures as part of the input, using a concise annotation scheme [17, 23]. New,
more complete annotation schemes for gestures are still being proposed [21], and there
is no clear consensus on how gestures should be specified. Some higher-level methods
also combine behavioral planning with gesture and speech synthesis [11, 39], with ges-
tures specified as part of a scripted behavior. However, all of these methods rely on an
annotation scheme that concisely and completely specifies the desired gestures. Stone et
al. [48] avoid the need for annotation of the input text with a data-driven method, which
re-arranges pre-recorded motion capture data to form the desired utterance. However, this
method is limited to synthesizing utterances made up of pre-recorded phrases, and does
require the hand-annotation of all training data. The proposed system also employs a data-
driven method to avoid a complex annotation scheme, but is able to decouple speech from
motion data and retarget appropriate pre-recorded motion to a completely novel utterance.
Since the proposed system must generate animations for arbitrary input, it also cannot
require any form of annotation or specification from the user. Several methods have been
proposed that animate characters from arbitrary text using natural language processing.
Cassell et al. [12] propose an automatic rule-based gesture generation system for ECAs,
while Neff et al. [36] use a probabilistic synthesis method trained on hand-annotated video.
However, both of these methods rely on concurrent generation of speech and gesture from
text. Text does not capture the emotional dimension that is so important to body language,
and neither text communication, nor speech synthesized from text can produce as strong an
impact as real conversation [18].
Animation directly from voice has been explored for synthesizing facial expressions
and lip movements, generally as a data-driven approach using some form of probabilistic
model. Bregler et al. [9] propose a video-based method that reorders frames in a video
sequence to correspond to a stream of phonemes extracted from speech. This method is
further extended by Brand [8] by retargeting the animation onto a new model and adopting
a sophisticated hidden Markov model for synthesis. Hidden Markov models are now com-
monly used to model the relationship between speech and facial expression [25, 53]. Other
CHAPTER 1. INTRODUCTION 4

automatic methods have proposed synthesis of facial expressions using more sophisticated
morphing of video sequences [15], physical simulation of muscles [47], or by using hybrid
rule-based and data-driven methods [5].
Although speech-based synthesis of facial expressions is quite common, it does not
generally utilize vocal prosody. Since facial expressions are dominated by mouth move-
ment, many speech-based systems use techniques similar to phoneme extraction to select
appropriate mouth shapes. However, a number of methods have been proposed that use
speech prosody to model expressive human motion beyond lip movements. Albrecht et al.
[2] use prosody features to drive a rule-based facial expression animation system, while
more recent systems apply a data-driven approach to generate head motion from pitch [13]
and facial expressions from vocal intensity [19]. Incorporating a more sophisticated model,
Sargin et al. [42] use prosody features to directly drive head orientation with a HMM. Al-
though these methods only animate head orientation from prosody, Morency et al. [33]
suggest that prosody may also be useful for predicting gestural displays.
The proposed system selects appropriate motions using a prosody-driven HMM remi-
niscent of the above techniques, but each output segment corresponding to an entire ges-
ture subunit, such as a “stroke” or “hold.” This effectively reassembles the training motion
segments into a new animation. Current techniques for assembling motion capture into
new animations generally utilize some form of graph traversal to select the most appro-
priate transitions [3, 24]. The proposed system captures this notion of a motion graph in
the structure of the HMM, with high-probability hidden-state transitions corresponding to
transitions which occur frequently in the training data. While facial animation synthesis
HMMs have previously used remapping of observations [8], or conditioned the output an-
imations on the input audio [25], the proposed method maps animation states directly to
the hidden states of the model. This allows a simpler system to be designed that is able
to deal with coherent gesture subunits without requiring them to directly coincide in time
with audio segments.
While the methods described above are able to synthesize plausible body language or
facial expression for ECAs, none of them can generate full-body animations from live
speech. Animating human-controlled characters requires real-time speeds and a predictive
model that does not rely on looking ahead in the audio stream. Such a model constitutes
CHAPTER 1. INTRODUCTION 5

the main contribution of this work.

1.3 Gesture and Speech


The most widely-used taxonomy for gestures was proposed by McNeill [30], though he
later suggested that a more continuous classification would be more appropriate [31]. Mc-
Neill’s original taxonomy consists of four gesture types: iconics, metaphorics, deictics, and
beats. Iconics present images of concrete objects or actions, metaphorics represent abstract
ideas, deictics serve to locate entities in space, and beats are simple, repetitive motions
meant to emphasize key phrases [30].
In addition to the above taxonomy, McNeill made several other relevant observations.
In regard to beat gestures, he observed that “beats tend to have the same form regardless of
content” – that is, an up/down or sideways flick of the hand. He also observed that beats are
generally used to highlight important concepts or emphasize certain words, and constitute
almost half of all gestures in both narrative and non-narrative speech. While narrative
speech contains many iconic gestures, beats were observed by McNeill to constitute about
two thirds of the gestures accompanying non-narrative speech, suggesting that synthesizing
only beats would adequately animate non-narrative conversations [30].
McNeill also observed that metaphoric gestures vary across cultures, but within the
same culture tend to be drawn from a small pool of possible options. While narrative
speech tends to be dominated by iconic gestures, over 80% of the gestures accompanying
non-narrative speech were observed by McNeill to be either beats or metaphorics, suggest-
ing that synthesizing only beats and metaphorics would adequately animate non-narrative,
conversational speech [30].
As observed in [14], the overall amplitude and frequency of gestures varies across cul-
ture, so it is necessary for us to restrict the proposed method to a single cultural context.
Since metaphoric gestures are drawn from a small pool of options within a single such con-
text, they are also good candidates for synthesis. Even if metaphoric gestures depend on the
semantic meaning of the utterance, the probability of selecting an appropriate metaphoric
is quite high due to the small number of options. The abstract nature of the gesture further
increases the likelihood that it will be seen as plausible even if it does not correspond to the
CHAPTER 1. INTRODUCTION 6

semantic meaning, provided it occurs at the right time. Since such gestures often accom-
pany a central or emphasized idea, we can hypothesize that their occurrence may also be
signaled by prosody cues.
Since prosody correlates well to emphasis [49], it should correspond to the empha-
sized words that gestures highlight, making it useful for selecting gestures, such as beats
and metaphorics, with the appropriate timing and rhythm. In addition, there is evidence
that prosody carries much of the emotive content of speech [1, 44], and that emotional
state is often reflected in body language [50, 32]. Therefore, we can hypothesize that a
prosody-driven system would produce accurately timed and appropriate beats, as well as
more complex abstract or emotion-related gestures with the appropriate emotive content.
The system captures prosody using the three features that it is most commonly associ-
ated with: pitch, intensity, and duration. Pitch and intensity have previously been used to
drive expressive faces [13, 19], duration has a natural correspondence to the rate of speech,
and all of these aspects of prosody are informative for determining emotional state [43].
While semantic meaning also corresponds strongly to gesture, the system does not attempt
to interpret the utterance. This approach has some limitations, as discussed in Section 7.2,
but is more appropriate for online, real-time synthesis. Extracting semantic meaning from
speech to synthesize gesture without knowledge of the full utterance is difficult because it
requires a predictive speech interpreter, while prosody can be obtained efficiently without
looking ahead in the utterance.

1.4 System Overview


During the training phase, the system processes a corpus of motion capture and audio data
to build a probabilistic model that correlates gesture and prosody. The motion capture data
is processed by extracting gesture subunits, such as “strokes” and “holds.” These subunits
are then clustered to identify recurrences of the same motion, as described in Chapter 2.
The training speech signal is processed by extracting syllables and computing a set of
prosody-based features on each syllable, as described in Chapter 3.
Finally, the parameters of a hidden Markov model are estimated directly from the two
resulting state-streams, with clustered animation segments as hidden states and the audio
CHAPTER 1. INTRODUCTION 7

Motion Capture Speech

Segmentation Segmentation

Clustering Feature Extraction

Combined Motion/Speech State Stream

HMM Parameter Estimation

Figure 1.1: Training of the body language model from motion capture data with simulta-
neous audio.

segments as observations. Mapping hidden states directly to clustered motions allows us to


build a model which can handle non-synchronized motion and audio segments efficiently.
The head, upper body, and lower body are processed separately into three distinct HMMs,
since the gestures of these body parts do not always coincide. The hidden state space of the
HMM consists of “start” and “continuation” states for each motion, along with the fraction
of the motion which has elapsed up to the current time step. This allows motions to last
for multiple time steps to handle the common case of multiple syllable-observations within
one long motion. The model is described in more detail in Chapter 4. The entire training
process is summarized in Figure 1.1.
The HMM produced in the training phase is used in the synthesis phase to drive the
animation in real time based on a novel audio signal. Each time a new syllable is identified
in the audio stream, the system computes the most probable hidden state based on the
previous state, as well as the most probable state based on the current vector of forward
probabilities. These vectors are then combined to find the state that is both probable and
coherent. The synthesis process is described in Chapter 5.
CHAPTER 1. INTRODUCTION 8

The correlation between speech and body language is inherently a many-to-many map-
ping: there is no unique animation that is most appropriate for a given utterance [8]. This
ambiguity makes validation of synthesis techniques difficult. Since the only way to judge
the quality of a synthesized body language animation is by subjective evaluation, surveys
were conducted to validate the proposed method. The results of these surveys are presented
in Chapter 6.
Chapter 2

Motion Capture Processing

2.1 Motion Capture


The final training set for the system consists of 30 minutes of motion capture data with
accompanying speech, divided into four scenes. An additional 15 minute training set from
a different speaker was also used in the user study. Each scene was excerpted from an
extemporaneous conversation, ensuring that the body language was representative of real
human interaction. Although the topic of each conversation was not selected in advance,
conversations were intentionally selected to provide a variety of common behaviors, in-
cluding turn-taking, extended periods of fluent speech, the asking of questions, and the
expression of a few simple emotions (such as anger and excitement). Training data from
different speakers was not mixed together to avoid creating an inconsistent gesturing style.
Additional motion capture data from other speakers was used to test the ability of the sys-
tem to generalize to other gestural styles and for comparison evaluation of the synthesized
sequence, as described in Chapter 6.
For capture, I employed the markerless technique proposed by Mündermann et al. [35],
as well as the motion capture facilities at PhaseSpace Motion Capture. The markerless
system computes a visual hull using silhouettes taken from eight cameras and fits a high-
resolution scan of the speaker’s body to the visual hull with appropriate joint orientations.
The PhaseSpace motion capture system operates using conventional active markers. The
resulting marker location data was processed with Autodesk MotionBuilder to compute

9
CHAPTER 2. MOTION CAPTURE PROCESSING 10

joint orientations. Both the markerless data and the active marker data obtained from the
PhaseSpace system is processed to obtain an animated 14-joint skeleton. The data is then
segmented into gesture unit phases, henceforth referred to as gesture subunits. These seg-
ments are then clustered to identify recurrences of similar motions.

2.2 Motion Segmentation


Current motion segmentation methods identify broad categories of motion within a corpus
of motion capture data, such as walking and sitting [4, 34]. Perceptually distinct gesture
subunits are not as dissimilar as these broad categories, and much of the existing work on
data-driven gesture animation segments training data manually [48, 36]. However, manual
annotation does not scale gracefully to large amounts of training data. Therefore, a more
sensitive automatic segmentation algorithm is needed.
Gesture units consist of the “pre-stroke hold,” “stroke,” and “post-stroke hold” phases
[30, 20], which provide natural boundaries for segmentation of gesture motions. Such
phases have previously been used to segment hand gestures [29]. From this we deduce that
a gesture unit consists of alternating periods of fast and slow motion. To segment the motion
capture data into gesture unit phases (or “subunits”), boundaries are placed between strokes
and holds using an algorithm inspired by [16]. Since individual high-velocity strokes are
separated by low-velocity pauses, we may detect these boundaries by looking for dips in
the average angular velocities of the joints. For each frame of the motion capture data, let
ωj be the angular velocity of joint j, and let uj be a weight corresponding to the perceptual
importance of the joint. This weight is chosen to weigh high-influence joints, such as
the pelvis or abdomen, higher than smaller joints such as the hands or feet. We can then
compute a weighted average of the angular velocities as following:

14
X
z= uj ||ωj ||2 .
j=1

A stroke is expected to have a high z value, while a hold will have a low value. Similarly,
a pause between a stroke and a retraction will be marked by a dip in z as the arm stops
CHAPTER 2. MOTION CAPTURE PROCESSING 11

(a) The body parts which (b) Displacement of the key


constitute each of the parts, shown here, is used
three body sections are along with velocity to sum-
highlighted in different marize the dynamics of a seg-
colors. ment for clustering.

Figure 2.1: The body parts which constitute each section are shown in (a) and the motion
summary is illustrated in (b).

and reverses direction. Therefore, segment boundaries are inserted when this sum crosses
an empirically determined threshold. To avoid creating small segments due to noise, the
system only creates segments which exceed either a minimum length or a minimum limit
on the integral of z over the segment. To avoid unnaturally long still segments during long
pauses, the algorithm places an upper bound on segment length. The motions of the head,
arms, and lower body do not always coincide, so these three body sections are segmented
separately and henceforth treated as separate animation streams. The joints which consti-
tute each of the sections are illustrated in Figure 2.1(a). The number of segments extracted
from the training sets is summarized in Table 2.1.

2.3 Segment Clustering


Once the motion data has been segmented, the segments are clustered to identify recurring
gesture subunits. The clustering algorithm is based on Ward hierarchical clustering [52],
CHAPTER 2. MOTION CAPTURE PROCESSING 12

though a variety of methods may be appropriate. Ward hierarchical clustering merges two
clusters at every iteration so as to minimize the error sum-of-squares criterion (ESS) for
(j)
the new cluster. If we define Ci to be the center of the ith cluster, and Si to be the j th
segment in that cluster, we may define ESSi as

Ni
(j)
X
ESSi = D(Ci , Si ),
j

where D is the distance metric. The algorithm is modified to always select one of the exist-
ing sample points as a cluster center (specifically, the point which minimizes the resulting
ESS value), thus removing the requirement that a Euclidian metric be used. This allows
the distance function to be arbitrary complex.
Segments are compared according to a three-part distance function that takes into ac-
count length, starting pose, and a fixed-size “summary” of the dynamics of the segment.
The “summary” holds some measure of velocity and maximum and average displacement
along each of the axes for a few key body parts in each section, as in Figure 2.1. The head
section uses the rotation of the neck about each of the axes. The arm section uses the po-
sitions of the hands, which often determine the perceptual similarity of two gestures. The
lower body uses the positions of the feet relative to the pelvis, which capture motions such
as the shifting of weight. For the arms and lower body, velocity and maximum and average
displacement each constitute a six-dimensional vector (three axes per joint), while for the
head this vector has three dimensions. Each vector is rescaled to a logarithmic scale, since
larger gestures can tolerate greater variation while remaining perceptually similar. Using
six-dimensional vectors serves to de-emphasize the unused hand in one-handed gestures: if
instead a three-dimensional vector for each hand was rescaled, small motions in the unused
hand would be weighted too heavily on the logarithmic scale relative to the more important
large motion of the active hand. To compare two summaries, the algorithm uses the sum of
the distances between the three vectors.
Although the “summary” is the most significant part of the distance function, it is im-
portant that all gestures in a cluster have roughly the same length and pose, as this allows
us to synthesize a smooth animation stream. In particular, still segments or “holds” (seg-
ments without much motion – e.g., a z value that is consistently below the threshold) tend
CHAPTER 2. MOTION CAPTURE PROCESSING 13

Final Training Data Motion Statistics


Training Set Body Section Total Segments Total Clusters Avg Segments/Cluster
Head 2542 20 127.1
Set I Arms 2388 45 53.1
Lower Body 1799 6 299.8
Head 1349 17 79.4
Set II Arms 1272 32 39.8
Lower Body 919 3 306.3

Table 2.1: This table shows the number of segments and clusters identified for each body
section in each training set. Training set I consisted of 30 minutes divided into four scenes.
Training set II consisted of 15 minutes in eight scenes.

to have very similar summaries, so the weight of the pose is increased on such segments
to avoid clustering all still segments together. The starting pose is far more important for
still segments, which remain in their starting pose for their duration, while active segments
quickly leave the starting pose.
Table 2.1 provides a summary of the number of clusters identified in each training
set. It should be noted that the lower body section generally contained very few unique
segments. In fact, in training set II, only two holds and one motion were identified. The
motion corresponded to a shifting of weight from one foot to the other. The larger training
set contained a few different weight shifting motions. The arms and head were more varied
by comparison, reflecting their greater prominence in body language.
Chapter 3

Audio Segmentation and Prosody

3.1 Gesture Synchrony and Prosody


Gesture strokes have been observed to consistently end at or before, but never after, the
prosodic stress peak of the accompanying syllable. This is referred to as one of the gesture
“synchrony rules” by McNeill [30]. Due to the importance of syllables for maintaining
the rhythm of gestures, syllables serve as the basic segmentation unit for audio data in the
proposed system. During both training and synthesis, the audio data is parsed to identify
syllable boundaries, and a concise prosody descriptor is computed for each syllable. Dur-
ing real-time synthesis, the syllable segmentation algorithm identifies syllables precisely
when the peak of the next syllable is encountered, making it easier to produce gestures in
accordance with the synchrony rule. This algorithm is further discussed in Section 3.3.
As noted earlier, prosody carries much of the emotive content of speech, and therefore
is expected to correlate well to body language. Prosody also allows the system to operate
independently of language. Therefore, the features extracted for each syllable reflect some
aspect of prosody, which is defined as pitch, intensity, and duration, as described in Section
3.4.

14
CHAPTER 3. AUDIO SEGMENTATION AND PROSODY 15

3.2 Audio Processing


For both syllable segmentation and feature extraction, the system continuously extracts
pitch and intensity curves from the audio stream. The intensity curve is used to drive
segmentation, and both curves are used after segmentation to compute a concise prosody
descriptor for each audio segment. Pitch is extracted using the autocorrelation method, as
described in [6], and intensity is extracted by squaring waveform values and filtering them
with a Gaussian analysis window. For both tasks, components of the Praat speech analysis
tool [7] were used. Components of the tool were modified and optimized to run in real
time, allowing for continuous extraction of pitch and intensity.

3.3 Syllable Segmentation


For efficient segmentation, the system employs a simple algorithm inspired by Maeran
et al. [28], which identifies peaks separated by valleys in the intensity curve, under the
assumption that distinct syllables will have distinct intensity peaks. In order to segment the
signal progressively in real time, the algorithm identifies the highest peak within a fixed
radius, and continues scanning the intensity curve until the next local maximum is found.
If this maximum is at least a fixed distance away from the previous one, the previous peak
is identified as the peak of the syllable terminating at the lowest point between the two
peaks. Finally, segment boundaries are inserted at voiced/unvoiced transitions, and when
the intensity falls below a fixed silence threshold. As stated previously, one effect of using
this algorithm is that a syllable is only detected once the intensity peak of the next syllable
is found, so syllable observations are issued precisely at syllable peaks, which allows the
system to more easily follow the previously mentioned synchrony rule.

3.4 Feature Extraction


In order to train the system on a small corpus of training data, the size of the observation
state space is limited by using a small set of discrete features, rather than the more standard
mixture of Gaussians approach. The selected features concisely describe each of the three
CHAPTER 3. AUDIO SEGMENTATION AND PROSODY 16

Audio Features
Feature Variable Value 0 Value 1 Value 2
Inflection up Pitch change dF0 dF0 − µdF0 < σdF0 dF0 − µdF0 ≥ σdF0
Inflection down Pitch change dF0 dF0 − µdF0 > −σdF0 dF0 − µdF0 ≤ −σdF0
Intensity Intensity I I < Csilence I − µI < σI I − µI ≥ σI
Length Syllable length L L − µL ≤ − σ2L − σ2L < L − µL < σL L − µL ≥ σL

Table 3.1: This table presents a summary of the audio features used by the system. For
each continuous variable X, µX represents its mean value and σX represents its standard
deviation.

aspects of prosody: pitch, intensity, and duration. The features are summarized in Table
3.1. Pitch is described using two binary features indicating the presence or absence of sig-
nificant upward or downward inflection, corresponding to one standard deviation above the
mean. Intensity is described using a trinary feature indicating silence, standard intensity,
or high intensity, corresponding to half a standard deviation above the mean. Length is
also described using a trinary feature, with “long” segments one deviation above the mean
and “short” segments half a deviation below. This asymmetry is necessitated by the fact
that syllable lengths are not normally distributed. The means and deviations of the training
sequence are established prior to feature extraction. During synthesis, the means and devi-
ations are estimated incrementally from the available audio data as additional syllables are
observed.
This set of discrete prosody-based features creates an observation state-space of 36
states, which enumerates all possible combinations of inflection, intensity, and duration. In
practice, the state space is somewhat smaller, since silent segments do not contain inflec-
tion, and are restricted to short or medium length. Long silent segments are truncated, since
they do not provide additional information over a sequence of medium segments, though
short segments are retained, as these usually correspond to brief pauses between words.
This effectively limits the state space to about 26 distinct observation states.
Chapter 4

Probabilistic Gesture Model

4.1 Probabilistic Models for Body Language


Previously proposed HMM-driven animation methods generally use temporally aligned
animation and speech segments. The input audio is remapped directly to animation output
[8], or is coupled to the output in a more complex manner, such as conditioning output
and transition probabilities on the input state [25]. The HMM itself is trained with some
variation on the EM algorithm [25, 53].
Since the input and output states in the proposed system are not temporally aligned,
and since each of the animation segments corresponds to a meaningful unit, such as a
“stroke” or a “hold,” the model takes a different approach and maps animation segments
directly to the hidden states of the model, rather than inferring hidden structure with the EM
algorithm. This allows greater control in designing a specialized system for dealing with
the lack of temporal alignment even when using a small amount of training data, though
at the expense of being unable to infer additional hidden structure beyond that provided by
the clustering of gesture subunits. The hidden state space of the HMM consists of “start”
and “continuation” states for each motion, along with the fraction of the motion which
has elapsed up to the current observation. This allows the same motion to span multiple
observations and handle the common case of multiple syllables within a single stroke or
hold.

17
CHAPTER 4. PROBABILISTIC GESTURE MODEL 18

In Section 4.2, I formulate the hidden state space for the gesture model. A parametriza-
tion of the model which allows efficient inference and training is described in Section 4.3,
and the estimation of model parameters from training data is detailed in Section 4.4.

4.2 Gesture Model State Space


The process of gesture subunit formation consists of the selection of appropriate motions
that correspond well to speech and line up in time to form a continuous animation stream.
As discussed in Section 3.1, gesture strokes terminate at or before syllable peaks, and syl-
lable observations arrive when the peak of the next syllable is encountered. In the training
data, less than 0.4% of motion segments did not contain a syllable observation, so we may
assume that at least one syllable will be observed in every motion, though we will often ob-
serve more. Therefore, syllable observations provide a natural discretization for continuous
gesture subunit formation, allowing us to model this process with a discrete-time HMM.
Under this discretization, we assume that gesture formation is a Markov process in
which Ht , the animation state at syllable observation Vt , depends only on Vt and the previ-
ous animation state Ht−1 . As discussed in Section 3.4, Vt contains a small set of discrete
prosody features, and may be expressed as the index of a discrete observation state, which
is denoted by vj . We define the animation state Ht = {At , τt (i)}, where At = mi is the
index of the motion cluster corresponding to the desired motion, and τt (i) is the fraction
of that motion which has elapsed up to the observation Vt . This allows motions to span
multiple syllables.
To prevent adjacent motions from overlapping, one could use a temporal scaling factor
to ensure that the current motion terminates precisely when the next motion begins. How-
ever, during real-time synthesis, there is no knowledge of the length of future syllables, and
it is therefore not possible to accurately predict the scaling factor. Instead, we may inter-
rupt a motion and begin a new one when it becomes unlikely that another syllable will be
observed within that motion, thus ensuring that motions terminate at syllable observations
and do not overlap.
CHAPTER 4. PROBABILISTIC GESTURE MODEL 19

m0 m1 m2

V1 V2 V3 V4 V5

V1 V2 V3 V4

A1 : s1 A2 : c1 A3 : c1 A4 : s2
τ1 : −.1 τ2 : .3 τ3 : .5 τ3 : −.2

Figure 4.1: The hidden state space of the model consists of the index of the active motion,
At = si or ci , and the fraction of that motion which has elapsed up to this point, τt .
Observations Vt are paired with the active motion at the end of the next syllable.

4.3 Parameterizing the Gesture Model


In order to compactly express the parameters of the gesture model, first note that τ evolves
in a very structured manner. If observation Vt corresponds to the continuation of the current
motion mi , then the following equations describe the evolution of A and τ :

At = At−1 = mi

τt (i) = τt−1 (i) + 4τt (i),

where 4τt (i) is the fraction of the motion mi which has elapsed since the previous ob-
servation. If instead the current motion terminates at observation Vt and is succeeded by
At = mj , then we simply have τt (j) = 0.
Let τt0 (i) = τt−1 (i)+4τt (i), then τt is completely determined by τt0 and At , except in the
case when motion mi follows itself, and At = At−1 = mi but τt (i) = 0. To disambiguate
this case, we introduce a start state si and a continuation state ci for each motion cluster mi ,
so that At may take on either si or ci (we will denote an arbitrary animation state as aj ).
This approach is similar to the “BIO notation” (beginning, inside, outside) used in semantic
role labeling [41]. Under this new formulation, τt (i) = τt0 (i) when At = ci and At−1 = ci
CHAPTER 4. PROBABILISTIC GESTURE MODEL 20

or si . Otherwise, τt (i) = 0. Therefore, τt is completely determined by τt0 and At .


The transition probabilities for At are a function of At−1 = mi and τt0 (i). While this dis-
tribution may be learned from the training data, we can simplify it considerably. Although
the precise length of a motion may vary slightly for syllable alignment, the transitions out
of that motion do not depend strongly on this length, and we can assume that they are in-
dependent. Therefore, we can define Tci as the vector of transition probabilities out of a
motion mi :
Tci ,sj = P (At = sj |At−1 = ci , At 6= ci ).

We can also assume that the continuation of ci depends only on τt0 (i), since if At = ci ,
At−1 = ci or si , providing little additional information. Intuitively, this seems reason-
able, since encountering another observation within a motion becomes less probable as the
motion progresses. Therefore, we can construct the probabilities of transitions from ci as
a linear combination of Tci and eci , the guaranteed transition into ci , according to some
function fi of τt0 (i):

fi (τ 0 (i)) At = ci
t
P (At |At−1 = ci ) = (4.1)
(1 − f (τ 0 (i)))T otherwise
i t ci ,At

We now define the vector Tsi as the distribution of transitions out of si , and construct the
full transition matrix T = [Ts1 , Tc1 , ..., Tsn , Tcn ], where n is the total number of motion
clusters. The parameters of the HMM are then completely specified by the matrix T , a ma-
trix of observation probabilities O given by Oi,j = P (vi |aj ), and the interpolation functions
f1 , f2 , ..., fn .

4.4 Estimating Model Parameters


The transition and observation matrices are estimated directly from the training data by
counting the frequency of transitions and observations. When pairing observations with
animation states, we must consider the animation state that is active at the end of the next
observation, as shown in Figure 4.1. When a motion mi terminates on the syllable Vt , we
must predict the next animation segment. However, if we associate Vt with the current
CHAPTER 4. PROBABILISTIC GESTURE MODEL 21

segment, the observed evidence would indicate that ci is the most probable state, which is
not the case. Instead, we would like to predict the next state, which is precisely the state
that is active at the end of the next syllable Vt+1 .
The value of an interpolation function, fi (τt (i)), gives the probability that another syl-
lable will terminate within motion mi after the current one, which terminated at point τt (i).
Since motions are more likely to terminate as τt (i) increases, we may assume that fi is
monotonically decreasing. From empirical observation of the distribution of τ values for
final syllables within training motions, I concluded that a logistic curve would be well
suited for approximating fi . Therefore, the interpolation functions are estimated by fitting
a logistic curve to the τ values for final syllables within each training motion cluster by
means of gradient descent.
Chapter 5

Synthesis

5.1 Overview
The model assembled in the training phase allows the system to animate a character in real
time from a novel speech signal. Since the model is trained on animation segments which
follow audio segments, it is able to predict the most appropriate animation as soon as a new
syllable is detected. As noted earlier, gesture strokes terminate at or before the intensity
peak of the accompanying syllable [30]. The syllable segmentation algorithm detects a
syllable in continuous speech when it encounters the syllable peak of the next syllable, so
new gestures begin at syllable peaks. Consequently, the previous gesture ends at or before
a syllable peak.
To synthesize the most probable and coherent animation, the system computes a vector
of forward probabilities along with direct probabilities based on the previously selected
hidden state. The forward probabilities carry context from previous observations, while the
direct probabilities indicate likely transitions given only the last displayed animation and
current observation. Together, these two vectors may be combined to obtain a prediction
that is both probable given the speech context and coherent given the previously displayed
state, resulting in animation that is both smooth and plausible. The synthesis process is
illustrated in Figure 5.1.
Once the most probable and coherent motion cluster has been selected, the system
selects a single segment from this cluster which blends well with the current pose of the

22
CHAPTER 5. SYNTHESIS 23

Previous Update

Syllable Observation Vt

At−1 Direct Forward α


~ t−1 , τ̄t−1
Probabilities Probabilities

Update: Equation 5.4 Update: Equations 5.1,5.3

~γt ~ t × ~γt
α α
~ t , τ̄t

At Stochastic Sampling

Next Update
Figure 5.1: Diagram of the synthesis algorithm for one observation. At is the tth animation
state, Vt is the tth observation, α~ t is the forward probability vector, τ̄t is the vector of
expected τ values, and ~γt is the direct probability vector.

character. This segment is then blended into the animation stream, as described in Section
5.5.

5.2 Forward Probabilities


Given the parameters of a hidden Markov model and a sequence of syllable-observations
{V1 , V2 , ..., Vt }, the most probable hidden state at time t may be efficiently determined from
forward probabilities [40]. Since transition probabilities depend on the value τt (i) at the
current observation, we must take it into account when updating forward probabilities. To
this end, the system maintains both a vector of forward probabilities α~t , and a vector τ̄t of
the expected values E(τt (i)|At = ci ) at the tth observation.
Using the expected value of τt (i) rather than a more complex probability distribution
over possible values implies the assumption that the distribution of τt (i) is convex - that is,
CHAPTER 5. SYNTHESIS 24

that using the expected value gives a good approximation of the distribution. This assump-
tion may not hold in the case of two or more probable timelines which transition into mi
at different points in the past, resulting in two or more peaks in the distribution of τt (i).
However, we assume that this case is not common.
As before, we define a vector τ̄t0 (i) = τ̄t−1 (i)+4τt (i). Using this vector, computing the
transition probabilities between any two states at observation Vt is analogous to Equation
4.1:

 f (τ̄ 0 (i)) At = At−1 = ci
 i t


P (At |At−1 ) = (1 − fj (τ̄t0 (j)))Tcj ,At At−1 = cj



T
At−1 ,At otherwise

With this formula for the transition between any two hidden states, we can use the usual
update rule for α
~ t:

2n
X
αt (i) = η αt−1 (k)P (At = ai |At−1 = ak )P (Vt |ai ), (5.1)
k=1

where η is the normalization value. Once the forward probabilities are computed, τ̄t must
also be updated. This is done according to the following update rule:

τ̄t (i) = E(τt (i)|At = ci ) =


2n
X P (At = ci , At−1 = ak )E(τt (i)|At = ci , At−1 = ak )
. (5.2)
k=1
P (At = ci )

Since only si and ci can transition into ci , P (At = ci , At−1 ) = 0 if At−1 6= ci and
At−1 6= si . If At−1 = si , this is the first event during this motion, so the previous
value τt−1 (i) must have been zero. Therefore, E(τt (i)|At = ci , At−1 = si ) = 4τt (i).
If At−1 = ci , the previous expected value τt−1 (i) is simply τ̄t−1 (i), so the new value is
E(τt (i)|At = ci , At−1 = ci ) = τ̄t−1 (i) + 4τt (i) = τ̄t0 (i). Therefore, we may reduce Equa-
tion 5.2 to:
CHAPTER 5. SYNTHESIS 25

P (At = ci , At−1 = ci )E(τt (i)|At = ci , At−1 = ci )


τ̄t (i) =
P (At = ci )
P (At = ci , At−1 = si )E(τt (i)|At = ci , At−1 = si )
+
P (At = ci )
αt−1 (ci )fi (τ̄t (i))τ̄t (i) + αt−1 (si )Tsi ,ci 4τt (i)
0 0
= . (5.3)
αt (ci )

Once the forward probabilities and τ̄t are computed, the most probable state could sim-
ply be selected from αt (i). However, choosing the next state based solely on forward
probabilities would produce an erratic animation stream, since the most probable state may
alternate between several probable paths as new observations are provided.

5.3 Most Probable and Coherent State


Since the system has already displayed the previous animation state At−1 , it can estimate
the current state from only the previous state and current observation to ensure a high-
probability transition, and thus a coherent animation stream. Given τt0 (i) = τt−1 (i)+4τt (i)
for currently active motion i, the system computes transition probabilities just as in Section
4.3. If the previous state is the start state si , transition probabilities are given directly as
P (At |At−1 = si ) = Tsi ,At . If the previous state is the continuation state ci , the transition
probability P (At |At−1 = ci ) is given by Equation 4.1. With these transition probabilities,
the vector of direct probabilities ~γt can be computed in the natural way as:

γt (i) = ηP (At = ai |At−1 )P (Vt |ai ). (5.4)

Using ~γt directly, however, would quickly drive the synthesized animation down an im-
probable path, since context is not carried forward. Instead, ~γt and α
~ t can be used together
to select a state which is both probable given the sequence of observations and coherent
given the previously displayed animation state. The final distribution for the current state
~ t × ~γt .
is therefore computed as the normalized pointwise product of the two distributions α
As shown in Figure 5.2, this method also generally selects states that have a higher forward
CHAPTER 5. SYNTHESIS 26

0.3 maxi αt (i)


maxi αt × γt (i)
maxi γt (i)
state index

0.2

0.1

0 10 20 30 40 0 10 20 30 40
Figure 5.2: The image shows the states selected over 40 observations with maxi γt (i) (red)
and maxi αt (i) × γt (i) (green), with dark cells corresponding to high forward probability.
The graph plots the exact probability of the selections, as well as maxi αt (i).

probability than simply using ~γt directly. The green lines, representing states selected us-
ing the combined method, tend to coincide with darker areas, representing higher forward
probabilities, though they deviate as necessary to preserve coherence.
To obtain the actual estimate, the most probable and coherent state could be selected as
arg maxi (~
αt × ~γt )(i). However, always displaying the “optimal” animation is not neces-
sary, since various gestures are often appropriate for the same speech segment. Instead, the
current state is selected by stochastically sampling the state space according to this prod-
uct distribution. This has several desirable properties: it introduces greater variety into the
animation, prevents grating repetitive motions, and makes the algorithm less sensitive to
issues arising from the specific choice of clusters.
To illustrate this last point, consider a case where two fast gestures receive probabilities
of 0.3 each, and one slow gesture receives a probability of 0.4. Clearly, a fast gesture is
more probable, but a highest-probability selection will play the slow gesture every time.
Randomly sampling according to the distribution, however, will properly display a fast
gesture six times out of ten.
CHAPTER 5. SYNTHESIS 27

5.4 Early and Late Termination


As discussed in Section 4.2, the system accounts for variation in motion length by termi-
nating a motion if another syllable is unlikely to occur within that motion. In the case that
this event is mispredicted and the motion is not terminated, it may end between syllable
observations. To handle this case, the system re-examines the last observation by restoring
~ t−1 and τ̄t−1 and performing the update again, with the new evidence that, if At−1 = ci or
α
si , At 6= ci . This corrects the previous “misprediction,” though the newly selected motion
is not always as far along as it should be, since it must start from the beginning.

5.5 Constructing the Animation Stream


Once the animation state and its corresponding cluster of animation segments is chosen, we
must blend an appropriate animation segment from this cluster into the animation stream.
Although segments within a motion cluster generally share a similar pose, there is some
variation. Because of this, some segments in a cluster may be closer to the last frame in the
animation stream than others. The system performs the actual segment selection by consid-
ering only the segments which begin in a pose similar to that of the last frame. In practice,
the system selects a subset of a cluster, the pose difference of every element of which is
within some tolerance of the minimum pose difference for that cluster. One of the seg-
ments that fall within this tolerance is randomly selected. Random selection avoids jarring
repetitive motion when the same animation state occurs multiple times consecutively.
Once the appropriate segment is selected, it must be blended with the previous frame to
create a smooth transition. Although linear blending is generally sufficient for a perceptu-
ally smooth transition [51], it requires each motion to have enough extra frames at the end
to accommodate a gradual blend, and simply taking these frames from the original motion
capture data may introduce extra, unwanted gestures. For many of the motions, the blend
interval would also exceed the length of the gesture, requiring many gestures to be linearly
blended simultaneously.
Instead, the proposed method uses a velocity-based blending algorithm, which keeps
the magnitude of the angular velocity on each joint equal to that of the desired animation,
CHAPTER 5. SYNTHESIS 28

and adjusts joint orientations to be as close as possible to the desired pose within this
constraint. For a new rotation quaternion rt , previous rotation rt−1 , desired rotation dt , and
the derivative in the source animation of the desired frame 4dt = dt d¯t−1 , the orientation
of a joint at frame t is given by
 
angle(4dt )
rt = slerp rt−1 , dt ; ,
angle(dt r̄t−1 )
where “slerp” is the quaternion spherical interpolation function [45], and “angle” gives
the angle of the axis-angle representation of a quaternion. The rotation of each joint can
be represented either in parent-space or world-space. Using a parent-space representation
drastically reduces the chance of “unnatural” interpolations (such as violation of anatomic
constraints), while using a world-space representation preserves the “feel” of the desired
animation, even when the starting pose is different, by keeping to roughly the same align-
ment of the joints. For example, a horizontal gesture performed at hip level would remain
horizontal even when performed at chest level, so long as world-space representation of the
joint rotations is used. In practice, the artifacts introduced by world-space blending are ex-
tremely rare, so all joints are blended in world-space with the exception of the hands, which
are blended in parent-space. Being farther down on the skeleton, the hands are particularly
susceptible to unnatural poses as a result of world-space blending.
The velocity-based method roughly preserves the “feel” of the desired animation even
when the starting pose is different, by maintaining the same velocity magnitude. One effect
of this is that the actual pose of still segments, or “holds,” is relatively unimportant, since
when 4dt ≈ 0, the last frame is held indefinitely. Due to noise and low-level motion, these
segments will still eventually “drift” toward the original segment pose, but will do so very
gradually.
Chapter 6

Evaluation

6.1 Evaluation Methodology


There is no single correct body language sequence for a given utterance, which makes
validation of the system inherently difficult. The only known way to determine the quality
of synthesized body language is by human observation. To this end, I conducted four
surveys to evaluate the method. Participants unfamiliar with the details of the system were
recruited from a broad group of university students. Participants were asked to evaluate
three animations corresponding to the same utterance, presented in random order on a web
page. The utterances ranged from 40 to 60 seconds in length.
In addition to the synthesized sequence, two controls were used. One of the controls
contained motion capture of the original utterance being spoken. The other control was
generated by randomly selecting new animation segments whenever the current segment
terminated, producing an animation that did not correspond to the speech but still appeared
generally coherent. The original motion capture provides a natural standard for quality,
while random selection represents a simple alternative method for synthesizing body lan-
guage in real time. Random selection has previously been used to animate facial expres-
sions [38] and to add detail to coarsely defined motion [26]. As observed in [22], the lack of
facial animation tends to distract viewers from evaluating synthesized gestures. Therefore,
the videos featured a simplified model without a face, as shown in Figure 6.1.
Two sets of training data were used in the evaluation, from two different speakers.

29
CHAPTER 6. EVALUATION 30

“We just, uh, you know ... we just hung around, uh ... went to the beach.”

Figure 6.1: An excerpt from a synthesized animation used in the evaluation study.

Training set I consisted of 30 minutes of motion capture data in four scenes, recorded from
a trained actor. Training set II consisted of 15 minutes in eight scenes, recorded from a
good speaker with no special training. For each training set, two surveys were conducted.
Surveys AI and AII sought to determine the quality of the synthesized animation compared
to motion capture of the same speaker, in order to ensure a reliable comparison without
interference from confounding variables, such as gesturing style. These surveys used ut-
terances from the training speakers that were not present in the training data. Surveys BI
and BII sought to determine how well the system performed on an utterance from a novel
speaker.

6.2 Results
After viewing each animation, participants rated each animation on a five-point Likert scale
for timing and appropriateness. To determine timing, participants were asked their agree-
ment on the statement “the movements of character X were generally timed appropriately.”
To determine the appropriateness of the motions for the current speech, they were asked
their agreement on the statement “the motions of character X were generally consistent
with what he was saying.” The questions and average scores for the surveys are presented
in Figure 6.2.
In all surveys, the synthesized sequence outperformed the random sequence, with p <
0.05. In fact, with the exception of survey AI, the score given to the synthesized sequences
remained quite stable. The relatively low scores of both the synthesized and randomly
constructed sequences in survey AI may be accounted for by the greater skill of the trained
CHAPTER 6. EVALUATION 31

Movements were Motions were


timed appropriately. consitent with speech.
same speaker

4.45 4.20
AI 2.70 2.52
N=45
3.27 2.93
1.0 2.0 3.0 4.0 5.0 1.0 2.0 3.0 4.0 5.0
novel speaker

4.27 3.57
BI 3.41 2.95
N=37
3.97 3.97
1.0 2.0 3.0 4.0 5.0 1.0 2.0 3.0 4.0 5.0
same speaker

4.55 4.25
AII 3.00 2.65
N=40
3.83 3.55
1.0 2.0 3.0 4.0 5.0 1.0 2.0 3.0 4.0 5.0
novel speaker

3.38 3.12
BII 3.36 3.14
N=50
4.04 3.70
1.0 2.0 3.0 4.0 5.0 1.0 2.0 3.0 4.0 5.0

Original motion capture Random synthesis Proposed method

Figure 6.2: Mean scores on a 5-point Likert scale for the four evaluation surveys. Error
bars indicate standard error.
CHAPTER 6. EVALUATION 32

actor in set I, which is the reason that training set I is used in all other examples in this
thesis and the accompanying videos discussed in Section 6.3.
In the generalization surveys BI and BII, the original motion capture does not always
outperform the synthesized sequence, and in survey BII, its performance is comparable
to that of the random sequence. This indicates that the two speakers used in the general-
ization tests had body language that was not as compelling as the training data. This is
not unexpected, since skilled speakers were intentionally chosen to create the best possi-
ble training data, and different individuals may appear more or less comfortable with their
body language in conversation. It may be difficult for viewers to separate their notions of
“believable” and “effective” speakers (e.g., an awkward speaker will appear less “realistic,”
even though he is just as human as a more skilled speaker). Even the random sequence used
the gesture subunits from the training data, and the transitions in the random sequence were
smooth, due to the fact that motion segments were segmented at low-velocity boundaries
and the blending was velocity-based. Therefore, it is reasonable to conclude that even a
random sequence from a skilled speaker might appear more “believable” than the original
motion capture of a less confident speaker.
It is notable, however, that our system was able to synthesize gestures that were as
appropriate as those in the same-speaker tests. The stability of the scores for our system
across the surveys indicates that it was able to successfully transplant the training speakers’
more effective gesturing styles to the novel speakers.

6.3 Video Examples


In addition to the images provided in this thesis, a number of videos were created to demon-
strate the quality of animations synthesized with the proposed system. The videos present
examples of animations for numerous speakers, utterances with pronounced emphasis, and
utterances with a clear emotional atmosphere. One of the sets of videos from the surveys
is also included, along with separate evaluations of the selection and synchronization com-
ponents, as discussed in Section 7.1. The videos may be viewed on a website, located at
http://www.stanford.edu/˜svlevine/vids/svlugthesis.htm.
Chapter 7

Discussion and Future Work

7.1 Applicability of Prosody and the Synchrony Rule


I presented a system for generating expressive body language animations for human charac-
ters from live speech input. The system is efficient enough to run on a 2 GHz Intel Centrino
processor, making it suitable for modern consumer PCs. While drawing on previous work
on animated ECAs, the proposed method addresses the somewhat neglected problem of
animating human characters in networked virtual environments, which requires a real-time
technique to handle unpredictable and varied extemporaneous speech. The system works
off of two assumptions: the co-occurrence of gestures and syllable peaks and the useful-
ness of prosody for identifying body language. The former assumption is justified by the
“synchrony rule” described in [30], and the latter by the relationship between prosody and
emotion [1], and by extension body language. The effectiveness of the proposed method
was validated by a comparative study that confirmed that these assumptions produce plau-
sible body language that often compares well to the actual body language accompanying a
sample utterance.
In addition to the survey discussed in Chapter 6, a pilot study was conducted in which
participants were also shown a random animation with gestures synchronized to syllable
peaks, and an animation generated with the proposed system but without the synchrony
rule (e.g., all gestures ran to completion). Although these animations were not included

33
CHAPTER 7. DISCUSSION AND FUTURE WORK 34

“Motorcycles become a fully immersive experience, where the sound of it, the vibration, the seating, it all matters.”
Figure 7.1: An excerpt from a synthesized animation.

in the final survey to avoid fatiguing the responders, comments from the pilot study indi-
cated that both synchrony and proper selection were needed to synthesize plausible body
language. Responders noted that the randomly animated character “felt a little forced” and
“didn’t move with the rhythm of the speech,” while the character which did not synchronize
with syllable peaks appeared “off sync” and “consistently low energy.” Example anima-
tions that use random selection with synchronization and HMM-driven selection without
synchronization may be viewed online, as discussed in Section 6.3. These findings suggest
that both the “synchrony rule” and prosody-based gesture selection are useful for gesture
synthesis.

7.2 Limitations
Despite the effectiveness of this method for synthesizing plausible animations, it has several
inherent limitations. Most importantly, relying on prosody alone precludes the system from
generating meaningful iconic gestures when they are not accompanied by emotional cues.
Metaphoric gestures are easier to select because they originate from a smaller repertoire and
are more abstract [30], and therefore more tolerant of mistakes, but iconic gestures cannot
be “guessed” without interpreting the words in an utterance. This fundamental limitation
may be addressed in the future with a method that combines rudimentary word recognition
with prosody-based gesture selection. Word recognition may be performed either directly
or from phonemes, which can already be extracted in real time [37].
A second limitation of this method is that it must synthesize gestures from information
that is already available to the listener, thus limiting its ability to provide supplementary
CHAPTER 7. DISCUSSION AND FUTURE WORK 35

details. While there is no consensus in the linguistics community on just how much infor-
mation is conveyed by gestures [27], a predictive speech-based real-time method is unlikely
to impart on the listener any more information than could be obtained from simply listen-
ing to the speaker attentively, while real gestures often convey information not present in
speech [30]. Therefore, while there are clear benefits to immersiveness and realism from
compelling and automatic animation of human-controlled characters, such methods cannot
provide additional details without some form of additional input. This additional input,
however, need not necessarily be as obtrusive as keyboard or mouse controls. For example,
facial expressions carry more information about emotional state than prosody [1], which
suggests that more informative gestures may be synthesized by analyzing the speaker’s
facial expressions, for example though a consumer webcam.

7.3 Future Work


Besides addressing the limitations of the proposed system, future work may also expand
its capabilities. Training data from multiple individuals, for example, may allow the syn-
thesis of “personalized” gesture styles, as advocated by [36]. A more advanced method
of extracting gestures from training data may allow for the principal joints of a gesture to
be identified automatically, which would both eliminate the need for the current separation
of leg, arm, and head gestures and allow for more intelligent blending of gestures with
other animations. This would allow a gesturing character to engage in other activities with
realistic interruptions for performing important gestures.
In addition to animating characters, I hope that the proposed method will eventually
reveal new insight into how people form and perceive gestures. The pilot survey already
suggests that the method may be useful for confirming the validity of the synchrony rule
and the relationship between prosody and gesture. Further work could explore the relative
importance of various gesture types, as well as the impact of timing and appropriateness on
perceived gesture quality.
CHAPTER 7. DISCUSSION AND FUTURE WORK 36

“Which is also one of those very funny episodes that are in this movie.”
Figure 7.2: Synthesized body language helps create an engaging virtual interaction.

7.4 Conclusion
In this thesis, I present a new method for generating plausible body language for a variety of
utterances and speakers, such as the virtual interaction portrayed in Figure 7.2, or the story
being told by the character in Figure 7.1. The use of vocal prosody allows the system to
detect emphasis, produce gestures that reflect the emotional state of the speaker, and select
a rhythm that is appropriate for the utterance. Since the system generates compelling body
language in real time without specialized input, it is particularly appropriate for animating
human characters in networked virtual worlds.
Bibliography

[1] Ralph Adolphs. Neural systems for recognizing emotion. Current Opinion in Neuro-
biology, 12(2):169–177, 2002.

[2] Irene Albrecht, Jörg Haber, and Hans peter Seidel. Automatic generation of non-
verbal facial expressions from speech. In Computer Graphics International, pages
283–293, 2002.

[3] Okan Arikan and David Forsyth. Interactive motion generation from examples. ACM
Transactions on Graphics, 21(3):483–490, 2002.

[4] Jernej Barbič, Alla Safonova, Jia-Yu Pan, Christos Faloutsos, Jessica K. Hodgins,
and Nancy S. Pollard. Segmenting motion capture data into distinct behaviors. In
Proceedings of Graphics Interface 2004, pages 185–194, 2004.

[5] Jonas Beskow. Talking Heads - Models and Applications for Multimodal Speech
Synthesis. PhD thesis, KTH Stockholm, 2003.

[6] Paul Boersma. Accurate short-term analysis of the fundamental frequency and the
harmonics-to-noise ratio of a sampled sound. In Proceedings of the Institute of Pho-
netic Sciences, volume 17, pages 97–110, 1993.

[7] Paul Boersma. Praat, a system for doing phonetics by computer. Glot International,
5(9-10):314–345, 2001.

[8] Matthew Brand. Voice puppetry. In SIGGRAPH ’99: ACM SIGGRAPH 1999 Papers,
pages 21–28, New York, NY, USA, 1999. ACM.

37
BIBLIOGRAPHY 38

[9] Christoph Bregler, Michele Covell, and Malcolm Slaney. Video rewrite: driving vi-
sual speech with audio. In SIGGRAPH ’97: ACM SIGGRAPH 1997 Papers, pages
353–360, New York, NY, USA, 1997. ACM.

[10] Justine Cassell. Embodied conversational interface agents. Communications of the


ACM, 43(4):70–78, 2000.

[11] Justine Cassell, Catherine Pelachaud, Norman Badler, Mark Steedman, Brett Achorn,
Tripp Becket, Brett Douville, Scott Prevost, and Matthew Stone. Animated conver-
sation: rule-based generation of facial expression, gesture & spoken intonation for
multiple conversational agents. In SIGGRAPH ’94: ACM SIGGRAPH 1994 Papers,
pages 413–420, New York, NY, USA, 1994. ACM.

[12] Justine Cassell, Hannes Högni Vilhjálmsson, and Timothy Bickmore. Beat: the be-
havior expression animation toolkit. In SIGGRAPH ’01: ACM SIGGRAPH 2001
Papers, pages 477–486, New York, NY, USA, 2001. ACM.

[13] Erika Chuang and Christoph Bregler. Mood swings: expressive speech animation.
ACM Transactions on Graphics, 24(2):331–347, 2005.

[14] David Efron. Gesture, Race and Culture. The Hague: Mouton, 1972.

[15] Tony Ezzat, Gadi Geiger, and Tomaso Poggio. Trainable videorealistic speech anima-
tion. In SIGGRAPH ’02: ACM SIGGRAPH 2002 Papers, pages 388–398, New York,
NY, USA, 2002. ACM.

[16] Ajo Fod, Maja J. Mataric, and Odest Chadwicke Jenkins. Automated derivation of
primitives for movement classification. Autonomous Robots, 12:39–54, 2002.

[17] Björn Hartmann, Maurizio Mancini, and Catherine Pelachaud. Formational parame-
ters and adaptive prototype instantiation for mpeg-4 compliant gesture synthesis. In
Proceedings on Computer Animation, page 111, Washington, DC, USA, 2002. IEEE
Computer Society.
BIBLIOGRAPHY 39

[18] Carlos Jensen, Shelly D. Farnham, Steven M. Drucker, and Peter Kollock. The effect
of communication modality on cooperation in online environments. In Proceedings
of CHI ’00, pages 470–477, New York, NY, USA, 2000. ACM.

[19] Eunjung Ju and Jehee Lee. Expressive facial gestures from motion capture data.
Computer Graphics Forum, 27(2):381–388, 2008.

[20] Adam Kendon. Gesture. Cambridge University Press, New York, NY, USA, 2004.

[21] Michael Kipp, Michael Neff, and Irene Albrecht. An annotation scheme for conversa-
tional gestures: how to economically capture timing and form. Language Resources
and Evaluation, 41(3-4):325–339, December 2007.

[22] Michael Kipp, Michael Neff, Kerstin H. Kipp, and Irene Albrecht. Towards natural
gesture synthesis: Evaluating gesture units in a data-driven approach to gesture syn-
thesis. In 7th international conference on Intelligent Virtual Agents, pages 15–28,
Berlin, Heidelberg, 2007. Springer-Verlag.

[23] Stefan Kopp and Ipke Wachsmuth. Synthesizing multimodal utterances for conversa-
tional agents: Research articles. Computer Animation and Virtual Worlds, 15(1):39–
52, 2004.

[24] Lucas Kovar, Michael Gleicher, and Frédéric Pighin. Motion graphs. ACM Transac-
tions on Graphics, 21(3):473–482, 2002.

[25] Yan Li and Heung-Yeung Shum. Learning dynamic audio-visual mapping with input-
output hidden markov models. IEEE Transactions on Multimedia, 8(3):542–549, June
2006.

[26] Yan Li, Tianshu Wang, and Heung-Yeung Shum. Motion texture: a two-level statisti-
cal model for character motion synthesis. In SIGGRAPH ’02: ACM SIGGRAPH 2002
Papers, pages 465–472, New York, NY, USA, 2002. ACM.

[27] Daniel Loehr. Gesture and Intonation. PhD thesis, Georgetown University, 2004.
BIBLIOGRAPHY 40

[28] O. Maeran, V. Piuri, and G. Storti Gajani. Speech recognition through phoneme
segmentation and neural classification. Instrumentation and Measurement Technology
Conference, 1997. IMTC/97. Proceedings. ’Sensing, Processing, Networking.’, IEEE,
2:1215–1220, May 1997.

[29] Anna Majkowska, Victor B. Zordan, and Petros Faloutsos. Automatic splic-
ing for hand and body animations. In Proceedings of the 2006 ACM SIG-
GRAPH/Eurographics symposium on Computer animation, pages 309–316, 2006.

[30] David McNeill. Hand and Mind: What Gestures Reveal About Thought. University
Of Chicago Press, 1992.

[31] David McNeill. Gesture and Thought. University Of Chicago Press, November 2005.

[32] Joann Montepare, Elissa Koff, Deborah Zaitchik, and Marilyn Albert. The use of body
movements and gestures as cues to emotions in younger and older adults. Journal of
Nonverbal Behavior, 23(2):133–152, 1999.

[33] Louis-Philippe Morency, Candace Sidner, Christopher Lee, and Trevor Darrell. Head
gestures for perceptual interfaces: The role of context in improving recognition. Ar-
tificial Intelligence, 171(8-9):568–585, 2007.

[34] Meinard Müller, Tido Röder, and Michael Clausen. Efficient content-based retrieval
of motion capture data. In SIGGRAPH ’05: ACM SIGGRAPH 2005 Papers, vol-
ume 24, pages 677–685, New York, NY, USA, 2005. ACM.

[35] Lars Mündermann, Stefano Corazza, and Thomas P. Andriacchi. Accurately measur-
ing human movement using articulated ICP with soft-joint constraints and a repository
of articulated models. In Computer Vision and Pattern Recognition, pages 1–6, June
2007.

[36] Michael Neff, Michael Kipp, Irene Albrecht, and Hans-Peter Seidel. Gesture model-
ing and animation based on a probabilistic re-creation of speaker style. ACM Trans-
actions on Graphics, 27(1):1–24, 2008.
BIBLIOGRAPHY 41

[37] Junho Park and Hanseok Ko. Real-time continuous phoneme recognition system us-
ing class-dependent tied-mixture HMM with HBT structure for speech-driven lip-
sync. IEEE Transactions on Multimedia, 10(7):1299–1306, Nov. 2008.

[38] Ken Perlin. Layered compositing of facial expression. In SIGGRAPH ’97: ACM SIG-
GRAPH 97 Visual Proceedings, pages 226–227, New York, NY, USA, 1997. ACM.

[39] Ken Perlin and Athomas Goldberg. Improv: a system for scripting interactive actors
in virtual worlds. In SIGGRAPH ’96: ACM SIGGRAPH 1996 Papers, pages 205–216.
ACM, 1996.

[40] Lawrance R. Rabiner. A tutorial on hidden markov models and selected applications
in speech recognition. Proceedings of the IEEE, 77(2):257–286, Feb 1989.

[41] Lance A. Ramshaw and Mitchell P. Marcus. Text chunking using transformation-
based learning. In Proceedings of the Third Workshop on Very Large Corpora, pages
82–94, 1995.

[42] M. E. Sargin, E. Erzin, Y. Yemez, A. M. Tekalp, A.T. Erdem, C. Erdem, and


M. Ozkan. Prosody-driven head-gesture animation. In ICASSP ’07: IEEE Inter-
national Conference on Acoustics, Speech, and Signal Processing, April 2007.

[43] Klaus R. Scherer, Rainer Banse, Harald G. Wallbott, and Thomas Goldbeck. Vocal
cues in emotion encoding and decoding. Motivation and Emotion, 15(2):123–148,
1991.

[44] Marc Schröder. Speech and Emotion Research: An overview of research frameworks
and a dimensional approach to emotional speech synthesis. PhD thesis, Phonus 7,
Research Report of the Institute of Phonetics, Saarland University, 2004.

[45] Ken Shoemake. Animating rotation with quaternion curves. In SIGGRAPH ’85: ACM
SIGGRAPH 1985 Papers, pages 245–254, New York, NY, USA, 1985. ACM.

[46] Marc Shröder. Speech and Emotion Research: An overview of research frameworks
and a dimensional approach to emotional speech synthesis. PhD thesis, Phonus 7,
Research Report of the Institute of Phonetics, Saarland University, 2004.
BIBLIOGRAPHY 42

[47] Eftychios Sifakis, Andrew Selle, Avram Robinson-Mosher, and Ronald Fedkiw. Sim-
ulating speech with a physics-based facial muscle model. In Proceedings of the 2006
ACM SIGGRAPH/Eurographics symposium on Computer animation, pages 261–270,
Aire-la-Ville, Switzerland, Switzerland, 2006. Eurographics Association.

[48] Matthew Stone, Doug DeCarlo, Insuk Oh, Christian Rodriguez, Adrian Stere, Alyssa
Lees, and Chris Bregler. Speaking with hands: creating animated conversational char-
acters from recordings of human performance. In SIGGRAPH ’04: ACM SIGGRAPH
2004 Papers, pages 506–513, New York, NY, USA, 2004. ACM.

[49] Jacques Terken. Fundamental frequency and perceived prominence of accented syl-
lables. The Journal of the Acoustical Society of America, 89(4):1768–1777, 1991.

[50] Harald G. Wallbot. Bodily expression of emotion. European Journal of Social Psy-
chology, 28(6):879–896, 1998.

[51] Jing Wang and Bobby Bodenheimer. Synthesis and evaluation of linear motion tran-
sitions. ACM Transactions on Graphics, 27(1):1:1–1:15, Mar 2008.

[52] Joe H. Ward. Hierarchical grouping to optimize an objective function. Journal of the
American Statistical Association, 58(301):236–244, 1963.

[53] Jianxia Xue, J. Borgstrom, Jintao Jiang, Lynne E. Bernstein, and Abeer Alwan.
Acoustically-driven talking face synthesis using dynamic bayesian networks. IEEE
International Conference on Multimedia and Expo, pages 1165–1168, July 2006.

[54] Nick Yee. Motivations for play in online games. Cyberpsychology and Behavior,
9:772–775, 2006.

You might also like