Surface Simplification of 3D Animation Models Using Robust Homogeneous Coordinate Transformation
The goal of 3D surface simplification is to reduce the storage cost of 3D models. A 3D animation model typically consists of several 3D models. Therefore, to ensure that animation models are realistic, numerous triangles are often required. However, animation models that have a high storage cost have a substantial computational cost. Hence, surface simplification methods are adopted to reduce the number of triangles and computational cost of 3D models. Quadric error metrics (QEM) has recently been identified as one of the most effective methods for simplifying static models. To simplify animation models by using QEM, Mohr and Gleicher summed the QEM of all frames. However, homogeneous coordinate problems cannot be considered completely by using QEM. To resolve this problem, this paper proposes a robust homogeneous coordinate transformation that improves the animation simplification method proposed by Mohr and Gleicher. In this study, the root mean square errors of the proposed method were compared with those of the method proposed by Mohr and Gleicher, and the experimental results indicated that the proposed approach can preserve more contour features than Mohr’s method can at the same simplification ratio.
The development of information technology has caused 3D techniques to be applied often in numerous aspects of digital life [1–5], especially computer graphics [6–9]. A major component of 3D animation is 3D objects, and realistic animation requires many frames, each containing numerous vertices and triangles. Therefore, several surface simplification methods have been proposed to reduce the storage costs [10–16].
These simplification methods include vertex decimation , vertex clustering , edge contraction , triangle contraction , and quadric error metrics (QEM) simplification . QEM is one of the accurate methods for simplifying static 3D models, providing low-error simplifications of high-resolution static models. Although QEM is suited to simplifying static models, it cannot be applied alone to simplify animation models directly. Because each frame model in an animation is static, QEM must simplify one of all frame models in an animation model first and then simplify other frame models by following the simplification sequence of the first simplified one if the animation model has to be directly simplified by QEM. The errors caused by simplification increase rapidly and the shape features are destroyed easily, in spite of the fact that an animation model can be simplified by the previous way, as shown in Figure 1.
To reduce these errors, Mohr and Gleicher  proposed the deformation sensitive decimation (DSD) method. This method is an extension of the QEM algorithm that involves constructing a metamesh after summing the quadric errors incurred by all frames. Because vertices with the same index do not have the same local space coordinate in different frame models, the quadric errors cannot only be summed. To solve this problem, Mohr and Gleicher replaced the final row of the pair’s summed quadric matrix with and used to determine the optimal vertex position. However, does not always exist. To resolve this problem, this paper proposes a robust homogeneous coordinate transformation (RHCT) that improves the DSD method.
2. Related Works
2.1. Quadric Error Metrics
Because the QEM method proposed by Garland and Heckbert  has recently been identified as one of the most effective simplification methods, numerous experts have studied it, extending its applications in level of detail (LOD) , radiosity rendering , and animation model simplification . QEM involves contracting vertex and vertex into a new vertex, , the position of which is obtained according to the minimal distance between a vertex and the conjoining triangles, as shown in Figure 2. This minimal distance represents the error of simplification. This method enables the outer shape of a 3D model to be retained after the model is simplified and reduces the errors caused by surface simplification. The new estimated position of strongly influences changes in the surrounding triangles.
QEM involves measuring the error by using a quadric metric as follows: where is an estimated point and represents a quadric metric defined by plane : . When , the distance from any vertex to the plane is represented as . In other words, can be represented as follows, and the initial matrix can be obtained by conglomerating the planes for the triangles meeting at : where indicates the triangles meeting at the vertex . When the vertex pair is simplified into a new vertex , the matrix of vertex is converted into , where and are the quadric matrices of vertices and , respectively. In other words, the cost of contraction is simply computed as . This method rapidly provides a low-error solution for surface simplification.
2.2. Deformation Sensitive Decimation
Although QEM features advantages such as a high computation speed and a low average error, it can be used to simplify only static models. That is, QEM can obtain a good simplified result for one of all frame examples in an animation but cannot work well for each frame example at the same time. For example, in the animation model containing five frame examples shown in Figure 3(a), the first frame example is simplified first, and the fifth frame example is simplified using the collapse sequence based on the first frame example, as shown in Figure 3(b). The first frame example can be simplified adequately by using this approach, but the fifth frame example cannot.
(a) An animation model with five frame examples
(b) Using the QEM of example 1 only
(c) Using the DSD
To apply QEM in simplifying all frame examples in an animation model, Mohr and Gleicher  proposed DSD method. This method is used to generate the contraction cost by considering all frame examples in an animation model. The method involves tracking the error quadric and summing the matrices per vertex for each frame example. The error measurement is modified as follows: where is the number of frame examples, represents the new vertex formed by collapsing vertices and in the th frame example, and and represent the error quadrics of vertices and , respectively.
Experimental results indicated that when DSD is used to simplify the animation model in Figure 3(c), the simplification of the fifth frame example is superior to that generated using the QEM of first frame example.
2.3. Progressive Multiresolution Meshes
To apply QEM in high degree of nonrigid deformation, Kircher and Garland proposed a new multiresolution method to deform surfaces . This method comprises two major steps. First, a multilevel mesh is created for the first frame model in the deformation sequence. Each level is numbered in an increasing order from fine to coarse, starting with . This method uses QEM to cluster all vertices in , generate a simplified model , and complete the initial hierarchy gradually.
In the second step, a reclustering algorithm is employed to improve the time-varying hierarchies for each subsequent frame model. To update the time-varying hierarchies, a swap approach is used to recluster vertices; in other words, the th hierarchy is generated from the th hierarchy , and all swap operations varying from to are recorded, as shown in Figure 4.
According to the experimental results , the simplification errors generated by progressive multiresolution meshes were between the DSD and Direct QSlim. Because this method updated hierarchies from the first frame hierarchy, the models similar to the first frame model (frames 1, 13, 25, 37, and 49) were simplified well. By contrast, the models that greatly differed from the first frame model, such as frames 6, 18, 30, and 42, could not be simplified effectively using progressive multiresolution meshes. Local maximal simplification errors were observed in frames 6, 18, 30, and 42, and these errors were nearly equal to those of the DSD.
Many studies have recently referenced DSD in proposing numerous related works, including progressive multiresolution meshes , articulated meshes [25, 26], animation key-frame extraction , and analytic error metrics . However, one shortfall of the DSD method, the homogeneous coordinate problem, must be resolved.
To manage homogeneous coordinates, DSD entails replacing the final row of the summed quadric matrix with and determining the to obtain the optimal vertex position. However, does not always exist. Therefore, we propose a RHCT to improve the DSD method.
3. Robust Homogeneous Coordinate Transformation
An animation model generally comprises several frame examples, and each frame example has a distinct pose. The surface information, such as information on the position and normal vector, of a vertex differs among frame examples. In brief, the local coordinate system of a vertex varies among the frame examples of an animation model. Before an animation model is simplified, a vertex present in different frame examples should be transformed to one local coordinate space. This transformation is conducted by applying the following theorems.
Theorem 1 (Euler’s rotation ). In 3D space, the transform for rotating a point around the origin of a plane is expressed as follows:
Any rotation may be described using three angles. If the rotations are written using rotation matrices , , and , then a general rotation can be written as .
Theorem 2 (equivalence of an orthogonal matrix to a rotation matrix ). A rotation matrix is a matrix that, when multiplied by a vector, rotates that vector in its n-dimensional domain. A rotation matrix is equivalent to an orthogonal matrix, and an orthogonal matrix is defined as a matrix of which the transpose is equal to its determinant, which is equal to 1:
According to Theorem 1, the matrices for rotation around the -axis by , around the -axis by , and around the -axis by are expressed as
Theorem 3 (rotating a point around an arbitrary axis ). Assume the axis of rotation is given by the unit vector: . is the point that is rotated by angle to , as shown in Figure 5. The rotation transform is where .
To transform the vertex in different frame examples to one local coordinate space, the local coordinate spaces in the first frame example are used as major coordinate spaces. Each local coordinate laid on each frame example must be transformed to that on the first frame example. Suppose that the normal vector and tangent plane of a vertex in frame are notated in and , respectively, and represents the mesh of connecting vertex . To transform the mesh to the coordinate space of , the normal vector and tangent plane at vertex must be transformed to and at vertex . According to Theorem 3, the vertex can be transformed to the local coordinate space of by rotating the normal vector :
Assume that the included angle between and is . The cross product, , is a vector orthogonal to the plane of and . The transform matrix that rotates the normal vector by angle around the axis is expressed as (8). According to Theorem 2, the matrix is an orthogonal matrix. In other words, the inverse matrix of exists and is defined as (9).
All faces incident to vertex in different frame examples can be transformed to the local coordinate space at vertex by using the matrix . This approach ensures that the inverse transform matrix exists. Therefore, this method can be used to identify the optimal contraction vertex when DSD is used in summing the QEM to simplify an animation model. The collapse cost for a pair becomes where is the number of frame examples, is the new vertex formed by collapsing vertices and in the th frame example, and represent the error quadrics of vertices and , respectively, is the matrix that transforms all faces incident to from the th frame example to the first frame example, and is the matrix that transforms all faces incident to from the th frame example to the first frame example.
4. The Proposed Algorithm
The proposed algorithm refers to and amends DSD methods and includes eight major steps described as follows.
Step 1 (calculate the QEM of each vertex ). Its QEM is , where denotes the triangle plane that contains the point , and represents 4 × 4 metric of the plane , as shown in (2).
Step 2 (calculate the transformation matrix and modify the QEM). The transformation matrix shown in (8) must be calculated, and then the new QEM is represented as follows. Additionally, will be when equals 1:
Step 3. Sum all QEMs of vertex in different frame example:
Step 4 (choose each pair to calculate the minimum error produced due to simplification). The pair must satisfy the following conditions:(a), ) is an edge or(b)(, ) is not an edge and , where denotes a threshold value specified by the user.
Step 5. Choose the lowest error vertex-pair () as an object of simplification.
Step 6. Contract the vertex-pair () into and calculate its QEM , where .
Step 7. Update all the information of the vertices adjacent to and .
Step 8. Repeat the previous steps until the assigned number of triangles is reached after simplification.
Through Steps 1–3 calculation, the summed QEM with RHCT is obtained, and it is used to contract vertex pairs. The experimental results presented here demonstrate that the RHCT helps to truly reduce the error due to simplification.
5. Experimental Results
This study used the Intel Core i7-2670QM 2.2 GHZ CPU, which features 4 GB of memory, as the main experimental environment, and Visual C++ was used as a programming development tool. Animation models of a horse, a camel, and an elephant were the subjects of the experiment. Each animated sequence comprised 48 frame examples. In the experiment, the root mean square (RMS) errors generated when using DSD to simplify the three animation models were compared with those generated by the proposed method. The experimental results obtained when the horse model was tested are shown in Figure 6, where Figure 6(a) is the original model which consisted of 8431 vertices and 16842 triangles. Figures 6(b) and 6(c) show the results obtained when the horse model was simplified into 5000 triangles by using DSD and the proposed method, respectively.
(a) Original horse animation model (with 16842 triangles)
(b) Simplified horse animation model using the DSD (with 5000 triangles)
(c) Simplified horse animation model using the RHCT (with 5000 triangles)
To estimate the distortion errors of simplified animation models, this study used Metro  to calculate the RMS error for each simplified frame example in an animation model and then to determine the mean of these RMS errors. Table 1 and Figure 7 show the mean distortion errors that occurred when the horse animation was simplified into 10000 triangles, 5000 triangles, 2000 triangles, and 1000 triangles by using the DSD and RHCT methods. The RMS errors of the two methods differed substantially when the models were simplified. The proposed method produced 0.828 × 10−3 RMS errors when it was used to simplify the horse model into 5000 triangles and, compared with the model simplified using DSD and the original model comprising 16842 triangles, reduced RMS errors by 53.9% to within an error range of 1.796 × 10−3. When the model was simplified into 2000 and 1000 triangles, the proposed method achieved improvements of 63.7% and 72%, respectively, compared with DSD.
According to the experimental results, when the horse animation model was simplified into 5000 triangles by using DSD, all simplified frame examples remained similar to the original frame examples. However, the shape features deteriorated gradually when the horse examples were simplified into 2000 triangles by using DSD. RHCT was used to determine a suitable vertex position for each simplified vertex pair and retain more shape features than DSD,does as shown in Figure 8.
(a) Simplifying by the DSD (2000 triangles)
(b) Simplifying by the RHCT (2000 triangles)
Each original frame example in the camel model contained 43813 triangles and 21887 vertices. Figure 9 shows the original examples and the simplification results generated using DSD and RHCT. Table 2 and Figure 10 show comparisons of the errors produced by DSD and the proposed method; the table shows that the proposed method achieved 73–86% error reductions.
(a) Original camel animation model (with 43813 triangles)
(b) Simplified camel animation model using the DSD (with 5000 triangles)
(c) Simplified camel animation model using the RHCT (with 5000 triangles)
In addition, when the camel animation model was simplified into 2000 triangles by using DSD, the outline of the camel leg deteriorated severely. By contrast, the simplified examples produced using the RHCT method retained their major shapes, as shown in Figure 11.
(a) Simplifying by the DSD (2000 triangles)
(b) Simplifying by the RHCT (2000 triangles)
In the experiment, besides taking the horse and camel models for verification, the elephant animation model is taken for experimental testing. The original elephant model contained 84637 triangles and 42321 vertices. Figure 12 shows the simplification results. Table 3 and Figure 13 show a comparison of the error produced using DSD and the proposed method; when the elephant examples were simplified to 10000 triangles by using DSD, the mean RMS error was 0.002468. When the proposed method was used, the error was 0.000751, which is 69.6% lower than that of DSD. Moreover, when the model was simplified to 2000 triangles, the proposed method reduced the error by 73.2% compared with DSD.
(a) Original elephant animation model (with 84637 triangles)
(b) Simplified elephant animation model using the DSD (with 5000 triangles)
(c) Simplified elephant animation model using the RHCT (with 5000 triangles)
Regarding the shape preservation of the simplified elephant example, the shape of the trunk deteriorated severely and even became hollow when the model was simplified to 5000 triangles by using the DSD method, as shown in Figure 14(a). By contrast, RHCT identified a suitable position for the new vertex after simplifying a vertex pair. Therefore, the outline of trunk was kept as intact as possible when it was simplified using the proposed method, as shown in Figure 14(b).
(a) Simplifying by the DSD (5000 triangles)
(b) Simplifying by the RHCT (5000 triangles)
In addition, the progressive multiresolution meshes  mentioned in Section 2 also provided wonderful simplification results. This method reduced the local minimal simplification errors of the models similar to the first frame model. However, the local maximal simplification errors, which were nearly equal to those generated by the DSD, could not be reduced. By contrast, RHCT reduced the considerable local maximal simplification errors, as shown in Figure 15.
Moreover, to compare the appearance changes in the simplified models, the experiment employed the tensor-based perceptual distance measure (TPDM)  and mesh structural distortion measure 2 (MSDM2)  to estimate perceived quality. Both measures were executed in MEPP software . The obtained perceived quality values were between 0 and 1, tending toward 1 when the visualization of the measured objects differed and equaled 0 when they were identical. This experiment simplified the horse sequence to 5000 triangles and used TPDM and MSDM2 to measure the perception distortion, as shown in Tables 4 and 5 and Figure 16.
(a) Original horse model (frame 1)
(b) Simplifying by the RHCT (5000 triangles; TPDM = 0.11536; MSDM2 = 0.32441)
(c) Simplifying by the DSD (5000 triangles; TPDM = 0.14417; MSDM2 = 0.38888)
According to the results in Table 4, the average perception distortion caused by the simplification of the DSD was 0.14588, and the distortion was 0.12097 when the RHCT was employed, a value that was 17.07% smaller than that obtained using the DSD. In MSDM2, the DSD and RHCT produced 0.39796 and 0.33999 average perception distortions, respectively, when they were employed to simplify the horse model into 5000 triangles; in other words, the proposed method achieved improvements of 11.87% to 16.68% compared with the DSD.
The QEM method has recently been proven to be one of the most effective simplification methods. DSD uses summed QEM to simplify and reduce the storage cost of animation models. It then uses revised quadric matrices to resolve the problem of homogeneous coordinates. However, the revised quadric matrices cannot be used to estimate a suitable position for the contraction vertex formed by a vertex pair, leading to severe deterioration of the outlines of simplified animation models. To solve this problem, this paper proposes using RHCT to determine the appropriate position of the contraction vertex. Experimental results indicated that the proposed method can reduce the errors caused by simplification and enables the shape features of simplified animation to be retained.
Conflict of Interests
The author declares that there is no conflict of interests regarding the publication of this paper.
The author thanks the anonymous reviewers for helping to improve this paper. The author also thanks Professors Chassery, Wang, and Torkhani for providing the TPDM codes. Additionally, this research was supported by the National Science Council, Taiwan, under Grants NSC98-2221-E-159-019 and NSC100-2622-E-159-004-CC3.
B.-S. Jong, J.-L. Tseng, W.-H. Yang, and T.-W. Lin, “Extracting features and simplifying surfaces using shape operator,” in Proceedings of the 5th International Conference on Information, Communications and Signal Processing, pp. 1025–1029, Bangkok, Thailand, December 2005.View at: Google Scholar
J. L. Tseng and Y. H. Lin, “Low-resolution surface simplification using shape operators with large-scale surface analysis,” WIT Transactions on Information and Communication Technologies, vol. 58, pp. 105–113, 2014.View at: Google Scholar
E. Mendi, “A 3D face animation system for mobile devices,” Journal of Intelligent and Fuzzy Systems, vol. 26, no. 1, pp. 11–18, 2014.View at: Google Scholar
J. L. Tseng and Y. H. Lin, “3D Surface simplification based on extended shape operator,” WSEAS Transactions on Computers, vol. 12, no. 8, pp. 320–330, 2013.View at: Google Scholar
J. Rossignac and P. Borrel, “Multi-resolution 3D Approximations for Rendering Complex Scenes,” in Modeling in Computer Graphics: Methods and Applications, pp. 455–465, 1993.View at: Google Scholar
A. Guéziec, “Surface simplification with variable tolerance,” in Proceedings of the 2nd Annual International Symposium on Medical Robotics and Computer Assisted Surgery, pp. 132–139, 1995.View at: Google Scholar
M. Garland and P. S. Heckbert, “Surface simplification using quadric error metrics,” in Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques (IGGRAPH '97), pp. 209–216, August 1997.View at: Google Scholar
A. Mohr and M. Gleicher, “Deformation sensitive decimation,” Tech. Rep., University of Wisconsin, 2003.View at: Google Scholar
M. Garland, A. Willmott, and P. S. Heckbert, “Hierarchical face clustering on polygonal surfaces,” in Proceedings of the Symposium on Interactive 3D Graphics, pp. 49–58, March 2001.View at: Google Scholar
J. A. Vince, Mathematics for Computer Graphics, Springer, 2010.
D. Simon, Evolutionary Optimization Algorithms, John Wiley & Sons, 2013.
F. Torkhani, K. Wang, and J.-M. Chassery, “A curvature-tensor-based perceptual quality metric for 3D triangular meshes,” Machine Graphics & Vision, vol. 23, no. 1, 2014.View at: Google Scholar
G. Lavoué, M. Tola, and F. Dupont, “MEPP-3D mesh processing platform,” in Proceedings of the International Conference on Computer Graphics Theory and Applications and International Conference on Information Visualization Theory and Applications (GRAPP & IVAPP '12), pp. 206–210, SciTePress, Rome, Italy, February 2012.View at: Google Scholar