Refinement of 3D Meshes by Selective Subdivision - Semantic Scholar

1 downloads 0 Views 115KB Size Report
Abstract. An adaptive subdivision method is proposed in this work for automatic post-processing of a 3D graphic model of coarse resolution. The method is an ...
Refinement of 3D Meshes by Selective Subdivision Wenlong Dong, Jiankun Li and C.-C. Jay Kuo Integrated Media Systems Center Department of Electrical Engineering – Systems University of Southern California Email: {wdong, jiankunl, cckuo}@sipi.usc.edu Abstract An adaptive subdivision method is proposed in this work for automatic post-processing of a 3D graphic model of coarse resolution. The method is an improved version of the Modified Butterfly Scheme (MBS) developed by Zorin et al. The main contribution of this work is to exploit the local smoothness information of a surface for adaptive refinement of a coarse 3D graphic model. With this approach, we can avoid unnecessary subdivision in relative smooth regions. The new algorithm not only reduces the computational complexity but also reduces the storage space. It is demonstrated via experiments that a more visual-pleasing representation can be obtained. Keywords: 3-D meshes, adaptive subdivision, viewdependent subdivision, Modified Butterfly Scheme

1. Introduction 3D objects are often represented by triangular and/or polygonal meshes in computer graphics and geometric modeling applications. With the advent of laser scanning systems, the complexity of an object model has increased much faster than the throughput of today’s graphics hardware and computer networks. Such meshes are notoriously expensive to store, transmit, and render. Thus, in last several years, various algorithms for mesh simplification and compression have been developed successfully [2, 4, 9]. With traditional simplification techniques, a simplified graphic model tends to be very coarse, and lacks of fine details in comparison with the original one. This phenomenon is especially obvious when the 3D graphic model is compressed for storage and/or transmission by a high compression ratio. A possible solution to this problem is to perform smoothing on the compressed model to enhance its visual quality. At present, there are two different methods that can be utilized to smooth a graphic model. One is to apply the signal processing technique [8] to large polyhedral surfaces by modifying vertex positions. The other one, to be investigated in this

paper, is to utilize the 3-D mesh subdivision technique to recursively refine the model so that the resulting mesh is finer and smoother. There are two major categories of subdivision methods to achieve C1 continuous limit surfaces based on a triangular mesh. One is the Butterfly scheme pioneered by Dyn, Gregory and Levin[1] which is an interpolating scheme. The other is Loop’s scheme [5] which provides an approximating scheme for a given model. Zorin et al. [11, 12] proposed a Modified Butterfly Subdivision (MBS) scheme that can be applied to an arbitrary topology with non-regular points. In this work, we consider the post-processing of noisy 3D meshes using selective subdivision based on MBS. We define the flatness of two neighboring faces to determine non-smooth regions for subdivision. It is important to reduce the unnecessary subdivision to save the rendering time and the storage space, since the size of the mesh otherwise grows exponentially with the level of subdivision. We also examine irregular cases occurring in MBS. Experimental results with different methods are compared. In order to optimize the smoothing process, we further utilize the viewing information for subdivision. For a certain viewing position, we perform the subdivision on selected visible regions of the mesh. We adopt efficient refinement criteria based on the viewing frustum, surface orientation, screen-space visibility error, and local mesh flatness. This paper is organized as follows. Section 2 gives the related work. Details of the proposed algorithm are presented in Section 3. Experimental results are shown in Section 4 and rendered images for different models are compared at the end of the paper. Concluding remarks are given in Section 5.

2. Review of Previous Work 2.1. Butterfly and Modified Butterfly Subdivision Schemes

The Butterfly subdivision scheme [1] is a local interpolating scheme. It is local in the sense that it only requires information of a small neighborhood to calculate new vertices and generates smooth surfaces over regular meshes. (A mesh is said to be regular if it has all vertices of valence 6). However, it exhibits undesirable artifacts for irregular meshes and the surface smoothness cannot be guaranteed. Zorin et al. [11, 12] proposed a modified scheme called MBS that retains the simplicity of the Butterfly subdivision yet provides smoother surfaces by using new interpolating rules at irregular vertices. MBS extends the eight-point butterfly neighborhood of a regular point to a ten-point one as shown in Figure 1(a). New formula is also determined by using the discrete Fourier transform for irregular vertices for the case as shown in Figure 1(b). c

b

s2

c

s1 s0

s3 d

a

q

d

a

s6 c

b

c

s4

3.1. Subdivision based on flatness

s5

(a) (b) Figure 1. (a) Ten-point neighborhood for a regular vertex and (b) the case of an irregular vertex However, MBS still fails in the case when the mesh has sharp edges or corners. It produces noticeable artifacts in those areas as illustrated in Figures 2(c) and 3(c). In the proposed method, we further modify MBS to achieve a better smooth property for the subdivided surface.

2.2. Other Subdivision Schemes Xia and Varshney [10] used the edge collapse transformation [2] to create a vertex hierarchy by constructing a bottom-up merge tree that allows real-time selective refinement in the simplification process. Hoppe [3] improved this idea to define a top-down vertex hierarchy using progressive meshes [2], which turns out to be a more efficient method. Several types of viewdependent criteria are outlined in both papers. Such criteria can substantially reduce the mesh complexity for progressive mesh representations while achieving the same level of visual quality.

3. The Proposed Algorithm

In the proposed new subdivision scheme, we exploit the following criteria to smooth the mesh so that the number of subdivision can be greatly reduced. • Flatness: Flat regions require only a smaller number of patches for surface representation to result in good visual quality. In such regions, we do not need to subdivide the edges too finely, since it will result in a big burden in rendering as in the uniform subdivision case. • Viewing frustum: Many vertices and faces of the model may lie outside of the viewing frustum. They do not contribute to the image and are typically culled early in the rendering process. These regions can be skipped for subdivision. • Surface orientation: For faces that are oriented away from the viewer, it is unnecessary to subdivide and render them. • Screen error: For faces far away from the viewer or too small when projected to the screen, it is unnecessary to subdivide them.

Our basic idea is simple and intuitive. Patches that are relatively flat are skipped so that no subdivision is performed on flat patches. Only polygons in a visually rough surface are subdivided. Thus, by defining a meaningful measure on the surface flatness, we are able to skip a large amount of flat triangles without performing subdivision on them and focus on the feature-rich regions of the surface to render a visually pleasing image. 3.1.1. Flatness. The flatness of an edge is calculated by using the unit normal vectors of its two adjacent triangles. Suppose that the dihedral angle between two adjacent faces is θ and the two corresponding unit normal & & vectors are n1 and n 2 . Then, the flatness of the intersection edge can be defined as: & & τ = − cosθ = n1 ⋅ n2 ,

&

&

if n1 and n 2 point towards the same side of the connected patch. The initial direction of the normal of each face is defined as pointing to the outside of the surface by the counterclockwise order of vertices of the mesh. Thus, we have to be careful about directions of new faces after subdivision. We have τ ∈ [-1, 1]. It is clear that large τ indicates a smooth area around the edge while small τ indicates a rough area around the edge. τ = 0 implies that the two faces are perpendicular to each other. Given a flatness threshold t, we classify an edge as flat if t < τ < 1.

Otherwise, it is classified as a target edge for subdivision. A target edge can be subdivided by MBS and a new vertex is inserted along the edge. 3.1.2. Adaptive Subdivision. When a triangle has target edges, it can have one, two or three target edges. After appropriately connecting new and old vertices, a triangle is replaced by a new patch of two, three or four faces. When a triangle has just one target edge, we can simply connect the new inserted point with the old vertex residing in the opposite of the edge. When a triangle has two target edges, we connect the two new vertices and link one of the new vertices with the opposite old vertex. If a triangle has three target edges, the old triangle can be simply spit into four small triangles. Directly applying the above scheme several times to a mesh may result in successive subdivision on the same edge of the original triangle. Since new vertices are connected with the opposite old vertex in the case of a triangle with only one target edge, the smoothness is not guaranteed by subdivision. To solve this problem, we introduce a new way to mark target edges. After edges are marked as targets by using the flatness criterion initially, we further mark the 1-neighboring edges of each previously marked edge as targets. This method can greatly improve the appearance of the subdivided mesh even if we select a much smaller threshold t for the flatness. When the mesh is relatively large (of several hundreds of vertices and faces) and most areas are smooth, this method only increases the number of vertices slightly. 3.1.3. Overshoot Phenomenon. We perform the above algorithm on many models such as Mug, Wheel and Spock. The visual effect of final results looks almost the same as those obtained by using the uniform subdivision (as shown in Figures 2-4). However, the refined meshes from MBS suffer from a serious overshoot problem as illustrated in Figures 2(c) and 3(c). This phenomenon is extremely annoying when the mesh is an overly simplified version of some model. The overshoot phenomenon is resulted from the discontinuity of the surface around sharp edges. We observe that vertices that are far from the two neighboring triangles of the subdivided edges tend to drag or push the new inserted vertex far away from the midpoint of the edge. To handle this, we introduce tension factors ti of 1neighboring vertices of a K-vertex and the stencil si of the vertex is reduced by a factor of ti. The resulting images are shown in Figures 2(d) and 3(d). Details of the tension factor technique will be presented in the forthcoming paper.

3.2. View-dependent Subdivision

In order to reduce the number of inserted vertices and faces sufficiently while achieving the same visual quality, we also need to exploit those view-dependent criteria as discussed in Section 2.2. In this section, we describe a query procedure that determines whether an edge should be subdivided based on the current viewing parameters. This procedure has similar functions as the query function in [3]. 3.2.1. View Frustum. The purpose of this criterion is to determine all vertices of which the 1-neighborhood resides outside of the view frustum. Let us denote the & original mesh as M, the current viewpoint as v e . The four sides of the view frustum have the normals & { n f i ,1 ≤ i ≤ 4 } which point to the interior of the frustum. For each edge e, the length of e is denoted as |e|. & For any vertex v ∈ M , we can compute the radius rv of & v as rv = max 1≤i ≤ k {| ei |} , where { ei ,1 ≤ i ≤ k } are

&

the neighboring edges of v . Then the sphere of radius rv & centered at v lies outside of the frustum if & & & (v − ve ) ⋅ n f i < − rv for any i = 1…4 3.2.2. Face Orientation. The purpose of this criterion is to rule out the triangles that face away from the viewer. Based on the view frustum criterion, we can skip the faces with all three vertices outside of the frustum. We mark the faces as oriented away if it cannot be observed at the current viewpoint and viewing direction. Precisely, & & if the view direction is v d , then a face with normal n f is oriented away if

& & vd ⋅ n f > ε

where ε is a small positive number. 3.2.3. Screen Geometric Error. This criterion prevents the edges with very short screen-space projections from being subdivided. By using the face orientation criterion, we first skip edges that are intersections of two faces oriented away from the viewer. Then, for remaining edges, we find the projection of each edge to the rendered image and further skip those edges whose projected length is less than a screen-space tolerance τ (in pixel units, it is set to 10 in our case).

4. Experimental Results We performed the proposed subdivision algorithm on a wide range of graphic models with different sizes and resolutions. The visual quality of these models is improved greatly at the coarse regions and the processing time and storage is much less than those for the uniform

subdivision scheme. Our experiment was performed on a PC with Pentium-II chip of 450MHz and with 128MB of memory. The total processing time for one frame of a model with about 10,000 vertices is at most 2 seconds from the simple model to the finest model. Note that our implementation is not optimized for real-time processing. We applied the adaptive subdivision scheme using flatness information only as discussed in Section 3.1 to models Mug, Wheel and Spock and the dynamic method using all viewing information as discussed in Section 3.2 to the model Spock only. For the first two models, we rendered the finest model, simplified model, model subdivided using uniform MBS and the one from our adaptive scheme in Figures 2 and 3. The overshoot problem of MBS is clear as observed in the top of the Mug model, which stretches irregularly, and the spokes of the Wheel model, which even extrude outside the wheel. For the Spock model, we provide the wireframe of a leftside view of the dynamically subdivided model in Figure 4. As we can see, triangles at the nose, eyes and hairline regions that are visible from the front-view are subdivided more than those in the side regions. Table 1 summarizes the resulting number of vertices, faces with respect to the given threshold t and levels of subdivision (if any) in the adaptive case. The result of view-dependent (dynamic) subdivision for model Spock is also listed. Table 1. Results of different subdivision schemes. Adaptive means using flatness only. Dynamic Model Simplified Uniform Adaptive Dynamic

Mug Wheel Spock Vertex Face Level Vertex Face Level Vertex Face 172

344

-

290

-

2752

5504

2

37138 74240

4

1403

2806

2

18489 36942

4

t = {0.6, 0.78} -

163

t = {0.6, 0.7, 0.8, 0.9} -

1048

2092

16737 33470 9274 18544 t = {0.8, 0.9} 2519 5034

means using all viewing information. It can be seen from Table 1 that for the adaptive scheme, there is always about 40-55% of saving in the numbers of vertices and faces in comparison with those from the uniform subdivision scheme. Further, when applying the view-dependent subdivision, we create less than 90% of new vertices and faces for the Spock model. In this experiment, we choose the screen-space error threshold as τ = 10 pixels. Actually the view frustum criteria does not take any effect in this case since the model is not clipped by using the viewing pyramid. We expect to save more if only a part of the model resides inside the viewing window.

5. Conclusion

We provide a smoothing technique for a generic 3-D mesh of triangular faces based on MBS scheme [11, 12]. The proposed adaptive subdivision approach utilizes local flatness of edges. We also modified MBS to obtain better visual quality. View-dependent subdivision is also exploited to further reduce the number of new vertices and surfaces for a mesh while achieving the same visual quality. Final results are obtained and compared with those from uniform subdivision. In the future, we plan to extend our subdivision scheme to real-time rendering with the change of the view information (translation, rotation and zooming). Motivated by Hoppe’s work in progressive meshes (PM) [2], we want to further integrate simplification and subdivision schemes together. When the model is closer to the viewer, the front view of the mesh is subdivided and the invisible regions behind can be simplified using PM. The vertex hierarchy can be constructed before the rendering. The other viewing information such as lighting effects can also be exploited. We will also develop schemes to preserve sharp edges.

6. References [1] N. Dyn, D. Levin and J. A. Gregory, “A butterfly subdivision scheme for surface interpolation with tension control”, ACM Transactions on Graphics, No. 9, Vol. 2, pp. 160-169, 1990. [2] H. Hoppe, “Progressive Meshes”, In Computer Graphics Proceedings (1996), Annual Conference Series, ACM SIGGRAPH, pp99-108. [3] H. Hoppe, “View-dependent refinement of Progressive Meshes”, In Computer Graphics Proceedings (1997), Annual Conference Series, ACM SIGGRAPH, pp. 189-198. [4] J. Li and C.-C. J. Kuo, “Progressive coding on 3D graphic models”, Proceedings of IEEE (1998), vol. 86, No. 6, pp. 10521063. [5] C. Loop, “Smooth Subdivision Surfaces Based on Triangles”, Master Thesis, Department of Mathematics, University of Utah, 1987. [6] J. Peters, “C1 surface splines”, SIAM J. Numer. Anal(1995), Vol. 32, No. 2, pp. 645-666. [7] T. W. Sederberg, J. Zheng, D. Sewell and M. Sabin, “NonUniform recursive subdivision surfaces”, In Computer Graphics Proceedings (1998), Annual Conference Series, ACM SIGGRAPH, pp. 387-394. [8] G. Taubin, “A signal processing approach to fair surface design”, In Computer Graphics Proceedings (1995), Annual Conference Series, ACM SIGGRAPH, pp. 351-268.

[9] G. Taubin, W. P. Horn, F. Lazarus and J. Rossignac, “Geomery coding and VRML”, Proceedings of IEEE (1998) vol. 86, No. 6, pp. 1228-1243.

[11] D. Zorin, P. Schroder and W. Sweldens, “Interpolating subdivision for meshes with arbitrary topology”, Tech. Rep. CSTR-96-06, Department of Computer Science, Caltech, 1996.

[10] J. Xia and A. Varshney, “Dynamic view-dependent simplification for polygonal models”, Visualization ’96 Proceedings (1996), IEEE, pp. 327-334.

[12] D. Zorin, P. Schroder and W. Sweldens, “Interpolating subdivision for meshes with arbitrary topology”, In Computer Graphics Proceedings (1997), Annual Conference Series, ACM SIGGRAPH, pp. 259-268.

(a) (b) (c) (d) Figure 2. Model: Mug. (a) Original Model, (b) Simplified wireframe model (c) Subdivision from MBS scheme (d) our modification of MBS.

(a) (b) (c) (d) Figure 3. Model: Wheel. (a) Original Model, (b) Simplified wireframe model (c) Subdivision from MBS scheme (d) our modification of MBS.

(a) (b) (c) (d) Figure 4. Model: Spock. (a) Simple Model, (b) Subdivision using flatness only (c) Subdivision using all view parameters (d) Left-side view and wireframe of (c).