Landmark-Guided Elastic Shape Analysis of Human Character Motions

Motions of virtual characters in movies or video games are typically generated by recording actors using motion capturing methods. Animations generated this way often need postprocessing, such as improving the periodicity of cyclic animations or generating entirely new motions by interpolation of existing ones. Furthermore, search and classification of recorded motions becomes more and more important as the amount of recorded motion data grows. In this paper, we will apply methods from shape analysis to the processing of animations. More precisely, we will use the by now classical elastic metric model used in shape matching, and extend it by incorporating additional inexact feature point information, which leads to an improved temporal alignment of different animations.


Introduction
Animations. Virtual characters in movie and TV special effects or video games are most commonly animated using skeletal animation, where a character's motion is described in terms of joint-angles in an approximation of a human skeleton. Motion capturing is a typical way to generate such animations, whereby an actor or stuntman performs the requested motion while being recorded from multiple angles. From this, the underlying skeletal pose can then be reconstructed. While motion capturing can produce very life-like animations, it has a number of drawbacks, some of which can be addressed algorithmically [20,7].
In [10], methods from shape analysis were applied to a number of problems in computer animation: periodicity of animations, interpolation between animations and motion recognition. A central component in this is the modelling of curve reparametrizations as elements of the diffeomorphism group on the circle or the unit interval, Diff(S 1 ) and Diff([0, 1]) respectively. For animations, such reparametrizations can be used to align them in time, similar to the concept of timewarp curves in [12,13]. Note that the skeletal animation approach is very different in concept and applications from silhouette-based representations of motions, as for example in [1].
In this paper we will demonstrate how feature point information can be incorporated into shape matching techniques, and how this can be applied in the context of computer animations in order to improve the temporal alignment of related actions.
Shape matching. The field of shape analysis concerns itself with the study and classification of similarities and dissimilarities within certain classes of shapes. In order to achieve this objective, a variety of different methods has been developed, each tailored to the actual class of shapes under consideration. A particularly important example for a shape space, which is also the main focus of this article, is the space of unparametrized curves, 1 and, in recent years, Riemannian methods for shape spaces of curves have been deeply explored both theoretically [29,18,24,17,11,22,16,23,8,6] as well as from an application oriented point of view [19,21,15,26]. See [4] for an overview of these topics.
Although the main contribution of this article is not limited to a specific Riemannian metric on the shape space of unparametrized curves, we will focus for simplicity on a particular one that is related to the so called Square Root Velocity (SRV) framework [25,3]. This metric is given as the pullback of the L 2 -metric via a transformation called the SRVT. This allows for the development of extremely efficient numerical methods and, as a consequence, it has been successfully used in a series of applications [28,10]. See also [30,5] for other reparametrization invariant metrics that can be represented in a similar way.
Our main addition to this standard setting will be the incorporation of point correspondences between two curves one wants to match. In the particular application of animation processing, these correspondences will describe similar poses at different points in time in the two animations. We assume here that the point correspondences are manually entered pieces of information that are possibly error-prone. Thus we are interested in an exact matching of the unparametrized curves, but only an inexact matching of the point correspondences. Our approach differs from the one presented in [27], where feature information is included in the form of auxiliary functions that are combined with the geometric curve to form higher dimensional curves that can then be matched by the usual methods. Instead, we augment the matching energy functional with an extra feature matching term, leaving the elastic matching terms unchanged. In comparison to [14], which focused on matching three dimensional surfaces, we allow inexact matching of landmarks in our model. We will discuss in this article both the theoretical framework of shape matching with feature points and computational aspects.
Overview In Sect. 2 we give an overview of the general framework for shape matching with additional feature point information and will then apply this framework to one particular choice of metric: the metric that is induced by the SRV transformation. We then present the basics of two algorithms that can be used to determine the optimal parametrization to match two curves: In Sect. 3.1 we derive all the formulas necessary to find the parametrization using a gradient descent approach. In addition, in Sect. 3.2, we discuss the application of a dynamic programming based algorithm. In Sect. 4 we apply the previously presented framework to process human motion data. Moreover, we show some examples of an application to two-dimensional curves, where the workings of the method can be better visualized.
2 The general framework Problem formulation. We will start this article by formulating our main problem: Problem 1. Given two unparametrized curves [c 0 ] and [c 1 ] and a number of n point correspondences between the curves -i.e., points C i 0 and C i 1 that should be matched onto each other -we want to find an optimal deformation between the two curves, that also respects the alignment of the feature points.
In order to achieve this goal, we will first choose representatives of the shapes [c 0 ] and [c 1 ], i.e., parametrized curves c 0 and c 1 . Each representative c j determines parameter values θ i j that correspond to the feature points C i j in the sense that Thus we can represent any shape [c 0 ] with additional feature point information as a tuple (c 0 , θ 0 ), with c 0 ∈ Imm(S 1 , R d ) and θ 0 = (θ i 0 ) i ∈ (S 1 ) n . One way to tackle Problem 1 is then to construct a similarity measure on the product space Imm(S 1 , R d ) × (S 1 ) n that has certain invariance properties with respect to the action of the diffeomorphism group.
To do this mathematically rigorously we will need some results and definitions from infinite dimensional Riemannian geometry first.

The manifold of parametrized curves
In this article we will consider the space of regular curves from a parameter space M into some -possibly high dimensional -R d : Here M stands for the circle S 1 in the case of closed curves and for the interval [0, 2π] for open curves. The space Imm(M, R d ) is a smooth infinite dimensional Fréchet manifold with tangent space T c Imm(M, R d ), the set of all vector fields along the curve c. Using the trivialization of R d we can identify the tangent space with On the manifold Imm(M, R d ) we consider reparametrization invariant metrics G c , i.e., Riemannian metrics that satisfy Here, Diff(M ) denotes the group of orientation preserving diffeomorphisms of M , which consists of all reparametrizations of the curves under consideration. The most prominent example of such a metric is the elastic metric G a,b that is defined by Here a  Other metrics that have been introduced include higher order Sobolev metrics, i.e., metrics of the form with coefficients a j possibly depending on the foot point c. Depending on the order of the metric G, local and global well-posedness of the geodesic equation have been shown and the metric completions of the corresponding spaces have been studied [8].
In the experimental part of this article we will focus on one particular member of this family, namely the elastic metric that corresponds to the parameters a = 1, b = 1 2 . This metric has the advantage that it has a very helpful representation as a pullback of the flat L 2 -metric. To see this we introduce the so-called square root velocity transform (or short SRVT ): The SRVT, when regarded for curves modulo translations, has an inverse, which is given by: On C ∞ (M, R d ) we can consider the flat L 2 -metric. In [25] it has been shown, that the pullback via R of the L 2 -metric is exactly the elastic metric (4). The situation for open curves is particularly easy, as one has then explicit formulas for geodesics and geodesic distance: Two open curves c 0 , c 1 can be connected by a geodesic if and only if there exist no θ ∈ [0, 2π] and no λ > 0 such that c 0 (θ) = −λc 1 (θ). In this case, the unique geodesic connecting them is given by Moreover, the induced geodesic distance on Imm([0, 2π], R d ) is given by For a proof of this theorem see [3]. The situation for closed curves is less explicit. We have the following characterization of the image of the SRVT, which will build the fundament of our algorithms: Theorem 2. The image R(Imm(S 1 , R d )) of the manifold of closed curves under the SRVT-transform is a codimension d submanifold of the flat space C ∞ (S 1 , R d ). A basis of the orthogonal complement T q R(Imm(S 1 , R d ) ⊥ is given by the d vectors Using this basis, efficient numerical methods for calculating geodesics between closed curves have been developed, see [25,3].

The matching functional on the space of parametrized curves
To define our similarity measure on the product space Imm(M, R d ) × M n , we will first introduce an energy functional that is defined for arbitrary paths in Imm(M, R d ). We will then define the similarity measure as the minimal energy over all paths with given boundary shapes [c 0 ] and [c 1 ]. The important features of the similarity measure on the space of unparametrized curves will be: (a) The similarity measure does not depend on the choice of representatives (c i , θ i ) of the observed shapes ([c i ], C i ).
(b) The optimal deformation is guided by both the shape of the boundary curves and by the feature point information.
(c) The similarity measure forces an exact matching of the unparametrized curves, but only an inexact matching of the feature point information.
Given a curveĉ ∈ Imm(M, R d ), we denote in the following byĉ(θ) the whole vector of pointsĉ( For parameter values θ 0 = (θ i 0 ) i ∈ M n and feature points C 1 = (C i 1 ) i ∈ (R d ) n we define the energy functional for a given path c : [0, 1] → Imm(M, R d ) as: Here G c (·, ·) is any reparametrization invariant metric on Imm(M, R d ) and FM denotes some similarity measure on R d×n . The only conditions on FM we impose at the moment are that FM is lower semi-continuous and FM(C, C) = 0. The first condition is necessary for the subsequent energy minimization, while the second condition implies that constant paths actually have zero energy. When we discuss later the actual computation of energy minimizing paths, we will introduce further conditions that make their numerical approximation possible.
Lemma 3. The energy functional (12) satisfies the invariance property Remark 4. The meaning of this invariance property will become clear in Sect. 2.3, where we will consider the action of the diffeomorphism group on the quotient space Proof. Using the reparametrization invariance of the metric G c we calculate Using this energy functional we define our similarity measure on the product space Imm(M, R d ) × M n of parametrized curves with feature points as where the infimum is taken over all paths c in Imm(M, R d ) that satisfy Remark 5. We do not call the similarity measure a distance, since it is not symmetric in general. However, it would be straightforward to construct a symmetric version of this. This will be described in Sect. 2.4.
Because we fix the endpoint c(1, ·) = c 1 , we can write the similarity measure d P as That is, we only minimize the first term of the energy functional, and we do not allow to change the value of the second term at all. The meaning of the second term, will become clear when we consider it on the shape space of unparametrized curves.

2.3
The similarity measure on the shape space of unparametrized, feature curves.
In this section we want to use the previously defined similarity measure on parametrized curves to induce a similarity measure on the shape space of unparametrized curves with feature point information. Therefore we have to determine the induced action of the diffeomorphism group on the product space Imm(M, R d ) × M n . On the first factor Imm(M, R d ) it is simply given by composition from the right. To compute the action on the second factor M n we need to compute the effect of a reparametrization on the feature points. We have: Thus the induced action on the product space is given by Using the invariance of our similarity measure -cf. Lemma 3 -we obtain the following result: Theorem 6. The similarity measure (14) on Imm(M, R d ) × M n induces a similarity measure on the shape space of unparametrized curves with additional feature point information. The induced functional is given by: Here (c j , θ j ) are arbitrary representatives of the shapes ([c j ], C j ).
Remark 7. Note, that the energy functional will force an exact matching of the unparametrized curves, but only an inexact matching of the feature points. The reason for this is that we assume the feature points to be an additional manually entered information that is possibly error-prone.
Proof. We need to show that d does not depend on the actual choice of representatives c 0 and c 1 . Any other representatives of [c i ] can be written as c i • ϕ for some diffeomorphism ϕ. Since we are minimizing over all possible reparametrizations of c 1 , the functional clearly does not depend on the choice of the representative c 1 . It remains to verify the independence of reparametrizations of c 0 . Therefore we calculate where the infimum is taken over all paths c that satisfy the boundary conditions Using the invariance property of the functional -cf. Lemma 3 -we can rewrite this as which concludes the proof.
We note that the similarity measure d can also be written as where the inner infimum is taken over all paths c that satisfy the conditions c(0, ·) = c 0 and c(1, ·) = c 1 • ϕ.
Remark 8. Due to the invariance with respect to the reparametrization group, all the metrics G c descend to the shape space of unparametrized curves, i.e., they induce a metric on the quotient space S := Imm(M, R d )/ Diff(M ) such that the projection is a Riemannian submersion. For a detailed discussion of this topic we refer to the article [17]. For λ = 0 -i.e., no feature point matching -the similarity measure (18) is then given by the induced geodesic distance on the quotient space. If we assume existence of a minimizer, it would be given by a horizontal geodesic on the top space, the manifold of parametrized curves. For λ > 0 minimizers of (18) will still be geodesics on Imm(M, R d ), however their initial velocity will in general not be horizontal anymore. The induced curve on the quotient space Imm(M, R d )/ Diff(M ) will thus not be a geodesic. In [2] such curves have been called ballistic curves.
Remark 9. In certain applications, there exist natural reference parametrizations c i,ref ∈ [c i ] of the curves one is interested in. For instance, if one deals with skeletal animations (for details see Section 4 below), the curves are mappings from a time interval into the so-called joint space. In this case, the reference parametrization of a given animation uses a uniform frame rate, and reparametrizations correspond to local speed-ups or slow-downs. In such a setting, it makes sense to define the feature matching term based on the similarity of parameter values rather than the points on the curve. Given some distance measure FM on M n , this can be achieved in our setting by defining Then the similarity measure d can be written as

Symmetrization of the feature matching term
With the definition in (12), the energy is not symmetric with respect to the two shapes, because the feature points are treated differently. It is, however, straightforward to symmetrize the energy functional by defining This energy functional satisfies the invariance property for any diffeomorphism ϕ of M . From this energy functional we obtain a distance on the space of parametrized curves with feature points, where the infimum is taken over all paths c such that c(0, ·) = c 0 and c(1, ·) = c 1 . Now, the invariance property of E implies that whenever ψ is a diffeomorphism of M . This allows, similar to Theorem 6, to define a symmetric similarity measure on the shape space of unparametrized curves with feature points by The problem of this similarity measure is that the computation of the infimum in (19) requires the evaluation of terms of the form FM(ϕ −1 • c −1 1 (C 1 ), C 0 ), which involve the inverse of the diffeomorphism ϕ. In particular for derivative based optimization methods like gradient descent, this poses problems, as they would require in addition to ϕ −1 also its derivative. For this reason we have used only the non-symmetric similarity measure in all the computational examples below. We note, however, that discretizations of the symmetric term can, in certain cases, be minimized efficiently with an approach based on dynamic programming (see Sect. 3.2).
3 Matching feature curves with the elastic metric.
In the following, we will study one particular choice for both the Riemannian metric and the feature matching term. Our choice of the Riemannian metric G on Imm(M, R d ) is the elastic metric with coefficients a = 1, b = 1 2 , see equation (4). This is particularly beneficial if we work on open curves. In this case, we have an explicit formula for the induced geodesic distance of the metric G, cf. Theorem 1. For the feature point matching we use the squared 2 -norm on the parameter space M with respect to some reference curves c i,ref =: c i . We will discuss different choices for the feature matching term below in Remarks 15 and 16.
As a direct consequence, we obtain the following formula for the matching functional for feature curves: Here, (c j , θ j ) are arbitrary representatives of the shapes ([c j ], C j ).
This observation yields the following strategy for solving the feature curves matching problem: • Minimize over ϕ ∈ Diff([0, 2π]).
• Calculate the geodesic connecting c 0 to c 1 • ϕ using the explicit formula from Theorem 1.
Remark 11. Note, that the minimizer of (21) will in general not be a diffeomorphism, but will only have a non-negative derivative, cf. [30] To guarantee existence of the minimizer in the diffeomorphism group one would need to use a stronger metric on Imm(M, R d ) see [8].
For closed curves the situation is more complicated, since there is no explicit formula for the geodesic distance. Thus the matching functional does not simplify and (21) for closed curves reads as: However, due to the explicit characterization of the image of the SRVT, there are fast and efficient ways to numerically calculate the geodesic distance, cf. [25,3]. In the following we will present two methods to minimize these functionals: a dynamic programming approach and a gradient descent algorithm.

A gradient descent approach
The integral component of the gradient descent algorithm -the variation of the energy functional (21) -will be derived in the following lemma. To simplify the exposition we introduce the notation q ϕ := ϕ (q • ϕ), for the action of the diffeomorphism group on the space of SRV-transformed functions. Then we have: Lemma 12. The variation of E op in direction δϕ is given by: The L 2 -gradient of the energy functional (21) is then given by: where δ θ i 0 denotes the delta distribution and q j = R(c j ).
Proof. Using the notation q j = R(c j ) the Energy functional can be written as We will calculate the variation of the two parts separately. For the first part we have: To read off the L 2 -gradient we have to integrate by parts the δϕ term. Since δϕ vanishes at the boundary we have Using that we obtain the gradient of the first term: For the second summand we calculate Putting everything together, the formula for the gradient follows.
Remark 13. Since E cl 1 can be seen as the restriction of E op 1 to a co-dimension d submanifold, the gradient of E cl 1 is simply given by the projection onto the tangent space of this submanifold, cf. Theorem 2.
Using the above formulas, the implementation of the gradient descend algorithm is straightforward. In [25], however, it has been shown that it can be beneficial to represent diffeomorphisms ϕ as the tuple ϕ = (x 0 , √ ϕ ). If one works with open curves the initial value x 0 is always zero. Then there is a one to one correspondence between ϕ and √ ϕ . Denoting ψ = √ ϕ , the energy functional on open curves reads as: We can now also derive the variation of E in the ψ-representation: The variation of E 2 (ψ) in direction δψ is given by: Proof. For a variation δψ we calculate Using that θ 0 ψ 2 dτ = ϕ we obtain the formula for the first part. For the second summand we calculate Remark 15. We do note that a gradient descent based algorithm can also be applied if the feature matching term FM is not the squared 2 -norm but rather a general differentiable function, the only difference being a corresponding modification of the last terms in the variations (24) and (26), respectively. For instance, in the case of a feature matching term FM defined on the parameter space M n , the last term in (26) becomes

Dynamic Programming
As an alternative to the gradient descent method discussed above, Dynamic Programming (DP) is often used to determine a piecewise linear approximation of the optimal parametrization. We begin by introducing a local version of the energy functional (21).
Let I = {τ 0 , . . . , τ M } be a discretization of the interval [0, 2π]. Given k < i ∈ I and l < j ∈ I and a strictly increasing function ϕ satisfying ϕ([k, i]) = [l, j], we definē In the special case where ϕ is the linear function and q k,l;i,j (τ ) := is the corresponding SRV transform of the reparametrized curve, the energy functional reduces to E(k, l; i, j) :=Ē 1 (ϕ k,l;i,j ; k, l; i, j) =  global reparametrization, we need to find H(2π, 2π) and a corresponding optimal reparametrizationφ := ϕ 2π,2π . Now note that H satisfies the recursion because of the additivity ofĒ 1 . Thus ϕ i,j is given by with (k, l) ∈ arg min k,l∈I, k<i, l<j E(k, l; i, j) + H(k, l).
(30) In practice, this computation consists of two steps. In a first step, we create the M × M matrix H inductively while keeping track of the minimizing indices k and l (see (29)). In the second step, we determine the functionφ by backtracking the minimizing indices and using formula (30).
In order to speed up the computation, we can restrict the set of admissible indices in (29) and consider only indices k, l close to i, j. In practice, this corresponds to a restriction of the possible slopes of the piecewise linear reparametrizationφ. See Fig.  1 for an example.
Remark 16. The minimization approach based on dynamic programming can also be applied for non-quadratic feature matching terms, as long as they decompose as . For this, one only has to replace in (28) the last sum by Note that this can be also used to implement hard constraints on the deviation of the feature points by setting for some hard bounds d m ≥ 0. In addition, the dynamic programming approach readily extends to the symmetrization discussed in Section 2.4, again as long as the feature matching terms decompose. Here, the last sum in (28) has to be replaced by We stress here that the function ϕ k,l;i,j is linear on the interval [k, i], and thus its inverse, which appears in the formula above, can be trivially computed.

Applications
As demonstrated in [10], shape matching techniques can be applied to certain computer animations such as, for instance, human walking motions. This has uses in the entertainment industry (movie and TV production, and especially video games) as well as potential biomedical applications. We will be working with skeletal animations, where motions are described in terms of bones and joints in an approximation of a human skeleton. A typical approach to generate such animation data is to use motion capturing methods, where a stuntman's motions are recorded by multiple cameras in a studio. By tracking a multitude of points on the stuntman's body as he moves, the corresponding skeletal animation can be recovered. These animations face a number of limitations, however, and often require additional postprocessing. We refer to [20,7,12,13,10] for more details and examples.
A skeleton is a directed acyclic graph where vertices and edges represent bones and joints, respectively. A joint represents a transformation relationship between two bones. In the case of human motions, transformations between bones are restricted to rotations. Joints can have one to three degrees of freedom. For example, the knee has one degree of freedom while the foot has two, and the shoulder has three. Fig. 2 shows the skeleton used for our numerical experiment. By representing rotations using Euler angles, we can collect all degrees of freedom of all joints in the skeleton as a highdimensional torus, which we refer to as joint-space and denote by where d denotes the total number of degrees of freedom in the skeleton.
An animation is then a function from a time interval to the joint-space J , so that for every point in time we get a pose of the skeleton. We can now unroll the joint-space torus in R d and represent animations as parametrized curves c 0 and c 1 in this space. The shape matching techniques developed previously can then be applied to these curves. See [10] for more details.
In Sect. 4.2, we will show how feature matching can be successfully used to complement such existing shape matching methods. We will begin, however, with a few examples of feature matching for planar curves to demonstrate the effects the additional feature term has on the curve matching.

2d-curves
As would be expected, adding feature points to shape matching can have a big impact on the resulting paths.
As a first example, we consider the matching of two open curves, the first of which has three maxima and minima, while the second only has two (see Fig. 3). Using only the elastic matching term without any specification of feature points, the resulting minimum energy path between the two curves approximately maps the first and the last extremum of the first curve to the first and the last extremum of the second curve, while the extremum in the middle vanishes slowly.
Adding feature points, one can change the behavior of the optimal path significantly. If, for instance, feature points are set on the last extremum of the first curve but in the vicinity of only the last extremum of the second curve, then the optimal path tries, during its evolution, to merge the last extrema of the first curve, while its lower portion is matched quite closely to the lower half of the second curve (see Fig. 3, upper left). Different behaviors follow from different choices of the feature points. Fig. 4 shows similar behavior for closed curves. When using a purely elastic matching term, moving from the first hand-pose to second one seen in Fig. 4, we end up with visually unappealing interpolations. By picking to corresponding fingertips on both hands as feature points, the algorithm achieves a much more natural looking transition from one shape to the other. However, feature points need to be selected carefully, as the last row in Fig. 4 shows. By attempting to match for example the thumb in one hand shape to the midway point between index and middle finger on the second hand shape, we induce a physically implausible interpolation that involves growing a new thumb. We refer to the supplementary material 2 for videos demonstrating the differences.

Elastic reparametrization
Correct feature points Incorrect feature points Figure 4: Effect of picking different feature points when matching two different hand shapes. In the top row, no feature points were set. The purely elastic matching produces distorted shapes along the geodesic path between the two hand shapes. In the middle row, feature points were set to match the tips of ring and index fingers correspondingly. This results in more natural interpolated shapes. In the bottom row, we see how incorrect feature matches cause some fingers to merge and new fingers to grow along the interpolation between the two shapes. Corresponding markers on the left and right are matched, resulting in different paths between the given curves. Colors along the curves indicate parametrization.

Applications to animations
We now turn to the use of feature point matching for animations. Human animations come in an immensely large variety. Walking motions alone can vary in speed, rhythm, step length, motions of the arms and so on. Traditional elastic matching methods (i.e., without feature points) can be applied to a large number of animations, but can sometimes struggle with animations that have large differences in rhythm, for example when matching a walking animation to a limping animation. Feature points can be used to help with determining an optimal reparametrization to align two animations in time.
t Figure 5: Example of using various methods to interpolate between two walking animations. The blue and orange lines are the trajectories of the left and right feet respectively. Note in particular how the two walking animations have different numbers of steps and how the various interpolated animations struggle with that. We have from left to right and top to bottom the following methods: linear interpolation of the Euler angles, elastic matching without reparametrization, elastic matching with reparametrization and finally elastic and feature point matching with reparametrization. Fig. 5 shows an example of using feature point information to aid in animation interpolation. The goal is to calculate interpolations between two different walking animations. These can be seen in the top row of Fig. 5. The animations differ in the number of steps, rhythm and arm motions. In addition, the character in the second animation starts walking forward only after a short delay compared to the first.
The results of four different interpolation schemes (linear interpolation of the Euler angles, elastic matching with and without reparametrization and elastic and feature Linear No reparam.
t Figure 6: Example of using various methods to interpolate between two walking animations stepping over an obstacle. The blue and orange lines are the trajectories of the left and right feet respectively. We have from left to right and top to bottom the following methods: linear interpolation of the Euler angles, elastic matching without reparametrization, elastic matching with reparametrization and finally elastic and feature point matching with reparametrization.
matching with reparametrization) can be seen on the bottom of Fig. 5. The two superimposed lines show the trajectories of the left and right feet for each calculated interpolation. We can see how especially the varying numbers of steps in the two initial animation causes problems for the matching algorithms. As feature points we picked the first three times when the left knee moves forward and past the right knee. This is already enough information for the shape matching algorithm to determine a "good" (i.e., visually convincing) interpolation.
Similar results can be seen in the second example, which shows two walking animations stepping over an obstacle of different height as seen in Fig. 6. Again, the superimposed lines represent the trajectories of the feet, with noticeable bumps as the character steps over the obstacle. As before, we have picked the first three times when the left knee moves forward and past the right knee as feature points. With this additional information, the feature point matching algorithm manages to produce a visually convincing interpolation between the two animations, whereas the other matching algorithms fail and produce only garbled results.
We refer to the supplementary material 3 for a video demonstrating the differences.