A General Framework for Modelling Object Dynamics

Neil Johnson

School of Computer Studies, University of Leeds, Leeds LS2 9JT, UK



These pages describe a general framework for the modelling of object dynamics. Central to this framework is the modelling of the probability of object state change conditioned on a particular state history, using a detailed and efficient pdf representation. The technique is illustrated by modelling pedestrian trajectories in an outdoor scene and using the model to simulate natural behaviour, although it could clearly be applied to modelling object dynamics for a range of applications including object tracking and gesture recognition.

Modelling dynamics

Object dynamics and their variability may be represented by the conditional density p(dx/dt | h(t)), where dx/dt denotes the first derivative of object state and h(t) is a representation of state history. Modelling the joint density p(dx/dt, h(t)) allows the conditional density to be derived for any h(t) as well as the calculation of the marginals p(dx/dt) and p(h(t)).

Joint density representation

An efficient method for representing complex, continuous, multivariate distributions is Gaussian mixture modelling where probability density is modelled as a weighted sum of multivariate normal densities. Within this framework, a maximum likelihood estimate of mixture model parameters is obtained via an application of the expectation maximisation (EM) algorithm after initial parameter estimation using vector quantisation and local covariance estimation.

Generating behaviour

Statistically accurate behaviour sequences may be generated by repeatedly using the conditional density model to provide a prediction of future object state. On each iteration of this procedure, the current history representation must be updated and used to derive the conditional density from the joint density model. A state prediction may then be obtained via either the identification of a local maximum (using a gradient ascent procedure) or by sampling from the conditional density. The process is initialised by sampling from a model of the joint density of initial parameters.

Figure 1: Stochastic trajectory generation.

Figure 1 (and the associated QuickTime movie) illustrate this technique using a model derived from pedestrian trajectory data. On each frame, the conditional density of position change is displayed on the left, together with an indication of the sampled differential value, whilst the evolving trajectory, current history, and new position are displayed on the right. In this experiment, the history is simply formed from the current and previous two positions.

Deriving the conditional density

The conditional density p(dx/dt | h(t)) is defined by the subspace of the joint density p(dx/dt, h(t)) obtained by specifying a value of h(t). Since the joint density is modelled as a mixture of multivariate normal densities, the conditional density may be obtained from a re-weighted mixture of the conditional of the components, where these conditionals will themselves by multivariate normal. The covariance of each conditional is constant and the mean and new weight are easily calculated from h(t).

Sampling from a mixture model

Sampling from a mixture model is achieved by first randomly selecting a component from which to sample using a partitioning of unity over relative component weights. A multivariate normal density may be sampled using a principal component analysis (PCA) re-parameterisation to define a set of independent, normally distributed, random variables which may themselves be sampled using a procedure such as Box-Muller's transformation. Since the covariances of the conditional density components are invariant to h(t), the PCA re-parameterisation may be obtained off-line, thus providing an efficient sampling method.

VRML animation

Models of object dynamics may be used to produce statistically accurate simulations of human behaviours within VRML models such as those generated by the RESOLV project. Using the techniques described above, realistic behaviour sequences can be randomly generated and applied to VRML manikins for animation within the virtual environment.

Figure 2: VRML trajectory animation.

Figure 2 (and the associated VRML animation) illustrates this technique using the pedestrian trajectory model described above. Twenty motion sequences were randomly generated and projected onto an estimated ground-plane. These projected sequences were then used to animate a 3-dimensional arrow over a representation of the ground-plane.

Figure 3: Hiro - an H-Anim 1.1 compliant humanoid.

In order to generate more realistic animations of human behaviour, detailed humanoid models are needed together with limb animation procedures, perhaps using data from motion capture or additional behaviour models. The VRML Humanoid Animation Working Group (H-Anim) aims to provide a standard way of representing humanoids in VRML. Although a number of compliant humanoid models (such as Matt Beitler's Hiro, depicted in Figure 3) have been created, standard animation procedures have not yet been developed.