Shape Interpolation with Multiresolution Analysis Junho Kim, Sungyul Choe †, and Seungyong Lee ‡ Department of Computer Science and Engineering Pohang University of Science and Technology (POSTECH) Pohang, 790-784, Korea Abstract This paper presents a novel approach for shape interpolation in 3D morphing with irregular meshes. We assume that the metameshes of the source and target meshes are given. The basic idea is that the multiresolution analysis of metameshes with detail encoding helps to generate natural in-between meshes. We construct mesh hierarchies by simplifying the given metameshes to the base meshes with the error metric reflecting both the source and target geometry. The geometric differences between successive levels in the hierarchies are encoded as details represented in local frames. An in-between mesh is synthesized by adding up the blended details to the interpolated base mesh. Experimental results demonstrate that the generated in-between meshes have reasonable blended shapes of the source and target meshes. Keywords: Mesh morphing, Shape interpolation, Multiresolution mesh analysis. 1. Introduction Morphing between two input models generates an animation in which the source model smoothly changes to the target. Morphing generally consists of two problems, the correspondence problem and the interpolation problem. The correspondence problem concerns finding a one-to-one mapping between the components of two given models. The interpolation problem is involved with generating natural in-between models by interpolating pairs of corresponding components. In this paper, we present a novel solution for the interpolation problem of 3D mesh morphing. We assume that the metameshes of the source and target meshes have been obtained by using a previous mesh morphing technique. The victor@postech.ac.kr, http://home.postech.ac.kr/ victor ggalssam@postech.ac.kr, http://home.postech.ac.kr/ ggalssam ‡ leesy@postech.ac.kr, http://www.postech.ac.kr/ leesy † basic idea of our shape interpolation technique is that natural in-between meshes can be generated by blending multiresolution details of the source and target metameshes in a coarse-to-fine manner. To obtain the multiresolution details, we use the approach of Guskov et al. [6] proposed for mesh signal processing. In this paper, to adapt the approach for shape interpolation, we introduce a new error metric for an edge collapse transformation and a new encoding scheme for the details. Given the source and target metameshes, we obtain multiresolution hierarchies of the meshes by applying the same sequence of edge collapses to the meshes. The order of edge collapses is determined by the error metric that reflects both the source and target geometry. For each edge collapse transformation, the geometric change of a mesh induced by the transformation is encoded as a detail represented in a local frame. To generate an in-between mesh, we first interpolate the source and target base meshes to obtain an in-between base mesh. Then, an in-between mesh is synthesized by progressively adding up the blended details to the in-between base mesh. In Section 2, we briefly review the related work. Section 3 explains the simplification process for multiresolution analysis of metameshes. The encoding scheme to represent the details in the analysis is described in Section 4. Section 5 presents the in-between mesh generation process. We show experimental results in Section 6, discuss the limitations of the current technique in Section 7, and conclude in Section 8. 2. Related Work In this section, we review the related work that considered the interpolation problem in morphing. For a survey of morphing techniques, including the solutions for the correspondence problem, refer to [19, 12]. Hughes proposed a volume morphing technique where different interpolation schedules are applied to the frequency subbands of input volumes [9]. The idea of separating an input model into frequency subbands is similar to the approach of this paper. However, the frequency subbands are used only for scheduling the global and detailed shape changes in the transformation sequence. In contrast, in this paper, the frequency subbands are used to provide a blending hierarchy that supports a complicated transformation. Sederberg et al. proposed a solution for the interpolation problem in 2D polygon morphing which interpolates intrinsic parameters such as lengths and angles instead of vertex positions [14]. Sun et al. extended the solution to handle interpolation in 3D polyheral morphing [15]. Goldstein and Gotsman proposed a 2D polygon morphing technique that includes multiresolution interpolation based on curve evolution [5]. Surazhsky and Gotsman proposed an interpolation technique for two compatible planar triangulations [16] and applied the technique to the interpolation of two stick figures [17]. Alexa et al. introduced the concept of rigidity into shape interpolation [1]. Two input objects are decomposed into isomorphic sets of simplexes, and each pair of corresponding simplexes is interpolated so that the overall shape is transformed as rigidly as possible. Although these previous approaches are excellent for 2D polygon morphing, their 3D extensions for mesh morphing are rather complicated. In contrast, the approach proposed in this paper is simple and effectively handles the 3D case. 3. Multiresolution Hierarchy Let MS and MT be the given source and target metameshes, which have been obtained by merging the vertices and edges of two input meshes for morphing. There exist a one-to-one correspondence between the vertex sets of MS and MT . The edge sets of MS and MT are isomorphic to each other, where the corresponding vertices of M S and MT have the same connectivity. Only the vertex positions are different among M S and MT . We assume that MS and MT are 2-manifold triangular meshes. To perform multiresolution detail encoding of M S and MT , we first obtain multiresolution hierarchies of M S and MT . Similar to the progressive mesh construction [7], we apply an edge collapse sequence to M S and MT , which simplifies MS and MT to base meshes MS0 and MT0 , respectively. To obtain the same multiresolution hierarchy, we apply the same sequence of edge collapses to both M S and MT . Compared to the simplification of a single mesh, simultaneous simplification of MS and MT is rather complicated, because MS and MT generally have different geometry. The error metric used for determining the edge collapse sequence must reflect the geometry of both M S and MT so that the simplification errors for M S and MT are comparable to each other. Moreover, we can consider the geometry of MT as an attribute field (e.g., texture) defined on the surface of MS , where the vertex positions of M T give the sample val- ues of the field at the corresponding vertices of M S . Then, if the simplification process of MS much distorts the field, the multiresolution details of MT will also be much distorted when they are sampled on the surfaces of meshes in the hierarchy of MS . We can consider the distortions of the details of MS with respect to MT in the same way. In this case, large distortions of the details will have bad effects when the details are blended and added up to generate an in-between mesh. Hence, the distortions must be reflected on the error metric for simplification of MS and MT . In this paper, we regard the vertex positions of M T and MS as attributes of the corresponding vertices of M S and MT , respectively. Several elegant techniques were developed for mesh simplification considering attributes on meshes [2, 4, 8, 13]. We design our error metric for simplification with the approach proposed by Hoppe [8], which uses the sum of quadric errors from the geometry and attributes. Before the simplification process starts, the vertex positions in MS and MT are normalized into a unit cube. The quadric errors for MS are obtained from the vertex positions in MS , which provide the geometry information, and the vertex positions in MT , which are considered as attributes on the corresponding vertices in M S . The quadric errors for MT are derived in a similar way. The error metric for simplification is defined as the sum of the quadric errors from MS and MT . In this paper, we use half-edge collapses for mesh simplification, because the multiresolution analysis in Section 4 is based on a half-edge collapse. In the simplification process, the order of half-edge collapses is determined by comparing the error metrics for possible half-edge collapses. Since the new vertex position is fixed for a half-edge collapse, we can easily evaluate the error metric for each half-edge collapse. A simple alternative to the proposed approach is to use the sum of quadric error metrics [3] obtained by independently considering the geometry of M S and MT . With the simple approach, we can obtain comparable simplification errors for MS and MT . However, the approach does not consider the detail distortions of MS and MT measured with respect to the other mesh. The approach proposed in this paper reduces such distortions by including the attribute errors in the error metric. As the result, the triangle shapes in the corresponding simplified meshes from M S and MT become similar in the simplification process. Note that the detail distortions between MS and MT are minimized when the local parameterizations of MS and MT are the same. Figure 1 compares the simplified meshes obtained by the proposed and the simple approaches. 4. Multiresolution Analysis With an edge collapse sequence to simplify the given metameshes MS and MT , we obtain multiresolution hierar- M0 M 10 M 25 M 200 M 1000 (a) proposed error metric (b) sum of geometric quadric errors Figure 1. Simplification process for metameshes chies of MS and MT . The multiresolution details of M S and MT can be derived by analyzing the differences among the meshes in the hierarchies of MS and MT , respectively. Let M l and M l 1 be two meshes at adjacent levels in the hierarchy of MS , where M l is the coarser mesh. In this section, we propose an encoding scheme for the detail of M l 1 from M l . The same scheme can be applied to the hierarchy of MT . The detail of M l 1 from M l can be considered as a frequency subband information when we apply a frequency analysis to MS . Recently, geometric algorithms were introduced for the frequency analysis of 2-manifold meshes [18, 11, 6, 10]. The algorithms are based on the smoothing filters that approximate the Laplacian operator. The frequency subbands of a given mesh are obtained by evaluating the differences between the meshes before and after smoothing. Among the algorithms, we adopt the signal processing framework proposed by Guskov et al. [6] because it is proper to handle the multiresolution hierarchy from an edge collapse sequence, used in this paper. In the framework proposed by Guskov et al. [6], the detail of M l 1 from M l is obtained as follows. Let v be the vertex of M l 1 which has been removed by the half-edge collapse that reduces M l 1 to M l . Let M̃ l 1 be the smoothed version of M l 1 determined by the geometry of M l 1 . To obtain M̃ l 1 , we first subdivide M l to create the vertex v and compute the position of v by using a smoothing opera- tor that reflects the geometry of M l 1 . Then, we apply the smoothing operator to the 1-ring neighbor vertices of v, and the resulting mesh is M̃ l 1 . The detail of M l 1 from M l is defined as the difference vectors between M̃ l 1 and M l 1 at the vertex v and its 1-ring neighbor vertices. In [6], the difference vectors are represented in local frames that depend on M l . When we apply multiresolution shape interpolation to MS and MT , the details of MS and MT are interpolated and incrementally added to the in-between base mesh. The local frames used to represent the details play an important role in detail interpolation because the interpolation results depend on the local frames. In the multiresolution shape interpolation, the geometry of an in-between mesh is locally rotated and scaled against MS and MT . Hence, the local frames should reflect the local orientation and scale of the geometry. Also, the local frames should be consistent over the entire mesh; that is, local frames for the details at adjacent vertices should not have much different orientations and scales. In this paper, we propose a new encoding scheme for the detail of M l 1 from M l . Let d be the difference vector of a vertex v for which the position difference between M̃ l 1 and M̃ l 1 is computed. We represent d as a linear combination of the normal vector n of v and unit direction vectors u i associated with the 1-ring neighbor edges e i of v (see Figure 2). That is, k d w0 α0 n ∑ wi αi ui i 1 (1) where k is the degree of v. The vectors n and u i are derived from the smoothed mesh M̃ l 1 . Values αi , i 1 k, are the lengths of the 1-ring neighbor edges e i , and α0 is the average length, ∑ki1 wi k. The weights wi are determined to satisfy Eq. (1). Among possibly many solutions for w i , we choose the one which minimizes ∑ki0 w2i . We can obtain the least-square solution by using pseudoinverse. n d u5 u6 u1 u4 u2 u3 Figure 2. Detail encoding with a local frame The weights wi obtained by Eq. (1) provide an encoding of the detail at a vertex v which reflects the orientation and scale of the local geometry around v. In Eq. (1), the local orientations around v are represented by the unit vectors n and ui . With the values αi , the local scales around v are counted in determining w i . 5. Multiresolution Interpolation By repeating this process for all vertices in M̃Il details, we derived the mesh MIl 1 . Once the base meshes and the multiresolution details of the given metameshes MS and MT have been obtained, the construction of an in-between mesh consists of two steps; base mesh interpolation and incremental add-up of the blended details. We first obtain an in-between base mesh by interpolating the base meshes of M S and MT . Then, from the coarsest to the finest levels of multiresolution hierarchies of MS and MT , we blend the details of MS and MT at each level and add the blended details to the intermediate mesh constructed up to the level. For the base mesh interpolation, we use the linear interpolation of the vertex positions in the base meshes M S0 and MT0 . To minimize distortion from the linear interpolation, we use a rigid transformation that aligns M S0 with MT0 . The rigid transformation is composed of a rotation and a translation, and we compute the transformation by minimizing the sum of the distances between corresponding vertices after the transformation. Although the as-rigid-as-possible interpolation [1] may be an excellent solution for the interpolation, we use linear interpolation in this paper for simplicity. Since the base meshes are simple, linear interpolation usually generates reasonable in-between base meshes. Now we explain how to add the blended details to an intermediate in-between mesh in the multiresolution shape interpolation. Let MIl and MIl 1 be the intermediate inbetween meshes before and after adding the details, respectively. As in the mesh signal processing framework of Guskov et al. [6], we first derive a smooth version M̃Il 1 of MIl 1 by using subdivision and a smoothing operator. However, in this case, the smoothing operator is determined by the geometry of MIl 1 , which we want to construct. To resolve this problem, we derive the smoothing operator for MIl 1 by interpolating those operators for M Sl 1 and MTl 1 . The interpolated operator can be obtained by using the lengths and areas of the interpolated triangles to compute the coefficients of the smoothing operator. See [6] for details. Since an in-between mesh has a blended shape among MS and MT , we can expect that the interpolated smoothing operator works well for the generation of M̃Il 1 . After M̃Il 1 has been obtained, we blend the details at level l in the multiresolution hierarchy of M S and MT . As described in Section 4, each of the details of M S and MT at a vertex v is represented by the weights w i . To obtain the detail of M̃Il 1 at the vertex v, we interpolate the weights wi between MS and MT . The final difference vector for the detail at v is determined by linearly combining the normal vector n of v and unit direction vectors u i associated with the 1-ring neighbor edges of v in M̃Il 1 , as described in Eq. (1). The position of the vertex v in M Il 1 is obtained by adding the difference vector to the position of v in M̃Il 1 . Figure 3 illustrates the process of the incremental generation of an in-between mesh. As shown in Figure 3, the multiresolution hierarchy of the in-between mesh is reasonable, although we construct it by blending the details obtained from the source and target meshes. M 30 M 50 M 100 M 400 1 which have M 1000 Figure 3. Multiresolution shape interpolation process: Top, middle, and bottom rows are the multiresolution hierarchies of the source, in-between at time 0.5, and target meshes, respectively. 6. Results Figure 4 compares in-between meshes obtained by our multiresolution shape interpolation with linear interpolation. In the example, the target mesh was constructed by applying a bending deformation to the source mesh. The base meshes used for the multiresolution shape interpolation contain 27 faces. Figure 5 shows another example. The target mesh is also a bent version of the source, while the base meshes consist of 6 triangles. As shown in Figures 4 and 5, multiresolution shape interpolation generates more natural in-between meshes than linear interpolation. In Figure 6, a statue model is twisted to construct the target mesh. In this example, we use the base meshes with 9 triangles. Figure 6 shows that the head of statue does not shrink in the multiresolution shape interpolation. Figure 7 shows the result of the multiresolution shape interpolation between mannequin and Venus models. In this example, we used the base meshes that contain 34 triangles. Figure 7. Multiresolution shape interpolation between mannequin and Venus models Figure 4. Shape interpolation between a cow and its bent version (top: linear interpolation, bottom: multiresolution shape interpolation) Figure 5. Shape interpolation for a stretched and crooked horse leg (top: linear interpolation, bottom: multiresolution shape interpolation) Figure 6. Shape interpolation for a twisted statue (top: linear interpolation, bottom: multiresolution shape interpolation) 7. Discussion As demonstrated in Section 6, the technique proposed in this paper can produce natural shape interpolation for meshes with different geometry. However, for robust handling of drastic geometric differences between meshes, the proposed technique may need some improvements. A more consistent approach will be helpful for analysis and blending of the geometric signals on the given meshes MS and MT . In this paper, we simplify MS and MT by simultaneously considering the geometry of both M S and MT . However, the multiresolution analysis of the geometric signals are independently performed on M S and MT , and the independent details are blended later to construct an inbetween mesh. A more plausible approach would be that the geometric signals on MS and MT are analyzed on a common domain and an in-between mesh is synthesized on the common domain by blending the correlated details of M S and MT . In the proposed technique, the resolution of the base meshes of MS and MT should be properly selected to obtain a natural in-between mesh. When the resolution is too high, the generated in-between mesh may not much differ from the result of linear interpolation. On the other hand, if the resolution is too low, the base meshes may not reflect the geometry of MS and MT , and the resulting in-between meshes may not naturally interpolate the shapes of M S and MT . For the examples in this paper, we tried several base mesh resolutions and chose the one with the best result. To handle the problem of the base mesh resolution, we are investigating a shape description metric, which measures the difference of a simplified mesh from the original. With such a metric, a semi-automatic approach could be developed to determine the base mesh resolution that produces natural shape interpolation. In the multiresolution shape interpolation, the shape of an in-between mesh is much influenced by the base mesh interpolation technique. In this paper, we used simple linear interpolation for the base meshes and obtained successful results on the examples shown in Section 6. However, an advanced approach considering the rigidity in the base mesh interpolation will be helpful to generate natural in-between meshes, especially when the given meshes have much dif- ferent geometry. 8. Conclusion In this paper, we proposed a shape interpolation technique based on a multiresolution signal processing framework for meshes. We presented an effective approach to construct multiresolution hierarchies of the source and target meshes, which considers the geometry information of one mesh as the attributes of the other mesh in the simplification process. We also introduced a novel encoding scheme for the details extracted from the multiresolution hierarchies. For future work, we will extend our multiresolution shape interpolation framework to skin deformation of an animation character. Acknowledgments This work was supported by the Korea Ministry of Education through the Brain Korea 21 program and the KIPA Game Animation Research Center. References [1] M. Alexa, D. Cohen-Or, and D. Levin. As-rigid-as-possible shape interpolation. ACM Computer Graphics (Proc. SIGGRAPH 2000), pages 157–164, 2000. [2] J. Cohen, M. Olano, and D. Manocha. Apperance-preserving simplification. ACM Computer Graphics (Proc. SIGGRAPH ’98), pages 115–122, 1998. [3] M. Garland and P. S. Heckbert. Surface simplification using quadric error metrics. ACM Computer Graphics (Proc. SIGGRAPH ’97), pages 209–216, 1997. [4] M. Garland and P. S. Heckbert. Simplifying surfaces with color and texture using quadric error metrics. In Proc. IEEE Visualization ’98, pages 263–269, 1998. [5] E. Goldstein and C. Gotsman. Polygon morphing using a multiresolution representation. In Proc. Graphics Interface ’95, pages 247–254, 1995. [6] I. Guskov, W. Sweldens, and P. Schröder. Multiresolution signal processing for meshes. ACM Computer Graphics (Proc. SIGGRAPH ’99), pages 325–334, 1999. [7] H. Hoppe. Progressive meshes. ACM Computer Graphics (Proc. SIGGRAPH ’96), pages 99–108, 1996. [8] H. Hoppe. New quadric metric for simplifying meshes with appearance attributes. In Proc. IEEE Visualization ’99, pages 59–66, 1999. [9] J. F. Hughes. Scheduled fourier volume morphing. ACM Computer Graphics (Proc. SIGGRAPH ’92), pages 43–46, 1992. [10] Z. Karni and C. Gotsman. Spectral compression of mesh geometry. ACM Computer Graphics (Proc. SIGGRAPH 2000), pages 279–286, 2000. [11] L. Kobbelt, S. Campagna, J. Vorsatz, and H.-P. Seidel. Interactive multi-resolution modeling on arbitrary meshes. ACM Computer Graphics (Proc. SIGGRAPH ’98), pages 105–114, 1998. [12] F. Lazarus and A. Verroust. Three dimensional metamorphosis: A survey. The Visual Computer, 14(8/9):373–389, 1998. [13] P. V. Sander, J. Snyder, S. J. Gortler, and H. Hoppe. Texture mapping progressive meshes. ACM Computer Graphics (Proc. SIGGRAPH 2001), pages 409–416, 2001. [14] T. W. Sederberg, P. Gao, G. Wang, and H. Mu. 2–d shape blending: An intrinsic solution to the vertex path problem. ACM Computer Graphics (Proc. SIGGRAPH ’93), pages 15–18, 1993. [15] Y. M. SUN, W. WANG, and F. Y. CHIN. Interpolating polyhedral models using intrinsic shape paramters. In Proc. Pacific Graphics ’95, pages 133–147, 1995. [16] V. Surazhsky and C. Gotsman. Controllable morphing of compatible planar triangulations. ACM Trans. Graphics, 20(4):203–231, 2001. [17] V. Surazhsky and C. Gotsman. Morphing stick figures using optimized compatible triangulations. In Proc. Pacific Graphics 2001, pages 97–104, 2001. [18] G. Taubin. A signal processing approach to fair surface design. ACM Computer Graphics (Proc. SIGGRAPH ’95), pages 351–358, 1995. [19] G. Wolberg. Image morphing: a survey. The Visual Computer, 14(8/9):360–372, 1998.