Mesh Segmentation Guided by Seed Points
Total Page:16
File Type:pdf, Size:1020Kb
Bulletin of the JSME Vol.9, No.4, 2015 Journal of Advanced Mechanical Design, Systems, and Manufacturing Mesh segmentation guided by seed 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 present 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 key 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.