<<

Bulletin of the JSME Vol.9, No.4, 2015 Journal of Advanced Mechanical Design, Systems, and Manufacturing

Mesh segmentation guided by points

Xue JIAO*, Huixin ZHANG* and Tieru WU* *Institute of Mathematics, Jilin University Changchun, Jilin130012, China E-mail: [email protected]

Received 3 January 2015

Abstract Segmenting 3D models into meaningful parts is a fundamental problem in computer graphics. In this paper, we an algorithm which is guided by the mesh vertices for segmenting a mesh into meaningful sub-meshes. First, a candidate set of feature points is selected to highlight the most significant features of the model. After that, a diversity measure is calculated by using Hausdorff distance. The collection of seed points we defined is a subset of the candidate set. The collection of seed points consists of two parts, namely, the basic point and lucky points. By maximizing the diversity measure between the seed set and candidate set, an appropriate seed point is selected. Based on the collection of seed points, the segmentation process can be guided by these seeds. Because humans generally perceive desirable segmentations at concave regions, and the geodesic distance and curvature are well-known noise sensitive. Considering the above factors, in order to partition the target into meaningful parts, we define a distance function between each pair of mesh vertices. This function is formed by arc length, angular distance and curvature-related correction term. We have tested the method developed in this paper with 3D meshes from the Princeton segmentation benchmark. Moreover, our segmentation method also has been compared with other methods. The experimental results have demonstrated the effectiveness of the proposed segmentation method.

Key words: Mesh segmentation, Seed point, Clustering, Distance function, Geometric feature

1. Introduction

Mesh segmentation is a process of partitioning a mesh into functional or meaningful parts. Because mesh segmentation is an important step towards model understanding, so it has become a ingredient in many research problems such as skeleton extraction(Biasotti et al., 2003,Katz and Tal, 2003), texture mapping(Sheffer et al., 2006), deformation(Shlafman et al., 2002 , Zockler et al., 2000), simplification(Cohen-Steiner et al., 2004), compression(Zuckerberger et al., 2002), etc. In general, there are mainly two types of segmentation(Agathos et al., 2007,Shamir, 2006): surface-type (or geometric) methods and part-type (or semantic) methods. In the first case, the objective is to partition the mesh into patches with respect to geometric homogeneity. This kind of approach is applicable for reverse engineering CAD models. In the latter case, the algorithms are greatly based on the human perception theory to segment the mesh into meaningful parts. A well-known human vision theory is the “minima rule”, which is first proposed by Hoffman and Richards. The rule states that the part boundaries lie along lines with negative minima curvature(Hoffman and Richards, 1984,Hoffman and Singh, 1997). This kind of method is particularly suited for natural models. However, due to the complexity of cognitive levels and the development of graphics, the segmentation technology is still a crucial problem in the period of time in the future. Recently the ground-truth databases for 3D models segmentation have been created (Benhabiles et al., 2009,Chen et al., 2009,Jayanti et al., 2006), which offer the opportunity of analyzing mesh segmentation quantitatively. Some segmentation methods related to the mesh vertices have been proposed in recent

Paper No.15-00012 [DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 1

0123456789 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

years. For instance, core extraction method (Katz et al., 2005)used Multi-Dimensional Scaling (MDS) to transform the mesh vertices into a pose insensitive representation, and then prominent feature points and core component are extracted. In(Zhou and Huang, 2004), a mesh was decomposed into different components by means of critical points. The method consists of computed the geodesic tree and critical points, decided the decomposition order, and extracted components using backwards flooding. A heat mapping method based on the heat kernel was proposed in(Fang et al., 2011) to address perceptually consistent mesh segmentation, the number of segments is estimated based on the analysis of the Laplacian spectrum, and a heat center was applied to drive the mesh segmentation. In this paper, we present an algorithm which is guided by the mesh vertices for segmenting a mesh model into visually meaningful sub-meshes. More precisely, a candidate set of feature points is obtained firstly and then a diversity measure metric was defined by using Hausdorff distance. By iterative filtering the candidate set, the collection of seed points is selected. After that, a segmentation distant function is defined by considering the geometric information of mesh vertices. This function is formed by arc length, angular distance and a curvature-related correction term was introduced to improve the outcome. Since considering the shape concavity information as the key information, our method achieves the sematic segmentation of meshes. The rest of the paper is structured as follows: Section 2 presents a brief overview of related works, Section 3 describes the detail of the selection of seed points, Section 4 discusses the definition of distant function between vertices, Experimental results are described in Section 5, and finally we conclude this paper in Section 6.

2. Related work

As an important research topic, mesh segmentation has attracted much attention in the recent years. In this paper, we divide recent segmentation methods into three categories: geometric based segmentation, interactive segmentation and learning based segmentation. Geometric based segmentation: Many efforts have been made to find the meaningful segmentation of 3D shapes by analyzing some geometrical features. A part salience theory was proposed in (Lee et al., 2005) proposes a method to decompose triangle meshes into separate parts based on curvature analysis. The shape diameter function which calculated the diameter of the parts of objects, and employed the diameter to partition the mesh surface(Shapira et al., 2008). An automatic method was presented in(Au et al., 2012) exploits the shape concavity information as the key information to achieve mesh segmentation. These methods can well approximate the three key factors, similarity, proximity and good continuation, in visual grouping (Xu et al., 2014). A common difficulty in these methods is that no single geometry feature is suitable to all cases of mesh segmentation. Interactive segmentation: To adapt to complex models and different applications, several works have introduced interactive tools such as the sketch-based tool and cross-boundary brush to obtain a relatively satisfactory segmentation result. For example, Fan et al. (Fan et al., 2012) presented an extensive comparative evaluation of several popular foreground and background sketch-based interactive mesh segmentation algorithms. An intuitive and easy-to-use mesh cutout tool was proposed in (Ji et al., 2006), users can cut meaningful components from meshes by simply drawing freehand sketches on the mesh. Other interactive method segmented the meshes by finding least cost paths, such as random walk(Lai et al., 2009), graph cut segmentation(Brown et al., 2009,Li et al., 2004), geodesic curvature flow(Zhang et al., 2010), etc. These methods provide some intuitive user interfaces where users can cut out parts by directly painting the region of interest with a brush. However, the cutting boundary is sensitive to the stroke directions, and the users have to know where the cutting boundary is(Fan and Liu, 2011). Learning based segmentation: To overcome the limitations inherent in segmentation of single shapes, many co-segmentation approaches have been proposed. A supervised learning based segmentation approach has been extended to 3D shapes by(Kalogerakis et al., 2010). Another work(Benhabiles et al., 2011)further introduced the learning approach into identifying boundary edges. Huang et al.(Huang et al., 2011) presented an unsupervised approach, in this method a linear programming is used to segment the meshes jointly. Sidi et al.(Sidi et al., 2011) described another unsupervised segmentation approaches based on descriptor-space spectral clustering. The segmentation results produced by these methods are very similar to those created by humans, but the data-driven methods need prior knowledge learned from training dataset and the size of the training dataset has a great impact on the segmentation performance(Kalogerakis et al., 2010).

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 2 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

3. Seed point selection

In this section, we define seed points and propose a new method for finding them. Seed points are used both for establishing the position of segments and for determining the number of these segments. The collection of seed points we defined is consist of two parts: the basic point and lucky points. The overview of this selection process is listed as follows: First of all, a candidate set will be constructed to highlight the most significant features of the mesh model. This process of candidate set selection is described in section 3.1. After that, we automatically select a mesh vertex from the candidate set as the basic point, and put this basic point into the seed point collection. The definition of basic point has been given in section 3.2. Finally, we select lucky points from the remaining candidate vertices. The selection of lucky points is an iterative process, each iteration consists of two major steps: filtering the candidate set, maximizing the diversity measure. The lucky point is treated as a new seed point and put it into the seed point collection. The definition of lucky points has been proposed in section 3.3. In the following sections, we present a detailed description of the whole seed points selection process.

(a) (b) (c)

Fig.1 An example of the collection of seed points: (a) the original model, (b) the candidate set of feature points (pink), (c) the

collection of seed points (red), and the center point of this model (yellow).

3.1 Candidate set detection This section describes the process of detecting candidate set. The candidate set is composed of all feature points, which highlight the most significant features of the model. Intuitively, feature points should reside on extremities of prominent components of the model, such as the tip of tail, the mouth and ears(Katz et al., 2005). By considering the geodesic distance provides rotation invariance, and resistance against problems caused by noise or small undulations, we detect feature points of the mesh model based on the information of geodesic distance function. To formally define the feature points, we first construct a function 퐴 at the mesh vertex p as follows:

( ) ( ) 퐴 푝 = ∫푞∈푀 퐺푒표푑 푝, 푞 푑푞 (1) where 퐺푒표푑(푝, 푞) denotes the geodesic distance between two vertices p and on the surface M. Based on the former equation, a mesh vertex 푣 ∈ 푀 can be considered as a feature point if it satisfies the following function:

퐴(푣) > 퐴(푣푖), 푣푖 ∈ 푁(푣) (2)

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 23 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

where 푁(푣) is the set of one-ring neighborhood vertices of vertex 푣. In this paper, we define the candidate set of feature points as 푇 = {푝푖|푝푖 ∈ 푀 𝑖푠 푎 푓푒푎푡푢푟푒 푝표𝑖푛푡}. From the viewpoint of geometry, the feature point actually is a local maximum of the sum of the geodesic distance function. An example of the candidate set is illustrated in Fig. 1(b) and Fig. 2(2a). Although the computation of geodesic distance can be approximated by Dijkstra’s shortest path algorithm based on edge length, the implementation of this process is easy to be influenced by the regularity of the mesh tessellation. In our method, the mesh segmentation process is guided by these seed points. The selection of seed points affects directly the segmentation results, so the demand for the accuracy of seeds selection is higher. Considering the accuracy, in this section we employ the exact geodesic algorithm presented by Surazhsky et al. (Surazhsky et al., 2005).

1(a) 1(b) 1(c)

2(a) 2(b) 2(c)

Fig.2 An example of lucky points (a) the candidate set of feature points (pink), (b) the basic point (yellow), (c) the lucky points (red). The collection of seed points is composed of the basic point and lucky points.

3.2 Pick the basic point Although the above process manages to extract a set of vertices that contains the prominent feature points, it may contain also many additional points that are not prominent feature points, due to small noise or local detail. For this reason, we want to pick out significant vertices from the candidate set to constitute the seed collection, i.e., the seed points we wanted is a subset of this candidate set of feature points. In our work, the seed points collection is consist of two parts: the basic point and lucky points. In this section, we describe how to pick out the basic point from the candidate set. In this paper, we denote the collection of seed points as 푆, and initial it with an empty set, i.e., 푆 = ∅. In order to select the appropriate basic point from the candidate set 푇, we first determine the center of mesh model. Here, we consider the vertex with minimum geodesic function value as the center point of the model, denoted by 푣푐:

∑ ( ) (3) 푣푐 = arg min 푣푖∈푀 퐺푒표푑 푣, 푣푖 푣∈푀

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 24 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

We use 푣푏 represent the basic point, which satisfies the following equation:

푣푏 = arg max 퐷𝑖푠푡(푣푐 , 푝푖) (4) 푝푖∈푇

where the term 퐷𝑖푠푡(푣푐 , 푝푖) represents the Euclidean distance between two vertices on the surface. We demand that the spatial distance between the center and each seed point as far as possible. As we know, the geodesic distance between two vertices is the length of the shortest paths along the surface. For the vertices in more detailed or wrinkled region, the geodesic between them is bigger than smooth region. If we use geodesic distance to select basic point, the following cases will happen: one feature point is closer to the center point, but in fact the geodesic distance between them is greater. Another case is that the feature point resides in the same component with center point. Then on the basis of this, through a great number of experiments, we also found that use Euclidean distance in Eq. (4) is more appropriate for the latter selection of lucky points. By accounting for the above factors, in Equation (4) we used Euclidean distance instead geodesic distance. After the basic point is identified, we put this basic point into the seed point collection, as a consequence the seed point collection 푆 = {푣푏}.

(a) (b)

Fig.3 The effect of correction term: (a) the segmentation result without the correction term, (b) the segmentation result with the

correction term. The red points represent seed vertices.

3.3 Pick lucky points In this section, we give the definition of lucky points and describe the process of identifying them from the remaining candidate vertices. A feature point is considered as the lucky point if it satisfies the following two requirements: (i) This point is not to be eliminated by the filtering process, which is described in section 3.3.1. (ii) This point maximizes the diversity measure between seed set and filtered candidate set. Let 푇′ be the filtered candidate set, the lucky point 푣푙 is picked out by calculating the following equation:

′ ′ ′ 푣푙 = arg 퐻(푆, 푇 ) = arg max(ℎ(푆, 푇 ), ℎ(푇 , 푆)) (5) ′ ′ 푡푗∈푇 푡푗∈푇 where 퐻(푆, 푇′) is the Hausdorff distance between this two set. The detailed explanation is presented in section 3.3.2. 3.3.1 Filtering the candidate set The seed points we selected are used to drive the segmentation of the object into different prominent components. To start, we find out the new detected seed point which is the last to be putted into seed collection 푆. Then, for this new seed point, a sphere around it is constructed, the radius 푅 of the sphere is specified by the users. At the initial stage, this new seed point is the basic point 푣푏. For the feature point 푡푗 ∈ 푇, we filter out this 푡푗 if it is close to this new seed point:

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 25 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

퐷𝑖푠푡(푠푛푒푤, 푡푗) < 푅 (6)

where 푠푛푒푤 represents the new detected seed point, and 퐷𝑖푠푡(푠푛푒푤, 푡푗) denotes Euclidean distance between two vertices. Filtering is necessary in the presence of many small features and small noise on the mesh. This step can guarantee each prominent component is defined by only one seed point.

1(a) 1(b) 1(c)

1(d) 1(e) 1(f)

2(a) 2(b) 2(c)

2(d) 2(e) 2(f)

Fig.4 Comparison of the results with other method (a) Seed points of the original model, (b) Shape diameter, (c) Core extraction, (d) Randomized cuts, (e) K-means, (f) The proposed method.

3.3.2Maximizing the diversity measure After filtering the candidate set, we want to identify the seed point from the remaining feature points. For this purpose, we need to find out a diversity measure which can be used to quantify the differences between the candidate set and seed point set. In our work we utilize Hausdorff distance to calculate the difference degree between these two sets. For the two non-empty sets: seed point collection S and filtered candidate set 푇′, we denote their Hausdorff distance by 퐻(푆, 푇′):

퐻(푆, 푇′) = max(ℎ(푆, 푇′), ℎ(푇′, 푆)) (7)

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 26 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

where the two distances ℎ(푆, 푇′) and ℎ(푇′, 푆) are termed as forward and backward Hausdorff distances of 푆 to 푇′:

ℎ(푆, 푇′) = max min‖푠 − 푡 ‖ (8) ′ 푖 푗 푠푖∈푆 푡푗∈푇

ℎ(푇′, 푆) = max min‖푡 − 푠 ‖ (9) ′ 푗 푖 푡푗∈푇 푠푖∈푆 where ‖∙‖ is an underlying norm of the point sets S and 푇′. Unlike most metrics, the Hausdorff distance does not require any explicit point correspondence, because it does not build a one-to-one correspondence between the two sets of point. By calculating the Hausdorff distance we can select a most special point from candidate set 푇′, which has the greatest difference from the seed points. In other words, Hausdorff distance selects the most mismatched point of 푇′ as the distance from set 푆 to 푇′. The whole selection process of lucky points is an iteration process. The selected lucky point is treated as the new seed point and put it into the seed collection. Then repeat the above operation until the number of seed points reaches a threshold given by the user, or there is no element in the candidate set. In particular, if the center point 풗풄 resides in the different component with each seed point, then this center point needs to be added to the set of seed points. An example of the seed points is shown in Fig.1, the result shows that the seed points are accurately extracted. Fig.2 give some examples to illustrate the lucky points extracted from the candidate set.

1(a) 1(b)

2(a) 2(b)

Fig.5 Limitations of our method. For highly noisy models: (1a) our segmentation result for smooth model, (1b) the result for noisy plane model; for non-concave models (or the models without obvious characteristics): (2a) dino model, (2b) our segmentation result.

4. Mesh segmentation

Once the seed points are extracted, they are utilized to guide the mesh segmentation. Each component of the object is determined by one seed point. In order to partition the target into meaningful parts, we define a distance function between each pair of vertices on the mesh model. The distance function combines arc length, angular distance and curvature-related correction term.

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 27 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

(1a) (1b) (1c)

(2a) (2b) (2c)

(3a) (3b) (3c)

(4a) (4b) (4c)

(5a) (5b) (5c)

(6a) (6b) (6c)

Fig.6 Segmentation results of representative models in the Princeton Segmentation Benchmark (a) Original model, (b) The seed points selected by our method, (c) the segmentation result.

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 28 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

In recent years, with the development of the thought of high-level, the semantic understanding of 3D shapes has received a great of attention lately. At present, many high-level shape analyses are based on the geometric properties of the surface. Therefore, an adequate study of the basic geometry properties of mesh models is necessary. There are two most useful surface properties in various segmentation algorithms, one is the mesh curvature and the other is average geodesic distance(Hoffman and Richards, 1984). Our mesh segmentation algorithm is based on the vertex clustering. The key step is to design an appropriate distance function to measure the distance of every pair vertices. For every mesh vertex 푣 ∈ 푀, we first find out all the shortest paths from it to each seed point on the mesh by using Dijkstra’s algorithm. After that, a distance function is defined as the followed equation to measure the length of paths:

퐷(푠푖, 푣) = 휔1 ∙ ∑푝 ,푞∈푑푡푟푎푐푒 퐷푙푒푛(푝 , 푞) + 휔2 ∙ ∑푝 ,푞∈푑푡푟푎푐푒 퐷푎푛푔푙푒(푝 , 푞) + 휔3 ∙ ∑푝 ,푞∈푑푡푟푎푐푒 퐶표푟푐푢푟푣(푝, 푞) (10)

where 퐷푡푟푎푐푒 is the shortest path between the mesh vertex v and the seed point 푠푖. 푝, 푞 are two adjacent vertices. 퐷푙푒푛 and 퐷푎푛푔푙푒 are the arc length and angle distance between two adjacent vertices respectively, 퐶표푟푐푢푟푣 is a correction term about the curvature. 휔1, 휔2 and 휔3 are corresponding weights. During the segmentation procedure, the geodesic paths typically cut across triangle faces in the mesh, so in order to conveniently research the path that passes through mesh vertices, we utilized Dijkstra’s algorithm. In the definition of distance function, the arc length term is the sum of edge length along the shortest path. Therefore, the value of this term is approximately identical to the geodesic distance. In addition, in the implementation process of our method, we found that using geodesic distance or Dijkstra’s algorithm in this step have almost no influence over the segmentation results. For the above reasons, in segmentation section we used Dijkstra method. Generally, geodesic distance favors segmentation of equal sized regions. The length of a surface curve is not only dependent on the path on the surface, but also related to the variation of the surface normal along it. So, for a vertex p and its neighbor vertex q on the mesh, the arc length between them is defined as the following equation:

̅ ̅ 퐷푙푒푛(푝, 푞) = (1 + |푙푝 − 푙푞|)‖푛푝 − 푛푞‖ (11)

̅̅̅ ̅̅̅ where 푙푝, 푙푞 are the average of all incident edges of the corresponding vertex. 푛푝, 푛푞 are respectively the normal of vertices p and q. The |푙̅푝 − 푙̅푞| term and ‖푛푝 − 푛푞‖ term are complementary to each other. For the two vertices that have ̅ ̅ similarly local tessellation property, the value of |푙푝 − 푙푞| between them is small. We therefore use ‖푛푝 − 푛푞‖ term to measure the dissimilarity between this two vertices. For the two vertices that have similarly local flatness, in this case ̅ ̅ the change of normal ‖푛푝 − 푛푞‖ is relatively small, the term |푙푝 − 푙푞| play the role of domination in the length between them. As we know that the angular distance tries to force region boundaries to lie where surface direction changes quickly. The angular distance usually is a nonlinear mapping, in order to reduce the distance in flatter regions(Au et al., 2012). We define this metric as:

푎푟푐표푠휃 퐷 (푝, 푞) = 푙표 푔 (1 + ) (12) 푎푛푔푙푒 휋

where 휃 is the angle between 푛푝 and 푛푞. Since humans generally perceive desirable segmentations at concave creases and seams, which have negative minima principal curvature. We introduce a curvature function 푓푐푢푟:

푘min(푝) 푘min(푞) 푓푐푢푟(푝 , 푞 ) = − (13) 푘abs(푝) 푘abs(푞)

Furthermore, taking account of the geodesic distance and curvature are well-known noise sensitive entities. In the extreme cases, a small spike on the smooth surface can influence the segmentation result. In our implementation, we design a curvature-related correction term to alleviate the influence of noise and local detail. This function is denoted by 퐶표푟푐푢푟푣, which is a piecewise function of 푓푐푢푟:

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 29 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

exp(|푓푐푢푟(푝 , 푞 )|) + 1 𝑖푓 푆푝 · 푆푞 < 0

퐶표푟푐푢푟푣(푝, 푞) = { (14) 푓푐푢푟(푝 ,푞) 𝑖푓 푆푝 · 푆푞 ≥ 0 1+푓푐푢푟(푝 ,푞 ) where 푘min is the negative minimum principal curvature, 푘abs is the absolute curvature, 푆푝 and 푆푞 are respectively the shape indexes of vertices p and q. This correction term is usually sufficient to improve the segmentation results, an example of segmentation is illustrated in Fig. 3.

Fig.7 The quantitative evaluation of our method compared with other four segmentation methods. Segmentation evaluations using the measures in Princeton segmentation benchmark.

5. Results and discussion

In this section, we present experimental results obtained on the triangulated mesh models extracted from the Princeton shape benchmark database(Chen et al., 2009).There are three weight parameters are used in the approach. It is worthwhile to point out that these parameters are important for computing the distance function, and the value of this function will affect the segmentation results directly. The choice of parameters is independent. We give a range of parameter values according to the vertices are convex or concave. In all experiments with our implementation, we set 휔3 = 0.01, which has performed well for most of the cases. The choice of 휔푖(𝑖 = 1,2) are not critical. The values of 휔1 and 휔2 range from 0.3 to 0.5 if the two adjacent vertices are all convex; otherwise the two values range from 0.01 to 0.1. We performed a timing test on an Intel Core processor and 2.5GHz computer with 4GB RAM. We store the

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 210 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

geodesic and curvature information of mesh vertices during the initial procedure. Segmentation time is directly related to the size of the input mesh model. For models with 6k triangles, seed points’ selection estimation takes 0.57s, distance function calculation takes 4.03s, and clustering procedure spent 1.27s. For models with 8k triangles, our method running times are 0.82s, 6.5s and 2.81s respectively. Because we need to calculate some geometric characteristics, so the running time is dominated by calculating the distance function. In order to verify the effectiveness of our method, we make a few more comparisons with other method, including the shape diameter function method(Shapira et al., 2008), core extraction method(Katz et al., 2005), randomized cuts method (Golovinskiy and Funkhouser, 2008)and K-Means method (Shlafman et al., 2002). Fig. 4 shows the comparisons of segmentation results on the ant model and the airplane model. By contrast, we notice that our method obtain relatively better results for the model with sharp edges. Fig. 6 illustrates segmentation of various objects with our method. As can be seen, the current algorithm manages to extract the meaningful components. The results are better for models with some sharp features, especially concave features separating different parts. We using the evaluation measures proposed by the reference (Chen et al., 2009) to quantitate our segmentation results. Figure 7 shows the quantitative results of our method compared with other automatic segmentation methods. Limitations: Since the computation of the segmentation distance function relies on the local shape information, our method is inappropriate for highly noisy models or models with many fine surface details, e.g., Fig. 5(1). The noise or fine details can influence the determination of the concave vertices and hence cause local vibration and over-segmentation problem. To produce satisfactory segmentation results, in our work we using two-ring neighborhood vertices information to estimate the curvatures. In addition, more sophisticated curvature computation methods (Kalogerakis et al., 2007,Lai et al., 2007) could alleviate the influence of noise. For efficiency, we chose to apply a pre-processing step to smooth the noisy mesh model. In some cases, for non-concave models or the models without obvious characteristics, our segmentation method is not as robust. For example, our method fails to produce the desired result in Fig. 5(2). Our method is designed for segmenting protruding components separated by concave creases and seams. We utilizing the human perception theory to capture concave regions for segmentation, for this reason it is not suitable for segmenting parts or patches with non-concave boundaries. In addition to the above mentioned limitations, the proposed method has other difficulties. There are several parameters in our method, the selectin of them will have influence on the segmentation result. Therefore, how to optimize the parameters automatically is worthy of further study. Finally, our method relies solely on shape concavity information, thus it cannot generate segmentation hierarchies.

6. Conclusion

In this paper, we have presented a vertex-based clustering method for mesh segmentation. We have demonstrated the effectiveness of our method with some experimental results. The proposed method capture the part boundaries lie along with the local concave regions. By using the seed points, we can segment a mesh into meaningful sub-meshes. In this method, there are a few thresholds that need to be set interactively. Therefore, how to effectively choose these values is worth to study. We hope to address remaining limitations in the future, and would like to explore the extension of our method for segmenting the noisy mesh models and the point cloud models.

References

Agathos, A., Pratikakis, I., Perantonis, S., Sapidis, N., and Azariadis, P., 3D mesh segmentation methodologies for CAD applications: Computer-Aided Design and Applications, Vol. 4, No. 6 (2007), pp. 827-841. Au, O.-C., Zheng, Y., Chen, M., Xu, P., and Tai, C.-L., Mesh segmentation with concavity-aware fields: Visualization and Computer Graphics, IEEE Transactions on, Vol. 18, No. 7 (2012), pp. 1125-1134. Benhabiles, H., Lavoué, G., Vandeborre, J. P., and Daoudi, M., Learning Boundary Edges for 3D‐Mesh Segmentation, Proceedings of the Computer Graphics Forum (2011), Volume 30, Wiley Online Library, p. 2170-2182. Benhabiles, H., Vandeborre, J.-P., Lavoué, G., and Daoudi, M., A framework for the objective evaluation of segmentation algorithms using a ground-truth of human segmented 3D-models, Proceedings of the Shape

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 211 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

Modeling and Applications, 2009. SMI 2009. IEEE International Conference on (2009), IEEE, p. 36-43. Biasotti, S., Marini, S., Mortara, M., Patane, G., and Ieee Computer Society; Ieee Computer, S., 2003, An overview on properties and efficacy of topological skeletons in Shape Modelling, Smi 2003: Shape Modeling International 2003, Proceedings, 245-+ p.: Brown, S., Morse, B., and Barrett, W., 2009, Interactive part selection for mesh and point models using hierarchical graph-cut partitioning, Canadian Information Processing Society. Chen, X., Golovinskiy, A., and Funkhouser, T., A benchmark for 3D mesh segmentation, Proceedings of the ACM Transactions on Graphics (TOG) (2009), Volume 28, ACM, p. 73. Cohen-Steiner, D., Alliez, P., and Desbrun, M., Variational shape approximation: Acm Transactions on Graphics, Vol. 23, No. 3 (2004), pp. 905-914. Fan, L., and Liu, K., Paint mesh cutting, Proceedings of the Computer Graphics Forum (2011), Volume 30, Wiley Online Library, p. 603-612. Fan, L., Meng, M., and Liu, L., Sketch-based mesh cutting: A comparative study: Graphical Models, Vol. 74, No. 6 (2012), pp. 292-301. Fang, Y., Sun, M., Kim, M., and Ramani, K., Heat-mapping: A robust approach toward perceptually consistent mesh segmentation, Proceedings of the Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on (2011), IEEE, p. 2145-2152. Golovinskiy, A., and Funkhouser, T., Randomized cuts for 3D mesh analysis, Proceedings of the ACM Transactions on Graphics (TOG) (2008), Volume 27, ACM, p. 145. Hoffman, D. D., and Richards, W. A., Parts of recognition: Cognition, Vol. 18, No. 1 (1984), pp. 65-96. Hoffman, D. D., and Singh, M., Salience of visual parts: Cognition, Vol. 63, No. 1 (1997), pp. 29-78. Huang, Q., Koltun, V., and Guibas, L., Joint shape segmentation with linear programming, Proceedings of the ACM Transactions on Graphics (TOG) (2011), Volume 30, ACM, p. 125. Jayanti, S., Kalyanaraman, Y., Iyer, N., and Ramani, K., Developing an engineering shape benchmark for CAD models: Computer-Aided Design, Vol. 38, No. 9 (2006), pp. 939-953. Ji, Z., Liu, L., Chen, Z., and Wang, G., Easy mesh cutting, Proceedings of the Computer Graphics Forum (2006), Volume 25, Wiley Online Library, p. 283-291. Kalogerakis, E., Hertzmann, A., and Singh, K., Learning 3D mesh segmentation and labeling: ACM Transactions on Graphics (TOG), Vol. 29, No. 4 (2010), pp. 102. Kalogerakis, E., Simari, P., Nowrouzezahrai, D., and Singh, K., Robust statistical estimation of curvature on discretized surfaces, Proceedings of the Symposium on Geometry Processing (2007), p. 13-22. Katz, S., Leifman, G., and Tal, A., Mesh segmentation using feature point and core extraction: The Visual Computer, Vol. 21, No. 8-10 (2005), pp. 649-658. Katz, S., and Tal, A., Hierarchical mesh decomposition using fuzzy clustering and cuts: Acm Transactions on Graphics, Vol. 22, No. 3 (2003), pp. 954-961. Lai, Y.-K., Hu, S.-M., Martin, R. R., and Rosin, P. L., Rapid and effective segmentation of 3D models using random walks: Computer Aided Geometric Design, Vol. 26, No. 6 (2009), pp. 665-679. Lai, Y.-K., Zhou, Q.-Y., Hu, S.-M., Wallner, J., and Pottmann, D., Robust feature classification and editing: Visualization and Computer Graphics, IEEE Transactions on, Vol. 13, No. 1 (2007), pp. 34-45. Lee, Y., Lee, S., Shamir, A., Cohen-Or, D., and Seidel, H.-P., Mesh scissoring with minima rule and part salience: Computer Aided Geometric Design, Vol. 22, No. 5 (2005), pp. 444-465. Li, Y., Sun, J., Tang, C.-K., and Shum, H.-Y., Lazy snapping, Proceedings of the ACM Transactions on Graphics (ToG) (2004), Volume 23, ACM, p. 303-308. Mortara, M., and Patane, G., Affine-invariant skeleton of 3d shapes, Proceedings of the Shape Modeling International, 2002. Proceedings (2002), IEEE, p. 245-252. Shamir, A., Segmentation and shape extraction of 3D boundary meshes: State-of-the-Art Report, Proceedings Eurographics, Vol. 2006(2006), pp. 137-149. Shapira, L., Shamir, A., and Cohen-Or, D., Consistent mesh partitioning and skeletonisation using the shape diameter function: The Visual Computer, Vol. 24, No. 4 (2008), pp. 249-259. Sheffer, A., Praun, E., and Rose, K., Mesh parameterization methods and their applications: Found. Trends. Comput. Graph. Vis., Vol. 2, No. 2 (2006), pp. 105-171.

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 212 Jiao, Zhang and Wu, Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.9, No.4 (2015)

Shlafman, S., Tal, A., and Katz, S., Metamorphosis of polyhedral surfaces using decomposition: Computer Graphics Forum, Vol. 21, No. 3 (2002), pp. 219-+. Sidi, O., van Kaick, O., Kleiman, Y., Zhang, H., and Cohen-Or, D., 2011, Unsupervised co-segmentation of a set of shapes via descriptor-space spectral clustering, ACM, v. 6. Surazhsky, V., Surazhsky, T., Kirsanov, D., Gortler, S. J., and Hoppe, H., Fast exact and approximate geodesics on meshes, Proceedings of the ACM Transactions on Graphics (TOG) (2005), Volume 24, ACM, p. 553-560. Tierny, J., Vandeborre, J.-P., and Daoudi, M., 3D mesh skeleton extraction using topological and geometrical analyses, Proceedings of the 14th Pacific Conference on Computer Graphics and Applications (Pacific Graphics 2006) (2006). Xu, W., Shi, Z., Xu, M., Zhou, K., Wang, J., Zhou, B., Wang, J., and Yuan, Z., Transductive 3D Shape Segmentation using Sparse Reconstruction, Proceedings of the Computer Graphics Forum (2014), Volume 33, Wiley Online Library, p. 107-115. Zhang, J., Wu, C., Cai, J., Zheng, J., and Tai, X. c., Mesh snapping: Robust interactive mesh cutting using fast geodesic curvature flow, Proceedings of the Computer Graphics Forum (2010), Volume 29, Wiley Online Library, p. 517-526. Zhou, Y., and Huang, Z., Decomposing polygon meshes by means of critical points, Proceedings of the Multimedia Modelling Conference, 2004. Proceedings. 10th International (2004), IEEE, p. 187-195. Zockler, M., Stalling, D., and Hege, H. C., Fast and intuitive generation of geometric shape transitions: Visual Computer, Vol. 16, No. 5 (2000), pp. 241-253. Zuckerberger, E., Tal, A., and Shlafman, S., Polyhedral surface decomposition with applications: Computers & Graphics-Uk, Vol. 26, No. 5 (2002), pp. 733-743.

[DOI: 10.1299/jamdsm.2015jamdsm0051] © 2015 The Japan Society of Mechanical Engineers 213