Academia.eduAcademia.edu

Shape exploration of 3D heterogeneous models based on cages

2016, Multimedia Tools and Applications

Shape exploration of 3D heterogeneous models is essential for movie and special effects in 3D animation and games. As heterogeneous models have different numbers of vertices and topology, the mapping between source and target model maybe ambiguous for deformation transfer. We propose a new framework for heterogeneous models shape exploration based on cages, which provides a feasible and fast solution for this open problem. Using a public cage as the intermediate medium, the deformation of the source models can be denoted as the position changing of the cage. When applying the cage change to the target model, rough deformation transfer can be achieved. After an optimization and interpolation to generate the explored shape of the heterogeneous target model, animation can be acquired. Our method is not only suitable for triangle meshes, but also for quadrilateral meshes or any other type of meshes. We demonstrate the validity of our scheme by a series of shape exploration experiments for different models.

Noname manuscript No. (will be inserted by the editor) Shape Exploration of 3D Heterogeneous Models based on Cages Weiliang Meng · Jianwei Guo · Xavier Bonaventura · Mateu Sbert · Xiaopeng Zhang Received: date / Accepted: date Abstract Shape exploration of 3D heterogeneous models is essential for movie and special effects in 3D animation and games. As heterogeneous models have different numbers of vertices and topology, the mapping between source and target model maybe ambiguous for deformation transfer. We propose a new framework for heterogeneous models shape exploration based on cages, which provides a feasible and fast solution for this open problem. Using a public cage as the intermediate medium, the deformation of the source models can be denoted as the position changing of the cage. When applying the cage change to the target model, rough deformation transfer can be achieved. After an optimization and interpolation to generate the explored shape of the heterogeneous target model, animation can be acquired. Our method is not only suitable for triangle meshes, but also for quadrilateral meshes or any other type of meshes. We demonstrate the validity of our scheme by a series of shape exploration experiments for different models. Weiliang Meng NLPR-LIAMA, Institute of Automation, CAS, China E-mail: [email protected] Jianwei Guo NLPR-LIAMA, Institute of Automation, CAS, China E-mail: [email protected] Xavier Bonaventura Graphics and Imaging Laboratory, University of Girona, Spain E-mail: [email protected] Mateu Sbert Graphics and Imaging Laboratory, University of Girona, Spain Tianjin University, China E-mail: [email protected] Xiaopeng Zhang NLPR-LIAMA, Institute of Automation, CAS, China E-mail: [email protected] 2 Weiliang Meng et al. Keywords deformation transfer · cage coordinates · differential coordinates · shape space · interpolation 1 Introduction Shape exploration for 3D heterogeneous models is an open and core modeling problem in computer modeling and animation, especially in film special effects. In order to accomplish shape exploration, mesh deformation is usually employed to generate complex model states. For artists, this may take tremendous amount of artistry, skill, and time to craft the vivid process. In order to reuse a deformation created for one shape to infer the other one, many researches often use specific parameters to adapt the deformation to the new shape. In most cases, adapting the parameter values is a time consuming process which may start from scratch. On the other hand, although current software such as Maya and 3D Max can interpolate models automatically, those methods are only suitable for isomorphic models, i.e. all the models must have the same number of vertices and the same topology. When in the case of heterogeneous models that have different vertices and different topology, current methods cannot deal with them, especially for the case that when the source models are triangle meshes and the target models are quadrilateral or other totally different type meshes. Although deformation methods for specific purposes exist, an automatic adaptation method designed for one type of deformation may fail to apply to the other models, and hand-sculpted alterations are often included. As a result, the methods are not universally applicable in practice. In this paper, we propose a new framework to generate new poses between heterogeneous models. We consider the following problem: given two source models which represent two states of the same object such as a standing horse model and a running horse model, and another target model like a camel model, how to generate a series of models for the target model that roughly reflects the two source models variation process? Note that the target model may have different vertices numbers and even different topology with the source models, i.e., they are heterogeneous models. Our idea is based on the following hypotheses: (1) the target explored model may have no exact transfer result compared to the source models, as the shape could have great difference, such as bird vs. camel. (2) we only need the target deformed model to have similar but not exact deformation. This demand is natural for many movie special effects on the heterogeneous models. In order to achieve such result, we use a public cage as the intermediate medium to implement the transfer process. Specifically, firstly we align the source and target models based on PCA (Principal Component Analysis [30]), and then we use a public polyhedron (called cage) to obtain the equations coefficients of a linear system based on the vertices positions of the source model and target model, while these corresponding coefficients (cage coefficients or CC) are preserved during the whole processing. Then, the source deformed Shape Exploration of 3D Heterogeneous Models based on Cages 3 Fig. 1 Cage-based shape exploration process. Given two source models with different states, our purpose is to apply the deformation to target models to explore new states of them. Here two target models (flamingo and horse) are shown as examples. Firstly, a public cage is used as the deformation transfer medium where the cage can be different according to the target model. Here for the flamingo target model we use the icosahedron as the public cage on both the source models, while for the horse target model the public cage is a custommade cage. Second, the cage-based transferred results for the target models are obtained, and optimization is executed to generate the optimized results in order to keep the local detail as untouched as possible. Finally, an interpolation algorithm based on shape space is employed to generate more shape results, which can be used for animation. model is used to define the vertices deformed positions of the cage and to compute the deformed target models based on the linear system of equations and CC. In addition, the differential coordinates of the target model are used to optimize the deformed target model. Finally, we obtain the interpolated models based on shape space to generate an exploration sequence for animation. Translation, rotation and scale operation may be performed before the interpolation stage according to users need to generate more flexible results. Our method avoids time-consuming parameters adjustment, and can generate new explored shapes in a few seconds for 3D heterogeneous models. The contributions of our paper can be listed as follows: – A shape exploration generation framework for heterogeneous models based on two isomorphic source models. – A cage-based deformation transfer method with a cage selection guide that is suitable for heterogeneous models. – An optimization of the transferred-deformation model for local detail preservation. Compared with existing deformation transfer methods, we avoid the exact mapping process between source and target models and may not achieve exact deformation transfer. Although Benchen et al.[4]’s method does not need the explicit mapping either, their deformation result must deform and adjust the model continually until reaching the expecting result, while our method can generate the deformed result induced by the source models and obtain the predicting result directly. On the other hand, as for many heterogeneous models there is no exact mapping between them, our method provides a feasible manner to approximate the transformation of any heterogeneous target model according to source models. The whole process can be fully automatic, with no 4 Weiliang Meng et al. manual interaction. Figure 1 shows the cage-based shape exploration process. In Figure 1, we use two camel models as the source models and finish the shape exploration on flamingo model and horse model respectively with different cages used. Figure 2 shows our processing flowchart. Using our method, we can fully-automatically explore shapes for heterogeneous models (such as using quadruped models to fully-automatically explore bipedal models’ poses in Figure 1), and this cannot be done by the previous work as far as we know. 2 Related Work 2.1 Cage-based Deformation Model deformation has been studied for more than twenty years. In order to obtain high-quality shape-preserving deformations, selected handles are used including points [5], lines [2] or bones [38], and polygon grids [28]. By modifying the positions and orientations of handles interactively, an intuitive deformation can be achieved. Most mentioned methods above heavily rely on optimization at pose time, making them too slow for deforming 3D objects. In recent years, cage-based deformation methods receive a wide range of interest, cage vertices are seen as handles for deformation. Using a linear weighted blend of handle transformation, the computation can be fast for new model generation and the interaction with handles can lead to real-time deformation. In order to make the deformation smooth, reasonable weights should be chosen in a cage-based method to keep the mathematical continuity. Some feasible methods have been proposed including Mean Value Coordinates (MVC) [10, 16,19,11,24], Harmonic Coordinates (HC) [9,18], Green Coordinates (GC) [25], and complex barycentric coordinates (CBC) and its variants [37,4]. Once the weights for cages are obtained in pre-computation, real time deformations can be achieved based on GPU computation as these weights keep fixed and can be stored as textures for further accessing used for general purpose computation [26] during the whole deformation. Ju et al. [20] use skinning templates to define common deformation behaviors for common joint types, which allows skinning solutions to be shared and reused. The skinning templates use cage-based deformations, and many possible alternatives for the skinning behavior of a 3D character can be quickly explored. Jacobson et al. [17] develop bounded biharmonic weights that produce smooth and intuitive deformations using points, bones and cages of arbitrary topology by minimizing the Laplacian energy subject to bound constraints. Thiery et al. [34] convert animated 3D shape sequences into compact and stable cage-based representations, and faithfully reconstruct the enclosed object deformation. Garcı́a et al. [13] propose using *Cages (star-cages) to preserve the smoothness of the mesh in the transitions between them, and the usage of multiple cages is allowed to enclose the model for easier manipulation. The proposed deformation scheme is flexible and versatile, and heterogeneous sets of coordinates can be used for different levels of deforma- Shape Exploration of 3D Heterogeneous Models based on Cages 5 tion, either for local or global deformation. Li et al. [23] present closed-form formula as generalized barycentric coordinates for boundary constrains represented as polynomials up to degree 3, mainly interpolating both boundary values and gradients over a 2D polygonal domain.Zhang et al. [41] propose local barycentric coordinates (LBC), which select for each interior point a small set of control points and satisfy common requirements on barycentric coordinates, such as linearity, non-negativity, and smoothness. LBC provides more local and finer control on shape deformation than previous approaches. Wang et al. [36] propose a method to design linear deformation subspaces, unifying linear blend skinning and generalized barycentric coordinates, but this method requires discretization of the input domain which is difficult for 3D models. Above all, most current cage-based deformation methods are mainly used for free interactive model deformation to deform models with similar appearance, and the deformed results are mainly dependent on the ceaseless adjustment for acceptable results. 2.2 Deformation transfer Our work can be seen as a kind of general deformation transfer, without keeping an exact mapping between the source and target models, because heterogeneous models maybe have no unambiguity mapping between each others. Deformation transfer applies the deformation exhibited by a source mesh onto a different target mesh. In most cases, the source model and the target model have similar shape, even the same topology. Sumner et al. [33] propose a general transfer method for triangle meshes. The correspondence map is built by the user using a small set of vertex markers, and an optimization problem is solved to consistently apply the transformations to the target shape. The conspicuous limitation is that the source and the target meshes should be grossly similar. Baran et al. [1] propose semantic deformation transfer which infers a correspondence between the shape spaces of the two characters, leading to automatic transfer of new poses and animations, but seam artifacts may appear when the interpolated rotation of a face differs significantly. Ben-Chen et al. [3] propose the space deformation transfer method, which can be applied to a variety of shape representations including tet-meshes, polygon soups and multiple-component meshes. Given a sparse set of user-selected correspondence points between the source and target models, and by deforming the space where the shape is embedded based on a set of harmonic basis functions, the deformed target shape can be generated with similar properties to the source deformation. Chen et al. [7] present a cage-based method for transferring animation from a mesh sequence or motion capture data to geometric models invariant representations, but the deformation result mainly depends on the shape and tessellation of the cage. Zhou et al. [43] automatically computes spatial relationships between components of the target object and transfers deformation of the source onto the target while preserving cohesion between the targets components. Zhao et al. [42] perform the transfer process between 6 Weiliang Meng et al. the dual meshes of the source and target models and can deal with meshes with poor sampling and complex shape, but the specific markers must be added by users. Yoshiyasu et al. [40] present a deformation transfer method that is applicable to multi-component objects for transferring fine-scale deformations. However, they require the source model be single-component. Most methods need to construct a relatively exact correspondence relationship between the source and target model, which makes the process complex and not suitable for heterogeneous models. Ma et al. [27] design a transfer method by computing source-to-target analogies based on the geometric differences between source and target models, and achieves the desired transfer effect on exemplar.But the shape analogy problem maybe ill-posed as there may be multiple possible analogy solutions in some cases. This paper provides a new solution for this situation. 2.3 Differential coordinates The differential coordinates of the model encapsulate the local normal direction and local mean curvature together, and can be seen as a discretization of the continuous Laplace-Beltrami operator from a differential geometry perspective [6]. The conception of differential coordinates of the model vertices was firstly proposed by Sorkine et al. in [32], and is used to preserve the high frequency details for encoding meshes. Other relative applications of differential coordinates include spectral methods [21] for obtaining compact 3D model representations, ROI (the region of interest) editing on meshes [31], surface reconstruction [8] and so on. We will use differential coordinates to optimize the generated target models, in order to keep the local detail after the deformation. 2.4 Space-time blending and model interpolation In order to achieve shape exploration, intermediate models should be obtained between two given models. One way to implement space-time model blending is using implicit functions. This is very effective for heterogeneous models. Turk et al. [35] combine creating implicit functions and interpolating together, making the transformation appear smooth and natural for objects with different topologies. However, the models generated by this class of methods are too smooth because of the properties of the function, and cannot obtain sharp parts, making it to appear unreal compared to the ground truth. On the other hand, as the transformed target model and the target model are isomorphic, model interpolation methods can be used to generate intermediate models. Linear method is a feasible way when the deformation is small. For complex exploration, using shape space to compute the intermediate models can achieve better results based on the Riemannian geometry. Kilian et al. [22] design the metrics based on the shape space metrics, and propose a framework of model interpolation for multiresolution models. Winkler et al. [39] Shape Exploration of 3D Heterogeneous Models based on Cages 7 Fig. 2 The flowchart of our framework. interpolate the local intrinsic properties of the mesh (edges and dihedral angles) using a hierarchical shape matching approach to generate models, and their mesh representation actually provides a new kind of shape space. But employing a complicated hierarchical shape matching technique prevents their method for directly using in a MeshIK system. Fröhlich et al. [12] explore the shape space through a geometrically meaningful interpolation and extrapolation technique, and the interpolation operator can be combined with previous deformation technique. 3 Cage-based Shape Exploration Framework Given two isomorphic source models with the same topology but different poses and another heterogeneous target model, our goal is generating exploration results for the target model which will imitate the two source models transition process. The overview of the process is shown in Figure 1 and Figure 2. The whole algorithm mainly includes 4 steps: model alignment, cage selection and cage-based deformation transfer, optimization, and interpolation based on shape space. If the initial states of the source models and the target models satisfy a coarse corresponding relation as shown in Figure 1, model alignment can be omitted. For clearly description, we introduce the following notations for convenience. S0 S1 T0 Cp cc ccs cct Cdp T1 the known source model, view as the initial state the known source model, view as the final state the known target model, view as the initial state the known public cage, view as the initial state of cage cage coordinates cage coordinates generated from the S0 , Cp cage coordinates generated from the T0 , Cp the unknown deformed public cage, generated from S0 , S1 , Cp the unknown transferred target model, deformed from T0 according S0 , S1 , Cp , Cdp 8 Weiliang Meng et al. Fig. 3 Model alignment. After using PCA for the source and target model and rotating according to the eigenvectors, they can have a rough corresponding relationship, i.e., both heads of the model have the similar position as shown on the right. Algorithm 1 Computation process 1: Read two isomorphic source meshes S0 , S1 and another target model T0 . 2: Model alignment: constructing the correspondence between S0 and T0 and using the same transformation on S1 based on P CA. 3: Cage Selection and Cage-based deformation transfer:. 4: Choose a suitable public cage C0 (user defined or the custom-made); 5: Compute the cage coordinates ccs of S0 on Cp ; 6: Compute the deformed public cage Cdp based on S0 , S1 , ccs ; 7: Compute the cage coordinates cct of T0 on Cp ; 8: Compute the deformed target model T1 based on cct , Cp , Cdp ; 9: Optimization: optimize T1 to get Top based on the local detail of T0 ; 10: Interpolation: obtain the transitional models between T0 and Top based on shape space. 11: done. Top the optimized model of T1 The pesudo-code for the framework is given by Alg.1. We will given the details in the following sections for the those bold computation process in the algorithm. 3.1 Model alignment The aim of model alignment is to construct a coarse correspondence relationship between the source models(S0 , S1 ) and the target model(T0 ). As the target model is heterogeneous with the source models, which means having different vertices numbers, different genus, or different edges of each face, the correspondence relationship is fuzzy, and may not have the exact point-to-point map. Here we just try to make some coarse correspondence to generate a reasonable result from the the visual point of view. We use Principal Component Analysis(PCA)[30] to get the three eigenvectors of the vertices position matrix, Shape Exploration of 3D Heterogeneous Models based on Cages 9 constructed with all the position information of the model. For a model with n vertices, the matrix is n × 3 size. Figure 3 shows the cross-reference model state before and after the alignment based on PCA. We can see that the source model and the target model can have a good match compared to the initial state. Of course the user can rotate the model for his/her own purpose to construct the corresponding relationship. 3.2 Cage Selection and Cage-based deformation transfer The purpose of our method is not to transfer the deformation on the target model T0 exactly, as for heterogeneous models there is no exact correspondence relationship between S0 and T0 because they may have different number of vertices, genus, and topology. For example, the flamingo model and the horse model have different legs, and we cannot make a mapping between these legs. Although Ovsjanikov et al. [29] design an mapping method between pairs of shapes that generalizes the standard notion of a map as a pairing of points, their method is suitable to the isometric shape matching benchmark but not to this case. In order to effectively transfer the deformation from the source model to the target model, traditional methods need to construct a point-to-point map and compute the transferred position according to the source model. But they cannot work here, because the mapping is difficult to obtain. As our goal is to approximate the change process of the source models using the target model and to generate dynamic changed effects for the target model, we do not need to implement exact mapping for these heterogeneous models. Based on this practical requirement, we will use a public cage Cp as the intermediate medium to transfer the deformation. Cage selection. The cage Cp is a triangle mesh in 3D, whose shape can be any arbitrary polyhedron, such as a simple bounding box, a discretized sphere or even another model with relative few vertices, usually no more than several hundred vertices. On the other hand, the cage should be able to enclose the model, as discontinuity exists on the boundary of the cage for some cage-based deformation methods (such as GC-based deformation). We can magnify the cage to make sure all the parts of the model fall in the cage. Both the source models and target models use the same cage, so it will be better that the contour of the cage is similar to the shape of both source and target models. If the source and target models have great difference in appearance, we can use universal shapes such as cube or sphere (with limited number of vertices) as the cage. Figure 4 shows some general cages that can be used for deformation. In addition, searching a rough close shape to the model seems difficult, while previous methods usually use manually modeling to generate a custommade cage for the deformation. Here we provide an automatic way to obtain a custom-made cage for the model: the original model is firstly simplified into a mesh with fewer vertices and faces based on [15] or [14]. then the convex hull is computed. If we use the original model to generate the convex hull 10 Weiliang Meng et al. Fig. 4 General cage examples for deformation transfer. From left to right, the vertex number are 8, 12, 42 and 114 respectively. Fig. 5 Custom-made cage generation process. The vertex number of the cage is 40. Fig. 6 Custom-made cages for different models. From left to right, the vertex number of the cages are 23, 28, 32 and 24 respectively. Shape Exploration of 3D Heterogeneous Models based on Cages 11 Fig. 7 Using S0 and T0 to generate the public cage. This method is more useful for S0 and T0 with great difference. Here the vertices number of the cage is 12 and the faces number is 20. directly, the convex hull will have too many vertices and thin triangles, which are troublesome for further processing. After the simplification, the convex hull needs to be enlarged in order to make sure it can enclose the original model. So we scale the convex hull properly, and use the final convex hull as the custom-made cage. Figure 5 shows the custom-made cage generation process by our method,and Figure 6 shows a series of custom-made cages for different models that will be used for further deformation. Note that although we can generate custom made cages both for the source model and the target model, we only use one of them (not both) as the public cage to transfer the deformation, either of which will generate similar transfer results. When the models S0 and T0 have great difference, we can align S0 and T0 together to compute the convex hull. Usually, this convex hull has too many slide triangles, and we still use [15] or [14] to simplify it. After the simplification, the simplified convex hull also needs to be enlarged in order to make sure it can enclose the original models S0 and T0 , and the final convex hull will be used as the custom-made cage. Figure 7 shows this process. Above all, although it is difficult to design a special polyhedron for heterogeneous models, we found our custom-made cage is enough for most cases. Transfer principle. The principle of cage-based deformation transfer is: cage-based deformation can achieve continuous smooth transition. For two source models S0 and S1 with different state, it can be seen as a cage-based deformation from one state to another state. Using the computed cage state transition information, we can deform the target model based on the cage, and achieve a meaningful deformed model. We set the public initial cage at the same position both for source models and target models. Using this configuration, the coefficients of the cage (ccs and cct ) for both models can be obtained based on the cage-based deformation method (MVC, HC, GC etc.) The vertices positions of the model can be uniformly expressed as the following equation in all the cage-based methods: p = Σi∈Cv φi (p)vci + Σj∈Cf ψj (p)n(fcj ) (1) Here, p is an arbitrary vertex position of the model, and φi (p) and ψj (p) are the cage coefficients cc, and vci denotes the i-th vertex position of the cage. 12 Weiliang Meng et al. Fig. 8 Deformation transfer comparison. We use the left two horse models as the source models(S0 , S1 ) and the top-left one as the target model T0 , then the transferred result T1 should be a model close to the bottom-left model. Different T1 models are shown in the top-right line, in which 1, 3 and 5 use mean value coordinates, while 2,4 and 6 use green coordinates. 1 and 2 use a cube as the public cage, 3 and 4 use a icosahedron, while 5 and 6 use a custom-made cage. We blend the results with the ideal result together in the bottom row for better observation. fcj denotes the j-th face of the cage. n(fcj ) denotes the normal of the j-th face of the cage. For MVC and HC, all ψj (p) are 0. After deformation, the equation becomes as follows: p′ = Σi∈Cv φi (p)ki vc′ i + Σj∈Cf ψj (p)sj n′ (fc′j ) (2) ′ denotes the new value after the deformation. We can see that φi (p) and ψj (p) will keep constant during the deformation,and seen as cc in Alg. 1. {ki } and {sj } are scalars only related to the cage vertices’ positions and cage faces’ normals respectively. Corresponding computation methods for φi (p) and ψj (p) can be referred [19][18][25], etc. The Equ. 2 can be written into a matrix form: P = AVC + BNFc (3) The sizes of P , A and VC are N × 3, N × NC and NC × 3 respectively. N is the vertex number of the model, and NC is the vertex number of the cage. The size of B and NFc are N × Fc and Fc × 3 respectively, in which Fc is the face number of the cage. For MVC and HC, B is a zero matrix and the cage-based deformation transfer can be summarized as follows: Pt1 = At VC1 = At (ATs As )−1 ATs Ps1 (4) where As and At can be obtained from Ps0 = As VC0 , and Pt0 = At VC0 . For GC, the NFc can be computed using VC , and is related to the topology of the cage. As Σφi (p) equals 1, and the transfer is approximative, we can still use (ATs As )−1 ATs Ps1 to compute VC1 , and use Equ. 3 to generate the transferred target deformation model. Please note that As and At have different size because source models and target models usually are heterogeneous. However, they use the public cage to control the deformation and the matrix multiplication in the Equ.4 is reasonable. As the public cage Cp can affect the deformation result T1 of the target model T0 , the choice for the shape of the cage should consider the shape of the source model S0 and the target model T0 . We can use a general cage such Shape Exploration of 3D Heterogeneous Models based on Cages 13 Fig. 9 Using source models to transfer the target elephant model in order to get the transferred result model T1 . as a bounding box, or icosahedron or other polyhedrons (see Figure. 4) as the public cage for deformation transfer, although using a custom-made cage (see cage selection in 3.2) generated by our method can achieve a better result. Figure 8 shows the distortion results using different cage coordinates and based on different cages. We use MVC and GC with cube, icosahedron and custom-made cages to transfer the deformation based on the left two horse models S0 and S1 . The target model T0 equals the top-left horse S0 , and the ideal transfer result should exactly equal the bottom-left horse S1 . However, the cage-based deformation is linear, while the deformation from S0 to S1 is not. As we use a public cage as the intermediate medium, there will be some information lost during our process and the difference can be detected in Figure 8. Figure 9 shows a transfer result using the icosahedron as the public cage. We can see that the final result exhibits similar pose as ”Source Model 2” (i.e.S1 in Alg. 1) in Figure 9. 3.3 Optimization After the cage-based deformation transfer, the generated deformed target model T1 may have some rough appearance as the local details are destroyed, because the deformation does not consider the target model itself during the transfer process. In order to amend this, we design the following equation to optimize the transferred target model to get the model Top : x e = argminx ( V X x∈V (kLxk − kδ (x0 ) k)2 + V X ω 2 kx − x1 k2 ) (5) x∈V Here, x0 represents the vertex position of the target model T0 , x1 denotes the vertex position of the transferred target model T1 , and x e denotes the vertex 14 Weiliang Meng et al. Table 1 Deformation transfer time in Figure 8 Number Cage Type Cage Vertex Number Cage Coordinates Type Computation Time(s) 1 2 3 4 5 6 cube cube icosahedron icosahedron custom-made custom-made 8 8 12 12 40 40 MVC GC MVC GC MVC GC 0.234 1.172 0.375 1.922 1.360 7.927 Fig. 10 Optimization Contrast. The left model is the optimization result of the ”transfer result model” in Fig. 9. The right model blends these two models together, in which we can see that the optimized model is smoother. Fig. 11 Model interpolation. 8 interpolation models between the target elephant model and the optimized result model are computed based on shape space. position of the optimized model Top . δ (x0 ) denotes the differential coordinates of x0 , and kδ (x0 ) k is the absolute value of the mean curvature of x0 . The equation meaning is to search a new vertex position, which is close enough to the corresponding vertex position of the transferred target model, and keep the local mean curvature of the pre-deformed target model as possible. Figure 10 shows the optimization result based on our equation. We can see that the optimized model keeps the local details better. Shape Exploration of 3D Heterogeneous Models based on Cages 15 Fig. 12 Quadrilateral mesh deformation transfer. The source model lion 1 and lion 2 are triangle meshes (5000 vertices each), while the target model cat 1 is a quadrilateral mesh (15002 vertices). Using our method, we can naturally generate the shape exploration result cat 2. Mesh lines are rendered for better observation. 3.4 Interpolation After optimizing the transferred target model to generate Top , we can compute the interpolation models between T0 and Top in order to generate more shape exploration results for animation. Linear interpolation is available if the target model T0 and the optimized model Top have only small deformation. However, the optimized model Top may have great changes, making the linear method inefficient for computing more exact models. We use the shape space method based on the Equ. 6 using the Riemannian metric as the object optimized function, which is proposed in [22] to get the interpolated models, and concatenate them to form the animation. Here, Pi represents the i-th interpolated model with i = 1, 2, · · · , n, and P0 , Pn+1 are the target model T0 and the optimized model Top respectively as the input. hhX, Y ii can be rigid deformation metric or isometric deformation metric, and can blend L2 shape metric. Readers can refer to [22] for details. Figure 11 shows the interpolation result for the elephant models. E(P ) := n X i=0 (hhXi , Xi iiPi + hhXi , Xi iiPi+1 ) (6) 16 Weiliang Meng et al. Table 2 Time statistics for the optimization and the interpolation Model Name Vertex Number Optimization Time(s) Interpolation Number/Time(s) Flamingo Horse Elephant 26394 8431 42321 54.375 8.078 127.485 3/14.454 3/ 3.828 8/40.906 4 Results and Discussion Our experiments are implemented on the 32-bit Windows 7 operating system of a PC with an Intel Dual Core 2.40 GHz CPU, 4GB memory and an Nvidia GeForce 9800 GT display card. Table 1 shows the deformation transfer time of Figure 8. The main timeconsuming step is the computation of the cage coordinates ccs and cct , and the computation of Equ. 4 is very fast. Although all the matrices in Equ. 4 are dense, the row (or column) size of (ATs As ) is very small, of the order of a few hundred, and equals the vertex number of the cage. Using LAPACK (Linear Algebra PACKage) library to solve the equation, the computation time is no more than 0.01 seconds. The target model T0 and the source model S0 can have different vertices, topology or mesh structure, i.e, the source mesh S0 can be a triangle mesh while the target model T0 can be a quadrilateral mesh (see Figure 12), and vice versa. This case cannot be dealt with by previous deformation transfer methods. Figure 13 shows more results of heterogeneous models shape exploration. We also test some cases that the source model and target model have great discrepancies. Note that for the following cases, previous state-of-art methods cannot work as the mapping between the source model and the target model is undefined. Using our method, we can give a plausible shape exploration result in the visual sense. Figure 14 shows how the lion deformation leads to an ant model’s deform. Here the lion and the ant obviously have different number limbs. We can see that the shape exploration of Ant Top has the similar action with Lion S1 . Figure 15 shows how horse affect a plant even there maybe no mapping between them, and Figure 16 shows the shape exploration of hand although the hand mesh is not closed while horse source models are. We also give the comparison result in our accompany video. For multi-resolution models, we can use the highest target resolution model and the source model S0 to generate the public cage, and then other target resolution models can use this pubic cage for the shape exploration computing. Figure 17 shows the result, and we also shows the animation in the accompany video. Table 2 shows the optimization time and interpolation numbers/time for the models in Figure 1 and Figure 11. Both times are proportional to the model vertex number, and the interpolation time additionally depends on the interpolation number. On the other hand, as the deformation for the source models usually is nonlinear, while we are trying to use our cage-based method to express this Shape Exploration of 3D Heterogeneous Models based on Cages 17 Fig. 13 Using two source models to generate shape exploration results on two target models respectively. Fig. 14 The shape exploration result of AntTop based on Lion S0 , S1 and Ant T0 . We use the align state and the cage in Figure 7 to finish the process. 18 Weiliang Meng et al. Fig. 15 The shape exploration result of plant Top based on Horse S0 , S1 and Plant T0 . Here we use translucent effect to render the models for better observation.The vertices number of the public cage is 12, and the face number is 20. Although there is no obvious mapping between Horse and Plant, similar model transition can be finished automatically. This cannot be done by other previous transfer methods. Fig. 16 The shape exploration result of plant Top based on Horse S0 , S1 and Hand T0 . The hand mesh is open, while the horse mesh is close. The vertices number of the public cage is 19 and the face number is 34. Fig. 17 The shape exploration results for multiresolution models. We use the highest resolution model and the source model to construct the public cage with 15 vertices and 26faces. The shape exploration for other multiresolution models can be smoothly generated. Shape Exploration of 3D Heterogeneous Models based on Cages 19 Fig. 18 Failed mesh transfer result. We use the lions in Figure 12 as the source models and the pig as the target model (shown in the left). Based on the sphere cage in Figure 4 and Green Coordinates, the transferred result is shown in the right. The main reason is that the deformed cage are intersected itself, and not a manifold anymore, which leads to an unreasonable deformation. relation, which means using fewer vertices to simulate the process. In principle, there maybe no exact analytic expression existing at all. As a result, the vertex number of the cage used for deformation should be small. Too many vertices will increase the computation time, and may not bring better result, as the deformation only considered the change of the cage vertices’ positions but not the intersections of the cage faces that may occur. This means the result may lead to cage intersection with itself, which in turn generates unreasonable deformed target models that have mesh inversion(See Figure 18). 5 Conclusions and Future work We present a shape exploration framework for 3D heterogeneous models based on cages. Given two source models and another target model, we use a public cage as a transfer medium to implement shape transfer on the target model, then optimize the result based on the differential coordinates, and interpolate the models using shape space which in turn generates more shape exploration results for animation. The cage can be a general cage, or a custom-made cage for the model which can be generated automatically using our proposed custom-made cage generation method. Existing cage coordinates are employed to finish the transfer task, and optimization is executed subsequently to obtain a local-detail-preserving deformed model. More shape exploration results can be acquired by interpolation based on shape space. Differing from the previous method, our scheme can deal with quadrilateral target meshes (Figure 12) as well as triangle meshes. The whole process is feasible and efficient according to our experiments. More improvements should be considered in the future. For the cage-based transfer, we should search a new solution to avoid the cage intersect with itself, in order to generate reasonable transferred results and eliminate the 20 Weiliang Meng et al. failure cases such as in Figure 18. Besides, more methods like [41] and other constraints should be considered in order to transfer the details more exactly. For instance, the distance of front leg movement of the cat in Figure 12 is obviously less than that of the source model lion 2. Maybe small cages of local parts can be used to help transfer the local details, and the algorithm should be designed to avoid affecting other transferred states. For the model optimization, currently we just use the differential coordinates as the reference, and a more effective condition should be considered as the constraint condition in order to generate refined results. In addition, more user defined conditions should be included, aiming to make our method more practical and robust for production. Acknowledgements This work is supported in part by the National High-Tech Research and Development Program of China (863 Program) with No.2015AA016402, and in part by National Natural Science Foundation of China with Nos. 61571439, 61561003, 61471261,61372190, and 61202324. References 1. Baran, I., Vlasic, D., Grinspun, E., Popović, J.: Semantic deformation transfer. ACM Trans. Graph. 28(3), 36:1–36:6 (2009) 2. Beier, T., Neely, S.: Feature-based image metamorphosis. In: SIGGRAPH ’92: Proceedings of the 19th annual conference on Computer graphics and interactive techniques, pp. 35–42. ACM, New York, NY, USA (1992) 3. Ben-Chen, M., Weber, O., Gotsman, C.: Spatial deformation transfer. In: Proceedings of the 2009 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 67–74. ACM (2009) 4. Ben-Chen, M., Weber, O., Gotsman, C.: Variational harmonic maps for space deformation. ACM Trans. Graph. 28(3), 1–11 (2009) 5. Bookstein, F.L.: Principal warps: Thin-plate splines and the decomposition of deformations. IEEE Trans. Pattern Anal. Mach. Intell. 11(6), 567–585 (1989) 6. Carmo, M.P.D.: Differential Geometry of Curves and Surfaces, chap. 1, pp. 16–23. Prentice-Hall (1976) 7. Chen, L., Huang, J., Sun, H., Bao, H.: Cage-based deformation transfer. Computers & Graphics 34(2), 107–118 (2010) 8. Cohen-Or, D., Sorkine, O.: Encoding meshes in differential coordinates. In: (SCCG06)Proceedings of the 22nd Spring Conference on Computer Graphics, ACM Press. (2006) 9. Derose, T., Meyer, M.: Harmonic coordinates. Tech. rep., Pixar Animation Studios (2006) 10. Floater, M.S.: Mean value coordinates. Computer Aided Geometric Design 20(1), 19–27 (2003) 11. Floater, M.S., Kós, G., Reimers, M.: Mean value coordinates in 3d. Comput. Aided Geom. Des. 22(7), 623–631 (2005) 12. Fröhlich, S., Botsch, M.: Example-driven deformations based on discrete shells. In: Computer Graphics Forum, vol. 30, pp. 2246–2257. Wiley Online Library (2011) 13. Garcı́a, F.G., Paradinas, T., Coll, N., Patow, G.: *cages:: A multilevel, multi-cage-based system for mesh deformation. pp. 24:1–24:13. ACM, New York, NY, USA (2013) 14. Garland, M., Heckbert, P.S.: Surface simplification using quadric error metrics. Computer Graphics 31(Annual Conference Series), 209–216 (1997) 15. Hoppe, H.: Progressive meshes. In: SIGGRAPH ’96: Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, pp. 99–108. ACM, New York, NY, USA (1996) Shape Exploration of 3D Heterogeneous Models based on Cages 21 16. Hormann, K., Floater, M.S.: Mean value coordinates for arbitrary planar polygons. ACM Trans. Graph. 25(4), 1424–1441 (2006) 17. Jacobson, A., Baran, I., Popovic, J., Sorkine, O.: Bounded biharmonic weights for realtime deformation. In: SIGGRAPH ’11: ACM SIGGRAPH 2011 Papers (2011) 18. Joshi, P., Meyer, M., DeRose, T., Green, B., Sanocki, T.: Harmonic coordinates for character articulation. In: SIGGRAPH ’07: ACM SIGGRAPH 2007 papers, p. 71. ACM, New York, NY, USA (2007) 19. Ju, T., Schaefer, S., Warren, J.: Mean value coordinates for closed triangular meshes. ACM Trans. Graph. 24(3), 561–566 (2005) 20. Ju, T., Zhou, Q.Y., Van De Panne, M., Cohen-Or, D., Neumann, U.: Reusable skinning templates using cage-based deformations. ACM Transactions on Graphics 27(5), 1 (2008) 21. Karni, Z., Gotsman, C.: Spectral compression of mesh geometry. In: SIGGRAPH ’00: Proceedings of the 27th annual conference on Computer graphics and interactive techniques, pp. 279–286. ACM Press, New York, NY, USA (2000) 22. Kilian, M., Mitra, N.J., Pottmann, H.: Geometric modeling in shape space. ACM Trans. Graph. 26(3), 64 (2007) 23. Li, X.Y., Ju, T., Hu, S.M.: Cubic mean value coordinates. ACM Transactions on Graphics 32(4), 98:1–10 (2013) 24. Lipman, Y., Kopf, J., Cohen-Or, D., Levin, D.: Gpu-assisted positive mean value coordinates for mesh deformations. In: SGP ’07: Proceedings of the fifth Eurographics symposium on Geometry processing, pp. 117–123. Eurographics Association, Aire-laVille, Switzerland, Switzerland (2007) 25. Lipman, Y., Levin, D., Cohen-Or, D.: Green coordinates. In: SIGGRAPH ’08: ACM SIGGRAPH 2008 papers, pp. 1–10. ACM, New York, NY, USA (2008) 26. Luebke, D., Harris, M., Krüger, J., Purcell, T., Govindaraju, N., Buck, I., Woolley, C., Lefohn, A.: Gpgpu: general purpose computation on graphics hardware. In: SIGGRAPH ’04: ACM SIGGRAPH 2004 Course Notes, p. 33. ACM, New York, NY, USA (2004) 27. Ma, C., Huang, H., Sheffer, A., Kalogerakis, E., Wang, R.: Analogy-driven 3D style transfer. Computer Graphics Forum 33(2), 175–184 (2014) 28. MacCracken, R., Joy, K.I.: Free-form deformations with lattices of arbitrary topology. In: SIGGRAPH ’96: Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, pp. 181–188. ACM, New York, NY, USA (1996) 29. Ovsjanikov, M., Ben-Chen, M., Solomon, J., Butscher, A., Guibas, L.: Functional maps: A flexible representation of maps between shapes. ACM Transactions on Graphics (TOG) 31(4), 30 (2012) 30. Shlens, J.: A tutorial on principal component analysis. Systems Neurobiology Laboratory, University of California at San Diego (2005) 31. Sorkine, O., Cohen-Or, D., Lipman, Y., Alexa, M., Rössl, C., Seidel, H.P.: Laplacian surface editing. In: SGP ’04: Proceedings of the 2004 Eurographics/ACM SIGGRAPH symposium on Geometry processing, pp. 175–184. ACM, New York, NY, USA (2004) 32. Sorkine, O., Cohen-Or, D., Toledo, S.: High-pass quantization for mesh encoding. In: SGP ’03: Proceedings of the 2003 Eurographics/ACM SIGGRAPH symposium on Geometry processing, pp. 42–51. Eurographics Association, Aire-la-Ville, Switzerland, Switzerland (2003) 33. Sumner, R.W., Popović, J.: Deformation transfer for triangle meshes. In: SIGGRAPH ’04: ACM SIGGRAPH 2004 Papers, pp. 399–405. ACM, New York, NY, USA (2004) 34. Thiery, J.M., Tierny, J., Boubekeur, T.: Cager: Cage-based reverse engineering of animated 3d shapes. Computer Graphics Forum 31(8), 2303–2316 (2012) 35. Turk, G., O’Brien, J.F.: Shape transformation using variational implicit functions. In: ACM SIGGRAPH 2005 Courses, p. 13. ACM (2005) 36. Wang, Y., Jacobson, A., Barbič, J., Kavan, L.: Linear subspace design for real-time shape deformation. ACM Trans. Graph. 34(4), 57:1–57:11 (2015) 37. Weber, O., Ben-Chen, M., Gotsman, C.: Complex barycentric coordinates with applications to planar shape deformation. Computer Graphics Forum (Proceedings of Eurographics) 28(2) (2009) 38. Weber, O., Sorkine, O., Lipman, Y., Gotsman, C.: Context-aware skeletal shape deformation. Computer Graphics Forum (Proceedings of Eurographics) 26(3) (2007) 22 Weiliang Meng et al. 39. Winkler, T., Drieseberg, J., Alexa, M., Hormann, K.: Multi-scale geometry interpolation. In: Computer graphics forum, vol. 29, pp. 309–318. Wiley Online Library (2010) 40. Yoshiyasu, Y., Yamazaki, N.: Detail-aware spatial deformation transfer. Computer Animation and Virtual Worlds 23(3-4), 225–233 (2012) 41. Zhang, J., Deng, B., Liu, Z., Patanè, G., Bouaziz, S., Hormann, K., Liu, L.: Local barycentric coordinates. ACM Trans. Graph. 33(6), 188:1–188:12 (2014) 42. Zhao, Y., Pan, B., Xiao, C., Peng, Q.: Dual-domain deformation transfer for triangular meshes. Computer Animation and Virtual Worlds 23(3-4), 447–456 (2012) 43. Zhou, K., Xu, W., Tong, Y., Desbrun, M.: Deformation transfer to multi-component objects. In: Computer Graphics Forum, vol. 29, pp. 319–325 (2010)