Enhanced Direct Delta Mush

01/07/2021
by   Serguei Kalentchouk, et al.
Apple Inc.
0

Direct Delta Mush is a novel skinning deformation technique introduced by Le and Lewis (2019). It generalizes the iterative Delta Mush algorithm of Mancewicz et al (2014), providing a direct solution with improved efficiency and control. Compared to Linear Blend Skinning, Direct Delta Mush offers better quality of deformations and ease of authoring at comparable performance. However, Direct Delta Mush does not handle non-rigid joint transformations correctly which limits its application for most production environments. This paper presents an extension to Direct Delta Mush that integrates the non-rigid part of joint transformations into the algorithm. In addition, the paper also describes practical considerations for computing the orthogonal component of the transformation and stability issues observed during the implementation and testing.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

04/17/2019

True Parallel Graph Transformations: an Algebraic Approach Based on Weak Spans

We address the problem of defining graph transformations by the simultan...
01/18/2019

Decomposition of games: some strategic considerations

Candogan et al. (2011) provide an orthogonal direct-sum decomposition of...
11/14/2017

The mixability of elliptical distributions with supermodular functions

The concept of ϕ-complete mixability and ϕ-joint mixability was first in...
07/16/2020

Smooth Deformation Field-based Mismatch Removal in Real-time

This paper studies the mismatch removal problem, which may serve as the ...
11/07/2018

Branch and bound algorithm for the traveling salesman problem is not a direct type algorithm

In this paper, we consider the notion of a direct type algorithm introdu...
11/24/2021

Interpolating Rotations with Non-abelian Kuramoto Model on the 3-Sphere

The paper presents a novel method for interpolating rotations based on t...
04/25/2015

SIFT Vs SURF: Quantifying the Variation in Transformations

This paper studies the robustness of SIFT and SURF against different ima...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1. Introduction

Direct Delta Mush is a novel skinning deformation technique introduced by Le and Lewis (2019). It generalizes the iterative Delta Mush algorithm of Mancewicz et al (2014), providing a direct solution with improved efficiency and control. Compared to Linear Blend Skinning, Direct Delta Mush offers better quality of deformations and ease of authoring at comparable performance. However, Direct Delta Mush does not handle non-rigid joint transformations correctly which limits its application for most production environments.

This paper presents an extension to Direct Delta Mush that integrates the non-rigid part of joint transformations into the algorithm. In addition, the paper also describes practical considerations for computing the orthogonal component of the transformation and stability issues observed during the implementation and testing.

(a) at rest
(b) deformed
Figure 2. Delta mush deformation under non-rigid transformation fails to reconstruct the original shape.

2. Non-Rigid Transformations

“Squash and stretch” is one of the 12 basic principles of animation. In order to accurately model this behavior, it is often necessary to apply non-uniform scale to joint transformations during animation. Unfortunately, Direct Delta Mush (DDM) (Le and Lewis, 2019) fails to accurately handle non-rigid joint transformations, as shown in Figure 0(a), when compared to similar transformations with Linear Blend Skinning (LBS), shown in Figure 0(b). Not surprisingly, the original Delta Mush (DM) (Mancewicz et al., 2014) technique exhibits the same artifacts under non-rigid transformations.

Conceptually, DM/DDM applies joint transformations to mesh vertices that have undergone Laplacian smoothing , and then restores the surface detail lost through smoothing by applying the delta between the smoothed and non-smoothed vertices at rest pose. However, while displacements of smoothed and non-smoothed vertices under rigid transformation are equivalent, vertex displacements under non-rigid transformation are not, as seen in Figure 2.

The key insight is to compute the displacement of non-smoothed vertices under non-rigid transformation and reintroduce that displacement as a rigid transformation of smoothed vertices.

To that end, the DDM runtime computation is updated as follows. Each joint transformation is factored into a combined scale and shear matrix and a rigid only transformation matrix (Spencer, 1991). Then, for each vertex in the rest pose, a displacement under non-rigid transformations is computed as: , where is applied as a local transformation at each joint. Finally, equation 7 rev. of the DDM algorithm is modified to be:

(1)

where:

With this formulation, the non-rigid transformation of each influence joint is then weighted using the precomputed weights, producing the desired deformation seen in Figure 0(c). This solution supports mixed hierarchies of scale-propagating and scale-compensating joints, which are typical of production rigs in Maya and other digital content creation tools.

(a)
(b)
Figure 3. Smoothed vertices transformed by , using a cotangent Laplacian computed with (a) single precision, and (b) with double precision.

3. Nearest Orthogonal Matrix

To compute the orthogonal component of the vertex transformation, the full model variant of DDM calls for solving the Singular Value Decomposition (SVD) of a

matrix , so that . Performing a full SVD for each vertex comes at a significant computational cost and poses implementation challenges for real-time environments. Instead, we can take advantage of the fact that is a square matrix to consider the Polar Decomposition as a solution to the Procrustes problem. Here, , where

is the nearest orthogonal matrix and

is a symmetric matrix. To solve for :

(2)

The square root inverse of the symmetric matrix can be efficiently computed using a closed form solution, which can be easily implemented as a compute kernel (Franca, 1989). This formulation provides equivalent results to the full SVD solution at a reduced cost.

4. Practical Observations

While testing with a large range of motion we found instances where the orthogonal matrix contained reflection as well as rotation. This occurs with both the SVD formulation of Le and Lewis, and our square root formulation. These reflections can result in discontinuous motion and undesirable visual artifacts during animation, making it necessary to restrict the solution to rotation matrices. To do so when using SVD, the formula for is modified to be (Higham, 1988):

(3)

where:

The same correction can be applied to the square root formulation by negating the smallest eigenvalue when the determinant of

is negative. Note that this requires computing all three eigenvalues using the Stephenson/Sawyers alternative method described by Franca.

Additional testing on more complex geometry revealed that some smoothed vertices were degenerating under the transformation , as seen in Figure 2(a). This issue was also present in the unmodified implementation of DDM. In order to achieve a stable solution we found it necessary to use double precision arithmetic in the calculation of Laplacian cotangent weights.

References

  • L. P. Franca (1989) An algorithm to compute the square root of a 3 × 3 positive definite matrix. Vol. 18, pp. 459–466. External Links: Document, Link Cited by: §3.
  • N. J. Higham (1988) Matrix nearness problems and applications. In Proceedings of the IMA Conference on Applications of Matrix Theory, pp. 1–27. Cited by: §4.
  • B. H. Le and J. Lewis (2019) Direct delta mush skinning and variants. ACM Trans. Graph. 38 (4). External Links: Document, Link Cited by: §2.
  • J. Mancewicz, M. L. Derksen, H. Rijpkema, and C. A. Wilson (2014) Delta mush: smoothing deformations while preserving detail. pp. 7–14. External Links: Document, Link Cited by: §2.
  • T. W. Spencer (1991) Decomposing a matrix into simple transformations. In Graphics Gems II, pp. 320–323. Cited by: §2.