[ieee have 2002 - ieee international workshop on haptic virtual environments and their applications...

6
An Efficient Multi-resolution Modeling for 3D Objects in Applications of Virtual Environments Lijun Chen, Nicolas D. Georganas School of Information Technology and Engineering University of Ottawa Ottawa, Ontario, KIN 6N5, Canada E-mail: lchen, [email protected] Abstract In this paper, we present an eJjcietit Progressive Mesh algorithm to generate an arbitrary resolution rnodel. 117 o w algorithni, we use the half-edge niethod ,for edge collapse. In order to .find proper edges for collapse at each iteration, we define a simple and ej!’cietit criterion to explore the geometric itiiportance of a 3D-object. The factors we consider involve edge curvature arid neighbor face areas. Experirnen tal results slio~v that those factors combined together can eflectively preserve the topology of the original model, while it 110s been sinipli$ed to a certain extent. This algorithm can thus be iinple~nented efficiently as it can be utilized in inany real-time or interactive applicalions of Virtiinl Envir.orinients. 1. Introduction 3D computer models are incrcasingly popular due to thc advcnt of thc 3D laser scanning system and thc boom of Virtual Reality applications. Highly detailed models arc routinely acquired and used in design, manufacturing, and entertainment. Thcse iiiodcls are often represented as complex polyhedral meshes, which inay have thousands or even iiiillions of vertices and triangles. Gcnerally speaking, these iiiodels are expensive to render, awkward to edit and costly to transmit through thc network. Wider applications of 3D graphics could be potentially liiiiited because of these obstacles. Various techniques aimed at reducing the 3D object cotiiplcxity have been published [I, 2, 31. Recently, thc research in the 3D object simplification area has converged to 3D object multi-resolution modeling. A multi-resolution model is one that captures a wide range of levels of detail (LOD) of an object and that can be used to reconstruct any one of those levels on demand. Many applications in coinputer graphics and rclatcd 0-7803-7635-8/02/$17.00 0 2002 IEEE 49 fields can benefit froin multi-resolution iiiodclitig of 3D objects, such as 3D graphics simplification, compression, progressive transmission, etc [7, 8, 101. During the last decade, many algorithms for multi- resolution iiiodeling have bccn proposed [3, 4, 5, 61. Among them, Progressive Mesh [4] is the oiic with sonic satisfactory features, such as sniooth transition, prescrving topology and natural suitability for progressive transmission. The drawback of this method is that it is very time-consuming because of its extremely high computational cost, e.g. for a large object it niay take hours to simplify it. Thus, a fast and efficient scheme is necessary. Many researchers have worked in this direction to find a simple solution [S, 61. Garland proposed a Quadric-based algorithm [5]. It is cfficicnt, while it still consunics minutes for thc same modcl as in [4]. Melax [6] gave a very simple algorithm. It only takcs seconds for the same model as in [4]. But thc quality of this nicthod is not acceptable in sonic cases. Thercforc, a niorc cfficicnt and effcctive algorithm is still nccdcd, as the rcal-time or intcractive rcquirctiicnts arc incrcasingly demanding in the applications of Virtual Environments. In this papcr, we present an efficient Progressive Mesh algorithm to generate an arbitrary resolution modcl. In thc Progressive Mesh algorithm, the key stage is how to find the proper cdge to collapse at each step. In most existing schcmes, the proposed error metrics for edge collapse are very complicated. In order to explore the geometric importance of a 3D-object, we define a simple and efficient criterion that involves cdge curvature and neighbor face areas. Those factors combined together can effectively preserve thc topology of the original model during the simplification procedure. Also this algorithm can be implemented cfficicntly. The rcinainder of this paper is organized as follows. In section 2, the proposed algorithm will be described in details. Thcn, the siiiiulation and coinparison will be given in section 3. Section 4 summarizes the proposed

Upload: nd

Post on 10-Mar-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE HAVE 2002 - IEEE International Workshop on Haptic Virtual Environments and their Applications - Ottawa, Ont., Canada (17-18 Nov. 2002)] IEEE International Workshop HAVE Haptic

An Efficient Multi-resolution Modeling for 3D Objects in Applications of Virtual Environments

Lijun Chen, Nicolas D. Georganas School of Information Technology and Engineering

University of Ottawa Ottawa, Ontario, KIN 6N5, Canada

E-mail: lchen, [email protected]

Abstract

In this paper, we present an eJjcietit Progressive Mesh algorithm to generate an arbitrary resolution rnodel. 117 o w algorithni, we use the half-edge niethod ,for edge collapse. In order to .find proper edges fo r collapse at each iteration, we define a simple and ej!’cietit criterion to explore the geometric itiiportance of a 3D-object. The factors we consider involve edge curvature arid neighbor face areas. Experirnen tal results slio~v that those factors combined together can eflectively preserve the topology of the original model, while it 110s been sinipli$ed to a certain extent. This algorithm can thus be iinple~nented efficiently as it can be utilized in inany real-time or interactive applicalions of Virtiinl Envir.orinients.

1. Introduction

3D computer models are incrcasingly popular due to thc advcnt of thc 3D laser scanning system and thc boom of Virtual Reality applications. Highly detailed models arc routinely acquired and used in design, manufacturing, and entertainment. Thcse iiiodcls are often represented as complex polyhedral meshes, which inay have thousands or even iiiillions of vertices and triangles. Gcnerally speaking, these iiiodels are expensive to render, awkward to edit and costly to transmit through thc network. Wider applications of 3D graphics could be potentially liiiiited because of these obstacles.

Various techniques aimed at reducing the 3D object cotiiplcxity have been published [I , 2, 31. Recently, thc research in the 3D object simplification area has converged to 3D object multi-resolution modeling. A multi-resolution model is one that captures a wide range of levels of detail (LOD) of an object and that can be used to reconstruct any one of those levels on demand. Many applications in coinputer graphics and rclatcd

0-7803-7635-8/02/$17.00 0 2002 IEEE 49

fields can benefit froin multi-resolution iiiodclitig of 3D objects, such as 3D graphics simplification, compression, progressive transmission, etc [7, 8, 101. During the last decade, many algorithms for multi- resolution iiiodeling have bccn proposed [3, 4, 5 , 61. Among them, Progressive Mesh [4] is the oiic with sonic satisfactory features, such as sniooth transition, prescrving topology and natural suitability for progressive transmission. The drawback of this method is that it is very time-consuming because of its extremely high computational cost, e.g. for a large object it niay take hours to simplify it. Thus, a fast and efficient scheme is necessary. Many researchers have worked in this direction to find a simple solution [S , 61. Garland proposed a Quadric-based algorithm [5]. It is cfficicnt, while it still consunics minutes for thc same modcl as in [4]. Melax [6] gave a very simple algorithm. It only takcs seconds for the same model as in [4]. But thc quality of this nicthod is not acceptable in sonic cases. Thercforc, a niorc cfficicnt and effcctive algorithm is still nccdcd, as the rcal-time or intcractive rcquirctiicnts arc incrcasingly demanding in the applications of Virtual Environments.

In this papcr, we present an efficient Progressive Mesh algorithm to generate an arbitrary resolution modcl. In thc Progressive Mesh algorithm, the key stage is how to find the proper cdge to collapse at each step. In most existing schcmes, the proposed error metrics for edge collapse are very complicated. In order to explore the geometric importance of a 3D-object, we define a simple and efficient criterion that involves cdge curvature and neighbor face areas. Those factors combined together can effectively preserve thc topology of the original model during the simplification procedure. Also this algorithm can be implemented cfficicntly.

The rcinainder of this paper is organized as follows. In section 2, the proposed algorithm will be described in details. Thcn, the siiiiulation and coinparison will be given in section 3. Section 4 summarizes the proposed

Page 2: [IEEE HAVE 2002 - IEEE International Workshop on Haptic Virtual Environments and their Applications - Ottawa, Ont., Canada (17-18 Nov. 2002)] IEEE International Workshop HAVE Haptic

method and points out our future research in the short and long terms.

2. Proposed Efficient Multi-resolution Modeling Method

As we know, the Progressive Mesh algorithm has many advantages in multi-resolution modeling of 3D graphics, but the implementation is very computationally costly. In this section, we propose a simple and efficient multi-resolution modeling algorithm based on the Progressive Mesh.

2.1. Overview of Edge Collapse

Generally speaking, the edge collapse / vertex split pair operations are uscd to simplify and reconstruct the original model in the Progressive Mesh algorithm. Starting with the original model M‘, iterative siniplification algorithms contract one cdge for each step and generate a sequence of approximations:

M’ -+ M’-I -+ . . . . . . + MI --+MO whcre is the final approximation, also called base mesh. This successive representation encodes the original mode M , the final model MO, and all intermediate approximations M“”, .,., d. This is a multi-resolution representation bccausc it allows us to cxtract a fairly wide range of LOD.

The key feature of edge collapse is that it is incvitablc [4]. Thc corresponding operation is a vertex split. Thus, starting with a simplificd basc mesh MO, together with a scquence of vertex split rccords, we can also get any intcrniediate resolution representation as shown bclow.

I@ + MI + ...... + Ad‘.‘ +Ad‘. This feature well fits the progrcssivc transmission

that can be applied in the Multicast networks, which will be the focus of our futurc work.

@E (a) Edge collapse

Edge collapse

Veitex split

(b) Half edge collapse

Figure 1. Edge collapse and half edge collapse.

The edge collapse and vertex split operations are shown in Figure 1. The first row illustrates the normal edge collapse. As we can see a new vertex v ’ will be produced after an edge collapse operation, which will create complexity in computation and storage. The second row shows a special case of the edge collapse, i.e., “half edge collapse”, in which one end point (U) of the collapsing edge will move to the other end (v), thus reducing overhead to reconstruct the original model. In our algorithm, we use the half-edge collapse method.

2.2. Implementation of Successive Edge Collapse

The algorithm we have developed is a simple greedy procedure. It produces large-scale simplification by applying a sequence of edge collapses. This scquence is selected in a purely greedy fashion. Once a contraction is selected, it is never reconsidered. At a high level, the outline of the algorithm is as follows: I . Start from the first vertex, assign a cost of collapse

to all adjacent vertices and select the vcrtcx with a maximum cost as the candidate. Repeat this procedure to all vertices. Place all candidates in a heap keyed on cost with the minimum cost vertex at the top. Repeat until the desired approximation is reached or the vcrtcx number is zero. a) Rcmovc the selected vertex U of least cost from

the heap; b) Rcmovc the faccs adjaccnt to vertices ZI and v; c) Update costs of all candidate vertices involving

2.

3.

24.

2.3. Error Metrics for Edge Collapse

In our algorithm, the goal is to find a propcr sequence of edges to collapse. Thus, we need to define a cost function to calculate the error metric for each edge collapsc. In this scction, wc takc into account two main factors, edge curvature and change of face areas around the removed vertex. Thereforc, the cost assigned to an edge collapse is expressed as the following.

E = Ec+ EA (1) whcre Ec and EA are the nietrics of edge curvature

and facc arcas respectively.

1. Edge Curvature

Curvaturc is a very important criterion to determine and keep a 3D-object shape. From the mathematical point of view, there are two kinds of curvatures for a vertex in a 3D geometric object, the Gaussian and the mcan curvatures [9]. In our algorithm, the goal is to find

50

Page 3: [IEEE HAVE 2002 - IEEE International Workshop on Haptic Virtual Environments and their Applications - Ottawa, Ont., Canada (17-18 Nov. 2002)] IEEE International Workshop HAVE Haptic

a proper edge to contract. We define the edge importance by the edge curvature.

Asserfion: An edge is sharper if the angle betwccn its two adjacent surface normals is wider.

Figure 2. Factors for the edge curvature.

This can be shown in Figure 2, in which nl and n2 are the nornials of the two adjacent surfaces of edge e , and y is the angle bctween n, and 172. However, only ycannot capture the fcatures of the edge uv. Different edges with different shapes of adjacent faces may have the sanic value of y. We need a weight to take into account other geometric factors of the cdgc. In Figure 2, let I denote the length of cdgc uv, which is the Euclidean distance between u and v, and 11, and 172 dcnote the Euclidean distanccs from vertex yl and I J ~ to edge ZIV. Supposc the angle y is fixed. It is straightforward that if the ratio Uh, is higher then the edge uv is more geometric significant, and vice visa. Moreover, the angle y is closely proportional to the valuc (1-cos ( y )), in which cos(y) can be expressed as the dot product of the nonnals of the two adjaccnt faces n / and 122. Therefore, we can give a definition of edge curvature.

DeJtiition: The curvature of the cdgc LIV is given by I 1

17, E, = a .(l-CoSy) = (-+-)(1-1?, . 1 7 ~ )

(2) - l(h, + h2)(1 - 17, . i 7 * ) -

- 17, h,

where I = 1 1 ZI - v 11, and h, = d ( p , , uv} Given the vertex coordinatcs, edge curvature can be

computed efficiently. It is simple but also effective. Normally the edge curvature metric can help us to keep thc sharp edges and contract the flat ones first. However, this is not always true. Somctirncs, it can degcneratc the simplified object. One case is when the object is 2D plate or it is 3D but very shin and smooth, like a hollow cylinder. The adjacent faces arc almost coplanar, the curvature nietrics of each edge are all close to zero. So the algorithm cannot find a good candidate edge to collapse. Especially when the edge is on the object boundary, it inay break the boundary and degcncrate the object’s topology. Another case is illustrated in Figure 3. As the vcrtices s and I niove closcr together, the

triangles usv and wsu become more coplanar, as also do the triangles tuv and twu. Obviously, the curvature values of the edges us and ut are much less than the edges uv and uw. If we just follow the curvature metric, we may move u to s. But as Figure 3 indicates, it will cause shape degeneration. The better choice should be moving u to v. Therefore, some other metrics still need to be considered to balance the cost of edge collapse.

s

Figure 3. Comparison between two different edge collapses.

2. Change of Facc Areas around the Vertex

When collapsing an edge uv from vertex U to vertex v , wc not only reinovc the faces adjacent to edge ZIV, but also update the remaining faces that involve U. Thus, we should consider the whole neighborhood of u during the edge collapse. Obviously, the change of areas of affected faces is a main consequence of an edge collapse opcration. In the shadow area of Figure 4, solid and dash lines dcnotc faces before and after the edge collapse. Apparently if the area changc is bigger, the gconietrical topology will be affected dccpcr. Hencc, we dcfinc the second metric as an area change, as written in (3).

E,, = CA! - (3 1 whercf, is the facc around vertex U before the edge

collapsc, andA is the iicw generated face after the edge collaose.

Figure 4. Change offace areas after edge collapse.

Amazingly this area change metric can solve the degeneration problem mentioned above. It can prevent edge collapsing from boundary vertex to inner vertex, thus avoiding boundary break down. Also it is able to guide the edge collapse along u + v instead of s as shown in Figure 3.

5 1

Page 4: [IEEE HAVE 2002 - IEEE International Workshop on Haptic Virtual Environments and their Applications - Ottawa, Ont., Canada (17-18 Nov. 2002)] IEEE International Workshop HAVE Haptic

3. Experimental Results

3.1. Simulating Results

Figure 5. User interface for multi-rcsolution modeling.

We havc simulated the above nicthod on an Intel PITI platform under an NT environment, using Visual C++ with an OpenGL library. The interface of the application is shown in Figure 5.

Figurc 6. Original and simplified models of “Bunny”, “Beethoven” and “Spider” at the resolutions at 1 00%,

50%. 20% and 10%.

We tested many 3D objects for multi-resolution creation. Figure 6 shows the original and simplified models of “Bunny”, “Beethoven” and “Spider”. For each model, the resolutions loo%, 50%, 20%, and 10% are displayed. The numbers of vertices and triangles of the original models are listed in Table 1.

Table 1. Numbers of vertices and triangles of the original models

Model NU N, Bunny 34,834 69,45 1 Bccthovcn 2 3 2 1 5,030 Spider 4,670 9,286

3.2. Comparison

1. Tinic From [4], we know that the Progressive Mcsh

algorithm that Hoppe used can produce very good visual simplification quality, but it costs very long time. For example, for a model “Tcrrain” with 33,847 verticcs, i t takes 16 minutes, and for “Radiosity” with 78,923 vertices, it takes more than one hour. Garland’s algorithm, Quadric-Based Polygonal Surface Simplification [5], is quite efficient. It can simplify a model with 10,000 vertices within one minute. Compared with most of the othcr algorithms, our iiicthod is inuch faster. For example, for the model “Bunny” with 34,834 vertices, it only takes about 20 seconds. Most othcr simple models can be simplified within a couple of seconds. Melax’s algorithm [6] is a littlc fastcr than ours, e.g., simplifying the same “Bunny” niodcl only costs around I O seconds. However, the quality of the simplified object in our algorithm is bettcr than his.

52

Page 5: [IEEE HAVE 2002 - IEEE International Workshop on Haptic Virtual Environments and their Applications - Ottawa, Ont., Canada (17-18 Nov. 2002)] IEEE International Workshop HAVE Haptic

2. Quality As Figure 6 shows, our algorithm can simplify the

original object to a very low resolution while the geometric topology can be well kept. Though Melax’s method is very fast, it can cause topological degeneration in some cases. Our algorithm can prevent this from happening. Figure 7 illustrates the comparison. The first row shows the original models; the second row gives the results of Melax’s method; and the last row shows our results at the same resolution as the second row.

Figure 7. Quality comparison

4. Conclusion and Future Works

The paper shows that the proposcd algorithm can create an arbitrary resolution model of an input object. The geometric topology of thc original model is well prcscrved at ccrtain low rcsolution. Most importantly this algorithm can bc implcmented efficiently such that i t can be applied into many rcal-time or interactive applications of Virtual Environments.

In future works, we will mainly focus on the following items.

Adaptive segmentation for 3D objects. With the geometric factors obtained, we can adaptively divide the whole mesh into different patches along the sharp edgcs, which fit its natural topology. Then we can

apply the proposed progressive simplification algorithm to each patch. In this way, we can fully keep the topology of the original model while simplifying it to the desired resolution. Progressive coding for applications in a Multicast Virtual Environment. Segmentation-based multi- resolution modeling, followed by a progressive coding scheme, can generate a progressive stream, which includes the coarsest resolution of the model at the beginning, and gradually followed by the information of finer details. As more and more individual users with different communication capacities are connecting to the Internet, the Internet Multicast services have enabled a number of successful real-time multimedia applications. The Intcrnct uscrs who have heterogcneous bandwidth can receivc objects simultancously with different resolutions. Therefore, applying the proposcd progressive 3D-object simplification and transmission i n Multicast group network communications will be a productivc solution for 3D Distributcd Virtual Environmcnt applications, such as E-connncrce, E- learning, ctc.

5. References

[ l ] J. Cohcn, A. Varshney, D. Manocha, G. Turk, H. Weber, P. Aganval, F. P. Brooks, Jr., and W. V. Wright, “Simplification Envelopcs”, SIGGRAPH ‘96 Proc., Aug. 1996, pp. 1 19- 128.

[2] W. Schrocdcr, J. Zarge, and W. Lorcnscn, “Decimation of Triangle Meshes”, Computer Graphics, Volumc 25, No. 3, (Proc. S I G G M P H

[3] M. Eck, T. DcRosc, T. Duchninp, H. Hoppc, M. Lounsbcry, and W. Stuctzlc, ‘‘Multiresolution Analysis of Arbitrary Meshes”, Computer Graphics (SIGGRAPH 95 Proceedings), pp. 173-1 82.

[4] H. Hoppc, “Progressive Meshes”, SIGGRAPH 96 Confcrcncc Proceedings, pp. 99-1 08, August 1996.

[5] M. Garland, and P. S. Heckbcrt, “Surface Simplification Using Quadric Error Metrics”, in Proc. Computer Graphics Ann. Conf. Series, Aug.

[6] S. Mclax, “A Simple, Fast, and Effective Polygon Rcduction Algorithm”, Game Dcveloper Magazine, Nov 1998.

[7] V. Isler, R. W.H. Lau, and M. Green, “Real-time Multi-resolution Modeling for Cotnplex Environments”, Symposium on Virtual Reality Software and Technology, pp. 11-19, July 1996

[8] G. Taubin, W. Horn, F. Lazarus, and J. Rossignac, “Geometric coding and VRML”, Technical Report RC-20925, IBM T.J. Watson Research Ccnter, P.O.Box 704, Yorktown Heights, NY 10598, 1998.

‘92), July, 1992, pp. 65-70.

1997, pp. 209-217.

53

Page 6: [IEEE HAVE 2002 - IEEE International Workshop on Haptic Virtual Environments and their Applications - Ottawa, Ont., Canada (17-18 Nov. 2002)] IEEE International Workshop HAVE Haptic

[9] A. Gray, “The Gaussian and Mean Curvatures”, $14.5 in Modern Differential Geometry of Curves and Surfaces. Boca Raton, FL: CRC press, pp. 279- 285, 1993.

[lo] J. Li, and C.-C. J. Kuo, “Embedding coding of 3D graphic models”, ICIP’97, vol 1, pp. 57-60.

54