Pose Space Deformation: A Unified Approach To Shape Interpolation and Skeleton-Driven Deformation
Pose Space Deformation: A Unified Approach To Shape Interpolation and Skeleton-Driven Deformation
Pose Space Deformation: A Unified Approach To Shape Interpolation and Skeleton-Driven Deformation
Abstract
Pose space deformation generalizes and improves upon both shape interpolation and common skeleton-driven deformation techniques. This deformation approach proceeds from the observation that several types of deformation can be uniformly represented as mappings from a pose space, dened by either an underlying skeleton or a more abstract system of parameters, to displacements in the object local coordinate frames. Once this uniform representation is identied, previously disparate deformation types can be accomplished within a single unied approach. The advantages of this algorithm include improved expressive power and direct manipulation of the desired shapes yet the performance associated with traditional shape interpolation is achievable. Appropriate applications include animation of facial and body deformation for entertainment, telepresence, computer gaming, and other applications where direct sculpting of deformations is desired or where real-time synthesis of a deforming model is required. CR Categories: I.3.5 [Computer Graphics]: Computational Geometry and Object ModelingCurve, surface, solid and object modeling I.3.6 [Computer Graphics]: Methodology and TechniquesInteraction techniques I.3.7 [Computer Graphics]: Three-Dimensional Graphics and RealismAnimation Keywords: Animation, Deformation, Facial Animation, Morphing, Applications.
while a purely image-based approach can achieve very realistic images, this advantage may be lost if one needs to introduce geometry and surface reectance in order to re-light characters to match preexisting or dynamically computed environments. Film and entertainment applications require fanciful creatures that fall outside the scope of image-based approaches. Some of the most impressive examples of geometry-based (as opposed to image-based) human and creature animation have been obtained in the entertainment industry. These efforts traditionally use shape interpolation for facial animation and a standard but variously-named algorithm that we will term skeleton subspace deformation (SSD) for basic body deformation [25, 9]. While shape interpolation is well-liked by production animators, it is not suitable for skeleton-driven deformation. On the other hand SSD produces characteristic defects and is notoriously difcult to control. These issues, which will be detailed in the next section, lead us to look for a more general approach to surface deformation. We consider the following to be desirable characteristics of a skeletonbased surface deformation algorithm: The algorithm should handle the general problem of skeletoninuenced deformation rather than treating each area of anatomy as a special case. New creature topologies should be accommodated without programming or considerable setup efforts. It should be possible to specify arbitrary desired deformations at arbitrary points in the parameter space, with smooth interpolation of the deformation between these points. The system should allow direct manipulation of the desired deformations [33]. The locality of deformation should be controllable, both spatially and in the skeletons conguration space (pose space). In addition, we target a conventional animator-controlled work process rather than an approach based on automatic simulation. As such we require that animators be able to visualize the interaction of a reasonably high-resolution model with an environment in real time (with high resolution dened in accord with current expectations). Real time synthesis is also required for applications such as avatars and computer games. Our solution, termed pose space deformation, provides a uniform and expressive approach to both facial skin deformation and skeleton-driven deformation. It addresses the previously mentioned drawbacks of shape interpolation and SSD while retaining the simplicity and performance associated with these techniques. The next section reviews various approaches to free form deformation and describes shape interpolation and skeleton subspace deformation algorithms. The pose space deformation algorithm requires well behaved and efcient scattered data interpolation in high dimensional spaces; Section 3 considers this issue. The pose-space deformation algorithm itself is described in Section 4; examples and applications are shown in the last section.
Introduction
Free form deformation has been approached from several distinct perspectives. As an abstract and general problem, good methods have been obtained both using the well known technique that bears this name [32, 12, 17] and other kinematic surface deformation techniques, and with physical models that simulate the time evolution of a membrane or solid. The animation of human and creature skin deformation is arguably the most common and important application of free form deformation in computer graphics. While such creature animation can be considered a special case of general free form deformation, its importance and difculty have lead researchers to propose a number of domain-specic algorithms that will be reviewed in Section 2. The problem of realistic facial animation is being actively and successfully addressed by image-based and hybrid techniques. These techniques are not yet suitable for all applications, however:
[email protected]
Background
Recent research has delivered signicant improvements in many areas of character animation, including surface representation, model capture, performance capture, and hybrid (partially image-based) rendering approaches. In this literature review we focus specically on milestones in the surface deformation models and necessarily omit other important contributions.
p
p"
q"
Figure 1: The skeleton subspace deformation algorithm. The deformed position of a point p lies on the line p p dened by the images of that point rigidly transformed by the neighboring skeletal coordinate frames, resulting in the characteristic collapsing elbow problem (solid line).
including manually animated FFDs and custom procedural approaches in the spirit of [26, 23, 13]. Arguably the most common practice in character animation (as reected in commercial software, animation books and courses, and some custom software) is founded on the twin techniques of shape interpolation and SSD [18, 9]. 2.3.1 Shape Interpolation Shape interpolation (also called shape blending and multi-target morphing) is probably the most widely used approach to skin deformation for facial animation [3, 18, 9]. Surface control vertices are simply an animated linear combination (not necessarily convex, i.e., individual weights can be greater than one or less than zero) of the corresponding vertices on a number of key shapes Sk : w S . A variation of this technique uses a single base shape k=0 k k S0 and a number of delta shapes, S0 + k=1 wk (Sk S0 ). By writing the delta shape form as (1 1 wk )S0 + 1 wk Sk it is clear that the space of achievable shapes is identical in both variations.1 An attractive feature of shape interpolation is that the desired expressions can be directly specied by sculpting. The limitations of shape interpolation. Given the popularity and effectiveness of this simple approach, it would be desirable to employ it on regions of the body other than the face. The blending of rigid shapes is inconsistent with regions of the body that are bending under the action of an underlying skeleton, however. Of course the key shapes could be deformed to the moving articulated gure using some other algorithm, but this defeats the purpose of proposing shape interpolation as the means of obtaining the deformation in question. Shape interpolation also has some drawbacks for its intended role of facial animation. For one, the interpolation is not always smooth. Consider interpolating from a smile (shape A) to a neutral pose (B) and then to a frown (C). An individual vertex travels in a straight line between A and B and again in a line between B and C. Selecting smoothly changing weights with dw/dt = 0 at the key shapes merely causes the deformation to ease in and stop at each key pose before continuing on the time derivative of control point motion is smooth, but the motion path itself is only piecewise linear (parametric versus geometric continuity). In practice animators object to the linear nature of the interpolation [34] and have sometimes compensated by sculpting new key shapes as often as every three to ve frames [38]. These comments will be revisited in the discussion of the pose space approach later in the paper.
1 Provided that the weights sum to one. This is enforced in the delta shape formulation. It is not enforced in the (non-delta) shape interpolation formulation as written, but weights that do not sum to one are a separate effect they cause the face to change overall scale.
Figure 2:
Figure 3: The forearm in the twist pose, as in turning a door handle, computed by SSD. As the twist approaches 180 the arm collapses.
2.3.2 Skeleton-Subspace Deformation This simple algorithm has been repeatedly conceived and appears in commercial software packages under several rather uninformative names such as skinning, enveloping, etc. The algorithm is unpublished but is subsumed by more general published schemes such as [23]. The position of a control vertex p on the deforming surface of an articulated object lies in the subspace dened by the rigid transformations of that point by some number of relevant skeletal coordinate frames (Figure 1). This may be notated p= (in more detail) p= wk L L0 k k
1
wk Lk (p) p
L0 p p
where L0 is the transform from the surface containing p to the p world coordinate system, L0 is the transform from the stationary k 1 skeletal frame k to the world system (L0 L0 together represent p p k in the coordinate system of skeletal frame k), and L expresses the k moving skeletal frame k in the world system. The deformation is controlled by the user through the weights wk . SSD is fairly versatile. For example, secondary animation effects such as muscle bulging and swelling of the chest can be achieved by variably weighting the surface to an abstract bone whose translation or scale is manually animated. The limitations of SSD. The rst major shortcoming of SSD results directly from the fact that the deformation is restricted to the indicated subspace. In common situations such as shoulders and elbows the desired deformation does not lie in this subspace, hence no amount of adjusting the algorithm weights will produce good results. This fact leads to considerable frustration by users of the algorithm the character of the deformation changes as the weights are changed, sometimes sustaining the incorrect assumption that some combination of weights will produce good results. In fact, the SSD algorithm can be easily identied in animations by its characteristic collapsing joint defect (Figures 1, 2). This problem is extreme in the case of simulating the twist of a human forearm (the pose taken in turning a door handle, Figure 3). In this case the subspace basis consists of surface points rigidly transformed by the forearm frame (no axis rotation) and the wrist frame (axis rotation). With a rotation of 180 degrees this line crosses the axis of the arm, i.e., the forearm collapses entirely as the SSD weights transition at some point from the forearm to wrist frames.
A second difculty with SSD is that, unlike shape interpolation, it does not permit direct manipulation; artists instead directly or indirectly edit the meshes of weights wk (for each control vertex on a surface there is one weight per skeletal frame that affects the vertex). SSD algorithms consequently have the reputation for being tedious and difcult to control. Artists with a poor understanding of the underlying algorithm have difculty distinguishing between results that can be further improved by adjusting weights and results that cannot be improved since the desired result lies outside the achievable subspace, resulting in the impression of unpredictability (sometimes adjusting the weights helps, sometimes it doesnt). In some cases the SSD defects can be manually corrected using FFDs and other techniques, and one could consider a scheme whereby these xes are procedurally invoked as the skeleton articulates. But although FFDs work well (and have a direct manipulation algorithm [12]) the layered FFDs do not reduce the difculty in adjusting the underlying SSD. The algorithm introduced in the subsequent sections removes the need for such layered x-it approaches and permits direct specication of the desired deformations. 2.3.3 Unied Approaches Several published algorithms and commercial packages combine aspects of skeleton-driven deformation and shape interpolation in ways that anticipate our approach. In the pioneering work of Burtnyk and Wein, two dimensional characters were animated using a polygonal rubber sheet that afforded both skeletal and local deformation control [6]. Van Overveld described a two-dimensional animation system in which animation is controlled by a skeleton and character deformation is driven from this skeleton through a scattered interpolation [20]. This work is similar in spirit to ours but differs in that it used the image plane as a global interpolation domain rather than introducing a pose space. Litwinowicz and Williamss system [16] is also a precedent and introduced sophisticated scattered interpolation (again in the image domain). Several papers consider animation (and indeed image synthesis in general) as a special case of neural net learning and interpolation/extrapolation [14, 15, 21]. While this viewpoint is valid, in practice it is perhaps excessively general, for example, a skeleton is merely learned rather than being an intrinsic part of the model. While employed at Industrial Light and Magic the rst author of the present paper developed a system that attempted to blend shape interpolation and SSD algorithms; a small portion of it remains in use in their well known Caricature animation system. Drawbacks of this work included both a complicated dependence on the details of SSD and its overall conception as a correction to SSD. Some commercial
Figure 4: Shepards interpolant operating on a set of colinear points. The derivative is zero at the data points, and the curve extrapolates to the average of the data values.
Figure 5: Radial basis functions (x) = exp(x2 /22 ), = 10 interpolating the same set of colinear points as in Figure 4. A different y scale is used to t the curve. The curve extrapolates to zero.
packages allow blending between two sculpted deformations as a function of a single-joint rotation, thereby combining shape interpolation and skeleton-driven deformation in a limited but useful setting.
with weights set to an inverse power of the distance: wk (x) = x xk p . (This is singular at the data points xk and should computed as (||x xk + )p ). With p > 1 the interpolation surface is once differentiable. Unfortunately this simple scheme has some potentially undesirable properties. Far from the data the weights will be approximately the same, d() = w dk /w 1= dk /N , i.e. the interpolated surface converges to the average of the data values. A serious drawback for some applications is that the derivative of the surface is zero at the data points (Figure 4).
wk ( x xk )
k
(1)
If N values of d are available then the weights can be easily solved by a linear system; this can be derived either by least squares t or by subspace projection. Taking the latter approach, we reconsider the available data points as a single point d in an N dimensional space, and consider k () = ( xj xk ) as the kth basis vector. The best approximation to d in the space spanned by k () occurs (in direct analogy with the three-dimensional case) when the weights are such that the error d w (with k () comprising the columns of ) is orthogonal to each of the k (): T (w d) = 0 so (the so-called normal equation) T w = T d can be solved for the familiar w = (T )1 T d A least squares approach leads to the identical result. Any nonlinear function () will interpolate the data, including odd choices such as (x) = x (which is nonlinear since x = x xk is the argument), provided that the columns of are independent. On the other hand a smooth () will result in a
smooth interpolant (a weighted sum of continuous functions is continuous). In fact radial basis functions have a universal convergence property similar to Fourier series, though the convergence denition is different. The preceding description maps a k-dimensional input space (arbitrary k) to a one dimensional range, i.e., it is the k-dimensional version of a height eld. Surfaces can of course be interpolated by allowing different combinations of the same basis functions in different dimensions, i.e., vector valued wk . The distance can be generalized to Mahalanobis distance (effectively rotating and stretching the basis function) [4].
pose space, creature deformations that are discontinuous with respect to pose seem unlikely. As such the expensive energy functional and non-convex schemes are not necessary. In addition we want to approach zero away from the data, and the width of this falloff should be selectable. 2 Together these comments support k (x) = exp( ( xxk ) ) 2 2 as one possible choice of radial basis (Figure 5). Gaussian radial basis functions are reputed to be well behaved and our experience supports this judgement. Gaussian radial basis functions with adjustable placement and are discussed in the neural net literature and optimizing over these parameters is possible. This issue does not arise in our application, however, since the animator decides where in the parameter space to sculpt a pose (effectively deciding the basis function placement). The falloff is also specied explicitly by the animator, as described below.
The crux of our approach is the identication of an appropriate space for dening deformations. As discussed above, the interpolation domain is (a subset of) the pose space of an articulated character, or equivalently the space dened by some set of parameters such as facial controls. In concept the range of the interpolation function could simply be the desired movement of the surface control vertices. To make the job easier for the interpolation we instead interpolate the desired deviation of a surface vertex (expressed in the local frame) from its initially computed position (the rigidly transformed position in the case of an articulated model). Several reasons for this choice will be mentioned shortly. Thus the deforming surface is dened by p + with p moved rigidly by the skeleton or other underlying system, and = finterp (conguration) where conguration is the conguration of the set of joints or parameters controlled by the animator. Our scheme can be bootstrapped on top of an existing software system: the model is posed as desired and the desired surface at that pose is sculpted. Our algorithm computes the difference between the initial and resculpted model at that pose. This deformation is associated with the joints or other parameters that have moved from their default positions to create the particular pose. One or more deformations will then be interpolated in this subspace using a scattered data approach. We now have enough criteria to select a particular interpolation scheme. Although it would be desirable to allow deformations to change both continuously and discontinuously with respect to the
Evaluate and Repeat. At this point the model interpolates through the previously dened deformation(s). The most recently dened deformation may extend too far (or not far enough) in pose space, however. There is a rich literature of schemes for optimizing radial basis parameters including [4]. On the other hand, animators consider detailed control of the animation to be part of their craft and are quite happy to have interpolation parameters exposed to them. We have found that this potentially abstract parameter is comprehensible so long as it is possible to explore the effect of different values. At a minimum axis-aligned scaling of the falloff should be available; we have not experimented with Mahalanobis rotation of the basis. Based on the evaluation the artist may decide to sculpt additional poses as needed to achieve the desired motion. A detail that was omitted previously will now be mentioned: when a deformed vertex is found the associated pose space is determined as described above. If there are previous deformations of this vertex in the same pose space then the new deformation is simply another point to interpolate. The new deformations pose space may, however, be different from the previous spaces associated with the vertex! In such a case a new pose space is started, and the is computed as a delta from the previous layered PSD synthesis rather than from the base model. This ensures that the previous deformations are interpolated while allowing the artist complete freedom in determining the extent of the deformation and the associated pose controls. While there is an issue of commutativity, in our experience artists consider this iterative layered renement to be a natural process. In the preceeding discussion we have not described the representation of rotations and other transformations. This is a well known issue; well behaved transformations are fundamental and are hopefully addressed early in the development of any character animation system.
In both approaches a set of key shapes (or delta shapes) are sculpted. The same set of shapes can be used in both approaches. Whereas shape interpolation is (despite the name) a superposition of a set of shapes, PSD interpolates among these shapes. The animators task in PSD is to choose the interpolation path (and adjust interpolation parameters such as falloff if desired). With SI the animators task is to choose the interpolation path but also solve the problem of representing this path by using a set of (non-orthogonal!) basis shapes. In practice this has been considered the major difculty in applying SI when high quality animation demands large numbers of basis shapes [38]. In shape interpolation the key shapes and the animation parameter space are one and the same the keys dene the axes of the animation parameter space. In PSD the key shapes are positioned as desired in a space of desired dimensionality. One can assign each shape in PSD to a separate dimension, exactly as with SI. On the other hand, PSD allows one to sculpt intermediate expressions (half-smile) and situate them half-way along the relevant (full-smile) axis. Similarly a sculpted pose that represents the simultaneous activation of several parameters (e.g. happy but surprised, or smiling with a wink) can simply be saved at the appropriate location in the pose space. Psychological research has shown that human facial expressions are largely described by two emotional axes [30] (Figure 6); this two-dimensional space would be a convenient high-level pose space for controlling facial animation. The PSD interpolation is smooth if so desired. To illustrate these comments consider Figure 7, which abstractly represents both SI and PSD with an identical set of expressions (neutral, half-smile, full-smile, frown). In the SI side of the diagram expressions are arranged as independent (but not orthogonal) dimensions as required by SI. In the PSD diagram the expressions are situated in an expression space having a happy-unhappy axis; a second axis (arousal) and an expression (delighted) on that axis are added to show a multidimensional space. As illustrated, a PSD path from neutral to half-smile to full-smile is monotonic, as might be expected; the motion of a surface point over this interpolation is also smooth. To interpolate these emotions using SI requires a zig-zag pattern of weights: the half-smile weight goes from zero to one, and then back to zero as the full-smile weight goes from zero to one.The motion of a surface point would also be piecewise linear using SI in this scenario.
4.2 Cost
With n poses three matrices of size n must be inverted for each surface control vertex. Typically n will be between 1 and 10, say, so this cost is small. Also it is incurred at a convenient time during setup (as a pose is saved) rather than during synthesis. For synthesis, the basis function (x) can be implemented by interpolated table lookup and the sqrt required in the Euclidean distance can be composed with (x) in the table. The cost of Eq. (1) is then not much greater than the cost of traditional shape interpolation, i.e., real time synthesis is possible with signicant models on current machines.
6
5.2 PSD for Facial Animation
The application of PSD to facial animation is best described by comparison with shape interpolation (SI).
Conclusions
Pose space deformation is not the last word in surface deformation for character animation; high quality anatomically based models are certainly preferable. Nevertheless both anatomically based and
[6] N. Burtnyk and M. Wein, Interactive Skeleton Techniques for Enhancing Motion Dynamics in Key Frame Animation, Comm. ACM, vol. 19, no. 10 (October 1976), pp. 564-569. [7] J. Chadwick, D. Haumann, and R. Parent, Layered Construction for Deformable Animated Characters. Computer Graphics vol. 23 no. 3 (Proc. SIGGRAPH 89), pp. 243-252. [8] D. T. Chen and D. Zeltzer, Pump It Up: Computer Animation Based Model of Muscle Using the Finite Element Method. Computer Graphics vol. 26, (Proc. SIGGRAPH 92), pp. 89-98. [9] Cinefex, Riverside, CA, various issues, e.g. vol. 66 (June 1996), p. 52 (Dragonheart); vol. 64 (Dec 1995), p. 62 (Jumanji). [10] T. DeRose, M. Kass, and T. Truong, Subdivision Surfaces in Character Animation. Proc. SIGGRAPH 98, ACM, pp. 85-94. [11] D. Forsey, A Surface Model for Skeleton-Based Character Animation. In Second Eurographics Workshop on Animation and Simulation, Vienna, Austria, 1991, pp. 55-73.
Figure 6: Schematic diagram of emotion space obtained by multi-dimensional scaling from pairwise similarity ratings, simplied from [30].
N=neutral S=smile H=halfsmile F=frown F N S
arousal
N H
delighted S
[12] W. M. Hsu, J. F. Hughes, and H. Kaufman, Direct Manipulation of Free-Form Deformations, Computer Graphics vol. 26 (Proc. SIGGRAPH 92), pp. 177-184. [13] K. Komatsu, Human Skin Model Capable of Natural Shape Variation, The Visual Computer, vol. 4, no. 3, 1988, pp. 265-271. [14] J. P. Lewis, Creation by Renement: A Creativity Paradigm for Gradient Descent Learning Networks. International Conf. on Neural Networks. San Diego, 1988, II: 229-233. [15] J. P. Lewis, Probing the Critic: Approaches to Connectionist Pattern Synthesis. IEEE International Joint Conference on Neural Networks Seattle, July 1991. [16] P. Litwinowicz and L. Williams, Animating Images with Drawings, Proc. SIGGRAPH 94, pp. 409-412. [17] R. MacCracken and K. Joy, Free-Form Deformations with Lattices of Arbitrary Topology. Proc. SIGGRAPH 96, pp. 181-180. [18] G. Maestri, Digital Character Animation 2, Vol 1. New Rider, Indianapolis, 1999. ISBN 1056205-930-0. [19] L. Nedel and D. Thalmann, Modeling and Deformation of the Human Body Using an Anatomically-Based Approach, www preprint. [20] C. W. A. M. van Overveld, A Technique for Motion Specication in Computer Animation, Visual Computer, vol. 6 (1990), p. 106-116. [21] T. Poggio and R. Brunelli. A novel approach to graphics. AI Memo 1354, C.B.I.P Paper 71, MIT, 1992. [22] K. Singh and E. Fiume, Wires: A Geometric Deformation Technique. Proc. SIGGRAPH 98, ACM, pp. 405-414. [23] N. Magnenat-Thalmann, R. Laperriere, and D. Thalmann. Joint-Dependent Local Deformations for Hand Animation and Object Grasping. Proc. Graphics Interface, 1988, pp. 26-33. [24] N. Magnenat-Thalmann and D. Thalmann. Human Body Deformations using Joint-Dependent Local Operators and Finite Element Theory. In N. Badler, B. Barsky, and D. Zeltzer, eds., Making Them Move: Mechanics, Control, and Animation of Articulated Figures San Mateo, CA: Morgan Kaufmann, 1991, pp. 243-262. [25] Maya Alias/Wavefront, Santa Barbara, CA, 1998. [26] F. I. Parke, Parameterized Models for Facial Animation. IEEE Computer Graphics and Applications, vol. 2, no. 9, November 1982, pp. 61-68. [27] S. Pieper, Physically-Based Animation of Facial Tissue for Surgical Simulation, SIGGRAPH 89 Tutorial Notes: State of the Art in Facial Animation, ACM, 1989. [28] J. D. Powell, The Theory of Radial Basis Function Approximation. Cambridge University Numerical Analysis Report, 1990. [29] M. J. D. Powell, Radial Basis Functions for Multivariable Interpolation: A Review. In J. Mason and M. Cox, Eds., Algorithms for Approximation, Oxford: Clarendon, pp. 143-167. [30] J. A. Russel, A Circomplex Model of Affect. J. Personality and Social Psychology, vol. 39, p. 1161-1178, 1980. [31] F. Scheepers, R. Parent, W. Carlson, and S. May, Anatomy-Based Modeling of the Human Musculature. Proc. SIGGRAPH 97, ACM, pp. 163-172. [32] T. Sederberg and S. Parry, Free Form Deformations of Solid Geometric Models. Computer Graphics, vol. 20 no. 4, (Proc. SIGGRAPH 86), pp. 150-161. [33] B. Shneiderman, The Future of Interactive Systems and the Emergence of Direct Manipulation. Behaviour and Information Technology, 1, pp. 237-356.
Shape Interpolation
Figure 7: Abstract comparison of shape interpolation versus pose space deformation using the same set of facial expressions. purely kinematic models have their place. In the current computer animation culture animators generally practice their craft by direct and exhaustive specication of the desired motion combined with quick evaluation using real-time playback. Deeper simulation approaches intrinsically take away some of this control, and animators often argue (rightly or not) that automated processes are inferior or will not produce a human feel. The performance of current anatomically based models prohibits animation preview and other real-time applications such as telepresence and gaming (one published result is several orders of magnitude slower than real time), and the effort needed to produce an anatomically accurate model is not always justied, nor even appropriate if the model is of a fanciful creature whose surface appearance may be inconsistent with any plausible internal anatomy in any case. PSD unies and improves upon two techniques that have been common graphics practice for more than a decade. This relatively simple algorithm uniformly handles a variety of deformation situations ranging from a simple elbow to secondary animation. The setup cost of the algorithm is insignicant, and the synthesis cost is only slightly more than that of shape interpolation, so real-time synthesis is possible at effective resolutions on current hardware. We expect that this algorithm will be a useful complement to current techniques.
Acknowledgements
The authors wish to thank Sean Jenkins, David Miya, Amir Nasrabadi, Steven Puri, Kosta Saric, Steffen Wild, Lance Williams, Raymond Yeung, and the anonymous reviewers.
References
[1] R. Barnhill, R. Dube, and F. Little, Properties of Shepards Surfaces. Rocky Mountain J. Math., vol.13, 1983, pp. 365-382. [2] T. Beier and S. Neely, Feature-Based Image Metamorphosis. Computer Graphics vol. 26, no. 2 (Proc. SIGGRAPH 92), pp 35-42. [3] P. Bergeron and P. Lachapelle, Controlling Facial Expression and Body Movements in the Computer Generated Short Tony de Peltrie. SIGGRAPH 85 Tutorial Notes, ACM, 1985. [4] C. Bishop, Neural Networks for Pattern Recognition, Oxford: Clarendon, 1995. [5] A. Blake and A. Zisserman, Visual Reconstruction, MIT Press, Cambridge, 1988.
[34] Pat Taylor, Disney/Dream Quest Mighty Joe Young facial animation, personal communication. [35] R. Turner and D. Thalmann, The Elastic Surface Layer Model for Animated Character Construction. in N. M. Thalmann and D. Thalmann, eds., Proc. Computer Graphis International, New York: Springer Verlag, 1993, pp. 399-412. [36] J. Wilhelms and A. Van Gelder, Anatomically Based Modeling. Proc. SIGGRAPH 97, pp. 173-180. [37] G. Wyvill, C. McPheeters, and B. Wyvill, Animating Soft Objects. Visual Computer, 2, 235-242, 1986. [38] Xinmin Zhao, Disney Dinosaur project, personal communication.
Figure 8a. Comparison of PSD and SSD on an animating shoulder PSD using only two sculpted poses.
Figure 8b. SSD on an animating shoulder. The shoulder area is especially problematic for SSD due to the large range of rotational movement.
Figure 9. Comparison of PSD (at left) and SSD on the extreme pose of an elbow.
Figure 10. Smooth interpolation of four expressions (frown, neutral, smirk, smile) arranged along a single axis in a pose space, c.f. the discussion of Figure 7.