Abstract:
A method of operating a fuzzy inference system to simplify a mesh capable of producing a high-quality approximate mesh and retaining good characteristics and appearance so that a good visual effect emerges. The invention utilizes a fuzzy inference system to integrate mesh attributes and estimate the cost in removing certain data, which serve as a criteria for mesh simplification. Hence, the invention is suitable for progressive meshes, multiresolution modeling rendering and progressive transmission on a network.

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
         [0001]    This application claims the priority benefit of Taiwan application serial no. 89117571, filed Aug. 30, 2000.  
         BACKGROUND OF THE INVENTION  
         [0002]    1. Field of Invention  
           [0003]    The present invention relates to a method for simplifying mesh. More particularly, the present invention relates to a fuzzy inference system capable of simplifying meshes in computer graphics by integrating variances of mesh attributes and estimating the cost of removing a portion of data.  
           [0004]    2. Description of Related Art  
           [0005]    Conventional mesh simplification techniques can be roughly divided into two types, namely, edge collapsing and vertex decimation. FIG. 1 is an illustration showing the working principles behind the conventional edge collapsing method for simplifying mesh. As shown in FIG. 1, vertices(v t , v s ) on the left side of the figure is chosen to be the edge collapsing vertices. After collapsing the edge between the vertice(v t , v s ), only a single vertex v s , is left. Hence, one vertex is eliminated and the triangles represented by the vertices(v t , v l , v s ) and (v t , v s , v r ) are removed. Meanwhile, five edges including v t v s , v t v l , v t v r , v r v s , v s v l  originally on the left is reduced to just two edges, namely, v l v s , and v s ,v r .  
           [0006]    [0006]FIG. 2 is an illustration showing the working principles behind the conventional vertex decimation method for simplifying meshes. In the vertex decimation method, vertices are classified according to the geometry of its neighboring triangles. As shown in FIG. 2, vertices of secondary importance are removed (for example, v m ) and the ‘hole’ so created is again triangulated (to form triangles A 1 , A 2  and A 3 ). With such processing, the vertex v m  on the left side of the figure is eliminated so that the original five triangles B 1 , B 2 , B 3 , B 4 , B 5  are reduced to just three triangles A 1 , A 2  and A 3 . Meanwhile, the five edges v m v s , v m v t , v m v u , v m v v , v m v w  on the left side of the figure are reduced to just two edges v s v u  and v s v v  on the right side of the figure.  
           [0007]    In the two aforementioned methods, a lower resolution mesh is generated from a high resolution mesh. However, in the process of removing data (collapsing edges or decimating vertices), judging the importance of various attributes of the mesh and putting up a weight for each attribute is often very difficult. This process frequently leads to visual distortion of the mesh. In some cases, if the data chosen for removal is actually important, fundamental characteristics or external appearance may be changed or else the degree of simplification is quite limited. Hence, the method of picking up not-so-relevant data for deletion is a critical issue.  
           [0008]    In general, the edge collapsing method shown in FIG. 1 is suitable mostly for geometric treatment with due consideration to the cost resulting from positional change. Other factors such as curvature change in neighboring triangles and color change are mostly ignored. As for the vertex decimation method shown in FIG. 2, the method is limited to applications on a curve surface. For a three-dimensional mesh, deletion of vertices will be very difficult. In addition, any sharp cornered section or important section must be heavily weighted. Hence, if there is no unified scheme for weighing the attributes of a particular mesh, the simplification process may lead to serious warping.  
           [0009]    Since most mesh simplification techniques estimate the cost of removing part of the data by considering some of the attributes only, major visual effects, characteristics and external appearance of a mesh are only partially considered. Moreover, no definite rules can be found to measure the cost of the removed attributes. For example, length or distance between the desired-to-remove data positions can be used to estimate positional variation. Similarly, change in the desired-to-remove normal data can be used to measure curvature variation and difference between the desired-to-remove color data can be used to compute color variation. The three attributes need to be integrated and balanced so that a final cost for removing part of the data can be obtained. Due to the absence of definite rules or standards, attributes are often poorly integrated leading to the destruction of fundamental characteristics and the restriction of mesh simplification.  
         SUMMARY OF THE INVENTION  
         [0010]    Accordingly, one object of the present invention is to provide a method of using a fuzzy inference system to simplify meshes in computer graphics. A fuzzy inference system is used to integrate all possible attributes, and then the cost of eliminating the desired-to-remove data is estimated. Thereafter, the attributes are integrated to obtain a balance so that a final cost for the desired-to-remove data is determined. The final cost serves as a criteria for simplifying the mesh. Hence, after the mesh is simplified, all the good characteristics and visual appearance are retained. The method is suitable for progressive meshing. The method can be applied to multiresolution modeling rendering such as virtual reality, multimedia, computer graphics, three-dimensional games and progressive transmission within a network.  
           [0011]    To achieve these and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, the invention provides a method of using a fuzzy inference system to simplify meshes. First, m attributes are selected for a particular mesh. Variation of each attribute m 1  is characterized by n 1  fuzzy sets, where 1≦i≦m. According to a fuzzy inference rule, variation of m attributes and the corresponding n 1  fuzzy sets, n 1 •n 2 ••• n m  different combinations are formed. Using a first function, n 1 •n 2 ••• n m  weights is computed from the n 1 n 2 ••• n m  different combinations. According to the fuzzy inference rule, variation of the m attributes is next computed using a second function to obtain n 1 •n 2 ••• n m  output values. Finally, according to the n 1 •n 2 ••• n m  weights and the n 1 n 2 ••• n m  output values, an estimated cost is obtained by computation using a third function. The estimated cost serves as a parameter for removing data when simplifying the mesh.  
           [0012]    The TSK fuzzy inference system can be used as the fuzzy inference rule. The first function, with respect to the n 1 •n 2 •••n m  different combinations, can be defined in such a way that the one having the smallest membership value among the fuzzy sets that correspond to the variation of the m attributes is selected to obtain the n 1 •n 2 •••n m  weights. The second function, with respect to the n 1 •n 2 •••n m  different combinations, can be defined in such a way that cost of data removal, in other words, visual effects on the simplified mesh is selected to be the power of the variation of the m attributes followed by multiplying with each other, hence obtaining the n 1 •n 2 •••n m  output values. The third function can be defined as the computation of a weighed average.  
           [0013]    The fuzzy-based inference mesh simplification method of this invention is not limited to using TSK fuzzy inference system. For example, common Mamdani fuzzy inference system, Tsukamotos fuzzy inference system and so on can also be used, as long as all attributes within a mesh is considered without any loss of generality.  
           [0014]    It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the invention as claimed. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0015]    The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. In the drawings,  
         [0016]    [0016]FIG. 1 is an illustration showing the working principles behind the conventional edge collapsing method for simplifying meshes;  
         [0017]    [0017]FIG. 2 is an illustration showing the working principles behind the conventional vertex decimation method for simplifying meshes;  
         [0018]    [0018]FIG. 3 is a diagram showing a TSK fuzzy inference system having two fuzzy if-then rules and two input variables;  
         [0019]    [0019]FIG. 4 is a graph showing variation of surface position characterized by fuzzy sets (SMALL) and (LARGE) using a fuzzy inference mesh simplification method according to this invention;  
         [0020]    [0020]FIG. 5 is a graph showing variation of surface curvature characterized by fuzzy sets (FLAT) and (ROUGH) using a fuzzy inference mesh simplification method according to this invention;  
         [0021]    [0021]FIG. 6 is a graph showing variation of surface color characterized by fuzzy sets (SIMILAR) and (DIFFERENT) using a fuzzy inference mesh simplification method according to this invention; and  
         [0022]    [0022]FIG. 7 is a diagram showing the entire fuzzy inference system for mesh simplification according to this invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0023]    Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.  
         [0024]    Since this invention uses fuzzy inference to carry out mesh simplification, a brief description of fuzzy set theory is introduced here. In a fuzzy set, an element may partially belong to a given set. Assume the universal set is X, a fuzzy set A can be defined as:  
         [0025]    u A (x):X→[0,1], where u A (x) is a membership function of the fuzzy set A. Membership function indicates the member grade of element x in the universal set X with the fuzzy set A. For example, if element x&#39;s membership function has a value of 1, this indicates that the element x belongs entirely to the fuzzy set A. If membership function of element x is zero, element x is absolutely and entirely outside the fuzzy set A. If membership function of element x is 0.5, say, this indicates that the degree of element x which belongs to the fuzzy set A is about 50%.  
         [0026]    In a fuzzy inference system, a typical fuzzy if-then rule can be represented by:  
         [0027]    if x is A then y is B,  
         [0028]    where if . . . is the antecedent part and then . . . is the consequent part, x and y are input variables, A and B are fuzzy sets.  
         [0029]    The deployment of fuzzy if-then rules to produce inference is referred to as fuzzy reasoning. For example, direction of a car in motion may be controlled by fuzzy reasoning using fuzzy if-then rules as follows:  
         [0030]    if the car deviates towards the right side, turn the wheel to the left,  
         [0031]    where car direction and the wheel are input variables while right and left is represented by fuzzy sets.  
         [0032]    A number of fuzzy inference systems has been proposed and applied to different areas. The most common fuzzy inference system includes Mamdani&#39;s fuzzy inference system, Tsukamotos&#39; fuzzy inference system and TSK fuzzy inference system. Theoretical concepts behind all these fuzzy inference systems are almost identical. Their difference lies, without loss of generality, mainly in the setup of fuzzy if-then rules, definition of the consequent part and the generation of the final output.  
         [0033]    In this invention, a TSK fuzzy inference system is used, and hence the following is brief description of the TSK fuzzy inference system. The TSK fuzzy inference system is developed jointly by Takagi, Sugeno and Kang (TSK). The TSK system utilizes the following typical fuzzy if-then rule:  
         [0034]    if x is A and y is B, then z equals f(x,y),  
         [0035]    where the antecedent part includes input variables x, y and fuzzy sets A, B, and the consequent part includes an output variable z, which is a function of the input variables x and y. The output variable z describes the result of the inference. If a system is meshed on a number of if-then rules, the final output is a weighed average of the outputs of all the fuzzy if-then rules. The weight of each if-then rule is applied to the input variables in the antecedent part. Utilizing the input variables, the smallest value among membership grades of the fuzzy set is picked up or obtained by multiplication.  
         [0036]    [0036]FIG. 3 is a diagram showing a TSK fuzzy inference system having two fuzzy if-then rules and two input variables. The fuzzy if-then rules are defined:  
         [0037]    (a) if x is A 1  and y is B 1 , then z 1  is equal to f 1 (x, y); and  
         [0038]    (b) if x is A 2  and y is B 2 , then z 2  is equal to f 2 (x, y),  
         [0039]    where the antecedent part includes input variables x, y and fuzzy sets A 1 , A 2 , B 1 , B 2 , the consequent part includes output variables z 1  and Z 2 . The weights w 1  and w 2  are in the antecedent part. The weights and the input variables together serve to pick out the smallest value among the membership grades in the fuzzy sets. Finally, the output value z is the weighed average of output values z 1  and Z 2  and the weights w 1  and w 2  of each if-then rule.  
         [0040]    In the following, an actual example is used to illustrate how a fuzzy inference system can be used to simplify mesh. In general, visual sensation, characteristics or overall appearance of a mesh can be characterized by three major attributes. First, three attributes for describing a particular mesh are selected for example, surface position, surface curvature and surface color. The cost of varying surface position can be estimated by the largest value of the distance between desired-to-remove data position. The cost of varying surface curvature can be estimated by the largest value of one minus the inner product of the desired-to-remove data normal. The cost of varying surface color can be estimated by the largest value of the distance between the desired-to-remove data color. In here, distance variation between the desired-to-remove data position is a type of variation in surface position. Inner product variation between the desired-to-remove data normal is a type of variation in surface curvature. Distance variation between the desired-to-remove data color is a type of variation is surface color.  
         [0041]    The following is the characterization of each of the three attributes using two fuzzy sets. For example, variation in surface position is characterized by fuzzy sets (SMALL) and (LARGE), variation in surface curvature is characterized by fuzzy sets (FLAT) and (ROUGH), and variation in surface color is characterized by fuzzy sets (SIMILAR) and (DIFFERENT). The membership functions representing the variation in fuzzy sets of the above three attributes are shown in FIGS. 4, 5 and  6  respectively. To simplify description, the universal set of the fuzzy sets is normalized so that the resulting output fall within the range [0,1].  
         [0042]    In the following, variation of the desired-to-remove data surface position is represented by Var(Pos), variation of the desired-to-remove data surface curvature is represented by Var(Cur) and variation of the desired-to-remove data surface color is represented by Var(Col). In the embodiment of this invention, assume the cost of variation of surface position is estimated using the largest distance between the desired-to-remove data position, the cost of variation of surface curvature is estimated using the largest value of one minus the inner product between the desired-to-remove data normal and the cost of variation of surface color is estimated using the largest distance between the desired-to-remove data color. If the result of computation gives Var(Pos) a value of 0.75, Var(Cur) a value of 0.5 and Var(Col) a value of 0.75, membership value for the SMALL and the LARGE fuzzy set according to FIG. 4 (for a Var(Pos) of 0.75) is 0.1 and 0.6, membership value for the FLAT and ROUGH fuzzy set according to FIG. 5 (for a Var(Cur) of 0.5) is 0.3 and 0.3, and membership value for the SIMILAR and DIFFERENT fuzzy set according to FIG. 6 (for a Var(Col) of 0.75) is 0.9 and 0.65, respectively.  
         [0043]    [0043]FIG. 7 is a diagram showing the entire fuzzy inference system for mesh simplification according to this invention. Because there are three attributes altogether with variation of the three attributes characterized by two fuzzy sets, a total of 2•2•2 or 8 fuzzy if-then rules (also shown in FIG. 7) are required written below:  
         [0044]    (1): If Var(Pos) is SMALL and Var(Cur) is FLAT and Var(Col) is SIMILAR, then z 1  is f 1 (•);  
         [0045]    (2): If Var(Pos) is SMALL and Var(Cur) is FLAT and Var(Col) is DIFFERENT, then z 2  is f 2 (•);  
         [0046]    (3): If Var(Pos) is SMALL and Var(Cur) is ROUGH and Var(Col) is SIMILAR, then z 3  is f 3 (•);  
         [0047]    (4): If Var(Pos) is LARGE and Var(Cur) is FLAT and Var(Col) is SIMILAR, then z 4  is f 4 (•);  
         [0048]    (5): If Var(Pos) is SMALL and Var(Cur) is ROUGH and Var(Col) is DIFFERENT, then z 5  is f 5 (•);  
         [0049]    (6): If Var(Pos) is LARGE and Var(Cur) is FLAT and Var(Col) is DIFFERENT, then z 6  is f 6 (•);  
         [0050]    (7): If Var(Pos) is LARGE and Var(Cur) is ROUGH and Var(Col) is DIFFERENT, then Z 7  is f 7 (•);  
         [0051]    (8): If Var(Pos) is LARGE and Var(Cur) is ROUGH and Var(Col) is DIFFERENT, then Z 8  is f 8 (•).  
         [0052]    Utilizing fuzzy inference rules, altogether eight combinations of the attributes are formed. The weights w 1 , w 2 , . . . , w 8  in the antecedent part are applied to each if-then rule. Using the variation of the three attributes as variables in the first function, the smallest value in the membership of the fuzzy sets is selected according to the input variables. Ultimately, eight different weights from eight different combinations are obtained.  
         [0053]    Hence, when Var(Pos) is 0.75 and membership values for SMALL and LARGE fuzzy sets are 0.1 and 0.6, Var(Cur) is 0.5 and membership values for FLAT and ROUGH fuzzy sets are 0.3 and 0.3, and Var(Col) is 0.25 and membership values for SIMILAR and DIFFERENT fuzzy sets are 0.9 and 0.65, the weights are respectively w 1 =0.1 (min{0.1, 0.3, 0.9}, w 2 =0.1 (min{0.1, 0.3, 0.65}), w 3 =0.1 (min{0.1, 0.3, 0.9}), w 4 =0.3 (min{0.6, 0.3, 0.9}), w 5 =0.1 (min{0.1, 0.3, 0.65}), w 6 =0.3 (min{0.6, 0.3, 0.65}), w 7 =0.3 (min{0.6, 0.3, 0.9}) and w 8 =0.3 (min{0.6, 0.3, 0.65}).  
         [0054]    According to the fuzzy inference rules (fuzzy if-then rules) and the three variable attributes Var(Pos), Var(Cur), Var(Col), output functions are defined to be z 1 =f 1 (Var(Pos), Var(Cur), Var(Col)) (in the following, (Var(Pos), Var(Cur), Var(Col)) is represented by (•)), wherein f 1 (•) represents the cost of removing the data is very low, f 2 (•) and f 3 (•) and f 4 (•) represents the cost of removing the data is low, f 5 (•) and f 6 (•) and f 7 (•) represents the cost of removing the data is high, f 8 (•) represents the cost of removing the data is very high.  
         [0055]    The command function f 1 (Var(Pos), Var(Cur), Var(Col)) is defined as follows:  
         [0056]    f 1 (Var(Pos), Var(Cur), Var(Col))=(Var(Pos)) p •(Var(Cur)) q •(Var(Col)) r    
         [0057]    where i and p, q and r are set according to the following table:  
                                                                                 i   p   q   r                                        1   5   5   5           2   2   2   2           3   2   2   2           4   2   2   2           5   0.5   0.5   0.5           6   0.5   0.5   0.5           7   0.5   0.5   0.5           8   0.2   0.2   0.2                      
 
         [0058]    In the above table, the larger the value of p, q and r, the lower is the cost of removing data and the smaller is the visual effect on the simplified mesh. Conversely, the smaller the value of p, q and r, the higher is the cost of removing data and the greater is the visual effect on the simplified mesh.  
         [0059]    The values encoded in Var(Pos), Var(Cur), Var(Col) together with the power of p, q and r listed in the above table produce the power of the variation of the three attributes. The three parameters p, q and r is capable of forming eight different combinations that determine the cost of removing data. In other words, from the visual effect of mesh simplification, the output of each fuzzy if-then rule are as follows:  
         [0060]    z 1 =0.00001, z 2 =0.00879, z 3 =0.00879, z 4 =0.00879, z 5 =0.30617, z 6 =0.30617, z 7 =30617, z 8 =0.62322.  
         [0061]    Finally, according to the eight weights and the eight outputs, a weighed average is computed out to obtain a cost estimation. The weighed average is used for estimating the cost of removing data during mesh simplification. For example, the final output z is 0.25355 according to the embodiment of this invention. Thereafter, the final output z is compared with other output section for carrying out data removal and mesh simplification.  
         [0062]    The advantage of the embodiment is that during the process of simplifying the mesh, attribute variation of the mesh is described using fuzzy concept. Furthermore, with the application of fuzzy inference rules, the variation of attributes are integrated together and a cost for removing data is estimated. The cost forms a criteria for carrying out subsequent simplification of the mesh.  
         [0063]    However, in computing the cost of removing data of each variable attribute, there is no standard mathematical formula or rule. The only constraint is to satisfy the degree of variation of the attributes. Hence, the estimation of the cost of removing some data is based on the variation of each attribute. Newer computation method for estimating the cost of removing data in each variable attribute is also possible.  
         [0064]    In addition, this invention can use many different fuzzy sets to describe the characteristics of the to-be-removed data in each attribute. Such an arrangement is more suited to the variation of the to-be-removed data attributes. Moreover, the final cost produced by the to-be-removed data is obtained by performing a weight averaging computation using the output from each if-then rule and the weights. The weights are in the antecedent part of the fuzzy if-then rule. The weights are obtained by choosing the smallest value of the membership in the fuzzy sets according to the input variables. Hence, the use of random input values according to user&#39;s rule of thumb can be prevented.  
         [0065]    The invention is no limited to three attributes. For example, m attributes may contribute to the visual, the characteristic and the external appearance of a mesh. The m attributes can be represented using symbols F 1 , F 2 , . . . , F m . The variation of to-be-removed data in each attribute can be considered (represented by Var(F m ), Var(F 2 ), . . . . Var(F m )). The variation of to-be-removed data in each attribute F 1  is next characterized by n 1  fuzzy sets represented by A 1 (F 1 ),A 2 (F 2 ),A 3 (F 3 ), . . . ,A n , (F i ) with 1&lt;=i&lt;=m. Each fuzzy set is described by a membership function. The final cost of to-be-removed data is represented by function z k =f k (Var(F 1 ), Var(F 2 ), . . . , Var(F m )). The fuzzy if-then rule is defined as follows:  
         [0066]    if Var(F 1 ) is A j (F 1 ) and Var(F 2 ) is A j (F 2 ), . . . , and Var(F m ) is A j (F m ), then z k  is f k (•)  
         [0067]    There are altogether n 1 •n 2 ••• n m  fuzzy if-then rules, wherein f k (•) represents f k (Var(F 1 ), Var(F 2 ), . . . , Var(F m )). In the antecedent part, Var(F 1 ), Var(F 2 ), . . . , Var(F m ) are the input variables, A j (F 1 ), A j (F 2 ), . . . A j (F m ) are the fuzzy sets. In the consequent part, z k  is the output. The output z k  is a function of variables Var(F 1 ), Var(F 2 ), . . . , Var(F m ) that describe cost of removing data. The final output z is a weighed average of all the z k  outputs obtained from the fuzzy if-then rules. The weight wk of each fuzzy if-then rule is in the antecedent part. The weights w k  together with the fuzzy if-then rules enable the selection of the smallest value of membership grades of the fuzzy sets according to the input variables.  
         [0068]    If the cost of removing data for each of the attribute is high, possibility of removing the data is low. On the other hand, if the cost of removing data for each of the attribute is low, feasibility of removing data is high. This type of inference obtained through the integration of all attributes permits an estimation of the cost for data removal and hence provides a reliable reference.  
         [0069]    In summary, this invention provides a method of simplifying a mesh using a fuzzy inference system. Using a fuzzy inference system, cost of removing certain data in a mesh can be accurately estimated so that the ultimate shape, character and appearance of the mesh can be maintained.  
         [0070]    It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.