Baseline Skinning for Point Sets of Articulated Bodies

06/07/2021
by   Tong Fu, et al.
0

General skinning techniques aim to deform the surface of an articulated model following the pose change of a skeleton. Their rapidity makes them ideal tools for real-time animation purposes. However, popular skinning algorithms are simple, but they tend to generate undesirable geometric artefacts. In our work, we consider skeletons given in the form of sphere-mesh models controlling both the pose and morphology of the shape that is either described as a mesh or a raw point set. We propose a novel skinning method that encodes the point set details above a bundle of baselines covering the sphere-mesh. In particular, we propose a geometrical model of the baseline and detail direction evolution during bone twisting and joints bending rotations. Our approach works directly on point sets and thus preserves the accuracy of the initial sampling. It further avoids computing a weight per point or a costly explicit muscle modelling step. We evaluate our method on several articulated body point sets, showing that it creates fewer artefacts than classical methods.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 3

page 4

page 6

page 7

page 10

page 11

page 12

page 13

01/05/2022

Surface-Aligned Neural Radiance Fields for Controllable 3D Human Synthesis

We propose a new method for reconstructing controllable implicit 3D huma...
03/06/2019

Controlling Meshes via Curvature: Spin Transformations for Pose-Invariant Shape Processing

We investigate discrete spin transformations, a geometric framework to m...
10/14/2020

Skeleton-bridged Point Completion: From Global Inference to Local Adjustment

Point completion refers to complete the missing geometries of objects fr...
07/26/2019

FAKIR : An algorithm for estimating the pose and elementary anatomy of archaeological statues

The digitization of archaeological artefacts has become an essential par...
06/01/2021

All-Hex Meshing Strategies For Densely Packed Spheres

We develop an all-hex meshing strategy for the interstitial space in bed...
02/11/2021

Modeling 3D Surface Manifolds with a Locally Conditioned Atlas

Recently proposed 3D object reconstruction methods represent a mesh with...
08/16/2019

Extending editing capabilities of subdivision schemes by refinement of point-normal pairs

In this paper we extend the 2D circle average of [11] to a 3D binary ave...
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

The main idea of skinning is to deform a surface following an underlying skeletal animation. Each surface point is influenced by one or more skeleton bones, and weights describe the influence of relevant bones on each point (usually a mesh vertex). Skinning techniques are widely used in computer animation or shape modeling to change a character’s pose and shape.

Many widely used geometric skinning methods, such as Linear Blend Skinning Magnenat-thalmann et al. (1988) or Dual Quaternion skinning Kavan et al. (2008), suffer from volume collapse problems and need a careful design of per-vertex weights. Example-based methods Mohr et al. (2003) and physics-based methods do not suffer from such artefacts. However, they are computationally expensive and require additional input data.

Our goal is to provide a point set skinning technique that preserves the geometric detail and keeps the initial sampling accuracy. We assume that a skeleton, in the form of a sphere-mesh model, controls the pose and the dimensions of the overall shape of the point set. Our approach encodes the shape details as a vector field above a set of baselines covering the sphere-mesh model’s surface. We propose to associate a base point on the articulated sphere-mesh model to each of the original shape points. Each base-point is located on a baseline over the sphere-mesh model, and the position of a base-point after deformation follows its baseline’s motion. We then deduce the new position of an input point from its corresponding base-point’s new position by adapting its initial detail field value. Our approach’s originality is not to require a mesh with fixed connectivity whose triangles quality may be altered by deformations related to poses and anatomy changes, possibly creating triangle slivers and self-intersections. Meanwhile, our point set skinning process does not need to determine and compute weights.

Applications of our method include virtual artwork restoration. In virtual archaeology, one way of restoring statues is to combine parts from different statues after bringing them to a common pose and morphology and require hence artefact-free skinning results while avoiding the explicit simulation of muscles that may not respect the artistic style. Unlike an animation of 3D characters, skinning for virtual restoration is more sensitive to preserving the initial surface details. Besides, it requires not only rigid transformations but also affine transformations such as scaling. In this context, our baseline skinning method gives relevant results and preserves the details of the input shape.

To summarize, our main contributions are:

  • A skinning method working directly on a point set.

  • An approach to encode a point set above a sphere-mesh using a specific detail direction field.

  • A full geometric model of the evolution of a detail field following a sphere-mesh model deformation.

  • A skinning method able to handle multi-layered details deformation.

  • A method that can handle articulated bodies such as human shapes as well as imaginary creatures.

2 Related work

The most famous and simple skinning method is Linear Blend Skinning (LBS for short) Magnenat-thalmann et al. (1988). A vertex on a mesh surface is transformed by a linearly weighted combination of the motions related to the moving bones it is attached to. Despite well-known limitations (the candy wrapper effect and the elbow collapse effect), Linear Blend skinning is still the standard skinning method for real-time animation purposes. Many skinning approaches base on the principle of LBS and improve its limitations, such as Pose Space Deformation Lewis et al. (2000), Log-matrix blending Alexa (2002); Thalmann et al. (2004), Optimized centers of rotation Le and Hodgins (2016), Multi-Weight Enveloping Wang and Phillips (2002), spherical Skinning Kavan and Žára (2005) and Dual Quaternions Skinning Kavan et al. (2008). Jacobson and Sorkine Jacobson and Sorkine (2011) proposed to add extra endpoint weights to the LBS formulation so that it can handle properly stretch and twist. The endpoint weight of one vertex for one bone varies from 0 to 1, which indicates the original vertex’s position relative to the bone’s endpoints. The twist rotation’s angle of this vertex on the bone is a linear combination of the twisting angle of the two endpoints. The bend rotations are carried out afterwards on the positions resulting from the twist. Kavan and Sorkine Kavan and Sorkine-Hornung (2012)

then proposed a joint-based deformer that differentiates bend and twist motions at each joint. The deformer applies a spherical interpolation of the twist (as DQS) and then a linear interpolation of the bend (as LBS). The weights for bend and twist are different which are precomputed separately as their energy-minimizing weights for linear blend skinning. Fu et al. 

Fu et al. (2020a) further improved the result by handling bend rotations anisotropically. But there are still some artefacts at joints such as a bulge effect.

Furthermore, setting the suitable weights is an essential question for these skinning methods: while the profile of the weights is generally sketched by graphic designers Mohr et al. (2003), there exist automatic weighting techniques that, for example, use heat diffusion Baran and Popović (2007); Thiery et al. (2013); Angles et al. (2019), geodesic voxel binding Dionne and Lasa (2013) or bounded biharmonic weights Jacobson et al. (2014). Applying suitable weights on the transformation matrices of bones gives a smooth transition at bones joints when the joints are bending, but they are not sufficient to handle twisting or bone stretching. Our method does not require such weights computation and can deal with all these deformations in a unified way. A recent skinning method Le and Lewis (2019)

corrects artefacts of Linear Blend Skinning by locally estimating the rigid transformation that best restores the relative position of a vertex concerning its neighbors using Laplacian differential coordinates. This method, designed for meshes, involves a definition of details in terms of Laplacian differences. In our approach, we instead define the detail as the residual over the registered anatomical model. Instead of using a skeleton, some methods 

Ju et al. (2005); Joshi et al. (2007) rely on a cage deformation which can deal with more general deformation like twisting or stretching. The deformations are controlled using a flexible cage that consists of a closed three-dimensional mesh. Cage deformations are designed for unrealistic articulated characters such as cartoon characters or objects and can work in 2D or 3D.

Going in a different direction, physics-based methods simulate the growth of skeletal muscles and fat tissues using a biological model. Hamadi et al. Ali-Hamadi et al. (2013) transfers the volume delimited by a mesh to the interior of another mesh by minimizing some harmonic energy. To do so, a deformation field is computed between the two meshes, based on the nearest point matching which is updated at each iteration Gilles et al. (2010). However, the process is not fully automatic. Recent researches  Saito et al. (2015); Ichim et al. (2017); Kadlecek et al. (2016) achieve the desired deformation of the human body or face by direct control of each muscle. These methods are computationally expensive and need to define the physical model from physiological data. They are not suitable for artistic shapes since the morphology, and the representation of muscles in artwork may differ from a biological model.

Taking a different perspective on the problem, Implicit skinning Vaillant et al. (2013) uses an additional implicit formulation of the surface that better supports pose changes and re-projects skinned vertices on the implicit model after each pose change. In this paper, we also use a proxy model, but it is explicit. Volume preserving skinning methods Funck et al. (2008); Rohmer et al. (2009); Angelidis and Singh (2007) correct for volume changes through the generation of extra bulges and wrinkles. They use vector fields induced by skeletal motion to describe the skin deformation. Some skinning methods involve a rough modeling of muscles combined with implicit skinning Roussellet et al. (2018).

Example-based methods Sloan et al. (2001); Wang et al. (2007); Mohr and Gleicher (2003); Kry et al. (2002) produce more realistic results but require extra training data. They have a limitation for a given range of deformations. In addition, these methods can only be as good as their training dataset is, and for unrealistic characters (imaginary creatures or characters with unrealistic body proportions), relevant datasets are nontrivial to build.

3 Method

As defined above, Skinning processes allow deforming the skin following an underlying skeletal animation. In most skinning methods, the skin is a 3D mesh whose vertices are attached to a set of bones using different weights, and the skeleton is a tree whose nodes represent joints of the skeleton and edges represent bones. In this work, we propose to consider the skin of the model as a set of detail points, encoded as a set of displacements on top of a sphere-mesh articulated model and transferred back on this model after pose or morphology changes. The originality of our approach is that the direction in which the detail is encoded does not necessarily correspond to the normal, especially in concave areas of the sphere-mesh. Furthermore, this detail direction may evolve after a pose change. The detail direction field is hence not a simple heightfield Policarpo et al. (2005).

Starting from a shape point set with a registered sphere-mesh model, we associate each input point to a base point on the sphere-mesh model to have a relative position with respect to the model. The principle of our baseline skinning is that each base point lies on a baseline, i.e. a line defined on the sphere-mesh model, whose profile evolves continuously with the deformations of the model. After applying skinning on base points, we lift them by adding the detail field in the directions corresponding to the new positions to recover the detailed point set after deformation. The pipeline of our approach is illustrated in figure 1. Along with the bones of the sphere-mesh model, the baseline motion can be thought of as mimicking longitudinal muscle’s change, and base points locally slide on the moving baseline to mimic the sliding of the skin on and around joints, although these motions are not driven by an explicit physical model. Similarly, the direction in which the detail is reported will change according to the sphere-mesh motion, as if details were carried by hairs that push against each other and lean in the concavity of a joint. Therefore, our skinning process is different from the skinning method presented in the original sphere-mesh paper Thiery et al. (2013, 2016), which remains in the classical skinning framework (i.e. LBS).

(a)
(b)
(c)
(d)
Figure 1: The pipeline of baseline skinning: (a) Baseline and detail direction field over the sphere-mesh model; (b) Point set encoding using the detail direction field; (c) Baseline segments are deformed after the bend of joints or the twist of bones; (d). Detail points are updated accordingly by sliding along the deformed baselines and being lifted in new detail directions.

In the following, we briefly describe the sphere-mesh model introduced in Thiery et al. (2013). Then we explain how to find the baseline and the base point for a given input point. Finally we derive our baseline skinning algorithm.

3.1 Registered sphere-mesh model

Our method uses a sphere-mesh model Thiery et al. (2013) as a skeleton guiding the shape deformation. A volumetric sphere-mesh is a union of spheres centered on a simplicial complex, with linearly varying radius between vertices. In our approach, we only consider 1D bones, which means that each bone corresponds to the union of a set of spheres centered on a segment with a linearly varying radius (Figure 2). The bone model is controlled by the length and the pair of sphere radii where , are the two end sphere centers and , are the associated radius respectively. The segment is the medial axis of the bone. For each sphere center , the radius of the sphere centered at is , with . We denote by the angle of the conic part of the bone, as illustrated on Figure 2. A chain of bones is a sequence of bones with each bone sharing a common end sphere with the next bone. The skeleton that we use is a tree composed of several chains of bones connected at some junctions spheres. We further assume that this sphere-mesh model is registered to the input point set, i.e. the model is calibrated to match the input shape, and we know which point is associated to which bone. In practice, to get this initial registration, we use the FAKIR algorithm Fu et al. (2020b).

Figure 2: Left figure shows the sphere-mesh model for human-like body. Right figure shows a 2D cross-section and a 3D sphere-mesh of a bone.

3.2 Initial baselines and detail direction field

Baseline definition

Given a chain of bones, a baseline is a continuous curve defined on the surface of the sphere-mesh. Before a pose change, it is composed initially of a constrained sequence of segments and circular arcs. The segments are carried by the conical parts of the bones (generators), and the circular arcs are carried by the sphere caps at the articulation between two bones. The constraints on the circles and segments composing the baseline are as follows:

  • There is one segment per bone.

  • The segments belonging to two consecutive bones are constrained to belong to the same plane containing the apexes of the two cones. If they do not share a common endpoint, these two segments are connected in a manner by a circular arc also belonging to the plane of the two segments.

Figure 3 illustrates two portions of baselines on a two bones chain. The one in green contains a circular arc, while the one in blue illustrates the case where two segments directly share a common endpoint.

Building a baseline

Starting from a point on a cone part of the sphere-mesh, we consider the cone generatrix that passes through that point: the first segment is the part of the generatrix corresponding to the sphere-mesh surface restricted to that cone. Then, the rest of the baseline is built using the following principle: Given a baseline segment on one bone , the corresponding baseline segment on subsequent bone is obtained by intersecting the sphere-mesh surface restricted to with the plane containing the segment on and the cone apex . By construction, this plane also contains the cone apex . There are two connected components in the intersection of the plane with the two truncated cones and their connecting spherical cap. We choose the segment of that lies in the same connected component of our initial segment on . If these two segments do not have a common endpoint, they are connected in a continuously differentiable () way by a circular arc. The latter is a circular portion of the intersection between the plane of the two segments and the spherical cap shared by the two bones. The same construction process is valid for extending a baseline segment of a bone onto the preceding bone.

In degenerate cases where one of the bones is, in fact, a cylinder, a baseline segment on that bone is a segment parallel to the cylinder axis, and the corresponding segment in an adjacent bone is included in the plane defined by the segment on the cylinder and the apex of the other cone. If both bones are cylinders, the plane containing the baseline segments on those bones is parallel to the axis of both cylinders.

If one bone corresponds to a free extremity of the sphere-mesh, a baseline segment on that bone is extended by a circular arc joining the endpoint to the furthest point of the sphere cap that is aligned on the bone axis (see Figure 2(b)).

Bundle of baselines

It is essential to notice that the baselines built for a chain of bones cannot cross each other. Hence, the surface of each chain of bones is covered by a bundle of non-intersecting baselines.

(a)
(b)
Figure 3: (a) Pair of baselines defined in a support plane passing through and with their associated direction fields. The direction field along the blue baseline is not included in the support plane but each vector is inversely oriented towards the axis of its corresponding cone. (b) baselines closure on a free extremity of a bone.
Bundle of baselines at junctions

A sphere-mesh is usually composed of several chains of bones, which join at a common sphere end. It is possible to extend the construction of the bundle of baselines by subdividing the sphere into several portions in the manner of a Voronoi diagram. Each cell comprises the points that are closer to a tangential cone portion than to another tangential cone portion. On the sphere, the median between two cones is a circular arc in the plane that holds the intersection of the two cones. It is indeed a plane because the cones are tangent to a common sphere. At the junction, baselines connect coplanar segments of two cones if the plane holding these two segments also contains a common point to the two cones on the union of all the cones truncated with each other.

Figure 4: Bundle of baselines at the junction of three chains. Green baselines pass through red cone and green cone, blue baselines pass through green cone and blue cone, yellow baselines pass through red cone and blue cone. In the left figure, we extend segments on the union of truncated cones to identify the kind of baseline they belong to.
Detail direction field

Armed with this baseline definition, we now define how a continuous vector field of detail directions can be defined over the sphere-mesh using the system of baselines. Those directions will be used to encode the detail points above the sphere-mesh.

First, along a circular arc, the direction of detail always coincides with the normal direction. The segment case is slightly more demanding: we first define the detail directions at the endpoints and then linearly interpolate along the segment.

  • If the endpoint corresponds to the connection of the segment and a circular arc, the detail direction corresponds to the endpoint’s normal, which is well defined because of the junction property.

  • If the endpoint corresponds to the intersection of two cones tangent to a common sphere, the detail direction corresponds to the outward direction from the sphere’s center to the intersection point.

Figure 3 illustrates the profile of the detail direction field above a baseline. Note that along a baseline segment, the direction field vectors are coplanar by construction. The detail direction field along a segment is entirely contained in the plane defined by the segment and the axis of the bone it belongs to. In the next section, we use this property to define a non-orthogonal projection of a point onto the sphere-mesh. Note that the plane including details changes from one segment of the baseline to another or from one segment of the baseline to a circular arc.

3.3 Projection of a point on the sphere-mesh using the detail direction field

Given a point of the input shape, we propose to project it on the sphere-mesh using detail directions induced by baselines instead of using the orthogonal projection. Hence, we can obtain a more natural and continuous way of modelling the details in the concave parts of the sphere-mesh. More precisely, given a point , we are confronted with the inverse problem of determining a base-point of the sphere-mesh such that can be encoded as a displacement in the detail direction above . Fortunately, this inverse problem is made easy because, at a joint and its two incident bones, the segments and circular arcs of a baseline are coplanar, and by the fact that detail directions are also coplanar above each baseline segment.

Figure 5: 2D Cross-section along the plane ( and do not belong to that plane but are superimposed for illustration purpose). is the orthogonal projection of a given point on its closest bone and base-point is such that , with the direction field at , and the corresponding detail amplitude.
Baseline determination

Given , we first have to identify the baseline portion that contains base-point . Assuming that the local variation of a detail point after a skeletal movement is only influenced by its closest bone, the predecessor bone and the successor bone, the portion of baseline associated to only needs to be computed over at most three bones. First, let us first deal with the easy case where point projects orthogonally on a spherical cap of the closest bone. In this case, the base-point coincides with the orthogonal projection of onto the sphere and the detail direction corresponds to the normal to the sphere at this point. Hence the base-point is trivial to find, and the local portion of the baseline is built accordingly on the two adjacent bones. In the nontrivial case where the orthogonal projection of lies on a cone part of the closest bone, the base-point must be determined on the baseline associated with . Our method processes the bones by pairs: by first considering the portion of baseline along ’s closest bone and its successor bone to deal with one joint and the portion of baseline on the predecessor bone and the closest bone with the other joint. Hence, the following explanations will be illustrated on a sphere-mesh corresponding to a single pair of bones. We refer to Figure 5 for the following notations. The example sphere-mesh model is composed of a sphere joint and its two adjacent bones and . Let and denote the apexes of the cones underlying and .

is the orthogonal projection of on its closest bone ( in the example), except if is located within the intersection of the two bones and . In the latter case we project on the more distant of the two bones and for continuity sake, as illustrated in Figure 5 with being projected on even if is its closest bone. Importantly enough, the orthogonal projection is to be distinguished from the base-point . We consider the plane containing line and , and take its intersection with bones and and their common joint but excluding the spherical caps at the other end of the two bones. If plane is not tangent to sphere , this yields two possible pieces of baseline curve, instead of a single one (blue and green curves in Figure 5). Each piece is composed of two segments (( and in green or and in blue in Figure 5) that are possibly joined by a circular arc ( in green in Figure 5). Note that, both pieces of baseline may possibly enclose a circular arc. Out of these two possible baselines, we select the one that contains . Hence, in Figure 5 the blue curve is the baseline piece associated with point .

Two exceptional cases must be considered. If one of the adjacent cones is a cylinder (both its end-sphere radii are equal), we consider instead the plane parallel to the cylinder axis, containing the apex of the remaining cone and point . The second case is when both cones degenerate to cylinders, in which case we consider the plane parallel to both cylinders axis and containing .

Anchor points of a baseline

If there is a circular arc in the baseline portion associated with point on the joint sphere , we denote by the intersection point of the circular arc and the plane enclosing the intersection of the two cones. This plane is called the separator plane of the two bones. is different from the midpoint of the arc . If there is no circular arc, is the intersection of the two extended segments and of the underlying cones, where and both belong to the sphere joint in Figure 5). Here again belongs to the separator plane of and . is the anchor point of the baseline on joint .

Base-point determination

The portion of baseline associated to one point on its closest bone and its two adjacent bones is composed of three segments that are possibly joined by one or two circular arcs. In the example of Figure 12(a), the piece of baseline contains segments , and , where and are the intersections of the extended segments , and .

If lies on a circular arc of sphere , the detail direction is given by the unit vector pointing from towards , and is the base-point of . If lies on a segment part supported by a bone , the detail direction encoding is enclosed in the plane containing ’s axis and . To determine the corresponding base-point we use the fact that detail directions are obtained by coplanar linear interpolation between the detail directions at the segment endpoints. If the segment is adjacent to two circular arcs on the baseline curve, the detail direction locally corresponds to the normal to the cone and the base point still coincides with . However, if a segment on is adjacent to another segment on (resp. ) the direction of detail at their common point (resp. ) is given by the unit vector pointing from the center (resp. ) of their common joint sphere toward (resp. ). This case is illustrated in Figure 5. Introducing an additional point , lying at the intersection of line and , is found as the intersection of lines and , and the detail direction is , which corresponds to a linear interpolation along the segment between and .

3.4 Encoding a point set above a sphere-mesh

Each point is projected onto the sphere-mesh to determine its base-point and its local amplitude of detail in its detail direction. The projection process is independent for each point and can therefore be parallelized. The input point set is then described by a set of sphere-mesh base-points with a height as illustrated in Figure 6. There can be several occurrences of a same base-point when the starting shape is multi-layered or has plumb lines.

Figure 6: Illustration of a point set (in red) encoded as a detail set over a baseline. The base-points are shown in green and in yellow. The yellow base-points have more than one detail point over them. The detail may be negative when it is oriented inward.

3.5 Baseline and detail direction field after pose change

After skeletal movement, segments composing baselines will be modified differently depending on whether a bone is twisted or a joint is folded or unfolded. In our deformation approach, the segments are transformed into curves on the conic part of the bones. The deformed baselines will be composed of pieces of these curves such that they can still be connected by circular arcs as in the original baselines.

Twist

When a bone is twisted around its axis with remaining fixed, the points belonging to a baseline segment of will be deformed by rotations around the cone axis. The angle of rotation of a point on the segment depends on its normalized distance to the endpoint closer to , in a similar way of the approach proposed in Jacobson and Sorkine (2011); Fu et al. (2020a). Normalized distances are measured before twisting . After twisting, the segment deforms into a curve depending on the profile of the angle of rotation as an increasing function of . The circular arcs remain unchanged. Figure 6(a) illustrates the deformation of a segment after twisting with an angle . The angle of rotation applied along the segment is computed by using a cubic function: . But any other profile provided by an artist or resulting from learning would be possible. The advantage of the cubic profile is that the tangent to the curve at the endpoints of the segment is preserved by twisting.

(a) Twisting movement
(b) Profile of the twisting angle.
Figure 7: The right bone is rotated around its axis by the angle . The baseline before (green) and after (red) the twist are superimposed. The right image shows the cubic profile of the twisting angle applied to the points: .
Bend

When a joint between two consecutive bones and is bent, the cone of is rotated around the axis of the joint, and remains fixed. Given a baseline, the rotated segment of is no longer coplanar with on . Initially, the two segments were in the same plane of the sheaf passing through . After bend rotation, each segment is in a different plane of the sheaf as illustrated in figure 8. The planarity loss is also illustrated on figure 9. Therefore we propose to deform segments on the surface of cones so that they can be connected again by a circular arc defined by a plane of the sheaf. Let us first explain where the new endpoints of these curves and are positioned on the sphere.

(a) Initial position: the segments are coplanar.
(b) New positions of the segments after a bend rotation of the joint
Figure 8: Positions of baseline segments before and after a joint is bent. Circles of tangency on and are represented in blue and red respectively.
(a)
(b)
Figure 9: Baseline deformation after bend rotation of joints. The rotated segments (in blue) are superimposed with the deformed baseline (in yellow): (a) bend of a single joint between two bones, and (b) bend of two consecutive joints.

In the following descriptions, we usually illustrate the case where and do not intersect initially and are connected by a circular arc in the initial baseline. However, the case where initial segments and intersect is treated in the same way, by performing the deformation on the extended segments and .

By definition, and belong to the circles that connect their respective cones to the common sphere. Let us call these circles the circles of tangency (see figure 8). After rotation, we propose to move the endpoints and on their respective circles of tangency so that they are brought in a common plane of the sheaf containing and the displacements of and on their respective circles are similar in a sense that takes the position and the radius of the circles of tangency into account. Figure 10 illustrates the conjoint determination of the coupled target positions and for endpoints of segments being deformed. The rotated segment can be completed into a continuous planar baseline proposition using circular arc and segment (in blue) in the plane passing through , and . Likewise, segment and circular arc complete the segment into a continuous planar baseline proposition (in yellow) within a plane passing through , and . and (resp. and ) are on the circle of tangency which connects the red cone (resp. blue cone) to the common sphere. The target endpoint and must be located on the circular arcs and respectively.

In the corresponding subset of the sheaf of planes passing through , we are seeking the relevant intermediate plane defining the target endpoints , that balances the distances of and but also and . For this we cannot work directly on the circle of tangency of , nor on the circle of tangency of , but on a pivot circle at the intersection between the separator plane of the two cones and the joint sphere. This pivot circle is illustrated in purple in figure 10. Let (resp. ) be the intersection of the baseline arc (resp. ) and the pivot circle. denotes the middle point of the circular arc on the pivot circle. The plane of the sheaf passing through is the intermediate plane. and are defined by the intersections of that plane with the tangential arcs and respectively.

(a) Baselines and suggested by two different planes of the sheaf at a joint.
(b) Close-up. Green baseline propositions are in the possible intermediate planes of the shear between the two planes containing baselines and .
Figure 10: Conjoint determination of target positions and for coupled endpoints at a joint. The pivot circle (in purple) defined by the separator plane of the cones and the sphere is involved.

In Figure 10, we illustrate how to find the relevant intermediate plane of the sheaf between a baseline passing in the convex area of the joint and a baseline passing in the concave area. Our approach works for all other situations that we illustrate in Figure 11. This Figure also illustrates that a baseline initially positioned in the convex part of a joint may evolve in the concave part after a bend, and vice versa.

(a) (b) (c) (d) (e) (f)
Figure 11: Different cases of baseline deformation following a bend. The first row shows baseline initial positions. The second row shows baseline deformations after bend rotation. The green curve shows the intersection of the plane containing point and on the bones. (a) initial baseline passing in the convex area of the joint, deformed baseline obtained by interpolation of two baselines in the convex area, (b) initial baseline passing in the convex area of the joint, deformed baseline obtained by interpolation of two baselines in the concave area, (c) initial baseline passing in the convex area of the joint, deformed baseline obtained by interpolation of two baselines in the convex area and the concave area, (d) initial baseline passing in the concave area of the joint, deformed baseline obtained by interpolation of two baselines in the concave area, (e) initial baseline passing in the concave area of the joint, deformed baseline obtained by interpolation of two baselines in the convex area, (f) initial baseline passing in the concave area of the joint, deformed baseline obtained by interpolation of two baselines in the convex area and the concave area.

The target position (resp. ) corresponds to a target rotation angle (resp. ) of (resp. ) around the axis of (resp. ). Once these target rotation angles are determined, the points of the initial segment (resp. ) are rotated in turn around the axis of the cone by interpolating the rotation angle between and (resp. between and ) using a function of the normalized distance to (resp. ) on the initial segment (resp. ). As for the twist rotation, we propose to use a cubic interpolation of the angle, but once again it is possible to use another profile, possibly sketched by an artist, learned from experimental data, or resulting from physic-based criteria. Thus, the point with normalized distance to point on segment is rotated by an angle around the axis of . The same is done for the points of the initial segment , by using their normalized distance to and by using it to interpolate the rotation angle between and . The resulting deformation of the segment is illustrated in Figure 9.

The curves and obtained by deforming the segments and are still included on the cone part of their respective bones. If they do not intersect, they can be connected by a circular arc since and belong to a common plane of the sheaf of planes passing through . If they intersect, we crop the parts of the curves that get inside the other cone, and we connect the truncated parts.

Deformation of a complete baseline on a chain of bones

The deformation of the segments composing a baseline is done by sequentially processing the bones composing a chain, as is always the case when positioning the skin of an articulated body.

The bend of a joint distorts the segments on both its incident bones. If rotations occur at both joints bordering a bone, there is a combined effect on the common bone with a target position on each side for the endpoints of segments being deformed. However, what is said above can be adapted: we move the points of the segments by interpolating a rotation angle around the axis of the cone between two target angles (see Figure 8(b)).

If a bone is also affected by a twist, there is a combined effect of the bend and the twist on the segments of the bone. The twist is simply handled by an additional rotation of one of the endpoint, corresponding to adding the angles to the actual target angle. Then, we proceed by cubic interpolation of the angle between the two target angles for rotating the segment inner points around the axis of the bone.

The deformed segments are completed with circular arcs in the spherical convex parts of the joints, and they are truncated where they intersect in the concave parts of the sphere.

If the transformations of the bones of the skeleton are pre-computed first, the relative displacement of the points above the bones can benefit from parallelism.

Deformation of baselines at the junction between several chain of bones

If a bone is bent at a common junction with other chains of bones, we propose to locally deform the baselines by establishing a correspondence between the baselines before and after skeletal deformation. This can be done by giving a normalized coordinate to each baseline of a given type, based on the proportion of angle crossed by the baseline on the pivot circular arc associated with the pair of its corresponding bones.

(a) Bundle of baselines at a junction before bend rotation
(b) Bundle of baselines at a junction after bend rotation
Figure 12: The position of a bundle of baselines at junction. We show one baseline in orange to follow its position before and after a bend rotation.
Evolution of the detail direction field over the deformed baselines

After the movement of the skeleton, the detail directions above a deformed baseline can be constructed without knowledge of the original baseline. It depends only on the position of the points on the surface of the sphere-mesh. This amounts to compute portions of new baselines as they would be constructed with the new position of the skeleton and to construct the direction field above the segments and circular arcs of this new bundle of baselines. This is illustrated in 2D in Figure 13 and in Figure 14.

(a) Initial baseline for point
(b) Baseline after transformation
Figure 13: 2D illustration of a baseline associate with point and the detail direction before and after a motion. In this figure the baseline has been represented in a 2D flat form to illustrate the determination of the detail direction above a segment. In practice, a baseline is flat by part at creation, and the segments are then deformed into non-planar curves. But the direction of detail is locally determined as if the deformed baseline were flat.
Figure 14: Baseline and detail direction field after a bend. The entire baselines are shown in blue. The first figure shows the initial position of the baseline and its detail direction field. From the second to the fourth figures shows the baseline curve after the bend with consistent direction of detail contains: two circular arcs, one circular arc and no circular arc. The interpolation angle driving the evolution of the baseline is cubic. The detail directions are not determined by using the deformed baselines, but by using the construction of a new bundle of baselines.

3.6 Base-points and points after transformation

Base-points displacement

When the skeleton moves, the baseline of a point moves along with the bones. The base-point moves along with this baseline, but it also displaces along the deformed baseline to deal with the enlargement or shrinkage of the baseline parts between two consecutive joints. More precisely, a baseline is divided into sections by anchor points ( and in Figure 15) that were placed at the intersection with the separator planes (on the circular arcs of the baseline or at the intersection between two baseline segments). After movement of the skeleton, anchor points are still fixed at the intersection of the deformed baselines and the separator planes, and base-points are distributed over the baseline sections in such a way as to preserve the curvilinear distance ratios to the bordering anchor points. The interest of our approach is that it guarantees a good distribution of details in the areas of the surface which undergo a stretching or a shrinking.

(a)
(b)
(c)
Figure 15: Displacement of several sampled base-points between two anchor points. The scale is shown in green and yellow between two anchor points. (a) Initial position, (b) base-points displacement over a stretched baseline after deformation , (c) base-points displacement over a shrank baseline after deformation.
Point set deformation

In our skinning process, the new position of each point of the shape is encoded with respect to its new base-point through a displacement using the corresponding direction of detail . In practice, for each point , we only need to identify the corresponding portion of the baseline on the original shape and the relative abscissa of its base-point with respect to bordering anchor points on the baseline. This portion of the baseline is further deformed with the skeleton, and the new position of is computed before reporting the detail in the direction corresponding to .

Point set skinning algorithm

The full process of point set skinning is summarized in Algorithm 1.

0:  Sphere-mesh model registered to the input point set . Target pose and anatomy.
0:  Point set corresponding to the target changes.
1:  Define for each point its base point , baseline on the registered sphere-mesh and compute and (ratio of curvilinear distance to bordering anchor points)
2:  Deform the baseline into using the target pose and anatomy
3:  Determine and its corresponding by reporting on baseline
4:  Lift point to the skin surface using and
Algorithm 1 Pose and anatomy change using baseline skinning

3.6.1 Modulation of detail amplitude

If the shape we consider is an offset surface above the sphere-mesh ( constant everywhere), we would like it to remain an offset surface after deformation. This amounts to a local principle of volume preservation which was not addressed in our approach (see green details in Figure 15(b). To introduce this principle it is sufficient to modulate the amplitude of the detail with a function of the angle between the direction of detail and the normal to the sphere-mesh (see red details in Figure 15(b)): The normalized value is computed by:

where (or ) represents the angles of the detail direction (or ) It is this modulated detail that is reported over the base-point after movement of the skeleton. when a base-point is on the sphere part or on the convex part of the sphere-mesh model.

(a) Surface defined as a sphere-mesh offset before a movement ( everywhere)
(b) Angle-based modulation of the detail to preserve the offset.
Figure 16: Angle-based modulation of the detail for a surface defined as a sphere-mesh offset . The surface is sketched in red and some points are sampled on the surface. Yellow vectors represent the modulated details and green vectors represent the details without modulation.

3.6.2 Missing data when unfolding a joint

When a joint is initially folded like in Figure 16(a) and we want to unfold it, we sometimes lack information because it was hidden in the fold (green area in Figure 16(a)). Figure 16(b) shows the position of points on the baseline if we unfold the joint by taking into account the hidden area: a new zone (segment and segment ) appears on the baseline after unfolding, for which we lack detail information. This phenomenon appears only in the concave part of a joint being unfolded. This can be solved by an inpainting process, which is a difficult task for surfaces. When taking into account only the visible part of the baseline (as it was done in previous subsections), we adopt a simpler strategy by not taking the hidden fold into account: we simply extend the two visible parts of the baseline over the area to be inpainted. The problem is that the junction may be unpleasant after reporting the detail since we stitch together details that may correspond to remote areas on the surface of the object (Figure 16(c) in purple zone). Therefore, we propose a gradual Gaussian smoothing of this 1D area to reduce the small visual artifact which occurs when the starting position was too bent.

(a) Our model with a fold in initial position.
(b) Unfold the joint with modified baseline skinning taking the fold into account.
(c) Unfold the joint with default baseline skinning that ensures a rough inpainting.
Figure 17: Inpainting problem raised by unfolding a joint.

We apply this smoothing process only in the context where we have a severe fold that possibly hides information. For example, in Figure 18, we gradually apply this smoothing process only for base-points on segment and segment . and represent the positions of the initial point on the left bone and the right bone before unfolding the joint. The resulting height amplitude of is thus:

with a weight normalizing factor. is a subset of ’s neighbors’ base points shown in green zone in Figure 18. The value of depends on the position of point : it becomes smaller when is close to the boundary ( or in our example) of the smooth zone: if is on the segment or if is on the segment .

Figure 18: The illustration of the smooth zone

Let note that in contrast, when we bend a joint, we choose the approach which consists in leaving the detail visible and pushing it in its entirety outside the fold. But we could very well set thresholds beyond which we would choose to hide part of the detail inside the fold.

4 Results

In this section, we show the performance of our baseline skinning method on synthetic and real point sets. We implemented our algorithm in C++, using OpenMP for computing baselines in parallel. All experiments are run on an Intel Core i7-4790K CPU @ 4.00GHz.

We first test our algorithm on synthetic data. We generated a set of points lying on the same baseline and used a chain of three bones. The attachment of points to bones is shown in different colors: red, green and blue. In Figure 19, we show original points, their base points and detail directions. For different bone motion, we show the initial position (first column), our baseline skinning results by linear interpolation (2nd column) and by cubic interpolation (3rd column) for both and . We show the results for a folding motion (first and second row), and an unfolding motion (third and fourth rows), for baselines situated in convex or concave parts after deformation. In all these synthetic problems our baseline skinning method performs well. The skinning result can also be further adjusted by changing interpolation schemes. Since our detail direction is not orthogonal to the bones in concave parts, we avoid the detail direction intersecting near the joints. Then we compare our method with LBS, dual quaternion skinning and skinning method presented in Fu et al. (2020a) on a stripy synthetic surface LABEL:fig:fig:results_plie_deplie. We show the results of twisting, bending and re-bending to initial position. Our method gives a good performance for all these movements.

(a) A bending motion for a baseline in a convex part after deformation.
(b) A bending motion for a baseline in a concave part after deformation.
(c) An unfolding motion for a baseline in a convex part after deformation.
(d) An unfolding motion for a baseline in a concave part after deformation.
Figure 19: Baseline skinning on synthetic data for point on a single baseline. First column: initial position; second column: linear interpolation for and ; third column: cubic interpolation for and .
(a) Our method
(b) Linear Blend skinning
(c) Dual quaternion skinning
(d) Fu et al.Fu et al. (2020a)
Figure 20: In each sub-figure from up to down: initial position, twisting result, bending result, re-bending to initial position result. We show the weight distribution for the right bone in the first line in sub-figure (b), (c) and (d). We used the same Gaussian weight computation introduced in Fu et al. (2020a) for (b), (c) and (d). The support of the Gaussian weight is anisotropically reduced in (d).

We selected a set of statues from various sources:

  1. Dragon, Scan data of a dragon sculpture

  2. Dancer with Crotales, Louvre Museum

  3. Aphrodite, Thorvaldsens Museum

  4. Dancing Faun, Pompei excavations

  5. Saint John the Baptist, Ny Carlsberg Glyptotek

While the ’Dancer with crotales’ is a raw point set Digne et al. (2011). The other models are point sets sampled on meshes extracted from the Sketchfab website. We show original point set of statues in Figure21.

model number of points Ours Fu et al. DQ LBS
Dragon 532 067 0.48s 0.62s 0.34s 0.49s
Dancer with Crotales 539 136 1.32s 1.4s 0.21s 0.27s
Aphrodite 461 688 0.31s 0.82s 0.22s 0.31s
Dancing Faun 518 037 0.63s 1.38s 0.22s 0.28s
Saint John the Baptist 519 483 0.48s 1.68s 0.25s 0.31s
Table 1: Execution times of different methods for the point sets.
(a) Dragon
(b) Aphrodite
(c) Dancer with Crotales
(d) Dancing Faun
(e) Saint John the Baptist
Figure 21: The original point sets of statues.

Figures 22, 23, 24, 25 and 26 show our baseline skinning results compared with common skinning algorithms. Compared with Linear blend skinning or Dual-quaternion skinning, our baseline skinning method improves the collapse or bulge effect at joint and gives a more reasonable result for the point set. This improvement can be observed especially at joints which move a lot, such as the bending left arm of Dancer with Crotales (Figure 22), the left leg and the left arm of Aphrodite (Figure 23), the arms of the Dancing Faun (Figure 24) and the right arm and the right leg of the Saint John the Baptist (Figure 25). Compared with the method in Fu et al. (2020a), which can also improve these artefacts, our method preserve the information of the original point set better. For example, we can better observe the sculpture texture on the right arm of Saint John (Fig. 25) with our skinning result than the result by the method of Fu et al. (2020a). Furthermore, the method in Fu et al. (2020a) does not show points that are hidden inside the sphere-mesh model after deformation and creates a discontinuity for the point set even if the skinning result is visually pleasant. Figure 26 shows a multi-layer point set example. Our baseline skinning method gives the best result among four methods, especially at the head and the tail where the details are complicate. We do not set bones for the claws so we consider the claws as a multi-layer points over the dragon’s body. We can observe the cracked horns in the first point of view and a cracked back claw in the second point of view for the LBS and dual quaternion skinning methods. The cracked effect can be resolved by adjusting the influence weight, but the result is not pertinent (see the third one in Figure 25(c)). It is difficult for LBS and dual quaternion method to deal with the multi-layer data. The method of Fu et al. (2020a) performs better for multi-layer data than LBS and dual quaternion skinning method. But it also has a cracked claw because they use orthogonal projection when they compute their height field. The orthogonal projection induces a discontinuity at concave parts of the bones. As far as computation times are concerned, Table 1 shows times of the four methods. Our method is faster than the method of Fu et al. Fu et al. (2020a) and is similar to Dual-quaternion skinning and Linear Blend Skinning.

We compare our method with the skinning method presented in the paper of original sphere-mesh model Thiery et al. (2013). Although they use the sphere-mesh model as the skeleton of the skinning, the artefacts of the classical skinning methods remains. Our method does not lose the volume and preserves well the original connectivity (See the stripes in Figure 26(d)).).

(a)
(b)
(c)
(d)
Figure 22: Comparison of different skinning methods on the Dancer with Crotales point set. We show close-ups from the second to the fourth row. (a) Pose change with our baseline skinning method, (b) Pose change with Linear blend skinning, (c) Pose change with dual quaternion skinning, (d) Pose change with the method of Fu et al. (2020a).
(a)
(b)
(c)
(d)
Figure 23: Comparison of different skinning methods on the Aphrodite point set. We show close-ups from the second to the third row. (a) Pose change with our baseline skinning method, (b) Pose change with Linear blend skinning, (c) Pose change with dual quaternion skinning, (d) Pose change with the method of Fu et al. (2020a).
(a)
(b)
(c)
(d)
Figure 24: Comparison of different skinning methods on the Dancing Faun point set. We show close-ups from the second to the fourth row. (a) Pose change with our baseline skinning method, (b) Pose change with Linear blend skinning, (c) Pose change with dual quaternion skinning, (d) Pose change with the method of Fu et al. (2020a).
(a)
(b)
(c)
(d)
Figure 25: Comparison of different skinning methods on the Saint John the Baptist point set. We show close-ups from the second to the fourth row. (a) Pose change with our baseline skinning method, (b) Pose change with Linear blend skinning, (c) Pose change with dual quaternion skinning, (d) Pose change with the method of Fu et al. (2020a).
(a) Baseline skinning method
(b) Linear blend skinning
(c) Dual quaternion skinning
(d) Skinning method of Fu et al. (2020a)
Figure 26: Comparison of different skinning methods on the dragon point set under two points of view.
(a) Skinning weights computation using Thiery et al. (2013)
(b) Sphere-mesh skinning Thiery et al. (2013) by LBS
(c) sphere-mesh skinning Thiery et al. (2013) by DQS
(d) Baseline skinning result
Figure 27: Comparison with the weight-based skinning approach using sphere-mesh skeletons Thiery et al. (2013). The movement of the right bone is a combination of bend and twist.
Limitations

Our baseline skinning method has several limitations. First, an unfolding motion raises a missing data problem since we do not have a mesh of the complete body, such as for the right arm of the Dancer (fourth column in Figure 21(a)) or the left arm of Saint John (second column in Figure 22(a)), to alleviate this limitation, one could use a patch-based 3D inpainting process or a 1D inpainting process restricted to baselines. Another limitation is that our skinning method can only deal with points influenced by a single chain of bones and cannot be easily adapted to deal with points influenced by several different bone chains. This limitation can have an impact on examples such as the Dancer’s dress which should be influenced by the motions of both legs. However, this case is clearly one where the very hypothesis of a sphere-mesh model based skinning reaches its limits, it would require cloth modeling and animation techniques.

5 Conclusion and perspectives

We introduced a novel baseline skinning method for point sets of articulated bodies. Our method does not require a weight computation for each point and gives a realistic skinning result when changing the pose and morphology of the articulated body, even when there is no information on the underlying muscles. As a future work, we plan to design displacement fields above baselines to mimic muscles or to take into account additional folds of the skin. We also want to investigate how we can associate different bone chains in order to deal with points which are influenced by three or more bones. It would also be necessary to improve the treatment of the deformations of the junctions because for the moment the proposed solution will involve tightening/stretching effect between neighbouring baselines. We provide a solution to the case where an inpainting problem is raised in concave areas at unfolding/unbending of a joint. However, when the problem is too severe, it can be interesting to develop an other approach, such as patch-based approaches.

Acknowledgments

This work was funded by the e-Roma project from the French Agence Nationale de la Recherche (ANR-16-CE38-0009). The Dancer with crotales model is a point set of the Farman Dataset Digne et al. (2011). The other statues data are sampled on meshes from the Sketchfab website: the Dragon model is courtesy of Sketchfab user ”3D graphics 101 ”, the Dancing Faun model is courtesy of Moshe Caine and the 3 other statues models (Aphrodite, Saint John the Baptist and Old Fisherman) are courtesy of Geoffrey Marchal.

References

References

  • M. Alexa (2002) Linear combination of transformations. Proceedings of the 29th annual conference on Computer graphics and interactive techniques. Cited by: §2.
  • D. Ali-Hamadi, T. Liu, B. Gilles, L. Kavan, F. Faure, O. Palombi, and M. Cani (2013) Anatomy transfer. ACM TOG 32 (6), pp. 188:1–188:8. External Links: ISSN 0730-0301 Cited by: §2.
  • A. Angelidis and K. Singh (2007) Kinodynamic skinning using volume-preserving deformations. In SCA ’07, Cited by: §2.
  • B. Angles, D. Rebain, M. Macklin, B. Wyvill, L. Barthe, J. Lewis, J. Von Der Pahlen, S. Izadi, J. Valentin, S. Bouaziz, et al. (2019) VIPER: volume invariant position-based elastic rods. Proceedings of the ACM on Computer Graphics and Interactive Techniques 2 (2), pp. 1–26. Cited by: §2.
  • I. Baran and J. Popović (2007) Automatic rigging and animation of 3d characters. ACM TOG 26 (3). External Links: ISSN 0730-0301 Cited by: §2.
  • J. Digne, N. Audfray, C. Lartigue, C. Mehdi-Souzani, and J. Morel (2011) Farman institute 3d point sets-high precision 3d data sets. IPOL 1, pp. 281–291. Cited by: §4, Acknowledgments.
  • O. Dionne and M. Lasa (2013) Geodesic voxel binding for production character meshes. In SCA ’13, Cited by: §2.
  • T. Fu, R. Chaine, and J. Digne (2020a) Anatomy Changes and Virtual Restoration of Statues. In Eurographics Workshop on Graphics and Cultural Heritage, External Links: ISSN 2312-6124, ISBN 978-3-03868-110-6 Cited by: §2, §3.5, 19(d), Figure 20, Figure 22, Figure 23, Figure 24, Figure 25, 25(d), §4, §4.
  • T. Fu, R. Chaine, and J. Digne (2020b) FAKIR: an algorithm for revealing the anatomy and pose of statues from raw point sets. Computer Graphics Forum 39. Cited by: §3.1.
  • W. V. Funck, H. Theisel, and H. Seidel (2008) Volume-preserving mesh skinning. In VMV, Cited by: §2.
  • B. Gilles, L. Reveret, and D. Pai (2010) Creating and animating subject-specific anatomical models. Computer Graphics Forum 29 (8), pp. 2340–2351. Cited by: §2.
  • A. E. Ichim, P. Kadlecek, L. Kavan, and M. Pauly (2017) Phace: physics-based face modeling and animation. ACM Trans. Graph. 36, pp. 153:1–153:14. Cited by: §2.
  • A. Jacobson, I. Baran, J. Popovic, and O. Sorkine-Hornung (2014) Bounded biharmonic weights for real-time deformation. Communications of the ACM 57, pp. 99 – 106. Cited by: §2.
  • A. Jacobson and O. Sorkine (2011) Stretchable and twistable bones for skeletal shape deformation. ACM Transactions on Graphics (proceedings of ACM SIGGRAPH ASIA) 30 (6), pp. 165:1–165:8. Cited by: §2, §3.5.
  • P. Joshi, M. Meyer, T. Derose, B. Green, and T. Sanocki (2007) Harmonic coordinates for character articulation. ACM TOG 26, pp. 71. Cited by: §2.
  • T. Ju, S. Schaefer, and J. Warren (2005) Mean value coordinates for closed triangular meshes. ACM TOG 24, pp. 561–566. Cited by: §2.
  • P. Kadlecek, A. Ichim, T. Liu, J. Krivanek, and L. Kavan (2016) Reconstructing personalized anatomical models for physics-based body animation. ACM Trans. Graph. 35 (6). Cited by: §2.
  • L. Kavan, S. Collins, J. Zára, and C. O’Sullivan (2008) Geometric skinning with approximate dual quaternion blending. ACM Trans. Graph. 27, pp. 105:1–105:23. Cited by: §1, §2.
  • L. Kavan and O. Sorkine-Hornung (2012) Elasticity-inspired deformers for character articulation. ACM TOG 31, pp. 196:1–196:8. Cited by: §2.
  • L. Kavan and J. Žára (2005) Spherical blend skinning: a real-time deformation of articulated models. In I3D, pp. 9–16. External Links: ISBN 1-59593-013-2 Cited by: §2.
  • P. Kry, D. L. James, and D. Pai (2002) EigenSkin: real time large deformation character skinning in hardware. In SCA ’02, Cited by: §2.
  • B. Le and J. Hodgins (2016) Real-time skeletal skinning with optimized centers of rotation. ACM Transactions on Graphics 35, pp. 1–10. External Links: Document Cited by: §2.
  • B. H. Le and J. P. Lewis (2019) Direct delta mush skinning and variants. ACM TOG 38 (4), pp. 113:1–113:13. External Links: ISSN 0730-0301 Cited by: §2.
  • J. P. Lewis, M. Cordner, and N. Fong (2000) Pose space deformation: a unified approach to shape interpolation and skeleton-driven deformation. In ACM SIGGRAPH, pp. 165–172. External Links: ISBN 1-58113-208-5 Cited by: §2.
  • N. Magnenat-thalmann, R. Laperrire, D. Thalmann, and U. D. Montréal (1988) Joint-dependent local deformations for hand animation and object grasping. In In Proceedings on Graphics interface ’88, pp. 26–33. Cited by: §1, §2.
  • A. Mohr and M. Gleicher (2003) Building efficient, accurate character skins from examples. ACM SIGGRAPH 2003 Papers. Cited by: §2.
  • A. Mohr, L. Tokheim, and M. Gleicher (2003) Direct manipulation of interactive character skins. In I3D, pp. 27–30. External Links: ISBN 1-58113-645-5 Cited by: §1, §2.
  • F. Policarpo, M. Neto, and J. Comba (2005) Real-time relief mapping on arbitrary polygonal surfaces. In SI3D, Cited by: §3.
  • D. Rohmer, S. Hahmann, and M. Cani (2009) Exact volume preserving skinning with shape control. In SCA ’09, Cited by: §2.
  • V. Roussellet, N. A. Rumman, F. Canezin, N. Mellado, L. Kavan, and L. Barthe (2018) Dynamic implicit muscles for character skinning. Comput. Graph. 77, pp. 227–239. Cited by: §2.
  • S. Saito, Z. Zhou, and L. Kavan (2015) Computational bodybuilding: anatomically-based modeling of human bodies. ACM Trans. Graph. 34 (4). Cited by: §2.
  • P. Sloan, C. F. Rose, and M. Cohen (2001) Shape by example. In I3D ’01, Cited by: §2.
  • N. Thalmann, F. Cordier, H. Seo, and G. Papagiannakis (2004) Modeling of bodies and clothes for virtual environments.. Vol. 0, pp. 201–208. External Links: Document Cited by: §2.
  • J. Thiery, E. Guy, T. Boubekeur, and E. Eisemann (2016) Animated mesh approximation with sphere-meshes. ACM Trans. Graph. 35, pp. 30:1–30:13. Cited by: §3.
  • J. Thiery, E. Guy, and T. Boubekeur (2013) Sphere-meshes: shape approximation using spherical quadric error metrics. ACM TOG 32 (6). Cited by: §2, §3.1, §3, §3, 26(a), 26(b), 26(c), Figure 27, §4.
  • R. Vaillant, L. Barthe, G. Guennebaud, M. Cani, D. Rohmer, B. Wyvill, O. Gourmel, and M. Paulin (2013) Implicit skinning: real-time skin deformation with contact modeling. ACM TOG 32 (4), pp. 125:1–125:12. External Links: ISSN 0730-0301 Cited by: §2.
  • R. Y. Wang, K. Pulli, and J. Popovic (2007) Real-time enveloping with rotational regression. In SIGGRAPH 2007, Cited by: §2.
  • X. C. Wang and C. Phillips (2002) Multi-weight enveloping: least-squares approximation techniques for skin animation. In SCA, pp. 129–138. External Links: ISBN 1-58113-573-4 Cited by: §2.