3D Mesh Model Segmentation Using Marching Planeonlinepresent.org/proceedings/vol120_2015/150.pdf ·...

6
3D Mesh Model Segmentation Using Marching Plane Yiyu Hong 1 , Jongweon Kim 2 , 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 Advanced Science and Technology Letters Vol.120 (DCA 2015), pp.759-764 http://dx.doi.org/10.14257/astl.2015.120.150 ISSN: 2287-1233 ASTL Copyright © 2015 SERSC

Transcript of 3D Mesh Model Segmentation Using Marching Planeonlinepresent.org/proceedings/vol120_2015/150.pdf ·...

Page 1: 3D Mesh Model Segmentation Using Marching Planeonlinepresent.org/proceedings/vol120_2015/150.pdf · 3D Mesh Model Segmentation Using Marching Plane ... algorithm which focuses on

3D Mesh Model Segmentation Using Marching Plane

Yiyu Hong1, Jongweon Kim

2,

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

Advanced Science and Technology Letters Vol.120 (DCA 2015), pp.759-764

http://dx.doi.org/10.14257/astl.2015.120.150

ISSN: 2287-1233 ASTL Copyright © 2015 SERSC

Page 2: 3D Mesh Model Segmentation Using Marching Planeonlinepresent.org/proceedings/vol120_2015/150.pdf · 3D Mesh Model Segmentation Using Marching Plane ... algorithm which focuses on

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 pose-invariant 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.

Advanced Science and Technology Letters Vol.120 (DCA 2015)

760 Copyright © 2015 SERSC

Page 3: 3D Mesh Model Segmentation Using Marching Planeonlinepresent.org/proceedings/vol120_2015/150.pdf · 3D Mesh Model Segmentation Using Marching Plane ... algorithm which focuses on

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).

Advanced Science and Technology Letters Vol.120 (DCA 2015)

Copyright © 2015 SERSC 761

Page 4: 3D Mesh Model Segmentation Using Marching Planeonlinepresent.org/proceedings/vol120_2015/150.pdf · 3D Mesh Model Segmentation Using Marching Plane ... algorithm which focuses on

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 .

Advanced Science and Technology Letters Vol.120 (DCA 2015)

762 Copyright © 2015 SERSC

Page 5: 3D Mesh Model Segmentation Using Marching Planeonlinepresent.org/proceedings/vol120_2015/150.pdf · 3D Mesh Model Segmentation Using Marching Plane ... algorithm which focuses on

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

Advanced Science and Technology Letters Vol.120 (DCA 2015)

Copyright © 2015 SERSC 763

Page 6: 3D Mesh Model Segmentation Using Marching Planeonlinepresent.org/proceedings/vol120_2015/150.pdf · 3D Mesh Model Segmentation Using Marching Plane ... algorithm which focuses on

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. 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)

2. Agathos, A., Pratikakis, I., Perantonis, S., Sapidis, N.: Protrusion-oriented 3d mesh

segmentation. The Visual Computer, vol. 26, no. 1, pp. 63--81, (2010)

3. 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)

4. 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

5. 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

6. 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

7. Shamir, A.: A survey on mesh segmentation techniques. Computer Graphics Forum, Vol.

27, (2008), pp. 1539--1556

8. 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)

9. Hoffman, D.D., Richards, W.: Parts of recognition. Cognition, Vol. 18, (1984), pp. 65--96.

10. Hoffman, D.D., Singh, M.: Salience of visual parts. Cognition, Vol. 63, (1997), pp. 29--78

11. Sethian, J., Kimmel, R.: Computing geodesic paths on manifolds. Proc. of Natl. Acad. Sci.

Vol. 95, no. 15, pp. 8431--8435, (1998)

12. 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)

13. Shoelace formula in Wikipedia. Available from:

http://en.wikipedia.org/wiki/Shoelace_formula.

Advanced Science and Technology Letters Vol.120 (DCA 2015)

764 Copyright © 2015 SERSC