Advanced Science and Technology Letters Vol.120 (DCA 2015), pp.759-764 http://dx.doi.org/10.14257/astl.2015.120.150 3D Mesh Model Segmentation Using Marching Plane Yiyu Hong1, Jongweon Kim2, 1 Dept. of Copyright Protection, Sangmyung University, Seoul, Korea, [email protected] 2 Dept. of Contents and Copyright, Sangmyung University, Seoul, Korea, Corresponding Author, [email protected] Abstract. Decomposing 3D mesh into meaningful components is a challenging research field in computer graphics. In this paper, we propose a segmentation algorithm which focuses on cutting out individual prominent parts from original mesh based on prominent feature point and marching plane. Our method first extracts prominent feature points which reside on tips of each prominent part of a given mesh. And then the mesh is intersected by a set of planes, namely, marching plane which marches from a prominent feature point. Through the marching process, we extract local cross sections and compute its area which can represent the local volumes. Finally, we can simply cut out the prominent part using marching plane, as the boundary of a prominent part usually lies on the place where the local volume varies rapidly. Experimental result shows our method invariant to the pose, robust to the noise and also competitive when compare to relative works. Keywords: Mesh segmentation, Marching plane, Feature point extraction, 1 Introduction With the development of 3D modeling, 3D printing and 3D scanning technology, 3D models have been applied in many fields. Mesh segmentation is an important step in analyzing and understanding 3D models, and an efficient way to decompose a mesh into visually meaningful components brings a lot of convenience and benefits to various mesh processing applications. Recently, a number of works [1-3] have been done in the field of mesh segmentation, which focus on extracting core part of a mesh. In this paper, instead of core extraction, we present a segmentation algorithm that cut out exterior individual parts from prominent feature points, which are on the extremes of a mesh, using a marching plane. As shown in Fig 1, we define a marching plane as the plane that cut the mesh by following a path. When it comes to a boundary region, there would be a rapid variation on the area of cross section which is cut by the marching plane. More details we will discuss in section 3. 2 Related Researches Over the past few years, there were many algorithms have been proposed to process mesh segmentation. Referring to surveys in [7, 8], the segmentation ISSN: 2287-1233 ASTL Copyright © 2015 SERSC Advanced Science and Technology Letters Vol.120 (DCA 2015) approaches can be divided into mainly two types: surface-based and part-based. Surface-based approaches generally use geometric properties of surface such as curvature, geodesic distance and dihedral angles to decompose the mesh. Part-based segmentation usually rely on cognition science works [9, 10] to segment a mesh into meaningful parts. In [9] states that human vision is more likely to define boundary parts along minimum negative curvature. Additionally, human perception also determine the salience of parts by 3 factors: relative volume, boundary strength, and degree of protrusion [10]. Our approach belongs to part-based type, so it is worth briefly reviewing part-based segmentation approaches. Fig. 1. The red point is one of the prominent feature points and the pink contour represents the contour of cross section which is cut by the marching plane. Lee [5] use minimum negative curvature to find first closed boundaries to cut the mesh into parts. Their main contribution is enclosing open boundary around deep concavity using efficient shortest path algorithm. Nevertheless, the property of surface curvature is so local that cannot be a good reflection of the shape of object. Shapira [6] created a volumetric function called the Shape Diameter Function (SDF). For each face of the mesh, the function calculates average length of a range of cone shaped rays, which are sent from centroid of the face, to the opposite side of the mesh. Based on SDF values of the faces, they fit k Gaussian functions to produce hierarchical segmentation. Katz [1] use multidimensional scaling to convert original mesh vertices into poseinvariant representation and then extract core part of the mesh by using spherical mirroring. In the following research, [2, 3] characterize protrusion of extreme points of the mesh to process core approximation. Valette [4] separates protrusion parts from the main body of the mesh by using protrusion function, which measures the extent of closeness between a vertex and each protrusion part. Our mesh segmentation concept is a little similar to [4]. Both methods concentrate on partitioning exterior individual parts from main body. However, their work did not well use the theory of cognition, which result in the segmentation usually not fit human perception. 3 Our Segmentation Approach Our goal is to segment a 3D mesh into meaningful parts. To this end, we present a methodology which consists of the following steps: 1. For a given 3D mesh, we first extract coarse feature points and then filter these points to remain only one point which are reside on tips of each salient part. 760 Copyright © 2015 SERSC Advanced Science and Technology Letters Vol.120 (DCA 2015) 2. For a prominent feature point, we find a geodesic path, namely, marching path, on the surface for marching plane to follow. 3. When marching plane follows the marching path, we intersect the mesh by the marching plane and then calculates area of the cross sections which represent local volume. 4. Then the partitioning boundary of the salient part of the mesh can be determined by where the area has a greater variation. 5. We repeat to perform step2-step4 until each of prominent feature points are visited. In our approach, all geodesic paths and distances are computed by the fast marching method [11]. 3.1 Feature points extraction and filtering Inspired by [1], Multidimensional Scaling (MDS) and its convex hull are applied to simplified original mesh to extract coarse feature points. After using MDS transform to original model, intuitively, the salient components (like tail and legs) of the mesh are “straightened”. And then coarse feature points should reside on the convex hull of the MDS transformed mesh. For cutting out each salient parts of the mesh, we filter these coarse feature points to remain only one prominent feature point on each salient part. And it can be done by measuring whether the sum of geodesic distance from coarse feature point to other vertices on the mesh is the local maxima within a radius of geodesic neighborhood [2]. The radius we here used is √ [12]. Finally, the filtered feature points in MDS space are mapped back to original model. 3.2 Geodesic path selection for marching plane In this section, we propose a method to find a marching path, which is on the mesh surface, for the marching plane. Firstly, we use fast marching method from a prominent feature point to find shortest path to other prominent feature points. Then we select the most straight and stable geodesic path as the marching path. In our approach, the straightness of a geodesic path is computed by measuring average perpendicular distance of each vertex on the path to the straight line which is constructed by connecting two end points of the path. Let d be the distance of a point to a line in a Three-dimensional coordinate system, it can be calculated by following equation: |̅̅̅̅̅̅̅̅ | ̅| ̅| Where denotes the vertex on the path, denotes a point on the line which can be either of the two end points of the path and ̅ is directing vector of the line. After selecting a marching path for a prominent point, the marching plane can move from the prominent feature point through the path to its end (Fig 1). Copyright © 2015 SERSC 761 Advanced Science and Technology Letters Vol.120 (DCA 2015) 3.3 Construction of marching plane For each vertex on the marching path, we construct a marching plane. As a point and a normal vector can determine a unique plane, we define marching plane as ( ), where denotes vertex on a marching path and denotes normal vector of the plane. Since area of the cross section needs to represent local volume, the marching plane ( ) should intersect perpendicular to the local region of the mesh where reside on. So we present a formula that using neighbors of on the marching path to calculate as follows: ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ∑ ∑ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ∑ ∑ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ∑ ∑ { Where denotes the number of vertices on the marching path, and denotes the number of neighbor vertices which are used to construct normal vector. The parameter can be adjusted by . 3.4 Extraction of cross section We extract cross section by connecting each crossing point which is computed using intersect mesh by marching plane. Furthermore, it can be transferred to find a set of intersecting edges on the mesh. Using following two properties, we can efficiently find intersecting edges. First, when an edge intersect the plane, there must be the other intersection on the other edge of the triangle face. Second, as in manifold mesh, each edge is shared by two adjacent faces. So after finding first one intersecting edge, we can trace its adjacent faces to find other intersecting edges until it arrives at the first intersecting edge to form a closed contour. After extracting these crossing points, we transfer the 3D coordinates of these points into 2D as they are all in a same plane. Then we connect them one by one in traced order. Finally, we can using Shoelace formula [13] to compute its area. In the end, from a prominent feature point, we can get a set of values of area of cross sections through the marching plane. As a boundary of a salient part usually lies on the place where the local volume varies rapidly, we determine the boundary where the derivative of the area is first above a threshold . 762 Copyright © 2015 SERSC Advanced Science and Technology Letters Vol.120 (DCA 2015) 4 Experimental Result The results of our approach shown below are obtained by using fixed parameters. If the number of vertices ( ) on a marching path is more than 50, we select about 50 vertices in a certain interval distance and set t = 3. The boundary detection threshold, = . Through experiment, we found that if the first area of the cross section has a large value, the prominent feature points usually lie on a place that is no salient part. So we do not operate prominent feature point which the first cross section area exceed . In Fig 2, we compare our segmentation results with [2-4], and their pictures are taken from [2]. In Fig 3 (a) and (b) show our segmentation invariant to pose and robust to noise respectively. Fig. 2. Experimental result Fig. 3. (a) Pose invariance (b) Segmentation under noise Copyright © 2015 SERSC 763 Advanced Science and Technology Letters Vol.120 (DCA 2015) 5 Conclusion In this paper, we proposed a segmentation algorithm using marching plane to cut exterior salient parts from 3D mesh. The proposed algorithm consists of several steps to extract prominent feature points, to find proper marching path, to extract cross section by intersecting marching plane with mesh along the marching path and to detect boundary by monitoring where a rapid variation has on the area of cross sections. From the experimental results, we can see our algorithm could be invariant to pose, robust to noise and also competitive to the relative works with fixed parameters. In future we will focus on searching better marching path, on which we can extract multiple components to process hierarchical segmentation. Acknowledgments. This research was supported by Institute for Information & communications Technology Promotion (IITP) funded by the Ministry of Science, ICT and Future Planning (No.R0126-15-1024) References 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 764 Katz, S., Leifman, G., Tal, A.: Mesh segmentation using feature point and core extraction. The Visual Computer, vol. 21, no. 8--10, pp. 649--658, (2005) Agathos, A., Pratikakis, I., Perantonis, S., Sapidis, N.: Protrusion-oriented 3d mesh segmentation. The Visual Computer, vol. 26, no. 1, pp. 63--81, (2010) Lin, H.-Y. S., Liao, H.-Y., Lin, J.-C.: Visual salience-guided mesh decomposition. Multimedia, IEEE Transactions on, vol. 9, no. 1, pp. 46--57, (2007) Valette, S., Kompatsiaris, I., Strintzis, M.G.: A polygonal mesh partitioning algorithm based on protrusion conquest for perceptual 3D shape description. Workshop towards Semantic Virtual Environments SVE 2005, Villars, CH, March 16-18, (2005), pp. 68--76 Lee, Y., Lee, S., Shamir, A., Cohen-or, D., Seidel, H.P.: Mesh scissoring with minima rule and part salience. Computer Aided Geometric Design, Vol. 22, (2005), pp. 444--465 Shapira, L., Shamir, A., Cohen-or, D.: Consistent mesh partitioning and skeletonisation using the shape diameter function. The Visual Computer, Vol. 24, (2008), pp. 249--259 Shamir, A.: A survey on mesh segmentation techniques. Computer Graphics Forum, Vol. 27, (2008), pp. 1539--1556 Attene, M., Katz, S., Mortara, M., Patane, G., Spagnuolo, M., Tal, A.: Mesh Segmentation - a Comparative Study. In: Proceedings of SMI, pp. 14--25, (2006) Hoffman, D.D., Richards, W.: Parts of recognition. Cognition, Vol. 18, (1984), pp. 65--96. Hoffman, D.D., Singh, M.: Salience of visual parts. Cognition, Vol. 63, (1997), pp. 29--78 Sethian, J., Kimmel, R.: Computing geodesic paths on manifolds. Proc. of Natl. Acad. Sci. Vol. 95, no. 15, pp. 8431--8435, (1998) Hilaga, M. Shinagawa, Y., Kohmura, T., Kunii, T.L.: Topology matching for fully automatic similarity estimation of 3d shapes. In Proceedings of the 28th annual conference on Computer graphics and interactive techniques, SIGGRAPH '01, (New York, NY, USA), pp. 203--212, ACM, (2001) Shoelace formula in Wikipedia. Available from: http://en.wikipedia.org/wiki/Shoelace_formula. Copyright © 2015 SERSC
© Copyright 2025 Paperzz